diff --git a/CHANGELOG.md b/CHANGELOG.md index b48ce6f55..cf9913fe7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,34 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [2.15.0] - 2026-03-15 + +### Added +- **8 new commands**: budget enforcement, notifications, and quality-of-life improvements (#441) +- **Preferences schema validation**: detects unknown/typo'd preference keys and surfaces warnings instead of silently ignoring them (#542) +- **Pipeline-aware prompts**: each agent phase (research, plan, execute, complete) now knows its role in the pipeline, eliminating redundant code exploration between phases (#543) +- **Research depth calibration**: three-tier system (deep/targeted/light) so agents match effort to actual complexity (#543) + +### Changed +- Auto-mode decomposed into focused modules for maintainability (#534) +- Dispatch logic extracted from if-else chain to dispatch table (#539) +- v1 migration code gated behind dynamic import — only loaded when needed (#541) +- Background shell module decomposed into focused modules +- Unified cache invalidation into single `invalidateAllCaches()` function (#545) + +### Fixed +- Executor agents now receive explicit working directory, preventing writes to main repo instead of worktree (#543) +- Merge loop and .gsd/ conflict auto-resolution in worktree model, `git.isolation` preference restored (#536) +- Arrow keys no longer insert escape sequences as text during LLM streaming (#493) +- YAML preferences parser hardened for OpenRouter model IDs with special characters (#488) +- `@` file autocomplete debounced to prevent TUI freeze on large codebases (#448) +- Auto-mode stops cleanly when dispatch gap watchdog fails (#537) +- Synchronous I/O removed from hot paths (#540) +- Silent catch blocks now capture error references for crash diagnostics (#546) +- `ctx.log` error in GSD provider recovery path fixed +- TUI resource leaks patched in loader, cancellable-loader, input, and editor components (#482) +- Hardcoded ANSI escapes replaced with chalk for consistent terminal handling (#482) + ## [2.14.4] - 2026-03-15 ### Fixed @@ -658,7 +686,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Changed - License updated to MIT -[Unreleased]: https://github.com/gsd-build/gsd-2/compare/v2.14.4...HEAD +[Unreleased]: https://github.com/gsd-build/gsd-2/compare/v2.15.0...HEAD +[2.15.0]: https://github.com/gsd-build/gsd-2/compare/v2.14.4...v2.15.0 [2.14.4]: https://github.com/gsd-build/gsd-2/compare/v2.14.3...v2.14.4 [2.14.3]: https://github.com/gsd-build/gsd-2/compare/v2.14.2...v2.14.3 [2.14.2]: https://github.com/gsd-build/gsd-2/compare/v2.14.1...v2.14.2