singularity-forge/CHANGELOG.md
Lex Christopherson 6b358491b3 docs: update changelog for v2.5.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:32:39 -06:00

11 KiB

Changelog

All notable changes to GSD are documented in this file.

Format based on Keep a Changelog.

Unreleased

2.5.1 - 2026-03-12

Added

  • secure_env_collect now auto-detects existing keys, destination files, and provides guidance field for better onboarding UX

Changed

  • Right-sized pipeline for simple work — single-slice milestones skip redundant research/plan sessions, reducing 9-10 sessions to 5-6
  • Heavyweight plan sections (Proof Level, Integration Closure, Observability) are now conditional, omitted for simple slices

Fixed

  • Squash-merge now aborts cleanly on conflict and stops auto-mode instead of looping with corrupted state
  • Resolved baked-in merge conflict markers in loader.ts, logo.ts, and postinstall.js

2.5.0 - 2026-03-12

Added

  • Native Anthropic web search — Claude models get server-side web search automatically, no Brave API key required
  • GitService fully wired into codebase — programmatic git operations replace shell-based git commands in prompts
  • Merge guards prevent slice completion when uncommitted changes or conflicts exist
  • Snapshot support for saving and restoring .gsd/ state
  • Auto-push after slice squash-merge to main
  • Rich commit messages with structured metadata

Fixed

  • State machine deadlock when units fail to produce expected artifacts — retry and cross-validation now gate completion
  • Duplicate Brave search tools when toggling providers repeatedly
  • Windows test glob patterns (single quotes → unquoted for shell expansion)
  • Conversation replay error caused by thinking blocks in stored history
  • Brave search tools removed from API payload when no BRAVE_API_KEY is set
  • Restore notifications suppressed on session resume to reduce UX noise

2.4.0 - 2026-03-12

Added

  • Automatic migration of provider credentials from existing Pi installations — skip re-authentication when switching to GSD
  • Pi extensions from ~/.pi/agent/extensions/ discoverable in interactive mode
  • GitService core implementation for programmatic git operations

Changed

  • System prompt compressed by 48% (360 → 187 lines) for better context efficiency
  • Refined agent character and communication style prompts
  • Added craft standards, self-debugging awareness, and work narration to agent prompts

