github code-yeongyu/oh-my-openagent v3.15.1

latest release: v3.15.2
16 hours ago

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.
  • Task-system default behavior alignment so omitted configuration behaves consistently across runtime paths.
  • Install and publish workflow hardening, including safer release sequencing and package/install fixes.

Commit Summary

  • 130f4ac fix: resolve #3124 #3125 #3127 session tools, cache priming, and compaction loop
  • aeb9c97 fix(model): quota errors should STOP not retry
  • d7d3698 test(auto-update): update tests to use canonical package name oh-my-openagent
  • 3df5497 fix(auto-update): use canonical package name oh-my-openagent instead of legacy oh-my-opencode
  • 1b25a85 @Priyanshuthapliyal2005 has signed the CLA in #3128
  • 9d8d48f Merge pull request #2663 from code-yeongyu/fix/runtime-fallback-variant-loss
  • f3840a7 Merge pull request #2843 from code-yeongyu/refactor/model-alias-pattern-matching
  • d7acdfd Merge pull request #3062 from code-yeongyu/fix/issue-3000
  • 00f73de Merge pull request #3063 from code-yeongyu/fix/issue-3040
  • 1f13e76 Merge pull request #3065 from code-yeongyu/fix/issue-2984-v2
  • a983bf9 test(recovery): localize message-builder module mocks
  • 963b576 test(background-agent): localize cache mock setup
  • 051a398 test(shared): use unique temp dirs for legacy plugin warning
  • 032f23a test(mcp-oauth): remove provider module mock leak
  • f8398db fix(delegate-task): restrict task-callable agent modes
  • 5213525 fix(test): narrow execute-http-hook-security mock to shared/logger to prevent barrel contamination
  • 39f6ab2 ralph-loop: detect oracle VERIFIED tool results
  • f7d2ff7 Fix mock isolation in scope-filtering.test.ts
  • 80c8a79 Add renamed isolated mock test directories (zauc-mocks-*)
  • 2fb1604 Remove isolated mock test directories (_auc-mocks-*)
  • db7dfa1 Fix todo-continuation-enforcer mock isolation
  • 382f9b6 Fix mock isolation in remaining hook tests
  • ffcd34d Fix mock target path in claude-code-mcp-loader test
  • 92ba312 Fix mock isolation in system.test.ts by moving mocks to importFresh
  • 89fd302 Update publish-workflow test for bun test command
  • 1071d4d Pin Bun to 1.3.10 in CI and remove test:ci script
  • 51d2f8b fix(tmux-subagent): avoid transcript fetches during idle stability checks
  • 4c3f6c1 fix(background-notification): filter unsupported manager events
  • f9a9a60 fix(background-agent): cache observed output for completion checks
  • a71dd54 fix(test): isolate auto-update-checker mock.module() tests to prevent contamination
  • 8c06c8e fix(test): make runner env setup test deterministic
  • 179ad05 fix(test): silence expected oauth logout cli output
  • fb7e3fd fix(test): silence expected oauth login cli output
  • b3d69e7 Fix mock.module() CI contamination by isolating tests into separate directories
  • 0c3f8b7 fix(test): isolate sync-package-json test to prevent node:fs mock contamination
  • 0cc263b fix(test): isolate auto-update-checker hook.test.ts to prevent checker mock leak
  • c91c3e6 fix(test): move auto-slash-command-leak test to isolated subdirectory
  • 8fb22b8 fix(test): restore real executor module in auto-slash-command-leak afterAll
  • eb4060d fix(test): narrow mock.module() targets in background-agent tests to prevent barrel corruption
  • 99ae6d9 fix(ci): pin Bun to 1.3.10 to avoid mock.module() barrel export regression in 1.3.11
  • a6e783a fix(test): improve execute-http-hook-security test isolation
  • 733b548 fix(config): handle tuple-format plugin entries in opencode.json (fixes #3122)
  • e40d3fb fix(session-manager): fall back to file storage on SDK outages
  • 119db36 Merge pull request #3120 from code-yeongyu/fix/prepublish-ci-test-isolation
  • 72c8cb8 fix(ci): typecheck script tooling in CI workflow
  • bedf141 fix(ci): include bin tests in CI plan discovery
  • 322a360 Merge pull request #3119 from code-yeongyu/fix/prepublish-delegate-sync
  • 5000b18 Merge pull request #3118 from code-yeongyu/fix/prepublish-skill-schema
  • dbec902 Merge pull request #3117 from code-yeongyu/fix/prepublish-ralph-loop
  • 6edf705 Merge pull request #3116 from code-yeongyu/fix/prepublish-hook-recovery
  • 8ca4ff2 Merge pull request #3115 from code-yeongyu/fix/prepublish-tmux-lifecycle
  • 527861e @dihak has signed the CLA in #3114
  • 2c081e1 fix(ci): restore isolated Bun test execution for mock.module suites
  • 69c9ad4 test(ralph-loop): add transcript detector coverage
  • 2da5f12 test(ralph-loop): split session completion detector coverage
  • 617abbe fix(ralph-loop): remove dead semantic completion fallback
  • 1fae073 fix(sync): forward delegated model tuning params
  • 5d73537 fix(tmux): unify isolated cleanup across close paths
  • b31dfa6 fix(background-agent): clean tmux cancel bookkeeping
  • 42ac82a test(anthropic-recovery): isolate summarize retry timer assertion
  • 5e8a0cc test(anthropic-recovery): cover recovery hook timer disposal
  • 2b55f65 fix(hooks): dispose anthropic recovery hook on shutdown
  • 268946d fix(anthropic-recovery): dispose recovery hook timers
  • 0a7daa5 fix(anthropic-recovery): add session timeout cleanup helpers
  • 8199adc fix(config): allow disabling new built-in skills
  • fd476fe Merge pull request #3112 from code-yeongyu/fix/prepublish-code-quality
  • cba9c25 Merge pull request #3111 from code-yeongyu/fix/prepublish-config-regression
  • c4a5ba1 Merge pull request #3110 from code-yeongyu/fix/prepublish-bg-race
  • ba98be9 Merge pull request #3109 from code-yeongyu/fix/prepublish-mcp-env
  • 4301e5e Merge pull request #3108 from code-yeongyu/fix/prepublish-tar-failopen
  • 36cea65 Merge pull request #3106 from code-yeongyu/fix/prepublish-ci-injection
  • 726d19c fix(security): make tar parser strictly fail-closed on any unparsed line
  • 57ec3a4 fix(ci): use unquoted heredoc to allow env var expansion
  • 0c6907a fix(config): use canonical path after legacy migration and make writes atomic
  • e860108 refactor: replace em dashes with hyphens in test files and docs
  • d368f77 fix(security): make tar archive preflight fail-closed on unparsed entries
  • 7f1497f fix(background-agent): prevent cancelled task from being revived after tmux callback
  • 9b30817 fix(ci): prevent shell injection in workflow expressions
  • 4fa3d03 fix(security): block cloud credential env vars in MCP env cleaner
  • 32ec80b plugin: skip tmux startup checks when integration is disabled
  • 731c3f1 plugin: honor tmux disablement for interactive tmux features
  • 2d72f51 @titet11 has signed the CLA in #3099
  • efbadc0 @odedindi has signed the CLA in #2988
  • 672df9a @s2mr has signed the CLA in #3096
  • 141881a fix(tmux): re-attempt isolated container on deferred session retry
  • cab8451 fix(hooks): replace empty catch blocks with debug logging in transcript
  • 6acca09 fix(ci): resolve mock.module() cross-file leakage in test suite
  • f547cd0 refactor(shared): consolidate plugin entry migration and detection utilities
  • fd252ea refactor: remove AI-generated code smells from prepublish changes
  • e4d7fdb Merge pull request #3092 from code-yeongyu/fix/prepublish-legacy-config
  • bda0f55 Merge pull request #3091 from code-yeongyu/fix/prepublish-quality-checks
  • 1f2b69e Merge pull request #3090 from code-yeongyu/fix/prepublish-tmux-regressions
  • 565cf42 Merge pull request #3089 from code-yeongyu/fix/prepublish-background-regressions
  • 551d906 Merge pull request #3088 from code-yeongyu/fix/prepublish-security-hardening
  • e4116c9 Merge pull request #3087 from code-yeongyu/fix/prepublish-mcp-regressions
  • f03c670 fix(hooks): reuse shared legacy plugin migration helper
  • 290f7f9 fix(shared): merge project and user opencode plugin detection
  • fedb73c fix(shared): migrate legacy config files atomically
  • d60ca63 test(config): add regression coverage for legacy migration bugs
  • 468827d test(skill): stabilize async description refresh assertion
  • 02b7a7d refactor(hooks): remove unused openclaw hook
  • fabbcaa refactor(runtime): replace unicode dashes in prompt strings
  • 146ca34 fix(hooks): use actual context window token counts
  • 2731add fix(tmux): add grace period before resetting isolation
  • 3871c7d fix(tmux): defer failed isolated container spawns
  • b5f15f0 test(tmux): add isolation regression coverage
  • f5740d6 fix(background-agent): bound session abort waits
  • 938c920 test(background-agent): cover abort timeout handling
  • 40374c8 fix(boulder-state): remove dead worktree sync helper
  • ccbd646 fix(shared): validate tar hard-link targets during preflight
  • 553a961 fix(shared): emit PowerShell zip entries as json lines
  • 0c5deac test(shared): add archive preflight security regressions
  • 67145b5 fix(mcp): honor disabled server overrides in system name discovery
  • 35c34ea fix(hooks): preserve transcript cache history across rebuilds
  • 58e8596 test(mcp): add regression coverage for transcript and disable overrides
  • 53eeac3 fix(ci): simplify test runner to plain bun test by fixing mock.module() leakage
  • 06180e0 @biangacila has signed the CLA in #3084
  • 6624803 fix(plugin): handle raw /ulw-loop commands appearing after injected messages
  • df7dc2f fix(hooks): remove rogue setTimeout ambient declaration that broke typecheck
  • 9acde67 Merge pull request #3079 from code-yeongyu/refactor/deslop-cli-mcp-openclaw
  • 15c6d12 Merge pull request #3080 from code-yeongyu/refactor/deslop-plugin-handlers
  • f6a8f64 Merge pull request #3078 from code-yeongyu/refactor/deslop-features-managers
  • d11b4c1 Merge pull request #3076 from code-yeongyu/refactor/deslop-hooks
  • 51ee237 Merge pull request #3075 from code-yeongyu/refactor/deslop-agents
  • 4a651c6 Merge pull request #3077 from code-yeongyu/refactor/deslop-features-rest
  • 66cc823 refactor(plugin): remove AI slop and clean verbose comments
  • dc695e8 refactor(cli,mcp,openclaw): remove AI slop from code comments
  • c7afc79 refactor(features): fix empty catches and remove AI slop from manager modules
  • bd4f8ab Merge pull request #3071 from code-yeongyu/refactor/deslop-shared-config
  • 082f0c9 Merge pull request #3068 from code-yeongyu/refactor/deslop-tools
  • af07610 refactor(features): remove AI slop from feature modules
  • 5c72998 refactor(hooks): fix empty catches and remove AI slop from code comments
  • f497f95 refactor(agents): remove AI slop from code comments and clean verbose patterns
  • e0feb16 refactor(shared,config): remove redundant null checks and AI slop from code comments
  • d0f795d refactor(shared): decompose model-capabilities into focused modules
  • 3cc9e8b refactor(shared): extract shared cache factory to deduplicate cache patterns
  • 22283fc refactor(tools): fix empty catches, remove AI slop from code comments
  • 3689ecd refactor(tools): decompose skill/tools.ts into focused tool creators
  • 3ce1f30 refactor(tools): split delegate-task constants into category-specific modules
  • 6b431c5 Merge pull request #3059 from code-yeongyu/fix/p2-13-anchor-pane-cleanup
  • 3180389 Merge pull request #3052 from code-yeongyu/fix/p0-1-task-system-default-split-brain
  • 0c6aa91 Merge pull request #3049 from code-yeongyu/fix/p0-5-mcp-env-expansion
  • 1631509 fix: reset hook state on abort so session recovers after user cancel
  • 8be39e5 fix(tmux): preserve isolated container cleanup after anchor reassignment
  • ac5e507 Merge pull request #3060 from code-yeongyu/fix/p2-15-claude-code-hooks-rules
  • 9783fae Merge pull request #3057 from code-yeongyu/fix/p1-9-recovery-retry-timer-leak
  • 71b8110 fix(zip): parse zipinfo file entries with preserved filenames
  • d2a78cc @suyua9 has signed the CLA in #3064
  • e20b59c fix(mcp): allow common Windows env vars by default
  • 316d250 fix(mcp): ignore project allowlist overrides for env expansion
  • 2b43558 fix(tar): surface traversal extraction failures as blocked entries
  • a4f436c fix(tar): classify traversal tar listing errors as blocked entries
  • 2288988 fix(zip): use zipinfo to preflight zip extraction on unix
  • 2e6a7b4 fix: update docs and barrel imports for task_system default
  • b931e30 fix(mcp): warn when MCP env expansion is blocked
  • 4766891 fix(mcp): expand builtin allowlist for benign env vars
  • d65714e fix(shared): avoid archive test batch regression
  • 760099e fix(tasks-hook): update default task_system test
  • 47769d5 fix(tasks-hook): share task_system resolution
  • 3b3520d fix(agent-config): share task_system resolution
  • d65c7c0 fix(tool-config): share task_system resolution
  • c65baa8 fix(tool-registry): unify task_system default
  • 2ba2f8f fix(shared): add task_system resolver
  • 83acafc Merge pull request #3058 from code-yeongyu/fix/p1-11-remove-as-any-tests
  • 32b9235 Merge pull request #3051 from code-yeongyu/fix/p0-2-https-enforcement-gaps
  • 071f6c3 Merge pull request #3055 from code-yeongyu/fix/p1-8-legacy-config-canonical-priority
  • 72b3b15 Merge pull request #3050 from code-yeongyu/fix/p0-4-tmux-default-isolation
  • 92f4068 Merge pull request #3061 from code-yeongyu/feat/double-context-window-display
  • 8f449e1 fix: respect user-configured category model over fallbackChain defaults
  • 706640a fix: use detectShellType() instead of hardcoded 'unix' in non-interactive-env hook
  • 5b3541f Clarify doubled context display intent
  • f34edf9 Update cached limit monitor expectations
  • 0e9dbbd Double displayed context window counts
  • 6dc21b3 Fix Claude user rule skipping for disabled hooks
  • 6cb7028 fix(tmux): reassign anchor pane on first subagent deletion
  • 243db8d fix: clear failed empty-content recovery state
  • ec9ed0a Merge pull request #3056 from code-yeongyu/fix/p2-12-notification-template-consolidation
  • fe326ca fix: clear stale recovery retry state
  • e4846fb Merge pull request #3053 from code-yeongyu/fix/p0-3-await-session-abort
  • 9bcaddf Use shared background task notification template
  • 833fb12 Add background task notification template coverage
  • 49ea082 fix(background-agent): await shutdown aborts before cleanup
  • 9b1d92d fix(background-agent): await retry abort before requeueing
  • 4d40b44 fix(background-agent): await stale task aborts before poller exits
  • 6ca046c Derive tmux runtime fallback from schema defaults
  • f369971 fix(tests): type tmux fetch mocks
  • e3f3bcc fix(tests): type cliproxy fallback test harness
  • 4e435da fix(tests): type event handler test harness
  • 3a2c4fd fix(tests): type config-handler test spy restore
  • f39a018 Merge pull request #3054 from code-yeongyu/fix/p0-6-mcp-local-scope-subdirectory
  • b8f4037 Refine HTTP hook redirect enforcement
  • b2b8f73 Fix tar traversal error normalization
  • 22c8e83 Fix Linux ZIP preflight entry listing
  • b096e6f fix: prefer canonical plugin config files
  • 6b8d9df Add MCP scope subdirectory regression tests
  • f269d2f Fix local MCP scope path containment
  • ed06428 fix(delegate-task): strip wrapping chars from subagent_type before lookup
  • d081e8e Fix HTTP hook HTTPS enforcement gaps
  • f447f96 Regenerate schema for inline tmux isolation default
  • f950d3d Align tmux plugin fallback with inline isolation
  • 57c973b Revert tmux config default isolation to inline
  • c78a9e6 Revert "Merge pull request #3047 from code-yeongyu/fix/p0-4-tmux-default-isolation"
  • f84d311 Revert "Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps"
  • ede561c Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps
  • 2d13e12 Merge pull request #3047 from code-yeongyu/fix/p0-4-tmux-default-isolation
  • 3eb1430 Fix HTTP hook HTTPS enforcement gaps
  • 6722b39 Regenerate schema for inline tmux isolation default
  • 3f0d68b Align tmux plugin fallback with inline isolation
  • 9fb9e15 Revert tmux config default isolation to inline
  • c45fc83 @haimingZZ has signed the CLA in #3044
  • b7f9772 @xsfX20 has signed the CLA in #3043
  • 0478d27 @adefiqri12 has signed the CLA in #3042
  • 9c67585 Merge pull request #3028 from code-yeongyu/fix/issue-2923-gpt41mini-toolcall
  • 871d525 Merge pull request #3027 from code-yeongyu/fix/issue-3021-skill-mcp-session
  • 156c1f4 fix(models): mark gpt-4.1-mini and gpt-4.1-nano as supporting tool calls
  • 027a6b0 fix(skill-mcp): use correct sessionID when registering skill MCP connections
  • 34a37dc 3.14.1
  • fba20f9 Merge pull request #3019 from code-yeongyu/fix/issue-2986-prometheus-fallback
  • 39eefe4 Merge pull request #3018 from code-yeongyu/fix/issue-2996-tavily-graceful
  • 1b5114b Merge pull request #3017 from code-yeongyu/fix/issue-3014-tool-pair-validation
  • f0309df Merge pull request #3016 from code-yeongyu/fix/issue-3003-ripgrep-autodownload
  • c173bb1 Merge pull request #3015 from code-yeongyu/fix/issue-2946-mcp-merge-order
  • 710a8ed Merge pull request #3026 from code-yeongyu/fix/security-mcp-env-expansion
  • 04876d8 Merge pull request #3025 from code-yeongyu/fix/security-http-hooks
  • 9a7bb5e Merge pull request #3024 from code-yeongyu/fix/security-tar-containment
  • 97349c9 Merge pull request #3023 from code-yeongyu/fix/security-file-traversal
  • c05113b Merge pull request #3022 from code-yeongyu/fix/security-env-cleaner
  • 5a28149 fix(security): enforce HTTPS for HTTP hook URLs
  • d861d51 fix(security): add archive extraction containment validation
  • 9865978 fix(security): confine file resolution to project roots
  • e8c5727 fix(mcp): restrict env var expansion in MCP configs
  • 4fe49a6 fix(skill-mcp-manager): filter merged MCP env before spawn
  • 5bf3aa1 fix(test): remove mock.module tests that corrupt other test suites
  • 5d68de7 fix(types): return type RemoteMcpConfig | undefined for createWebsearchConfig
  • bc07c21 fix(test): rewrite prometheus tests to verify behavior not log messages
  • a695730 fix(mcp): handle missing Tavily API key gracefully
  • 4c4efc4 fix(grep): enable ripgrep auto-download when not found in PATH
  • 649a83d fix(mcp): user config overrides Claude Code .mcp.json with collision warning
  • 680bd68 fix(prometheus): respect fallback chain when no explicit model configured
  • 2440ed9 fix(hook): add tool_use/tool_result pair validator to prevent API errors
  • a637cca Merge pull request #3013 from code-yeongyu/fix/issue-2971-skill-shortname
  • 4d751d1 Merge pull request #3012 from code-yeongyu/fix/issue-3010-commands-file
  • 2275d87 fix(skill): resolve namespaced skills by short name
  • bb85e40 fix(command-discovery): skip non-directory .claude/commands path
  • 941e265 Merge branch 'fix/p0-2-atomic-migration' into dev
  • 9418927 fix(config): make plugin entry migration atomic with temp-file + rename
  • 5bd0b5f fix(tests): align agent-config test with task_system default revert
  • 7a13807 Merge branch 'fix/p0-10-nested-ci-tests' into dev
  • 98c1c72 Merge branch 'fix/p0-9-remove-ai-slops' into dev
  • fa8a9f8 Merge branch 'fix/p0-7-tmux-cleanup' into dev
  • 56cd1ed Merge branch 'fix/p0-5-task-system-default' into dev
  • 985c72d Merge branch 'fix/p0-4-omo-agent-variant' into dev
  • 842434c fix(commands): use dynamic base branch and safe rollback in remove-ai-slops
  • 624a6be fix(config): revert task_system default to false to avoid breaking change
  • 951bca5 fix(ci): include nested test files in isolated test execution
  • db23533 fix(tmux): properly cleanup isolated container pane on first subagent deletion
  • 9c85ef4 fix(call-omo-agent): use variant-aware model parsing for overrides
  • 43023b1 fix(delegate-task): preserve inline variant from category model string
  • 51d9685 fix(start-work): use Atlas list key in command config
  • f4b8e1c fix(claude-code-hooks): cache idle hook config and parent lookups
  • 724d21b fix(start-work): restore atlas-first slash discovery
  • 1fed569 fix(ulw-loop): read loop task from user_message
  • 8fe057b fix(start-work): restore atlas native command routing
  • 134dd15 @yehweihsu has signed the CLA in #3011
  • 804ca0b @sihy233 has signed the CLA in #3004
  • e49ad5c @GreenPi290 has signed the CLA in #2991
  • ea14a1a fix(auto-slash-command): resolve project commands from session dir
  • 7f846b2 fix(start-work): restore atlas handoff
  • d029bc7 Merge pull request #2992 from code-yeongyu/fix/primary-only-agents
  • 1316a7d fix(agents): make sisyphus, hephaestus, atlas primary-only (not callable as subagents)
  • a3f9eb1 fix(start-work): fall back to sisyphus without atlas
  • dc1c410 fix(delegate-task): update test category references from deep to quick
  • 256aaba fix(anthropic-recovery): improve executor test coverage and assertions
  • 366ebb3 feat(openclaw): improve dispatcher and integration
  • 94a2b8e feat(lsp): add extension inference and improve diagnostics
  • 3c77c04 fix(comment-checker): improve pending calls handling and add tests
  • 439c9a6 feat(claude-code-hooks): improve session handling and add tests
  • a720ef5 feat(context-injector): enhance context collector functionality
  • 116b1f9 fix(anthropic-recovery): fix retry timer memory leak in context window recovery
  • 990095d fix(dispose): improve hook disposal and plugin cleanup
  • 9795cc5 docs: update deep category model references from gpt-5.3-codex to gpt-5.4
  • 3d56df4 feat(deep): upgrade default model from gpt-5.3-codex to gpt-5.4
  • ce0d358 fix: revert delegate-task to string category schema, fix mock isolation and restore UB7 originals
  • 92d70cf feat: add review-work and ai-slop-remover as built-in skills, add remove-ai-slops command
  • 0799b46 Merge branch 'fix/ub8-regression' into dev
  • 3f457fd Merge branch 'fix/ub7-regression' into dev
  • e84c1fa Merge branch 'fix/ub6-regression' into dev
  • e9a09b3 Merge branch 'fix/ub5-regression' into dev
  • 91d5b06 Merge branch 'fix/ub4-regression' into dev
  • f77ac22 Merge branch 'fix/ub3-regression' into dev
  • cafaeee Merge branch 'fix/ub2-regression' into dev
  • 58163d7 Merge branch 'fix/ub1-regression' into dev
  • 11ee88f fix: use jsonc-parser for safe JSONC migration and add project-local config detection
  • 8fba907 fix: apply scope filter to getSystemMcpServerNames and fix async native skill description refresh
  • 3cce740 fix: distinguish transient errors from missing sessions in crash detection
  • de7d72d fix: honor category-derived model overrides in call_omo_agent
  • 87445a2 fix: add missing run_in_background to resume snippet and fix background launch detection
  • 7d6f47b fix: resolve process-cleanup signal delay and hashline_edit tool name mismatch
  • 67429af fix(tmux): allow subsequent subagents to spawn in existing isolated container
  • 62a46fb fix: normalize zero-width prefix in agent registration lookup
  • 9f2c450 chore(schema): regenerate oh-my-opencode schema
  • 9a0f2ff test(delegate-task): cover aborted concurrent background launches
  • 56cf16c refactor(background-task): stop cancelling launched tasks during session wait
  • e2e57bb fix(agents): use list display names for ordered agent config
  • 1d0135b fix(delegate-task): reject stray backend-style categories
  • 68ae9dc fix(agents): stop advertising custom agents to orchestrators
  • 33c8b7f fix(tests): resolve 6 test isolation failures in full suite
  • 5b990c8 @simoncrypta has signed the CLA in #2987
  • d459cff @TravisDart has signed the CLA in #2982
  • 95c6a8f @duckkkkkkkkking has signed the CLA in #2980
  • 28fd806 Merge pull request #2978 from code-yeongyu/fix/prepublish-test-failures
  • fd281de fix(tests): resolve 25 pre-publish test failures
  • 96135b5 Merge pull request #2977 from code-yeongyu/fix/issue-2967-glm-thinking
  • 71c60e1 fix: skip thinking param injection for GLM models in sisyphus-junior (#2967)
  • fece331 fix: add ./ prefix to package.json main field for OpenCode-Go plugin loading (#2966)
  • 7f36011 @kui123456789 has signed the CLA in #2958
  • 51194e9 Merge pull request #2919 from ryandielhenn/feat/config_tdd
  • 2d46a71 Merge pull request #2929 from quangtran88/fix/rules-injector-respect-claude-code-config
  • 1998d5a Merge pull request #2936 from HOYALIM/fix-2696-skill-xml-names
  • 59f1168 Merge pull request #2874 from sanoyphilippe/feat/plugin-tool-session-navigation
  • b12e32d Merge pull request #2912 from RaviTharuma/test/quotio-fallback-matrix-upstream
  • 44c6a2a Merge pull request #2931 from sjawhar/feat/tmux-session-isolation
  • 8b437ee Merge pull request #2930 from sjawhar/fix/agent-name-duplication
  • aa6632a Merge pull request #2935 from HOYALIM/fix/issue-2903-timestamp-tests
  • 500f10b Merge pull request #2939 from sjawhar/fix/delegate-task-category-override
  • 0f6c7a9 fix(config): accept object-format fallback_models in Zod validation (fixes #2943)
  • 6725344 fix(anthropic-effort): skip effort injection for internal agents (fixes #2940)
  • a3cc2d1 feat(tmux): add session isolation mode for subagent panes
  • 7bf7b20 @major has signed the CLA in #2942
  • 4314a3e fix: permanently resolve agent name duplication yo-yo bug
  • 3905d07 fix(delegate-task): replace mutual exclusion throw with category-wins override
  • 71e5160 @florianschepp has signed the CLA in #2938
  • f9e487f address bot review
  • 1d13250 address bot review
  • c132185 fix: preserve nested async skill names in discovery
  • 3dc11ea @HOYALIM has signed the CLA in #2935
  • fa64c31 fix: stabilize timestamp-output tests across timezones
  • 738b045 fix: use strict equality for claude_code flag checks
  • 5a28ee1 @quangtran88 has signed the CLA in #2929
  • a1a2bb4 fix(rules-injector): respect claude_code config for user rule loading
  • 5d4e57c @lorenzo-dallamuta has signed the CLA in #2925
  • b2497f1 fix: resolve 3 community-reported bugs (#2915, #2917, #2918)
  • e9e0aef use optional instead of required for tdd config for backwards compatibility
  • 9fc56ab @ryandielhenn has signed the CLA in #2919
  • a8b3b67 nit
  • 2b6a02e nit
  • 571dfe2 add bool value: tdd to sisyphus_agent config
  • 448a8dc @AlexDochioiu has signed the CLA in #2916
  • 9cbcf17 Merge PR #2913: fix(recovery): ignore empty summary-only assistant messages
  • 92069d2 test(fallback): rename quotio matrix to cliproxyapi
  • 57fcc9e test(fallback): add quotio-only integration matrix
  • 4e214cb fix(recovery): ignore empty summary-only assistant messages
  • 4a02925 fix: resolve 5 remaining pre-publish blockers (14, 15, 17, 21, 25c)
  • d2c576c fix: resolve 25 pre-publish blockers
  • 44b039b Merge pull request #2705 from MoerAI/fix/sisyphus-premature-implementation
  • aeec5ef Merge pull request #2773 from MoerAI/fix/ralph-loop-fuzzy-completion
  • 7b2b8be Merge pull request #2771 from MoerAI/fix/bash-file-read-guard
  • adc5513 Merge pull request #2850 from octo-patch/feature/upgrade-minimax-m2.7
  • 3715fb7 Merge pull request #2871 from Jholly2008/kkk/fix-on-complete-hook-shell
  • b9ed0ca Merge pull request #2877 from WhiteGiverMa/fix/atlas-agent-not-found
  • 45e9fcd Merge pull request #2894 from codivedev/fix/issue-2881
  • 49687a6 Merge pull request #2895 from MoerAI/fix/session-recovery-missing-messageid
  • 3645500 Merge pull request #2892 from MoerAI/fix/subagent-model-config-ignored
  • 9e6f2d9 Merge pull request #2893 from MoerAI/fix/keyword-detector-silent-skips
  • 4fa7d48 Merge pull request #2890 from MoerAI/fix/start-work-atlas-not-found
  • b4a5189 Merge pull request #2889 from MoerAI/fix/git-master-config-ignored
  • 6310924 Merge pull request #2891 from codivedev/fix/issue-2882
  • c5068d3 fix(#2885): add model_not_supported to RETRYABLE error patterns
  • 1434313 Merge pull request #2717 from gtg7784/fix/analyze-mode-load-skills-hint
  • 38347a3 fix: address review comments - remove duplicates and respect skills config
  • 885d3a2 fix: detect and warn about opencode-skills conflict
  • b4d4d30 fix: use display name in runtime-fallback retry
  • 9d93659 @codivedev has signed the CLA in #2888
  • 2b2b280 fix: apply Zod defaults to empty config fallback
  • fee60d2 fix(session-recovery): fallback to fetching messageID from session messages (fixes #2046)
  • f030e0d fix(keyword-detector): add logging for silent skip paths (fixes #2058)
  • 5d5eb46 fix(delegate-task): honor user model override in category-resolver cold cache (fixes #2712)
  • 787ce99 fix: detect and warn about opencode-skills conflict
  • d09af86 fix(start-work): gracefully handle missing Atlas agent (fixes #2132)
  • 5b9b6eb fix(config): apply git_master defaults when section is missing (fixes #2040)
  • 324dbb1 fix(#2791): await session.abort() in all subagent completion/cancel paths
  • ab0b084 Merge pull request #2884 from RaviTharuma/fix/runtime-fallback-hook-isolation
  • f1f099f fix(#2849): resolve platform binaries using current package name
  • 6662205 fix(#2748): pass browserProvider into skill() discovery
  • 76bf269 fix(#2754): include native PluginInput skills in skill() discovery
  • 3e4b988 fix: isolate event hook failures during dispatch
  • d3dbb49 fix(#2854): enable task system by default (oracle/subagent delegation)
  • ec7a2e3 fix(#2857): prevent npm scoped package paths from being resolved as skill paths
  • c41e59e fix(#2825): secondary agents no longer pruned after 30 min of total runtime
  • 3b4420b fix(#2735): check model availability before using custom subagent default model
  • 3be26cb fix(#2732): enhance notification for failed/crashed subagent tasks
  • e22e13c fix(#2732): detect crashed subagent sessions with shorter timeout
  • 6a733c9 fix(#2823): auto-migrate legacy plugin name and warn users at startup
  • 127626a fix(#2822): properly cleanup tmux sessions on process shutdown
  • 5765168 fix(#2731): skip unauthenticated providers when resolving subagent model
  • e65a0ed @WhiteGiverMa has signed the CLA in #2877
  • 041770f fix(#2736): prevent infinite compaction loop by setting cooldown before try
  • a3b84ec fix: use getAgentDisplayName in injectBoulderContinuation
  • 7ce7a85 fix(#2855): tmux health check fails across module instances in same process
  • 19ab3b5 fix(#2853): sync .sisyphus state from worktree to main repo before removal
  • 670d8ab fix(#2852): forward model overrides from categories/agent config to subagents
  • 40a9213 fix: resolve three open bugs (#2836, #2858, #2873)
  • 6e700e0 feat(atlas): support plugin tools with metadata.sessionId in orchestration hook
  • a081ddc docs: update documentation for v3.13.1 feature changes
  • 8f4554e fix(lsp): accept directory as alias for filePath in lsp_diagnostics
  • 07793f3 @Jholly2008 has signed the CLA in #2871
  • 8ca93c7 Merge pull request #2863 from MoerAI/fix/task-schema-mutual-exclusion
  • a1b4e97 Merge pull request #2856 from potb/fix/publish-version-commitback
  • 47e7d4a Merge pull request #2861 from MoerAI/fix/category-config-params
  • 6d3172a Merge pull request #2862 from MoerAI/fix/empty-text-with-tool-calls
  • 65dc3e4 Merge pull request #2865 from LTS2/fix/2803-hook-task-examples-missing-load-skills
  • 587ee70 Merge pull request #2866 from LTS2/fix/2830-empty-message-recovery-with-tool-calls
  • 3bafa88 Merge pull request #2867 from MoerAI/fix/openai-tool-limit
  • f249615 Merge pull request #2859 from RaviTharuma/docs/fallback-model-objects
  • a7ac2e7 merge: resolve conflicts with dev docs update
  • a2c7fed docs: comprehensive update for v3.14.0 features
  • 98572c8 fix: guard fallback override to preserve category config params when fallback fields are undefined
  • 661737b fix(cli): respect platform shell for --on-complete
  • 82d89fd fix(tools): add max_tools config to cap registered tools for OpenAI compatibility (fixes #2848)
  • b1735d4 fix: detect empty text parts in messages with tool calls during session recovery
  • 8bde294 fix: add missing load_skills parameter to hook-injected delegate_task examples
  • a476e55 fix(delegate-task): reject when both category and subagent_type provided (fixes #2847)
  • 404390e fix(recovery): detect empty text parts alongside tool calls in fixEmptyMessages (fixes #2830)
  • 944cf42 fix(delegate-task): apply category config temperature/maxTokens/top_p to categoryModel (fixes #2831)
  • 241224f docs(config): document object-style fallback_models
  • fb837db fix(publish): restore version commit-back to dev after npm release
  • 95801a4 fix(ralph-loop): extract text from parsed entry instead of testing raw JSONL
  • 3601061 feat: upgrade remaining MiniMax M2.5 fallbacks to M2.7-highspeed
  • 829c58c refactor(aliases): migrate to pattern-based model alias resolution
  • 774d0bd fix(ralph-loop): restrict semantic completion to DONE promise and assistant entries
  • aaaeb69 fix(ralph-loop): add semantic completion detection as fallback for natural language (fixes #2489)
  • 2f801f6 fix(hooks): add bash-file-read-guard to warn agents against cat/head/tail (fixes #2096)
  • 10eb3a0 Merge branch 'dev' into fix/analyze-mode-load-skills-hint
  • 03feaa0 fix(analyze-mode): add mandatory load_skills param hint to prevent delegate_task errors
  • d2d65fb fix(sisyphus): block premature implementation before context is complete (fixes #2274)
  • 9ca259d fix(runtime-fallback): preserve agent variant and reasoningEffort on model fallback (fixes #2621)

Don't miss a new oh-my-openagent release

NewReleases is sending notifications on new releases.