Migrating to v0.8.4
Usage metering and portable reasoning controls ship in v0.8.4. Jev is planned for v0.8.5. See Usage metering and Providers for configuration.
Provider and application setup
OpenRouter is available with provider="openrouter" and
OPENROUTER_API_KEY. Keep its full model ID, for example
anthropic/claude-haiku-4.5. Capability profiles and account availability are
separate; see Providers for discovery and portable reasoning controls.
For Ollama tools, enable config={"provider_options": {"discover_model": True}}
or explicitly configure verified capabilities. Discovery reports the loaded
context separately from the model maximum. Per-request native Ollama context
configuration remains planned for 0.8.5; see Local LLMs.
Put client defaults such as timeout, retries and endpoint selection in an
agent’s config dictionary. Per-call options have a narrower contract; see
Model Runtime. Registered full object JSON Schema tools, including MCP
tools, now preserve their argument names and types across supported adapters.
Observable behavior changes
ModelResponse.usageis the sum of reported requests in the logical invocation, including tool continuations and approval history. It can remain partial; inspectmetadata["usage_complete"]. Legacy approval state without request records stays incomplete. Streaming consumers should accept the newmodel_callevent.SDK retries default to zero. Runtime retries use typed provider errors and retry the failed request; exhausted tool rounds raise
ToolRoundLimitError.Streaming final answers are saved to history before
finalreaches the caller. History keeps system messages and whole user exchanges, and concurrent answers remain paired with their user turn.Decorated
chatandachathonor the configured timeout and common request options. A timed-out synchronous provider worker may finish later, but its answer is discarded. Unknown keywords warn now and are planned to error in v0.8.5.Tool exceptions include their exception type. Tool validation and error outcomes are consistent across entry points; local structured output validation also applies to streaming final answers.
External tool schemas
The base dependency set adds regex for bounded external pattern matching.
External patternProperties and nested $schema dialect switches fail closed,
including when referenced locally. Convert such schemas to explicit properties
with ordinary bounded pattern checks before registration. Trusted application
response schemas retain their existing validator behavior.
Approval recovery
Existing v0.8.3 approval state remains readable. Newly saved state retains committed results and request history across restart and failed resumes. Application-level idempotency is still required for a crash after an external side effect and before its result is durably saved. Resuming state does not replay historical metering records into lifetime counters or subscribers.