Skip to content

v1.3.240

Choose a tag to compare

@topcheer topcheer released this 16 Sep 17:06
· 2101 commits to main since this release

ggcode v1.3.240

Highlights

  • Windows browser tool: from "possibly hangs entirely" to "works out of the box, even with zero install" — bounded the two unbounded waits in the browser action chain (the --version probe on a GUI-subsystem chrome.exe under AV/EDR hooks, and the fresh-profile startup handshake), and Edge is now a fallback browser when Chrome is absent (same Chromium engine, zero-install floor on Windows).
  • Task board survives restarts and /resume — the session task board (task_create/task_list/...) is snapshotted into session metadata and restored on resume and inherited by /branch, with ID-collision protection and corrupt-snapshot defense.
  • Undo now covers shell mutations — file changes made through run_command (sed -i, go fmt -w, codegen, patch) are checkpointed like editor edits, so undo_edit/revert cover them uniformly. Uncapturable states (oversized files, budget exhaustion) skip safely instead of restoring empty files.

Fixes and improvements

  • Agent self-correction after compaction: 15 quota-bearing guidance detectors (incl. the security-relevant taint-influence warnings) were permanently silenced after a mid-run compaction burned their injection quota; all registered, and the #1826 pin now blocks future unregistered detectors.
  • Lock-without-unlock detector: the headline case (guard-clause early return while holding a lock) was invisible whenever any same-receiver Unlock existed anywhere; now a sequential lock-flow simulation catches early-return holds and branch-end leaks with zero false positives on legitimate indirect releases.
  • FinOps heterogeneous-model guidance now uses the documented 10-call sliding window (was lifetime cumulative), so exploration-then-execution runs get their cost-downgrade hint.
  • Perf regression advisories carry run-shape diagnostics (top tools, sec/iter) so the agent can act on the feedback instead of just seeing "9.8x worse".
  • QQ panel: the create-echo now masks the appsecret field (11th and final panel of the #2178 family).
  • Disabled-state cache no longer races PersistEnabledState on the cache-miss path (write lock + double-check).
  • TokenCache uses per-writer scratch files - concurrent desktop/daemon/TUI saves no longer interleave into corrupted JSON.
  • subagent progress summaries truncate on rune boundaries (no more U+FFFD on CJK).
  • loadDisabledSet / flock contention: four copy-pasted retry loops consolidated into one bounded backoff helper.
  • import_lint marked DEAD with a resurrection checklist - stops blind improvements to unwired code.
  • Earlier in the window: llm-probe --model flag fix + MODEL column, im config platform validation, MCP disabled-state per-workspace scoping, desktop notification/approval lanes and share-restart guards, /stream feedback text, CI retry log prefixes.

Upgrade notes

  • Windows users who hit total browser timeouts should retry after upgrade; if Chrome is absent the tool now uses Edge automatically.
  • Task boards are per-session now: boards no longer leak across /resume boundaries (each session restores its own).

Compare