From 0d69b9c57d006695e1d1eb31a01e823aa30e44f1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Apr 2026 03:07:16 +0000 Subject: [PATCH] release: v2.66.0 --- CHANGELOG.md | 118 +++++++++++++++++++++++- native/npm/darwin-arm64/package.json | 2 +- native/npm/darwin-x64/package.json | 2 +- native/npm/linux-arm64-gnu/package.json | 2 +- native/npm/linux-x64-gnu/package.json | 2 +- native/npm/win32-x64-msvc/package.json | 2 +- package.json | 2 +- packages/pi-coding-agent/package.json | 2 +- pkg/package.json | 2 +- 9 files changed, 125 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5bdb0ae8..72ed19321 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,121 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [2.66.0] - 2026-04-08 + +### Added +- **gsd**: add fast path for queued milestone discussion +- **gsd**: add /gsd show-config command +- **reactive**: graph diagnostics and subagent_model config +- **dispatch**: parallel research slices and parallel milestone validation +- **parallel**: worker model override for parallel milestone workers + +### Fixed +- **gsd**: validate depth verification answer before unlocking write-gate +- **gsd**: revert unknown artifact check to warn-and-proceed +- **gsd**: add missing cmd field to test base WorkflowEvent +- **gsd**: address remaining adversarial review findings for wave 3 +- **gsd**: detect concurrent event log growth during reconcile +- **gsd**: address adversarial review findings for wave 3 +- **gsd**: address adversarial review findings for wave 2 +- **gsd**: address adversarial review findings for wave 1 +- **gsd**: WAL-safe migration backup + stronger regression tests +- **gsd**: consistency and cleanup (wave 5/5) +- **gsd**: write safety — atomic writes and randomized tmp paths (wave 4/5) +- **gsd**: session and recovery robustness (wave 3/5) +- **gsd**: event log and reconciliation robustness (wave 2/5) +- **gsd**: critical state machine data integrity fixes (wave 1/5) +- **gsd**: critical state machine data integrity fixes (wave 1/5) +- **gsd**: remove ecosystem research stub and address adversarial review +- **gsd**: suppress model change notification in auto-mode unless verbose +- **gsd**: exclude task.files from checkTaskOrdering to prevent false positives +- **state**: skip ghost check for queued milestones in registry build +- **ci**: replace empty catch blocks and raw stderr with logWarning +- **logging**: add debugLog to empty catch in reopen-milestone +- **state-machine**: 9 resilience fixes + 86 regression tests (#3161) +- **gsd**: add incremental persistence to discuss prompts +- replace empty catch with logWarning for silent-catch-diagnostics test +- **test**: escape regex metacharacters in skip-by-preference pattern test +- **test**: search for numbered step definitions in prompt ordering test +- **test**: update notes loop test for notesVisible guard behavior +- **test**: update action count for note captures now included in results +- **test**: remove extraneous test file from wrong branch +- **test**: update worktree sync tests to use separate milestone IDs +- **gsd**: use valid LogComponent type for stale branch guard warning +- **test**: update rogue detection test for auto-remediation behavior +- **test**: update stuck-planning test to expect executing after reconciliation +- **test**: update file path consistency tests for inputs-only checking +- **test**: add CONTEXT file to queued milestone ghost detection test +- **test**: update needs-remediation test to expect validating-milestone phase +- **gsd**: import all-done milestones as complete during DB migration +- **gsd**: allow milestone completion when validation skipped by preference +- **gsd**: set slice sequence at all three insertion sites +- **gsd**: four prompt/runtime fixes for completion and session stability +- **gsd**: default insertMilestone status to queued instead of active +- **gsd**: suppress repeated frontmatter YAML parse warnings +- **gsd**: normalize list inputs in complete-task + fix roadmap dep parsing +- **gsd**: open DB before status derivation + respect isolation:none in quick +- **gsd**: add .bg-shell/ to baseline gitignore patterns +- **tui**: prevent Enter key infinite loop in interview notes mode +- **provider**: handle Enter key to initiate auth setup in provider manager +- **gsd**: cap run-uat dispatch attempts to prevent infinite replay loop +- **mcp**: use createRequire to resolve SDK wildcard subpath imports +- **gsd**: mark note captures as executed in executeTriageResolutions +- **gsd**: validate main_branch preference exists before using in merge +- **gsd**: handle deleted cwd in projectRoot to prevent ENOENT crash +- **gsd**: skip current milestone in syncWorktreeStateBack to prevent merge conflicts +- **gsd**: add structuredQuestionsAvailable conditional to slice discuss +- **gsd**: restore full tool set after discuss flow scoping +- **gsd**: tighten verifyExpectedArtifact to prevent rogue-write false positives +- **gsd**: add verification gate to complete-slice tool +- **gsd**: fix pre-execution-checks false positives from backticks and task.files +- **gsd**: stop renderAllProjections from overwriting authoritative PLAN.md +- **gsd**: auto-checkout to main when isolation:none finds stale milestone branch +- **gsd**: auto-remediate stale slice DB status when SUMMARY exists on disk +- **gsd**: open DB on demand in gsd_milestone_status for non-auto sessions +- **gsd**: detect phantom milestones from abandoned gsd_milestone_generate_id +- **gsd**: force re-validation when verdict is needs-remediation +- **gsd**: exclude closed slices from findMissingSummaries check +- **gsd**: recover from stale lockfile after crash or SIGKILL +- **gsd**: add createdAt timestamp and 30s age guard to staleness check +- **gsd**: clear stale pendingAutoStart after /clear interrupts discussion +- **gsd**: suppress misleading warnings for expected ENOENT/EISDIR conditions +- **gsd**: extract real error from message content when errorMessage is useless +- **gsd**: extract real error from message content when errorMessage is useless +- **gsd**: show accurate pause message for queued-user-message skip +- **gsd**: treat queued-user-message skip as non-retryable interruption +- **gsd**: recognize "Not provided." default in isVerificationNotApplicable +- **gsd**: discoverManifests skips symlinked extension directories +- **gsd**: recognize "Not provided." default in isVerificationNotApplicable +- **gsd**: reconcile plan-file tasks into DB when planner skips persistence (#3600) +- **gsd**: use isClosedStatus() in dispatch guard instead of raw complete check +- **browser-tools**: make sharp an optional lazy dependency +- **gsd**: pass required arguments in defer-milestone-stamp test +- **gsd**: replace remaining empty catch with logWarning +- **gsd**: use logWarning instead of raw stderr in catch blocks +- **gsd**: log error instead of empty catch in STATE.md rebuild +- **gsd**: log error instead of empty catch in skip_slice +- **gsd**: cast milestone classification to string for type safety +- **gsd**: treat zero-slice roadmap as pre-planning in guided flow +- **gsd**: rebuild STATE.md after skip-slice and strengthen rethink prompt +- **gsd**: use main_branch preference in worktree creation +- **gsd**: stamp defer and milestone captures as executed after triage +- **tui**: treat absolute file paths as plain text, not commands +- **tui**: break infinite re-render loop for images in cmux +- **gsd**: rebuild STATE.md before guided-flow dispatch +- **gsd**: defer queued shells in active milestone selection +- **retry**: prevent 429 quota cascade and 30-min lockout +- **gsd**: add fastPathInstruction to buildDiscussMilestonePrompt loadPrompt call + +### Changed +- auto-commit after quick-task +- auto-commit after quick-task +- auto-commit after quick-task +- auto-commit after quick-task +- auto-commit after quick-task +- auto-commit after quick-task +- auto-commit after quick-task + ## [2.65.0] - 2026-04-07 ### Added @@ -2436,7 +2551,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.65.0...HEAD +[Unreleased]: https://github.com/gsd-build/gsd-2/compare/v2.66.0...HEAD +[2.66.0]: https://github.com/gsd-build/gsd-2/compare/v2.65.0...v2.66.0 [2.65.0]: https://github.com/gsd-build/gsd-2/compare/v2.64.0...v2.65.0 [2.64.0]: https://github.com/gsd-build/gsd-2/compare/v2.63.0...v2.64.0 [2.63.0]: https://github.com/gsd-build/gsd-2/compare/v2.62.1...v2.63.0 diff --git a/native/npm/darwin-arm64/package.json b/native/npm/darwin-arm64/package.json index 2331e73d1..da3f1ea4b 100644 --- a/native/npm/darwin-arm64/package.json +++ b/native/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@gsd-build/engine-darwin-arm64", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD native engine binary for macOS ARM64", "os": [ "darwin" diff --git a/native/npm/darwin-x64/package.json b/native/npm/darwin-x64/package.json index a409467c6..830cd04ab 100644 --- a/native/npm/darwin-x64/package.json +++ b/native/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@gsd-build/engine-darwin-x64", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD native engine binary for macOS Intel", "os": [ "darwin" diff --git a/native/npm/linux-arm64-gnu/package.json b/native/npm/linux-arm64-gnu/package.json index debe6ca92..ff200b6fa 100644 --- a/native/npm/linux-arm64-gnu/package.json +++ b/native/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@gsd-build/engine-linux-arm64-gnu", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD native engine binary for Linux ARM64 (glibc)", "os": [ "linux" diff --git a/native/npm/linux-x64-gnu/package.json b/native/npm/linux-x64-gnu/package.json index 4cc18e6d3..f8486a565 100644 --- a/native/npm/linux-x64-gnu/package.json +++ b/native/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@gsd-build/engine-linux-x64-gnu", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD native engine binary for Linux x64 (glibc)", "os": [ "linux" diff --git a/native/npm/win32-x64-msvc/package.json b/native/npm/win32-x64-msvc/package.json index 6f3902411..894de4f39 100644 --- a/native/npm/win32-x64-msvc/package.json +++ b/native/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@gsd-build/engine-win32-x64-msvc", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD native engine binary for Windows x64 (MSVC)", "os": [ "win32" diff --git a/package.json b/package.json index dd19c6350..fcb9ca5c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gsd-pi", - "version": "2.65.0", + "version": "2.66.0", "description": "GSD — Get Shit Done coding agent", "license": "MIT", "repository": { diff --git a/packages/pi-coding-agent/package.json b/packages/pi-coding-agent/package.json index 3a6fa004d..762467189 100644 --- a/packages/pi-coding-agent/package.json +++ b/packages/pi-coding-agent/package.json @@ -1,6 +1,6 @@ { "name": "@gsd/pi-coding-agent", - "version": "2.65.0", + "version": "2.66.0", "description": "Coding agent CLI (vendored from pi-mono)", "type": "module", "piConfig": { diff --git a/pkg/package.json b/pkg/package.json index 6c026c26f..62636e6a9 100644 --- a/pkg/package.json +++ b/pkg/package.json @@ -1,6 +1,6 @@ { "name": "@glittercowboy/gsd", - "version": "2.65.0", + "version": "2.66.0", "piConfig": { "name": "gsd", "configDir": ".gsd"