release: v2.10.9 (#358)

* docs: update changelog for v2.10.9

* 2.10.9

* fix(ci): retry smoke test with backoff for npm propagation delay

The post-publish smoke test was failing because npm registry propagation
can take 30-90s. Replaced the fixed 15s sleep with a retry loop (5
attempts, 30s backoff).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
TÂCHES 2026-03-14 08:08:21 -06:00 committed by GitHub
parent 06d1237ac5
commit ff524caec9
8 changed files with 40 additions and 12 deletions

View file

@ -200,10 +200,19 @@ jobs:
- name: Post-publish smoke test
run: |
VERSION=$(node -p "require('./package.json').version")
sleep 15
TMPDIR=$(mktemp -d)
cd "$TMPDIR"
npm init -y
npm install "gsd-pi@${VERSION}"
npx gsd --version
echo "Published package is functional"
# Retry npm install with backoff — npm registry propagation can take 30-90s
for attempt in 1 2 3 4 5; do
echo "Smoke test attempt ${attempt}/5..."
if npm install "gsd-pi@${VERSION}" 2>/dev/null; then
npx gsd --version
echo "Published package is functional"
exit 0
fi
echo "npm install failed, waiting before retry..."
sleep 30
done
echo "::error::Smoke test failed after 5 attempts — gsd-pi@${VERSION} not installable from npm"
exit 1

View file

@ -6,8 +6,26 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
## [2.10.9] - 2026-03-14
### Added
- Team collaboration: multiple users can work on the same repo without milestone name clashes by checking in `.gsd/` planning artifacts (#338)
### Changed
- Execute-task loop detection uses adaptive reconciliation instead of hard-stopping, reducing false positives (#342)
- Memory storage switched from better-sqlite3 to sql.js (WASM) for Node 25+ compatibility (#356)
### Fixed
- Fixed residual `gsd auto` branch-switch failure: `git checkout -- .gsd/` only reverts *tracked* runtime files; a new `discardUntrackedRuntimeFiles` step (`git clean -fdx`) now also removes untracked runtime files (e.g. `STATE.md`) that would otherwise trigger "The following untracked working tree files would be overwritten by checkout" when the target branch still has them committed
- Node 22.22+ compatibility: `.ts` import extensions normalized to `.js` for module resolution (#354)
- Infinite loop when complete-slice merges to main are interrupted (#345)
- Credential backoff no longer triggers on transport errors; quota exhaustion handled gracefully (#353)
- OAuth-backed providers (Gemini) no longer crash on quota exhaustion (#347)
- Secrets skip in auto mode no longer crashes (#352)
- Untracked runtime files discarded before branch switch to prevent checkout conflicts (#346)
- TUI crash/corruption on code blocks with lines exceeding terminal width (#343)
- Infinite skip loop in `gsd auto` broken by adding roadmap completion check
- Model ID variant suffix stripped correctly for OAuth Anthropic API calls
- `.gsd/` planning artifacts force-added and `handleAgentEnd` reentrancy guarded (#341)
## [2.10.8] - 2026-03-14
@ -461,7 +479,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.10.8...HEAD
[Unreleased]: https://github.com/gsd-build/gsd-2/compare/v2.10.9...HEAD
[2.10.9]: https://github.com/gsd-build/gsd-2/compare/v2.10.8...v2.10.9
[2.10.8]: https://github.com/gsd-build/gsd-2/compare/v2.10.7...v2.10.8
[2.10.7]: https://github.com/gsd-build/gsd-2/compare/v2.10.6...v2.10.7
[2.10.6]: https://github.com/gsd-build/gsd-2/compare/v2.10.5...v2.10.6

View file

@ -1,6 +1,6 @@
{
"name": "@gsd-build/engine-darwin-arm64",
"version": "2.10.6",
"version": "2.10.9",
"description": "GSD native engine binary for macOS ARM64",
"os": [
"darwin"

View file

@ -1,6 +1,6 @@
{
"name": "@gsd-build/engine-darwin-x64",
"version": "2.10.6",
"version": "2.10.9",
"description": "GSD native engine binary for macOS Intel",
"os": [
"darwin"

View file

@ -1,6 +1,6 @@
{
"name": "@gsd-build/engine-linux-arm64-gnu",
"version": "2.10.6",
"version": "2.10.9",
"description": "GSD native engine binary for Linux ARM64 (glibc)",
"os": [
"linux"

View file

@ -1,6 +1,6 @@
{
"name": "@gsd-build/engine-linux-x64-gnu",
"version": "2.10.6",
"version": "2.10.9",
"description": "GSD native engine binary for Linux x64 (glibc)",
"os": [
"linux"

View file

@ -1,6 +1,6 @@
{
"name": "@gsd-build/engine-win32-x64-msvc",
"version": "2.10.6",
"version": "2.10.9",
"description": "GSD native engine binary for Windows x64 (MSVC)",
"os": [
"win32"

View file

@ -1,6 +1,6 @@
{
"name": "gsd-pi",
"version": "2.10.8",
"version": "2.10.9",
"description": "GSD — Get Shit Done coding agent",
"license": "MIT",
"repository": {