Migrating to 0.7
0.7 makes cac an optional peer and moves json-render out of @devframes/hub into an opt-in package.
cac is now an optional peer dependency
devframe no longer bundles cac — it's an optional peerDependency. Projects using createCac (formerly createCli) install cac:
npm install devframe cacTools not using the CLI adapter — Vite plugins, embedded devframes, the lower-level factories — never need cac.
devframe/adapters/cli → devframe/adapters/cac
| 0.6.x | 0.7 |
|---|---|
import { createCli } from 'devframe/adapters/cli' | import { createCac } from 'devframe/adapters/cac' |
CreateCliOptions | CreateCacOptions |
CliHandle | CacHandle |
// 0.6.x
import { createCli } from 'devframe/adapters/cli'
await createCli(devframe).parse()// 0.7
import { createCac } from 'devframe/adapters/cac'
await createCac(devframe).parse()devframe/adapters/cli still exports the old names as deprecated aliases (imports keep compiling), but you still need the cac peer; removed in a future major.
json-render moves out of @devframes/hub
The hub is now json-render-agnostic: defineJsonRenderSpec, ctx.createJsonRenderer, and the JSON-render types move to the opt-in @devframes/json-render.
0.6.x (@devframes/hub) | 0.7 (@devframes/json-render) |
|---|---|
defineJsonRenderSpec(spec) | Pass the spec directly to createJsonRenderView(ctx, { id, spec }) |
JsonRenderSpec | DevframeJsonRenderSpec |
ctx.createJsonRenderer(spec) | createJsonRenderView(ctx, { id, spec }) (from @devframes/json-render/node) |
// 0.6.x
import { defineJsonRenderSpec } from '@devframes/hub'
const spec = defineJsonRenderSpec({ root: 'panel', elements: { /* ... */ } })
const renderer = ctx.createJsonRenderer(spec)// 0.7
import { createJsonRenderView } from '@devframes/json-render/node'
const view = createJsonRenderView(ctx, {
id: 'panel',
spec: { root: 'panel', elements: { /* ... */ } },
})@devframes/hub still exports defineJsonRenderSpec (deprecated) and runs ctx.createJsonRenderer, so 0.7 call sites keep working — but nothing registers with the dock union or gains registerRenderer(); removed in 0.8.
Migrating to 0.8
0.8 makes RPC schemas validator-neutral and runtime-validated, upgrades the MCP adapter to @modelcontextprotocol/sdk v2, and adds the agent-native MCP surface. See the v0.8.0 release notes.
Migrating to 0.6
0.6 tightens defineDevframe's metadata, replaces terminal and WebSocket transports, and adds enforced auth.