Migrate from 0.15 to 0.17
Replace beforeModelCall, nylorun start, and .env model storage with scoped hooks, serve, and the vault.
Upgrade the compatibility set together. This hop is
harness 0.15.0-beta → 0.17.0-beta (Runtime 0.6 → 0.8, Agents 0.2 →
0.4, CLI 0.1.1 → 0.2, Studio 0.6 → 0.7, Creator 0.7 → 0.8).
0.16 shipped plugins, skills, MCP, and vault credentials along the way.
Breaking contract
| Previous | Replacement |
|---|---|
.beforeModelCall(fn) | .before("step", fn), or .before("turn", fn) when the decision holds for the whole turn |
.afterModelCall((args, ctx) => …) | .after("step", ({ text, toolCalls, info, state, step, attempt }) => …) (one argument) |
capability({ beforeModelCall, afterModelCall }) | capability({ before: { turn?, step? }, after: { step?, turn? } }) |
| Manifest hook booleans | capabilities[].hooks: { at, scope }[] in manifestSchemaVersion: 4 |
Action kinds beforeModelCall / afterModelCall | Action kind hook with { at, scope, capabilityIds } |
Engine hosted-1 | Engine hosted-2 |
nylorun start | nylorun serve |
.env as live model storage | Host vault; .env seeds once |
Required --runtime-url | Optional override; nylorun studio resolves the active scope |
Executor manifestHash as auth scope | Ignored. Claims authorize agentId only |
httpModel / localSessions | Removed. Use standalone Runtime + vault |
There are no compatibility aliases for the hook names.
retry now retries. Bound it with attempt. Rebuild agents to publish schema
4. Agent.from rejects schema 3. On startup the Runtime cancels pending old
hook actions and fails any turn that was in flight under a schema 3 manifest.
Start new sessions after upgrading.
Runtime is persistent
nylorun up starts Runtime, nylorun down stops it, nylorun runtime status
reports it. dev and serve start it for you and leave it running. Stopping
dev does not stop Runtime. Change scripts.start to nylorun serve.
For a supervised host, start Runtime explicitly and pass
nylorun serve --no-autostart.
nylorun configure now requires a Runtime that is already listening and
writes PUT /v1/host/model.
Register executors on a running host
PUT /v1/executors persists scoped tokens. NYLORUN_EXECUTORS_JSON remains
process-only. See Connect executors.
New authoring helpers
mcp(), sandbox(), skills(), and plugin() / loadPlugin are available
in this family. Sandbox tools run in Runtime. See Agent.
Coming from 0.13? Finish 0.13 → 0.15 first, then this hop — or generate a new project.
Pre-1.0 stability
APIs can change before 1.0. Validate upgrades end to end: register an agent, send a Studio message, and confirm a tool result.