Minor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
- Rename transition updates across package detection, plugin/config compatibility, and install surfaces.
- Task and tool behavior updates, including delegate-task contract and runtime registration behavior.
- Install and publish workflow hardening, including safer release sequencing and package/install fixes.
Commit Summary
- b525055 fix(telemetry): guard PostHog init failures
- 3419bbc @mauriciozaffari has signed the CLA in #3398
- 1b36194 fix(cli): treat missing session status as idle in run completion
- 4ce1dde CLI: isolate provider model id transforms from shared mocks
- d26ea7d Merge pull request #3393 from code-yeongyu/docs/update-contributing
- 9a6c279 Merge pull request #3392 from code-yeongyu/docs/update-orchestration
- 00f7ffe Merge pull request #3390 from code-yeongyu/docs/update-overview
- 7e2235b Merge pull request #3389 from code-yeongyu/docs/update-installation
- a4fb0a3 Merge pull request #3388 from code-yeongyu/docs/update-features
- 7262512 Merge pull request #3387 from code-yeongyu/docs/update-configuration
- d9d8546 Merge pull request #3386 from code-yeongyu/docs/update-cli
- 68d0870 Merge pull request #3385 from code-yeongyu/docs/update-readme-ja
- f79ca29 Merge pull request #3391 from code-yeongyu/docs/update-agent-model-matching
- 2d09135 Merge pull request #3384 from code-yeongyu/docs/update-readme-ko
- c8dc7a9 Merge pull request #3383 from code-yeongyu/docs/update-readme-ru
- 618054b Merge pull request #3382 from code-yeongyu/docs/update-readme-zh-cn
- 0cb0a6c docs(contributing): update tool/hook counts and version references
- 0ea7012 Merge pull request #3394 from code-yeongyu/docs/update-ollama
- bbbd1bd docs(orchestration): update diagram model names and category tables
- b57a797 docs(ollama): verify troubleshooting steps and issue links
- 7c94ee4 docs(agent-model-matching): sync fallback chains with current source
- 05e5444 docs(overview): update model-role claims and complete category list
- 9342e55 docs(installation): replace npx with bunx and update provider flags
- cfd152a docs(features): update agent count and verify category list
- 678011c docs(contributing): update tool/hook counts and version references
- e223ab2 docs(configuration): add sisyphus-junior to agent list
- c91db2e docs(cli): add --vercel-ai-gateway flag documentation
- 12ed950 docs(readme-ko): add telemetry and legal section translation
- 0ece66e docs(readme-ja): add telemetry and legal section translation
- 23d0a0d docs(readme-zh-cn): add telemetry and legal section translation
- 3673b96 docs(readme-ru): add telemetry and legal section translation
- 01a1b14 fix(delegate-task): reject primary agents in task subagent resolution
- f1cd4d7 Merge pull request #3376 from matchai/feat/vercel-ai-gateway
- e3b5c2b fix: address review feedback for Vercel AI Gateway PR
- 680d05a Prometheus: keep planner primary-only
- 569addd docs(provider): add comments to vercel transform logic
- effae16 refactor(provider): replace per-model string replacements with generic regex
- 34e334e feat(provider): add vercel to all gateway-supported fallback entries
- 542dc89 fix(provider): use gateway-specific model IDs for vercel transform
- 84f980c @matchai has signed the CLA in #3376
- dac0c99 feat: add Vercel AI Gateway as a provider
- 42df1c3 @FuDesign2008 has signed the CLA in #3371
- c6deb6d @Zireael has signed the CLA in #3370
- 3d2eb6e fix(config): preserve explicit git_master overrides during merge
- 051ab84 Merge pull request #3348 from code-yeongyu/refactor/ulw-repo-cleanup-20260411
- 5b33cd2 @lrq3000 has signed the CLA in #3358
- 7f5059d Merge pull request #2974 from trafgals/fix/user-agents-callable-v2
- 3053d59 Merge branch 'dev' into fix/user-agents-callable-v2
- 6a0d515 @divlook has signed the CLA in #3353
- c5c5bc3 fix(delegate-task): consume fallback chain on sendSyncPrompt failure (#2691)
- aed8dbf fix(delegate-task): fetch session result before honoring abort signal (#2702)
- eb49579 fix(event): prefer real session.idle over recent synthetic dedup (#2667)
- 3bfa3bd fix(background-agent): pass query directory to session.get in 4 call-sites (#2937)
- d8b9bf1 fix(doctor): check comment-checker lazy-download cache path (#2911, #3315)
- 64e5593 fix(multimodal-looker): instruct explicit Read tool usage for PDFs (#2998)
- 796a646 fix(non-interactive-env): use detectShellType instead of hardcoded win32 check (#3310, #3338)
- 2d8b4a9 fix(anthropic-effort): skip effort injection for github-copilot provider (#3270)
- 7e96af5 fix(atlas): exclude node_modules from verification git diff --stat (#3215)
- d7b4bec fix(hooks,tools): replace /plan example with prometheus delegation and rename code-review example to review-work (#2633, #3285, #2873)
- c750781 fix(shared): avoid false-positive skill path resolution on npm scoped packages (#2857)
- 4f02ace fix(shared): guard maxOutputTokens <= 0 in model settings compatibility (#3305)
- a6e4f21 fix(shared): normalize claude model IDs for anthropic provider (#3290)
- 9ef133a fix(migration): register parenthesized legacy agent aliases in AGENT_NAME_MAP (#3281)
- 7accb53 fix(shared): handle Windows rename-over-existing in write-file-atomically (#3222)
- e71c34a fix(migration): return true when canonical config write succeeds regardless of archive status (#3133)
- 141798e refactor(background-agent): standardize loop detector null guards
- 4de0209 test(background-agent): lock nullish loop detector behavior
- 21cad26 docs(config): remove redundant schema default comments
- 6713b30 refactor(hooks): drop no-op directory injector callbacks
- a0d5131 refactor(plugin): remove dead chat params code
- 668bc8e refactor(config-manager): simplify config parsing guards
- 50df6f0 test(claude-code-plugin-loader): cover plugin path nullish resolution
- cd8352c refactor(claude-code-mcp-loader): simplify env expansion null guard
- 79a475d refactor(background-agent): simplify loop detector null guard
- 2d65896 refactor(shared): simplify normalize SDK null guards
- 470ed8b fix(ci): remove existing signature before ad-hoc signing darwin binary
- 16e7fa5 fix(ci): ad-hoc sign darwin binaries with plain codesign
- 71b5ab6 fix(ci): replace breaking codesign step with signature verification
- 565d3ff fix(ci): build darwin binaries on macOS runners to restore code signing
- d21ed3f fix(doctor): add timeouts to subprocess spawns to prevent exit code 137
- 314e1a5 fix(telemetry): enable GeoIP resolution for PostHog events
- 69f1c9a fix(doctor): add timeouts to subprocess spawns to prevent exit code 137
- 44ebf4b Merge pull request #3343 from code-yeongyu/refactor/ultrawork-cleanup-pass
- e654cfb @ahuangsnail has signed the CLA in #3316
- a2ae3de refactor(openclaw): extract gateway url validator
- 21822ba test(openclaw): cover shared gateway url validation
- 40411f3 docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills
- 0c5cd3a chore(agents): update all AGENTS.md generation dates to 2026-04-11
- f95e7a6 refactor(openclaw): reuse shared gateway url validation
- 9d89bbb refactor(commands): keep builtin command options internal
- 1e2e001 refactor(create-tools): keep result type internal
- e9b6bba refactor(agent-display): centralize name normalization resolution
- 5441c84 refactor: use spyOn instead of vi.mock for agent loader mocks
- 6440882 fix: actually swap merge order so project is added before user
- 2266f28 fix: correct merge order so project agents override user agents
- ad85e43 fix: include user/project agents in task(subagent_type) resolution
Thank you to 2 community contributors:
- @trafgals:
- fix: include user/project agents in task(subagent_type) resolution
- fix: correct merge order so project agents override user agents
- fix: actually swap merge order so project is added before user
- refactor: use spyOn instead of vi.mock for agent loader mocks
- @matchai:
- feat: add Vercel AI Gateway as a provider
- fix(provider): use gateway-specific model IDs for vercel transform
- feat(provider): add vercel to all gateway-supported fallback entries
- refactor(provider): replace per-model string replacements with generic regex
- docs(provider): add comments to vercel transform logic