v1.132.0
·
22 commits
to main
since this release
This release adds OCI artifact signing/encryption for shared agents, live git branch updates in TUI footers, and a range of bug fixes across the OpenAI provider, runtime streaming, RAG toolsets, and schema handling.
What's New
- Adds
--keyflag todocker agent share pushto sign or encrypt agent YAML in OCI artifacts - Forwards encrypted agent config to the Docker models gateway at runtime for verification
- Adds live git branch updates in TUI footers using an event-driven watcher (supports repositories and linked worktrees)
- Accepts
instructionas a list of strings in config, allowing flavors to append to a base prompt instead of replacing it wholesale - Adds
config.Requiresto audit a config's providers, toolsets, and features; addsWithStrictto reject configs using unenabled providers, toolsets, or features - Removes the context usage progress bar (
██████░░░░) from the lean TUI footer - Adds non-blocking
StartableToolSetstatus check to avoid blocking on long-running toolset starts - Adds
EmbeddedSnapshotandFetchhelpers to the modelsdev package - Recognizes the
gpt-6model family via generation-based parsing, enabling correct Responses API, reasoning effort, and token field handling
Improvements
- Config now hints at the newer version on type errors, not just unknown keys
docker agent share pushnow pushes HCL configs as resolved, self-contained YAML (previously broken for HCL agents)- Exports per-toolset
Creatorfuncs andprovider.Adaptfor hand-picked registries in lean YAML loading
Bug Fixes
- Fixes TUI stuck on "Working…" after stream ends by delivering
StreamStoppedwith a bounded blocking send and synthesizing it when the runtime stream closes without one - Fixes
oneOf/allOfand$defs/$refnot being validated before enabling OpenAI strict mode, which could cause tool schema errors - Stops injecting
type:objectontoanyOf/oneOf/allOfnodes; handles Responses APIresponse.incomplete/failedevents - Fixes OpenAI provider to degrade gracefully on Chat Completions for
gpt-5.4+whentools+effortis used, and warns on ignoredthinking_budget - Fixes
protectpackage to require signatures for asymmetric keys, harden key parsing, parseauthorized_keyswith options, tighten key-kind detection, reject impossible encrypted copies, fail closed on any PEM or OpenSSH marker in a key file, and match OpenSSH key-type markers as plain substrings - Fixes pacing of retryable partial-start failures in code-mode composites to prevent burst-retrying on every turn
- Propagates sustained RAG 5xx/408 indexing failures to the backoff gate (previously only 429 was gated)
- Fixes stale Fireworks
kimi-k2-instructmodel reference, replacing it withaccounts/fireworks/models/kimi-k3 - Fixes config handling of a forced reload that still returns 304
- Fixes external agents to inherit every loader capability option
- Fixes strict audit to run before any network or environment access
- Fixes
providerto serve OpenAI protocol variants from the"openai"factory - Fixes config to audit per-toolset and fork-skill model overrides in
Requires - Fixes
toolsto keep config-free toolset packages free ofpkg/config - Logs raw incomplete/unhandled Responses payloads untruncated; logs
response.incompleteat debug level
Technical Changes
- Splits agent config sources so embedders link only the source types they use
- Refactors
teamloaderto probe Docker Model Runner throughdmrmodelsinstead of the full provider - Makes JavaScript expansion and code mode opt-in in
teamloader - Makes TOON output and deferred tools opt-in in
teamloader - Merges sibling toolsets through
tools.Mergeableinstead of hardwiring LSP inteamloader - Runs harness agents through a registered driver in
runtime - Adds scheduled models.dev live-catalog drift check in CI
- Validates
DefaultModelsagainst the committed models.dev snapshot in tests - Makes
TestParseExamplesvalidate against the committed models.dev snapshot only (not live HTTP)
What's Changed
- docs: update CHANGELOG.md for v1.131.0 by @docker-read-write[bot] in #4143
- feat: live-update git branch in TUI footers by @rumpl in #4129
- test(config): validate DefaultModels against the models.dev catalog by @aheritier in #4146
- feat: accept
instructionas a list, let flavors append to it by @dgageot in #4144 - feat(share): sign or encrypt agent YAML in OCI artifacts with --key by @dgageot in #4148
- test: make TestParseExamples validate against the committed models.dev snapshot by @aheritier in #4147
- fix: update stale Fireworks kimi-k2-instruct model reference by @aheritier in #4145
- fix: pace retryable partial-start failures in code-mode composites by @aheritier in #4150
- fix(openai): reject oneOf/allOf and validate $defs/$ref before enabling strict mode (#4106) by @aheritier in #4155
- fix(app): synthesize StreamStopped when the runtime stream closes without one by @aheritier in #4154
- docs: auto-update for merged PRs (2026-09-04) by @aheritier in #4160
- feat(tools): non-blocking StartableToolSet status check (#4073) by @aheritier in #4159
- feat(leantui): remove context usage progress bar by @rumpl in #4157
- fix(#4097): propagate sustained RAG 5xx/408 indexing failures to backoff gate by @aheritier in #4151
- fix(runtime): deliver StreamStopped with a bounded blocking send by @aheritier in #4153
- fix(share): push HCL configs as resolved, self-contained YAML by @dgageot in #4152
- feat: lean YAML loading with hand-picked registries and strict mode by @dgageot in #4149
- fix(tools,openai): don't inject type:object onto anyOf nodes; handle Responses API response.incomplete/failed by @simonferquel-clanker in #4161
- feat: forward the encrypted agent config to the Docker models gateway by @gtardif in #4163
- fix(openai): recognise the gpt-6 family (Responses API, reasoning effort, token field) by @simonferquel-clanker in #4165
Full Changelog: v1.131.0...v1.132.0