diff --git a/CHANGELOG.md b/CHANGELOG.md index 5463a8d58..d6682fa9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,37 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [2.74.0] - 2026-04-14 + +### Added +- **gsd**: extend flat-rate provider detection to custom/externalCli providers +- **claude-code**: pass thinking level as effort + +### Fixed +- **claude-code-cli**: forward image blocks in SDK query prompt (#4183) +- keep assistant text visible when thinking traces are long +- **state**: DB-authoritative milestone completeness (#4179) +- **auto-mode**: prevent false milestone merge after complete-milestone failure (#4175) +- **auto**: pause on validate-milestone needs-remediation without slices (#4094) +- **gsd**: notify users what to do next after /gsd step finishes +- **cli**: restore --help handling when it follows a subcommand or unknown flag +- **tui**: eliminate pinned output duplication and reduce render overhead +- **auto**: prevent premature auto-mode stops on blocked phase + missing reassessment +- **cli**: use junction symlinks in merged node_modules path +- **tui**: reset segment state on claude-code sub-turn shrink +- **gsd**: set completed_at when reconciling task status to complete +- **tui**: keep AUTO-mode widgets alive and drop duplicate health panel +- **gsd**: use bun for update when installed via Bun (#4145) +- **tui**: render assistant tool calls inline with text instead of grouped at end +- **gsd**: restore isAutoMode plumbing and workflow-logger catch in auto-model-selection +- **gsd**: preserve custom-model selection on /gsd auto bootstrap (#4122) +- **pi-coding-agent**: use safe compaction role markers +- **pi-ai**: detect claude-code overflow text + +### Changed +- remove stale src/app-paths.js leftover +- **cli**: slim down top-level src/ — dedup, unused fallbacks, onboarding + ## [2.73.1] - 2026-04-13 ### Fixed @@ -2862,7 +2893,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.73.1...HEAD +[Unreleased]: https://github.com/gsd-build/gsd-2/compare/v2.74.0...HEAD +[2.74.0]: https://github.com/gsd-build/gsd-2/compare/v2.73.1...v2.74.0 [2.73.1]: https://github.com/gsd-build/gsd-2/compare/v2.73.0...v2.73.1 [2.73.0]: https://github.com/gsd-build/gsd-2/compare/v2.72.0...v2.73.0 [2.72.0]: https://github.com/gsd-build/gsd-2/compare/v2.71.0...v2.72.0 diff --git a/native/npm/darwin-arm64/package.json b/native/npm/darwin-arm64/package.json index 0dbbad490..91eac4c5f 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.73.1", + "version": "2.74.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 0762a8e53..f0cb63b73 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.73.1", + "version": "2.74.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 1ae2a9ce3..a71337a5a 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.73.1", + "version": "2.74.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 1877d4f31..d9f63fea9 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.73.1", + "version": "2.74.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 bc338f3dc..88c2e986c 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.73.1", + "version": "2.74.0", "description": "GSD native engine binary for Windows x64 (MSVC)", "os": [ "win32" diff --git a/package-lock.json b/package-lock.json index aeba6e373..1eae3a620 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gsd-pi", - "version": "2.73.1", + "version": "2.74.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gsd-pi", - "version": "2.73.1", + "version": "2.74.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -898,6 +898,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -2614,6 +2615,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -2851,8 +2853,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-android-arm64": { "version": "4.59.0", @@ -2866,8 +2867,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.59.0", @@ -2881,8 +2881,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-darwin-x64": { "version": "4.59.0", @@ -2896,8 +2895,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-freebsd-arm64": { "version": "4.59.0", @@ -2911,8 +2909,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-freebsd-x64": { "version": "4.59.0", @@ -2926,8 +2923,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { "version": "4.59.0", @@ -2941,8 +2937,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { "version": "4.59.0", @@ -2956,8 +2951,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.59.0", @@ -2971,8 +2965,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { "version": "4.59.0", @@ -2986,8 +2979,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { "version": "4.59.0", @@ -3001,8 +2993,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { "version": "4.59.0", @@ -3016,8 +3007,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { "version": "4.59.0", @@ -3031,8 +3021,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { "version": "4.59.0", @@ -3046,8 +3035,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { "version": "4.59.0", @@ -3061,8 +3049,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { "version": "4.59.0", @@ -3076,8 +3063,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { "version": "4.59.0", @@ -3091,8 +3077,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.59.0", @@ -3106,8 +3091,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.59.0", @@ -3121,8 +3105,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-openbsd-x64": { "version": "4.59.0", @@ -3136,8 +3119,7 @@ "optional": true, "os": [ "openbsd" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-openharmony-arm64": { "version": "4.59.0", @@ -3151,8 +3133,7 @@ "optional": true, "os": [ "openharmony" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { "version": "4.59.0", @@ -3166,8 +3147,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { "version": "4.59.0", @@ -3181,8 +3161,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { "version": "4.59.0", @@ -3196,8 +3175,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.59.0", @@ -3211,8 +3189,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@sapphire/async-queue": { "version": "1.5.5", @@ -4314,8 +4291,7 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/hosted-git-info": { "version": "3.0.5", @@ -4386,6 +4362,7 @@ "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -4709,6 +4686,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -5581,6 +5559,7 @@ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", + "peer": true, "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", @@ -5751,7 +5730,6 @@ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12.0.0" }, @@ -6266,6 +6244,7 @@ "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.12.tgz", "integrity": "sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=16.9.0" } @@ -7124,7 +7103,6 @@ } ], "license": "MIT", - "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -7456,6 +7434,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -7536,7 +7515,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -7714,6 +7692,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -7723,6 +7702,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -7836,7 +7816,6 @@ "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -8397,7 +8376,6 @@ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" @@ -8692,7 +8670,6 @@ "os": [ "aix" ], - "peer": true, "engines": { "node": ">=18" } @@ -8710,7 +8687,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -8728,7 +8704,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -8746,7 +8721,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -8764,7 +8738,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -8782,7 +8755,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -8800,7 +8772,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -8818,7 +8789,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -8836,7 +8806,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8854,7 +8823,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8872,7 +8840,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8890,7 +8857,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8908,7 +8874,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8926,7 +8891,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8944,7 +8908,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8962,7 +8925,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8980,7 +8942,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -8998,7 +8959,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -9016,7 +8976,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -9034,7 +8993,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -9052,7 +9010,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -9070,7 +9027,6 @@ "os": [ "openharmony" ], - "peer": true, "engines": { "node": ">=18" } @@ -9088,7 +9044,6 @@ "os": [ "sunos" ], - "peer": true, "engines": { "node": ">=18" } @@ -9106,7 +9061,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -9124,7 +9078,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -9142,7 +9095,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -9154,7 +9106,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -9383,6 +9334,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -9535,7 +9487,7 @@ }, "packages/pi-coding-agent": { "name": "@gsd/pi-coding-agent", - "version": "2.73.1", + "version": "2.74.0", "dependencies": { "@mariozechner/jiti": "^2.6.2", "@silvia-odwyer/photon-node": "^0.3.4", diff --git a/package.json b/package.json index 8dbbb9d7b..1ac724911 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gsd-pi", - "version": "2.73.1", + "version": "2.74.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 8e1214976..0ae04d50f 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.73.1", + "version": "2.74.0", "description": "Coding agent CLI (vendored from pi-mono)", "type": "module", "piConfig": { diff --git a/pkg/package.json b/pkg/package.json index c94458c03..c9f4c3332 100644 --- a/pkg/package.json +++ b/pkg/package.json @@ -1,6 +1,6 @@ { "name": "@glittercowboy/gsd", - "version": "2.73.1", + "version": "2.74.0", "piConfig": { "name": "gsd", "configDir": ".gsd"