release: v1.64.0.0 — fix wave CHANGELOG, VERSION, deferred-wave TODOs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan 2026-08-14 20:23:10 -07:00
parent 55c75d69f8
commit a7e96bb561
No known key found for this signature in database
GPG Key ID: C1F69E85C74EFE1D
3 changed files with 192 additions and 1 deletions

View File

@ -1,5 +1,163 @@
# Changelog
## [1.64.0.0] - 2026-08-14
**Ninety fixes in one wave. Every guard that said it was protecting you now actually does.**
This release is a fix wave built from a full audit of the tracker: every open
PR and every open issue, verified against main before anything landed. The
pattern that kept showing up was guards that failed open. The freeze and
careful hooks emitted a payload shape Claude Code ignores, so deny meant
allow. The redact pre-push hook had six separate paths that let a credential
through. The test suite exited green after running 4% of itself. All of that
is fixed, with a regression test or a static tripwire pinning each one shut.
The wave absorbs the best community fix for each defect, credited by name:
82 contributors are named in this release, several of whom independently
fixed the same bug within days of each other. That duplication is the
tracker telling us how many people hit the same wall.
### The numbers that matter
Source: `git log 1.63.0.0..HEAD` on this branch, plus the audit workflow
records referenced in the PR.
| Metric | Before | After |
|---|---|---|
| Free-suite files that actually run | ~16 of 434 (truncated, exit 0) | all 434, honest exit code |
| Guard hooks that can block (freeze/careful/team-init) | 0 of 3 | 3 of 3, fail closed |
| Native AskUserQuestion answers recorded | 14% | 100%, suffix-aware |
| /codex runs per macOS session before breaking | 1 | unlimited (mktemp fixed) |
| Issues closed by this release | — | 52 |
| Community PRs absorbed with credit | — | ~50 |
The suite number is the one to sit with. A delayed process.exit(0) in one
test file killed the whole run mid-flight with a green exit code — so every
other guarantee in CI was resting on a suite that could not fail. It can
fail now, a fault-injection test proves the failure propagates, and the
sharded runner treats a summary-less shard as failed.
### What this means for you
Skill enforcement (/freeze, /careful, team required-mode) actually blocks.
The redact guard scans big diffs instead of blocking them unscanned, and
quoted arguments can't hide an rm -rf from /careful. Auto-upgrade un-wedges
itself on installs with local patches. Memory ingest refuses to claim
success while importing nothing. Windows installs stop bricking .gstack
when your hostname matches your username, stop flashing console windows,
and the plan-tune hooks finally record your answers. Design image
generation works again. Update gstack and the wave is yours.
### Itemized changes
#### Fixed — enforcement guards
- /freeze deny and /careful ask decisions nest under hookSpecificOutput so
Claude Code honors them; team-init required mode blocks with exit 2 even
on schema drift. Contributed by @jawadakram20, @Masashi-Ono0611.
- /careful parses the tool payload with a real JSON parser (quoted
arguments no longer truncate the command), asks on IFS/base64
obfuscation, fails closed on unreadable input, and multi-line commands
cannot ride the safe-exception whitelist. Contributed by @wtamminga.
- The investigate scope lock resolves check-freeze via $HOME (the
CLAUDE_SKILL_DIR path never resolved at hook time). Reported with a fix
by @maxpetrusenkoagent.
- Specialist review agents run with run_in_background: false — required
since Claude Code 2.1.198 made background the default.
#### Fixed — credentials and redaction
- Pre-push scanning: line-aligned chunked scans for big diffs
(@luckywenapere), real push-base resolution instead of whole-repo blame
(@stormeoio), byte-exact stdin for chained hooks (@francis-eye),
--no-ext-diff/--no-textconv, hunk-aware header parsing, fail-closed ref
parsing (bypasses reported by @lubosxyz), GOCSPX + Telegram token
patterns (@francis-eye), UUID fixture false-positive suppression.
- pair-agent walks you through ngrok auth in YOUR terminal — the token
never enters the transcript.
- The extension denies token/port reads to content scripts and foreign
extensions, reimplemented for the v1.63 pinned-origin token model.
Contributed by @punksterlabs.
- diff 9.0.0 (GHSA-73rr-hh4g-fpgx, @genisis0x); OpenAI key file written
0600-at-create (@bunlongheng); injection-denylist and phone-pattern
false positives calibrated (@Masashi-Ono0611, @JonasFocus, @abkrim).
#### Fixed — test-suite integrity
- All eight delayed process.exit teardown bombs removed; static no-suicide
tripwire; fault-injection proof of exit-code propagation; the sharded
runner fails shards that exit 0 without bun's summary. Contributed by
@sneakygriff with repairs from @time-attack; also fixed by @whd4.
- design/test/ joins the free suite and the sharded runner (it never ran
anywhere before).
- The orphaned sidebar chat-queue suites are gone; live sidebar tests stay.
- Fork PRs skip eval jobs deterministically instead of red/green by Docker
cache luck. Contributed by @andrey-esipov.
#### Fixed — silent data loss
- memory-ingest imports gitignored staging (@gawievanblerk), reconciles
imported-vs-staged counts and refuses to advance state on shortfall
(@Charles-Grant), with a version-adaptive flag fallback.
- lib/ ships beside bin/ on every host install — learnings, decisions and
telemetry scripts work outside Claude Code. Contributed by @fedster99;
supabase/config.sh copy by @jizusun.
- Native AskUserQuestion answers parse correctly (object-map shape), the
(Recommended) suffix compares equal, and extraction failures no longer
poison followed_recommendation. Based on the working patch by @yijisoo;
suffix fix by @chuchu2781.
- The autoplan task aggregator returns real tasks (jq scope bug swallowed
by 2>/dev/null). Contributed by @kkroo.
- Auto-upgrade pulls with --autostash over locally-patched installs and
logs the real failure reason.
- gstack-slug resolves the project root by marker walk-up (@ajeenkya),
canonicalizes slash branches (@ShuratCode), and keeps cached identity
sticky so adding a remote never renames your project.
- Design image generation: the gpt-image-2 tool pairing that 400'd every
call is fixed (@Pablosinyores), with honest timeout reporting (@vryahn).
#### Fixed — Windows
- icacls grants by SID — hostname==username no longer bricks ~/.gstack
(@asizux2; independently fixed by @Icandi40, @chiragborse1, @IntegriGit,
@voltapix26).
- windowsHide forwarded through every spawn shim (@jerrynicholsai;
subsets by @jwilk-hrep, @rroojrooj, @WimvandenHeijkant); watchdog uses
signal-0 liveness with a reachable circuit breaker (@SYKhayyat); terminal
agents tie their lifetime to the owner PID (@csarigoz).
- All three plan-tune hooks spawn their bins through a shared
Windows-aware helper (@rafassousa); setup registers the SessionStart
hook with a bash prefix (@NikhileshNanduri); BROWSE_BIN gets its .exe
(@rroojrooj); the polyfill exposes an exited promise (@punksterlabs)
and the CJK terminal issues are gone (double-send fixed by
@mindsurf0176, full-width font cells by @tomfluff).
- New Windows regression tests run on windows-latest CI, not just as
static checks on macOS.
#### Fixed — /codex
- mktemp templates keep the X-run trailing — /codex works past the first
run on macOS (@ShuratCode and @noron12234; also @cathrynlavery).
- codex review receives explicit diff args instead of silently reviewing
the dirty tree (@fangearhq-boop), wrapped in timeouts so truncation
stops reading as no-findings (@aegixx).
- Review mode runs sandboxed read-only; the P0/P1/P2 gate fails closed on
empty, untagged, or non-zero output; model-entitlement 400s get
actionable guidance.
#### Fixed — everything else
- Artifacts Sync and telemetry-finalize un-deadened in 49 skills (quoted
tilde never expands — @jawadakram20). update_check:false now silences
the preamble prose too (@jc0d35). Codex hosts read AGENTS.md, not
CLAUDE.md (@exGeni). setup --help prints help (@saen-ai). Model overlays
for the current Claude generation (@chrisquorum). Plus ~20 more small
fixes credited in the git log: deploy-config URL parsing, artifacts-init
protocol handling, keychain auth detection, catalog description
truncation, tracked-file test counts, update-check crash sentinel,
Ubuntu 26.04 detection, CRLF-stable generation, telemetry error fields,
server-lock diagnostics, shell-quoted paths, benchmark arg validation,
and more.
#### For contributors
- The enumerate-first repair protocol used here (defuse, enumerate, repair
before removing) is documented in the PR; the audit records live in the
session workflow journals. Four follow-up waves are captured in TODOS.md
with full context.
## [1.63.0.0] - 2026-08-13
**Everything gstack sends off your machine now leaves a receipt you can read.**

