V0.42.0
Bosun
Bosun Changelog: 0.37.0 → 0.42.0
643 commits across 5 minor versions (0.38 → 0.42)
Highlights
Workflow Engine
- Sub-workflow composition: child workflow lineage, flow.try_catch, flow.parallel, inline workflows
- Pipeline orchestration primitives for declarative multi-agent workflows
- Custom node plugin system with auto-discovery and CLI scaffolding
- Issue-state continuation loop template with stuck retry logic
- Cooperative workflow cancellation and stricter start guards
- Per-project WORKFLOW.md runtime contracts
- Planner materialization gate with score normalization and telemetry
- Workflow canvas: fuzzy node search, undo/redo stack, keyboard shortcuts, live execution visuals, typed color-coded ports, inline widget controls
Agent & SDK
- Hook library system: 39 built-in hooks across 7 categories, SDK compatibility matrix (codex/claude/copilot/gemini/opencode)
- Agent pool fallback chains: retry cooled-down SDKs, force-retry logic with prerequisite checks
- API error recovery with cooldowns and continue attempts
- System prompt anchoring stabilization; task data moved from system prompt to first user message
- Agent profile management and manual agent UI
- Voice agent overhaul: tool result injection, noise-resistant turn system, skill content injection, custom agent modes
Azure & Deployment
- Azure OpenAI integration: URL normalization, provider inference, deployment endpoint normalization
- Docker image release pipeline
- OpenCode provider support (request options, auth methods)
Task & Kanban
- Task status persistence, runtime snapshots, execution metadata
- Epic dependency management, sprint execution and ordering modes
- Jira-style task detail improvements, full-screen task detail view
- Execution plan resolver with dry-run and validation
- DAG wiring fixes, blocked worktree recovery, auto-organize removal
- Kanban auto-load feature for columns based on board filters
- Pre-PR validation and auto-merge configuration in task lifecycle
- Library & Tooling
Library resolver:
- task-aware skill scoring, token budget, import dedup detection
- Plugin count sorting, source preview/select flow, expanded repo sources
- MCP discovery from package.json/pyproject.toml, trust scoring
- Codebase annotation audit system (zero-runtime agent acceleration)
- Reliability & Security
- Credential store (AES-256-GCM encrypted)
- Worktree sync hardening, push_branch fetch/rebase, poisoned worktree recreation
- Claim-release-reclaim infinite loop fix (owner_mismatch)
- Cross-workspace task/session contamination prevention
- Git identity safety (block test identities, clear on worktree acquire)
- ReDoS hardening for contract markdown parsing
- Placeholder token rejection with 401 retry fallback chain
- Monitor self-restart watcher, stuck inreview reconciliation, daemon restart-storm guard
Code Quality
- 20+ refactor PRs: split large modules (voice tools, audit, autofix, codex config, workflow ports, agent prompts, library imports, manual flows)
- Comprehensive test additions: E2E Playwright, portal smoke, session API routing, task store DAG, hook library (50 tests)
- CodeQL security repairs
Pull Requests between last release and 0.42.0 - 75% of Pull Requests were created, reviewed and merged by Bosun itself.
- Feat/improve auth methods for voice mode by @jaeko44 in #110
- Feat/workflowimprovements v0.37.1 by @jaeko44 in #111
- Delete .codex/config.toml by @jaeko44 in #112
- Feat/workflowimprovements & other changes by @jaeko44 in #113
- chore(package): bump version to 0.37.2 by @jaeko44 in #114
- Feat/portal component mui framework v0.38.0 release by @jaeko44 in #115
- Feat/general-stability-improvements by @jaeko44 in #116
- Feat/portal component mui framework by @jaeko44 in #118
- Feat/task assessment debt ledger actions by @jaeko44 in #117
- Feat/general stability improvements by @jaeko44 in #119
- Feat/general stability improvements by @jaeko44 in #120
- Feat/improved tool calling by @jaeko44 in #121
- Feat/improved tool calling + 0.39.0 release by @jaeko44 in #122
- Feat/improved tool calling by @jaeko44 in #124
- Feat/improved tool calling by @jaeko44 in #125
- feat: harden monitor async safety, tail sanitization, and UI tunnel diagnostics by @jaeko44 in #123
- Feat/monitor safety tail sanitizer and UI tunnel v0.39.3 patch by @jaeko44 in #127
- Website CI/CD fix & Updates to Documentation / Readme.md by @jaeko44 in #128
- Update demo to live feature by @jaeko44 in #129
- refactor: streamline electron imports and enhance launch process for … by @jaeko44 in #130
- quick patches for 0.40.1 by @jaeko44 in #131
- Update demo to live feature by @jaeko44 in #133
- Update demo to live feature by @jaeko44 in #134
- fix(workflow): schedule polling for task triggers by @jaeko44 in #135
- fix: restore workflow task dispatch claim flow by @jaeko44 in #136
- fix(workflow): prevent downstream execution when trigger evaluates false by @jaeko44 in #137
- fix(workflow): avoid non-interactive gh pr create failures by @jaeko44 in #138
- fix(cli): use appdata config dir for workspace commands by @jaeko44 in #139
- fix(workflow): bind task-store guards to monitor automation by @jaeko44 in #140
- feat(task): tune repo area concurrency lock policy by @jaeko44 in #141
- fix(workflow): recover worktree branch fallback for unresolved base refs by @jaeko44 in #143
- fix(workflow): recover worktree branch fallback for unresolved base refs by @jaeko44 in #144
- Fix source-runtime config-dir and repo-root precedence by @jaeko44 in #146
- chore(deps): bump the npm_and_yarn group across 2 directories with 5 updates by @dependabot[bot] in #154
- Enhance task management and add runtime snapshot functionality by @jaeko44 in #153
- Task/2b1e305bf30a workflow dispatch regression by @jaeko44 in #145
- Codex/monitor bosun environment health by @jaeko44 in #147
- Fix empty-task issue spam and pin internal kanban by @jaeko44 in #172
- fix: prevent monitor startup crash on schedule polling by @jaeko44 in #173
- fix: keep daemon monitor task-status updates resilient by @jaeko44 in #174
- Add star history section with responsive chart by @jaeko44 in #175
- fix: unblock autonomous reviews when PR diff context is missing by @jaeko44 in #176
- fix(monitor): honor BOSUN_PROMPT_PLANNER for planner fallback by @jaeko44 in #177
- fix: recover stale workflow runs on startup by @jaeko44 in #178
- Monitor/bosun env stability by @jaeko44 in #179
- security: harden high-volume code scanning findings by @jaeko44 in #181
- fix: recover stranded unstarted in-progress tasks by @jaeko44 in #182
- fix(workflow): avoid cmd.exe dependency in commit detection by @jaeko44 in #183
- fix(workflow): resolve git binary for daemon commit detection by @jaeko44 in #184
- fix(workflow): harden git commit detection on Windows daemon runs by @jaeko44 in #185
- fix(workflow): allow git candidate retries after ENOENT by @jaeko44 in #186
- secops: harden command execution and host validation by @jaeko44 in #187
- secops: harden remaining code-scanning hotspots by @jaeko44 in #189
- secops: close remaining dom-xss codeql alerts by @jaeko44 in #190
- fix(workflow): reuse already-attached branch worktrees by @jaeko44 in #188
- secops: harden command/file sink paths and refresh UI shims by @jaeko44 in #192
- Add Codacy security scan workflow by @jaeko44 in #155
- feat: add TUI, runtime accumulation, workflow contracts, tracing, and pipeline primitives by @dmakram in #132
- secops: close remaining CodeQL hotspots in task/workflow/workspace/vendor by @jaeko44 in #194
- secops: remove final CodeQL task-store and stack-trace alerts by @jaeko44 in #195
- secops: classify unsupported voice realtime providers as 400 by @jaeko44 in #197
- fix workflow review linkage and hook vitest resolution by @jaeko44 in #198
- security: close final stack-trace exposure alert by @jaeko44 in #199
- security: hard-stop 5xx response payload flow by @jaeko44 in #201
- security: sanitize success-path error metadata by @jaeko44 in #202
- Task/ffe1021ce9fc feat audit codebase an cand 1 6df4a2b1 by @jaeko44 in #200
- feat(config): add support for repo-local Bosun directory resolution by @jaeko44 in #205
- feat(context-cache): apply immediate compression to large git log/reflog tool outputs by @jaeko44 in #203
- Remove codebase annotation audit section by @jaeko44 in #206
- Monitor/bosun env stability by @jaeko44 in #207
- Task/2ab763be90a6 feat workflow canvas fuzzy node search undo redo by @jaeko44 in #209
- Monitor/bosun env stability by @jaeko44 in #210
- fix(workflow): prevent non-task delegation stalls by @jaeko44 in #212
- fix(task): address repo-area lock policy review feedback by @Copilot in #214
- executor: tune repo-area concurrency lock policy by @jaeko44 in #213
- fix: stale session guard, task-batch payload trimming, test mock hoisting, session log cleanup by @Copilot in #216
- Monitor/bosun env stability by @jaeko44 in #215
- Monitor/bosun env stability by @jaeko44 in #218
- planner: calibrate scoring normalization and gate thresholds by @jaeko44 in #217
- fix(workflow): make dispatch nodes resilient to sync execute returns by @jaeko44 in #225
- Task/6348593efd65 comment test task by @jaeko44 in #226
- fix(task): guard epic starts across task store and UI by @jaeko44 in #227
- Task/f2381010729e executor tune repo area concurrency lock policy by @jaeko44 in #221
- executor: tune repo-area concurrency lock policy by @jaeko44 in #228
- chore(deps): bump hono from 4.12.5 to 4.12.7 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #229
- chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in #230
- fix(task-executor): dispatch workflow-owned starts by @jaeko44 in #222
- fix(workflow): default monitor automation dispatch to enabled by @jaeko44 in #223
- fix(workflow): allow monitor dispatch init to retry by @jaeko44 in #224
- chore: update version to 0.40.11 and enhance import functionality by @jaeko44 in #220
- fix: harden git identity safety, block test identities, clear on worktree acquire (v0.40.12) by @jaeko44 in #234
- fix(worktrees): auto-sync diverged task branches; harden push_branch; block test git identities by @jaeko44 in #235
- fix(agent-pool): fallback chain instead of hard-stop when primary SDK fails prereqs by @jaeko44 in #236
- chore: bump version to 0.40.14 by @jaeko44 in #237
- fix(maintenance): exclude monitor.mjs sub-command invocations from daemon lock (v0.40.15) by @jaeko44 in #238
- Monitor/bosun env stability by @jaeko44 in #239
- feat(workflow-canvas): live execution highlighting, node output previews, and progress indicators by @jaeko44 in #232
- feat(workflow): support per-project WORKFLOW.md runtime contracts by @jaeko44 in #233
- Monitor/bosun env stability by @jaeko44 in #240
- feat(workflow-canvas): fuzzy node search, undo/redo stack, and keyboard shortcuts by @jaeko44 in #245
- feat(context-cache): apply immediate compression to large git log/reflog tool outputs by @jaeko44 in #241
- feat(dashboard): retry queue as first-class dashboard section by @jaeko44 in #247
- planner: weight executor feedback signals in task generation by @jaeko44 in #248
- weekly fitness: harden metrics extraction and trend alerts by @jaeko44 in #252
- feat(task): move task-specific data from system prompt to first user message for cache anchoring by @jaeko44 in #246
- fix(workflow): validate managed worktree roots before reuse by @jaeko44 in #242
- feat(workflow-canvas): inline widget controls on nodes and typed color-coded ports by @jaeko44 in #231
- feat(audit): Codebase Annotation Audit System ÔÇö zero-runtime agent acceleration by @jaeko44 in #243
- fix(sync): harden task snapshot parsing in GitHub-Kanban sync by @jaeko44 in #253
- feat(pipeline): Pipeline Orchestration Primitives ÔÇö declarative multi-agent workflows by @jaeko44 in #250
- feat(orchestrator): completed session token and runtime accumulation across restarts by @jaeko44 in #251
- feat(workflow): custom node plugin system with auto-discovery and CLI scaffolding by @jaeko44 in #244
- feat(workflow): issue-state continuation loop workflow template by @jaeko44 in #249
- QOL Improvements for Bosun by @jaeko44 in #255
- Repair/pr243 by @jaeko44 in #256
- Task/ffe1021ce9fc feat audit codebase annotation audit system zero by @jaeko44 in #257
- fix(voice): robust tool result injection, noise-resistant turn system, persistent response display by @jaeko44 in #258
- Task/9c98e4e33ef7 feat workflow custom node plugin system with aut by @jaeko44 in #254
- fix: recreate poisoned managed worktrees by @jaeko44 in #259
- fix(ui): define hasLiveStatuses and liveActiveNodes in WorkflowCanvas by @jaeko44 in #260
- chore(deps): bump file-type from 21.3.1 to 21.3.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #261
- [m] feat(ui): add session-list stale-data banner and retry backoff by @jaeko44 in #263
- [s] feat(kanban): persist and validate auto-load board filter state across refresh by @jaeko44 in #262
- [m] feat(telegram): add resilient sticky-menu session recovery and action dedupe by @jaeko44 in #264
- feat: auto-apply PR code review suggestions by @jaeko44 in #268
- refactor: code quality pass — split codex config orchestration by @jaeko44 in #266
- refactor: code quality pass — split codex config helpers by @jaeko44 in #265
- [s] feat(task): add repo-area lock contention telemetry and diagnostics by @jaeko44 in #269
- Fix/voice agent turn system by @jaeko44 in #272
- refactor: code quality pass — split workflow port hydration helpers by @jaeko44 in #273
- fix: default merge method squash->merge, add suggestion auto-apply to Watchdog by @jaeko44 in #271
- refactor: code quality pass — split workflow port hydration helpers by @jaeko44 in #274
- fix(ui): restore missing workflow canvas functions by @jaeko44 in #275
- refactor: code quality pass — split codex config summary logging by @jaeko44 in #276
- refactor: code quality pass — split stale agent-section cleanup by @jaeko44 in #277
- Workflow UI Fixes & Library Resolver changes by @jaeko44 in #278
- refactor: code quality pass — split agent prompt catalog by @jaeko44 in #279
- refactor: code quality pass — split workflow template state helpers by @jaeko44 in #282
- feat(library): improve resolver scoring, visualization, and marketplace UI by @jaeko44 in #281
- refactor: code quality pass — split manual flow audit executor by @jaeko44 in #285
- refactor: code quality pass — split manual flow helpers by @jaeko44 in #286
- refactor: code quality pass — split config doctor workspace health by @jaeko44 in #284
- refactor: code quality pass — split config executor parsing and scheduling by @jaeko44 in #287
- refactor: code quality pass — dedupe config file-name constants by @jaeko44 in #288
- refactor: code quality pass — split library import scanning helpers by @jaeko44 in #289
- refactor: code quality pass — split repository library import helpers by @jaeko44 in #290
- fix: harden workflow canvas and fleet session views by @jaeko44 in #280
- refactor: code quality pass — dedupe repository import helpers in library manager by @jaeko44 in #291
- refactor: code quality pass — split codex config orchestration by @jaeko44 in #294
- refactor: code quality pass — split Codex config file helpers by @jaeko44 in #292
- refactor: code quality pass — split autofix helper modules by @jaeko44 in #295
- refactor: code quality pass — split codebase audit helpers by @jaeko44 in #297
- fix: recover blocked worktree tasks and improve DAG organizer by @jaeko44 in #298
- refactor: code quality pass — split autofix helper modules by @jaeko44 in #293
- refactor: code quality pass — split audit manifest helpers by @jaeko44 in #296
- refactor: code quality pass — split voice tool definition groups by @jaeko44 in #300
- refactor: code quality pass — split voice tool definitions by @jaeko44 in #299
- Chore/code quality striker 20260315 audit manifests by @jaeko44 in #302
- Fix regex word boundaries, memoize DAG path checks, harden tests, refactor voice-tools by @Copilot in #301
- Pr 299 by @jaeko44 in #303
- test: harden portal smoke coverage by @jaeko44 in #304
- Pr 299 clean rebased by @jaeko44 in #305
- fix: resume interrupted runs on monitor startup by @jaeko44 in #306
- fix(workflow): auto-detect lifecycle pre-PR validation by @jaeko44 in #307
- fix: stop stale lifecycle session reuse by @jaeko44 in #308
- fix: refresh task lifecycle defaults on execute by @jaeko44 in #309
- fix: reset ownerless workflow tasks by @jaeko44 in #310
- fix: keep explicit repo-root precedence by @jaeko44 in #311
- Handle template placeholders in task descriptions by @jaeko44 in #312
- Stabilize ui-server telemetry and diff fallback tests by @jaeko44 in #313
- fix: sanitize unresolved task prompt placeholders by @jaeko44 in #314
- feat(audit): Codebase Annotation Audit System ÔÇö zero-runtime agent acceleration by @jaeko44 in #315
- Render custom task prompt template placeholders by @jaeko44 in #316
- Handle unresolved task placeholders in prompt rendering by @jaeko44 in #317
- fix(workflow): fallback task prompt fields to task payload by @jaeko44 in #318
- fix(agent-prompts): scrub leaked unresolved placeholders by @jaeko44 in #319
- Untitled task by @jaeko44 in #320
- Fix agent-pool no-SDK deadlock during primary cooldown by @jaeko44 in #321
- Fix agent-pool SDK cooldown fallback gap by @jaeko44 in #323
- Fix agent-pool SDK cooldown dead-end by @jaeko44 in #324
- Fix agent-pool no-SDK dead-end during SDK cooldown by @jaeko44 in #326
- fix(desktop): fix ui-server module path resolution by @lancha90 in #327
- Improve sessions and workflow tracking by @jaeko44 in #322
- Stabilize cache-anchored prompts by @jaeko44 in #328
- Fix materialize_planner_tasks for payload-only createTask adapters by @jaeko44 in #330
- Fix workflow monitor createTask adapter argument normalization by @jaeko44 in #331
- fix: avoid untitled workflow prompts when task id exists by @jaeko44 in #334
- feat(task): move task-specific data from system prompt to first user message for cache anchoring by @jaeko44 in #333
- chore(deps): bump music-metadata from 11.12.1 to 11.12.3 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #336
- Add Installation & Deployment documentation and update navigation by @jaeko44 in #329
- Feat/docker image release by @jaeko44 in #337
- fix: sanitize inline unresolved task prompt placeholders by @jaeko44 in #335
- Untitled task by @jaeko44 in #332
- feat: Enhance workflow composition, agent pipelines, and Azure integration by @jaeko44 in #338
- Feat/sub workflows by @jaeko44 in #339
- chore: update version to 0.42.0 in package.json and package-lock.json by @jaeko44 in #340
New Contributors
- @dependabot[bot] made their first contribution in #154
- @lancha90 made their first contribution in #327
Full Changelog: 0.37.0...0.42.0