What's Changed
- feat(cli): include worktree path in tmux session name (#1088) by @Yeachan-Heo in #1089
- fix(team): auto-create detached tmux session when not inside tmux by @Yeachan-Heo in #1095
- docs(i18n): fix npm package name in translated READMEs by @ohprettyhak in #1096
- fix(cli): forward OMC_* env vars to tmux sessions by @Yeachan-Heo in #1093
- fix(hooks): resolve worktree-mismatched transcript paths by @Yeachan-Heo in #1098
- fix(notifications): fix 3 reply listener bugs preventing Telegram reply injection by @Yeachan-Heo in #1099
- feat(hud): add maxWidth config option for statusline truncation by @Yeachan-Heo in #1102
- fix(omc-doctor): resolve false-positive checks for CLAUDE.md and legacy skills by @Yeachan-Heo in #1104
- fix(team): resolve 4 Gemini CLI worker bugs by @Yeachan-Heo in #1105
- feat(lsp): make request timeout configurable via OMC_LSP_TIMEOUT_MS env var by @VertexToEdge in #1106
- fix(bridge): add TCP localhost fallback for Windows (AF_UNIX unavailable) by @Yeachan-Heo in #1112
- fix(skills): avoid overriding builtin Claude Code commands by @gscottschulz in #1111
- fix(plugin-setup): install runtime deps in plugin cache, remove prepare trap by @Yeachan-Heo in #1114
- feat(openclaw): pass originating channel context to webhook hooks by @Yeachan-Heo in #1115
- fix(openclaw): stop and session-end hooks fire reliably in claude -p mode by @Yeachan-Heo in #1122
- feat(interop): add OMC-OMX cross-platform worker adapter (#1117) by @Yeachan-Heo in #1123
- fix(hud): resolve worktree root to prevent .omc/ in subdirectories by @Yeachan-Heo in #1121
- fix(state): use getOmcRoot() in HUD and hooks to respect OMC_STATE_DIR by @Yeachan-Heo in #1127
- fix: support CLAUDE_CONFIG_DIR in HUD Keychain credential lookup by @0BVer in #1125
- fix(team): resolve user's shell PATH for CLI detection and runtime spawn by @wook95 in #1128
- feat(autopilot): add configurable pipeline orchestrator (Phase 1 & 2) by @Yeachan-Heo in #1132
- chore(modes): deprecate ultrapilot, swarm, and pipeline execution modes by @Yeachan-Heo in #1134
- feat(routing): add forceInherit option to bypass model routing by @Yeachan-Heo in #1136
- feat(notifications): add Slack Bot Socket Mode for bidirectional replay injection by @Yeachan-Heo in #1138
- feat(shared-memory): add cross-session memory sync for multi-agent handoffs by @Yeachan-Heo in #1137
- feat(notifications): add Slack Bot Socket Mode for bidirectional replay injection by @Yeachan-Heo in #1139
- test: add smoke and unit tests for main→dev changelog by @Yeachan-Heo in #1140
- refactor(docs): diet CLAUDE.md from 288 to 162 lines (-44%) by @Yeachan-Heo in #1142
- fix(team): add shell-readiness wait for promptMode agent panes (#1144) by @Yeachan-Heo in #1145
- feat(hud): add API key source indicator (#1146) by @Yeachan-Heo in #1147
- fix(team): bypass gitignore for worker inbox task delivery (#1148) by @Yeachan-Heo in #1150
- fix(team): include .ready/done.json sentinel in inline worker task (#1151) by @Yeachan-Heo in #1152
- fix(state): consolidate mode state I/O and fix cancel cleanup by @Yeachan-Heo in #1143
- fix(team): harden worker spawn env + interop bootstrap fail-open by @Yeachan-Heo in #1141
- fix(shell): load default shell rc in OMC tmux shell sessions (#1153) by @Yeachan-Heo in #1154
- test: add edge/smoke test suites for main→dev feature coverage by @Yeachan-Heo in #1157
- feat(guards): portable factcheck guard + sentinel health analyzer (#1155) by @Yeachan-Heo in #1156
- fix(notifications): add input sanitization for Slack webhook data by @Yeachan-Heo in #1175
- fix(notifications): redact Slack/Telegram bot tokens in log and error paths by @Yeachan-Heo in #1176
- fix(shared-memory): concurrent agent writes cause silent data loss by @Yeachan-Heo in #1178
- fix(shared-memory): atomic writes to prevent corruption on crash by @Yeachan-Heo in #1174
- fix(state-manager): prevent TOCTOU cache poisoning and add locking to update() by @Yeachan-Heo in #1179
- fix(shared-memory): add payload size validation on memory writes by @Yeachan-Heo in #1181
- fix(team): add visible warning log when interop bootstrap fails open by @Yeachan-Heo in #1182
- fix(team): add path validation to prevent traversal in worker inbox/outbox by @Yeachan-Heo in #1185
- fix(team): shell rc loading in worker context trust boundary (#1166) by @Yeachan-Heo in #1189
- fix(team): close readiness race between pane check and task delivery by @Yeachan-Heo in #1183
- fix(notifications): validate Slack WebSocket messages before session injection by @Yeachan-Heo in #1188
- fix(team): PATH manipulation could influence CLI binary resolution (#1173) by @Yeachan-Heo in #1190
- fix(team): add configurable timeout to shell-readiness wait (#1171) by @Yeachan-Heo in #1192
- fix(shared-memory): use deep merge instead of full overwrite for cross-session sync (#1168) by @Yeachan-Heo in #1193
- fix(notifications): close WebSocket cleanup gaps on disconnect (#1172) by @Yeachan-Heo in #1194
- fix(hooks): resolve transcript path in native git worktrees by @Yeachan-Heo in #1195
- fix(team): debounce tmux layout operations during rapid worker spawn/kill cycles (#1158) by @Yeachan-Heo in #1196
- fix(tests): fix CI test failures in slack-socket and project-memory-merge tests by @Yeachan-Heo in #1197
- fix(tests): fix runtime-interop and runtime-prompt-mode CI test failures by @Yeachan-Heo in #1198
- fix(cli): source shell rc files in tmux launch sessions by @Yeachan-Heo in #1200
- fix(ci): repair memory-tools payload validation tests by @Yeachan-Heo in #1199
- fix(config): auto-detect non-Claude providers and enable forceInherit (#1201) by @Yeachan-Heo in #1202
New Contributors
- @VertexToEdge made their first contribution in #1106
- @gscottschulz made their first contribution in #1111
- @0BVer made their first contribution in #1125
- @wook95 made their first contribution in #1128
Full Changelog: v4.5.1...v4.5.2