View File

@ -2750,3 +2750,36 @@ rendering quirks"); or (c) move this test to periodic until (a)/(b) lands.
**Context:** `test/skill-e2e-plan-design-with-ui.test.ts`,
`test/helpers/claude-pty-runner.ts:308` (`isNumberedOptionListVisible`). Evidence:
`~/.gstack-dev/eval-runs/pdwu-verify-*.log`. **Effort:** M (human ~half day / CC ~30min).
### P2: Follow-up fix waves from the 2026-08-14 tracker audit (v1.64.0.0)
The full-tracker audit behind v1.64.0.0 verified every open PR/issue against
main and consciously deferred four coherent fix waves. Audit records:
`~/.gstack/projects/garrytan-gstack/` eng-review artifacts + the v1.64 PR body.
**Wave A — browse-daemon lifecycle.** Watchdog kills headed handoff sessions
(PRs 2565/2405/2346), macOS headed launch broken by the rebrand-invalidated
Chromium signature + XProtect (issues 2554/2242/2138/1829/1379 — the three
darwin-skipped handoff tests in browse/test/handoff.test.ts un-skip when this
lands), busy-daemon kill (2219/2231), cosmetic SIGTERM ignore (2220),
Playwright pin bump (PR 1761, #1703 — rebuilds the CI browser image).
Start with the signature/re-sign question; everything else is small.
**Wave B — install integrity.** connect-chrome alias shadowing (PR 2202,
issues 2201/2511), Playwright bootstrap aborts/timeouts (PRs 2233/2359,
issues 1902/2136), --host cursor/slate wiring (PRs 2547/2432, issue 2361),
review checklist/specialists never copied (issues 2317/2518), Windows re-run
refresh (#2444). Blast radius is `setup` — one focused PR.
**Wave C — gbrain trust boundary.** Transcript trust/scope/source isolation
(PR 2232, issue 2140), brain-sync queue truncation (#2549), worktree source
pins (PR 2417, #2516), thin-client detection gaps (#2520/#2456), plus small
absorbs (2371/2360/2406/2369/2368/2321). Needs never-double-store review.
**Wave D — ship/version allocator.** Queue-down fallback (PRs 2545/2546),
npm-invalid subdir manifest versions (PR 2531), versionless repos
(2343/2334/2501, #1474), diff-scope specialist routing rewrite
(#2526/#2299/#2455), /review token runaway (#2519).
**Depends on:** v1.64.0.0 landing. Each wave is one bundled PR per the
fix-wave pattern.

View File

@ -1 +1 @@
1.63.0.0
1.64.0.0