Skip to content

v1.3.227

Choose a tag to compare

@topcheer topcheer released this 30 Aug 13:54
· 461 commits to main since this release

ggcode v1.3.227

Highlights

  • See the changelog below for the user-facing updates included in this release.

Compare

Changelog

  • release: v1.3.227
  • docs(relay): lock #1347 invariants against future auto-optimization (#1347)
  • test(relay): drain-aware replay truncation regression tests (#1347)
  • fix(relay): drain-aware resume replay + 2048 send buffer - end slow-client starvation loop (#1347)
  • fix(mobile): keep connected status when same-session background service is live (#1344 residual)
  • fix(task): reject cross-array dependency cycle up front + rune-count subject gate (#1345, #1346)
  • fix(mobile): arm resume cursor before first connect + gate cursor-less reconnect flush (#1344)
  • fix(tool): swarm_task_claim refuses tasks assigned to another teammate (#1343)
  • fix(tool): skill bundle cumulative size cap + Close error capture + find/head anchoring (#1341, #1342)
  • fix(stream,session): stale-monitor cmd check + fail-safe migrate lock (#1339, #1340)
  • build(util): platform-split FileLock tags (#1337 follow-up, hygiene)
  • test(provider): cover gemini pagination page-2 failure (#1338 follow-up)
  • fix(provider): check HTTP status on gemini pagination pages 2+ (#1338)
  • test(tool): cover sandbox re-check after parent-dir swap (#1311 follow-up)
  • fix(cron,provider): cross-process lock around shared-file read-merge-write (#1337)
  • fix(config): return error when refreshed OAuth token cannot persist (#1336)
  • test(tool): adapt cron tool tests to randomized job IDs (#1308 follow-up)
  • fix(permission): fail closed on unresolvable allowedDirs; re-check after MkdirAll (#1311)
  • fix(acp): Windows process-tree management for ACP agents (#1298)
  • fix(restart): cmd.exe-compatible escaping for Windows restart args (#1310)
  • fix(session): store Windows lock holder PID outside the locked byte (#1305)
  • test(cron): pin cross-process merge semantics + unique job IDs (#1308 follow-up)
  • fix(provider): make shared disk caches multi-process safe (#1309)
  • fix(cron): merge foreign jobs on save instead of blind full rewrite (#1308)
  • test(stream): cover target ffmpeg exit monitor with fake binary (#1304 follow-up)
  • fix(session): stop silent data loss in append torn-tail and prune paths (#1307)
  • fix(stream): reap target-side ffmpeg and close stdin on failed Start (#1304)
  • fix(security): align display redaction list with detection layer (#1306)
  • test(provider): cover promptFeedback block in Gemini policy test (#1301 follow-up)
  • fix(im): drain daemon_bridge subscriber outside the event lock (#1303)
  • fix(provider): handle Gemini promptFeedback.blockReason (#1301)
  • fix(config): stop swallowing Claude OAuth save errors and expired fallback (#1300)
  • fix(im): redact secrets on ask_user interactive/fallback and user-echo paths (#1333)
  • fix(im): redact secrets in outbound IM text at the EmitEvent choke point (#1299)
  • fix(im): lock EvalMetrics against concurrent HTTP/event access (#1302)
  • fix(task): correct swapped wouldCreateCycle args + apply-phase recheck (#1297)
  • fix(test): exercise real write-phase rollback in atomic test (#1331 follow-up)
  • test(tool): pin rollback output consistency in atomic multi_file_write (#1331 follow-up)
  • fix(tool): surface multi_file_write atomic rollback failures (#1331)
  • fix(tool): render Info diagnostics in post-edit fallback path (#1332)
  • fix(tool): deterministic order + overlap rejection in applyTextEdits (#1328)
  • fix(tool): shell-escape adb typeText on the device side (#1330)
  • fix(tool): correct iOS scaleForDevice runCommand receive order (#1329)
  • chore(tool): drop duplicated test comment block (#1327 follow-up)
  • fix(tool): guard knowledge_graph node Type on partial update (#1327)
  • fix(tool): AppleScript-escape shell-quoted working dirs (#1326)
  • fix(tool): reject option-like git_revert commit values (#1325)
  • test(tool): pin file guard dir-prefix match for paths outside working dir (#1322 follow-up)
  • fix(tool): file guard dir-component match also checks slashPath on Windows (#1322)
  • fix(tool): break symlink cycles in cross-device copy fallback (#1323)
  • fix(tool): shell-quote ghostty new_tab/new_window working_dir (#1324)
  • fix(tool): file guard judges symlink-resolved write destination (#1322)
  • fix(tool): read AXValue into darwin accessibility label matching (#1321)
  • fix(tool): sanitize debug_log export filename against path traversal (#1320)
  • fix(tool): cap retained finished command jobs at 20 (#1318)
  • fix(tool): commit partition keeps deleted files and stops counter leak (#1319)