Skip to content

v1.3.271

Latest

Choose a tag to compare

@topcheer topcheer released this 31 Oct 23:26
· 152 commits to main since this release

ggcode v1.3.271

Highlights

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

Compare

Changelog

  • release: v1.3.271
  • feat(agent): flag forged pause-style pseudo-directives in any tool-call argument slot (#4776)
  • fix(tool): bounded stdin writes + stop_command honors its documented error contract (#4431)
  • fix(session): creation-window registry gets its own lock - lock-free repair raced Save (#4824 follow-up, #4829)
  • [deps-major] google_fonts: v8 -> v9 (unlock via Dart SDK >=3.13.0)
  • fix(agent): intent rule view keeps universal rules in the mix (#4512)
  • fix(tool): validate named-agent tool allowlist against the session registry at spawn (#4775)
  • [deps-major] jsdom: v29 -> v30
  • deps: weekly bump - Go root incrementals + desktop frontend npm minors
  • fix(session): empty-session pruners respect the in-process creation window (#4822)
  • refactor(tui): extract injectRemoteImageAttachments from handleRemoteInbound (#4818 follow-up)
  • fix(tui): remote IM image attachments ride the pending-image pipeline instead of a text placeholder (#4818)
  • fix(tool): combined-diff single-plus lines strip both prefix columns so ^-anchored conflict markers match (#4801)
  • test(agent): make TestCheckCrashedRun_DetectsCrash PID-fate-independent (#4816)
  • test(agent): make TestIssue3684_RealRunningStillDetected PID-fate-independent (#4816)
  • fix(im,tool): slack uploadFile gains 429 rate-limit retry; os artifact lookup goes case-insensitive (#4811, #4813)
  • test(tool): decouple issue-3114 GC test from t.TempDir cleanup race
  • fix(session): EnsureMeta failure-path cleanup now holds the session flock (#4538)
  • docs(guide): document origin-based queue drain for shell mode and @agent delivery
  • fix(tool): lanchat broadcast timeout is UNKNOWN, and per-recipient outcomes are surfaced (#4774)
  • fix(tui): never execute queued remote/cron submissions as shell commands (#4812)
  • fix(tool): code-index timeout truncation routes the current file into the overflow tail (#4801)
  • fix(tool): command_gate here-string stays live + tilde home-wipe anchors (#4430 bugs 1-2)
  • test(tool): behavioral companion for mixed-list wildcard broadcast (#4553 C follow-up)
  • fix(tool): three silent parameter mismatches - macro args shape, kitty size range, mixed-list broadcast (#4553)
  • build(android): bump Gradle wrapper 8.13.0 -> 8.14.3 for Flutter 3.47.9
  • fix(session): mixed-format checkpoints - latest checkpoint wins in both directions (#4591, #4536)
  • fix(session,tui): usage writes and meta serialization now share the store lock (#4717)
  • fix(im,cmd): matrix edit-of-reply strips the fallback prefix, pairing ack errors surface, plain skips the redacted sentinel (#4756)
  • [deps-major] flutter_webrtc: 0.12.0 -> 1.6.3
  • [deps-major] flutter_secure_storage: 10.0.0-beta.1 -> 11.2.0
  • [deps-major] animations: v2 -> v3
  • fix(agent): WT invalidation command channel covers bash/powershell (#4583)
  • [deps-major] typescript: v6 -> v7 (Go-native compiler)
  • [deps-major] mermaid: v11 -> v12
  • [deps-major] vitest: v4 -> v5
  • fix(cmd): wire the plain frontend's dead i18n catalog keys and fix the add-endpoint switch hint (#4752)
  • fix(im,tool): Slack unbound-channel reply spam + file_ops EXDEV stale read-key (#4608, #4602)
  • test(tool): stop synthesizing a real keystroke "3" from the #4054 darwin test
  • fix(tool): list_memory as_of temporal read no longer gated by current key existence (#4710)
  • fix(agent): foresight calibration records uncertainty predictions and stops stale EXPECT swallowing (#4747)
  • fix(tool): code index budget truncation records the whole unprocessed tail (#4735)
  • feat(agent): delegate the parent's user constraints into sub-agent tasks
  • fix(tool): knowledge_graph bi-temporal gaps - closed-interval overlap rejection + per-relation trace dedup (#4708)
  • fix(tui,agent): nil guards un-wedge main CI (#4736)
  • fix(tui,agent): nil guards un-wedge main CI (#4736)
  • docs(providers): document timeout/retry semantics - in-place default and request_timeout fail-fast (#4729)
  • fix(provider): retry connection timeouts in place with per-attempt deadlines (#4729)
  • ci(store): auto-submit to Store on every release tag
  • ci(store): automate Store submission via Submission API
  • fix(store): PublisherDisplayName must match Partner Center account name (GuangGuang AI Studio)
  • fix(store): switch makeappx to directory pack /d (mapping quoting fragile)
  • fix(store): drop AppxManifest.xml from makeappx mapping (conflicts with /m)
  • fix(store): BackgroundColor must be lowercase 'transparent' per AppxManifest schema
  • fix(ci): replace unsupported split() expression with fixed x64/arm64 matrix
  • fix(tool): adapt LandlockRulesetAttr field rename in x/sys >= v0.48
  • fix(session): mergeMaintainedIndex emits each index row at most once (#4668 CI follow-up)
  • chore(deps): mobile flutter pub upgrade (46 deps, lock-only minor)
  • fix(session): maintenance must respect per-session flock and cross-process deletes (#4668)
  • chore(deps): bump echo-plugin testdata module deps swept by go get -u
  • test(tool): fix params-suffix assertion in zz_issue4703 (#4703)
  • chore(deps): upgrade CLI + desktop dependencies, migrate browser tool to chromedp v0.21
  • fix(tui,agent): nil guards un-wedge main CI (#4736)
  • test(config): defect-B oracle via vendors.yaml-as-directory rename failure
  • fix(tool): code index loadDiskCache publishes budgetExcluded under the manager lock (#4735)
  • test(config): defect-B oracle via unit layer (read-only dir) + Save-wiring pin
  • release: v1.3.270
  • fix(agent): refusal-ledger remote inhibit marker moves to the Agent instance (#4726)
  • test(config): resolve vendors.yaml via VendorsPath instead of a HOME walk
  • fix(tui): history search appends real text, not keystroke names (#4731)
  • fix(tool): ghostty linux new_tab/new_window honor working_dir - cd-only contract parity (#4703)
  • test(config): force a non-default vendor so the #4697 baseline deterministically writes vendors.yaml
  • fix(config,im): Save aborts on real read errors and surfaces external-section failures + ctx-aware key retry (#4697, #4698)
  • fix(tui): feishu auto-enable bind path surfaces the added_bot confirmation (#4724)
  • fix(desktop): show plan inclusion for subscription sessions instead of estimated cost (#4727)
  • fix(tui): /context provenance covers the guard's six missing channels (#4720)
  • fix(store): switch makeappx to directory pack /d (mapping quoting fragile)
  • fix(store): drop AppxManifest.xml from makeappx mapping (conflicts with /m)
  • fix(store): BackgroundColor must be lowercase 'transparent' per AppxManifest schema
  • fix(ci): replace unsupported split() expression with fixed x64/arm64 matrix
  • docs(guide): multi-agent-modes wait_agent provenance header note
  • docs(design): record the fourth input channel - delegation provenance
  • feat(subagent): provenance header at the delegation boundary
  • fix(audit): field-tagged attribution hashing stops slot-sliding collisions (#4707)
  • fix(tool): expand wildcard prefixes in ** glob patterns (#4705)
  • fix(tool): quoted diff paths flow through every header consumer (#4686, #4683)
  • fix(config): preserve legacy vendor key when target endpoint has its own (#4678)
  • fix(memory): forget-mark lifecycle double gap - revival race in GC prune + ghost marks from unlocked stat (#4658)
  • fix(agent): editPropagation/fileChurn gate excludes spawn (#4660)
  • fix(agent): four foresight_calibrate defects - empty-prediction polarity, warning gating, stale fallback, rune-safe snippet (#4625)
  • feat(plain): ! shell passthrough on the linear REPL
  • fix(agent): goal finish gate - leaf check + warn-only latch (#4626)
  • fix(subagent): Wait applies real post-signal grace for Cancel-then-Complete backfill (#4358)
  • test(commands): pin error_code contract in browser-automation skill needle
  • feat(tool): typed browser failure channel with error_code + retry hint (sa-136)