What's New
DB-Backed Planning Engine
The planning system now uses atomic SQLite operations instead of markdown file mutation. This is the biggest architectural change in this release — state transitions are now transactional, concurrent-safe, and recoverable. File-based fallbacks ensure backward compatibility when the DB is unavailable.
Features
- Per-prompt token cost display — see cost per prompt in the footer (enable via
show_token_costpreference) (#2357) - Change project root from web UI — switch projects without restarting (#2355)
- Docker sandbox template — official Docker template for isolated auto mode (#2360)
- Non-API-key provider support — extensions like Claude Code CLI can now authenticate without API keys (#2382)
Bug Fixes
- Planning data integrity — prevent data loss from destructive upsert and post-unit re-import (#2370)
- Memory and resource leaks — fix leaks across TUI, LSP, DB, and automation subsystems (#2314)
- TypeScript detection in .js files — detect TS syntax and suggest renaming (#2386)
- SQLite WAL handling — add missing WAL sidecars and journal to runtime exclusion lists (#2299)
- Auto-stash before merge — dirty working tree files are auto-stashed before squash merge (#2298)
- Subprocess module resolution — resolve compiled .js modules correctly under node_modules (#2320)
- Decision persistence — preserve freeform DECISIONS.md content on save (#2319)
- Provider restoration — restore alibaba-coding-plan provider via custom models (#2350)
- Doctor checks — skip false
env_dependencieserrors in auto-worktrees (#2318) - DB pragmas and rollback safety — add busy_timeout, foreign_keys, and safe render-failure handling (#2410)
- Windows compatibility — fix CRLF assertions, EPERM cleanup, and path normalization in tests
- CI stability — process-level test isolation to prevent cross-test state leakage
Infrastructure
- Add CODEOWNERS and team workflow documentation (#2286)
- Migrate CI runners to Blacksmith for faster builds
- Fix Rust cross-compilation target resolution for ARM64 builds