Fixed

  • RPC mode crash when ctx.ui.theme is undefined (#121)

2.3.11 - 2026-03-12

Added

  • Branded clack-based onboarding wizard on first launch — LLM provider selection (OAuth + API key), optional tool API keys, and setup summary (#118)
  • gsd config subcommand to re-run the setup wizard anytime
  • Shared src/logo.ts module as single source of truth for ASCII banner

Fixed

  • Parallel subagent results no longer truncated at 200 characters

Changed

  • wizard.ts trimmed to env hydration only — onboarding logic moved to onboarding.ts
  • First-launch banner removed from loader.ts (onboarding wizard handles branding)

2.3.10 - 2026-03-12

Added

  • Branded postinstall experience with animated spinners, progress indicators, and clean summary (#115)

Fixed

  • Ctrl+Alt shortcuts (dashboard, bg manager, voice) now show slash-command fallback in terminals that lack Kitty keyboard protocol support — macOS Terminal.app, JetBrains IDEs (#100, #104)

2.3.9 - 2026-03-12

Added

  • Tavily as alternative web search provider alongside Brave Search (#102)
  • Auto-mode progress widget now shows all stats; footer hidden during auto-mode (#75)

Fixed

  • Auto-mode infinite loop and closeout instability — idempotent unit dispatch, retry caps, and atomic closeout (#96, #109)
  • Migration no longer requires ROADMAP.md — milestones inferred from phases/ directory when missing (#93, #90)
  • Worktree branch safety — proper namespacing and slice branch base selection (#92)
  • Windows: use execFile to avoid single-quote shell issues (#103)
  • Broken read @GSD-WORKFLOW.md references replaced with /gsd command (#88)
  • Google Search extension updated to use gemini-2.5-flash (#83)
  • Duplicate getCurrentBranch import in auto.ts (#87)
  • formatCost crash on non-number cost values (#74)
  • Avoid sudo prompts in postinstall script (#73)
  • .gsd/ folder removed from git tracking; consolidated .gitignore (#78)
  • Multiple community-reported bugs across CLI, auto-mode, and extensions

2.3.8 - 2026-03-11

Fixed

  • Worktree file operations (Write, Read, Edit) now resolve paths against the active working directory instead of the launch directory (#72)
  • Auto-mode merge guard handles all slice completion paths, preventing infinite dispatch loops when complete-slice is bypassed (#71)

2.3.7 - 2026-03-11

Added

  • Remote user questions via Slack/Discord for headless auto-mode sessions

Fixed

  • Auto-mode model switches no longer persist as the user's global default (#30)
  • Auto-mode resume now rebuilds disk state and runs doctor before dispatching, preventing inline execution after pause (#16)
  • Silent dispatch failure when command context is null now surfaces an error notification
  • Race condition between timeout handlers and prompt dispatch in auto-mode
  • Remote questions: validate IDs before test-send, sanitize error messages to prevent token leakage
  • Remote questions: cap user_note at 500 chars to prevent LLM context injection
  • Remote questions: validate channel ID format to prevent SSRF
  • Remote questions: add 15s per-request fetch timeout to adapters
  • Remote questions: distinguish Discord 404 from auth errors in reactions
  • Prompt store sorting uses updatedAt instead of filename
  • TypeScript parameter properties desugared for --experimental-strip-types compatibility

Changed

  • Remote question result details use discriminated union type

2.3.6 - 2026-03-11

Fixed

  • Postinstall no longer triggers hidden sudo prompt on Linux — Playwright's --with-deps flag is no longer run automatically, preventing npm install -g from appearing to hang (#67)
  • Auto-commit dirty files before branch switch to prevent lost work during slice transitions

Changed

  • Updated README to reflect current commands, extensions, and step mode workflow

2.3.5 - 2026-03-11

Fixed

  • Voice extension: transcription no longer lost when pausing and resuming recording

2.3.4 - 2026-03-11

Added

  • CHANGELOG.md with curated history from v0.1.6 onwards
  • Project-local /publish-version command for npm releases
  • GitHub Sponsors funding configuration
  • npm publish and install smoke test

0.3.3 - 2026-03-11

Added

  • /gsd next step mode — walk through units one at a time with a wizard between each
  • /gsd bare command defaults to step mode
  • /exit command to kill the GSD process immediately
  • /clear as alias for /new (new session)
  • MCPorter extension for lazy on-demand MCP server integration
  • /voice extension for real-time speech-to-text
  • Pi global install scripts
  • Post-hook bookkeeping: auto-run doctor + rebuild STATE.md after each unit

Changed

  • Improved worktree merge, create, remove, and reload resilience
  • Discuss prompt rewritten with reflection step and depth enforcement

Fixed

  • Idle watchdog false-firing on active agents — tasks >10min no longer get incorrectly skipped (#52)
  • Browser screenshots constrained to 1568px max dimension (#56)
  • Pi extensions loaded from ~/.pi/agent/extensions/ (#51)

Removed

  • /gsd-run command (replaced by /gsd and /gsd next)

0.3.1 - 2026-03-11

Fixed

  • Windows VT input restored after child processes exit (#41)
  • Print/JSON mode in cli.js so subagents don't hang
  • Discuss prompt loop prevention
  • Managed tools bootstrap and gh auth
  • Session list scoped to current working directory
  • Bash/bg_shell hang and kill issues on Windows (#40)
  • /gsd-run hardcoded ~/.pi/ path (#38)
  • Windows backspace in masked input + custom browser path support (#36, #34)

Changed

  • Renamed "Get Stuff Done" to "Get Shit Done"

0.3.0 - 2026-03-11

Added

  • /worktree (/wt) — git worktree lifecycle management (#31)
  • /gsd migrate.planning to .gsd migration tool (#28)

Fixed

  • Skipped API keys now persist so wizard doesn't repeat on every launch (#27)
  • Scoped models restored from settings on new session startup (#22)
  • Startup fallback no longer overwrites user's default model with Sonnet (#29)

0.2.9 - 2026-03-11

Fixed

  • Idle recovery skips stuck units instead of silently stalling (#19)
  • pkg/package.json version synced with pi-coding-agent to prevent false update banner
  • Milestones with summary but no roadmap treated as complete (#13)

0.2.8 - 2026-03-11

Added

  • Mac-tools extension (macOS native automation)

0.2.6 - 2026-03-11

Fixed

  • Default model validated against full registry on every startup

0.2.5 - 2026-03-11

Fixed

  • Circular self-dependency removed, default model set to anthropic/claude-sonnet-4-6 with thinking off

0.2.4 - 2026-03-11

Added

  • Branded setup wizard UI with visual hierarchy, descriptions, and status feedback
  • Branded banner on first launch
  • Postinstall banner with version and next-step hint

Fixed

  • All .pi/ paths updated to .gsd/
  • Default model matching by id.includes('sonnet') for dated API IDs
  • Circular gsd-pi self-dependency removed
  • Pi SDK version check suppressed
  • Selected options stay lit when notes field is focused

0.1.6 - 2026-03-11

Added

  • GitHub extension tool suite with confirmation gate
  • Bundled skills: frontend-design, swiftui, debug-like-expert
  • Skills trigger table in system prompt
  • Resource loader syncs bundled skills to ~/.gsd/agent/skills/

Fixed

  • ~/.gsd/agent/ paths in prompt templates instead of ~/.pi/agent/ (#10)
  • Guard against re-injecting discuss prompt when session already in flight

Changed

  • License updated to MIT