Releases
v1.3.218
Compare
Sorry, something went wrong.
No results found
ggcode v1.3.218
Highlights
See the changelog below for the user-facing updates included in this release.
Compare
Changelog
release: v1.3.218
fix(lanchat,config): #1015 lanchat key decoupled from a2a.auth.api_key
fix(tui): #1014 peer control chars shatter panel borders - sanitize at TUI boundary
fix(swarm,tui): #1012 tool_result carries Result; #1013 title summary takes captured tool count
fix(agent): #1011 dedup keeps latest LastSeen - drop dead-branch overwrite
fix(tui): #1010 questionnaire summary unanswered label is language-aware
fix(tui): #1009 signal clear-channel uses ClearChannelByAdapter
fix(agent): #1008 normalize ratchet rule category at AddRule boundary
fix(tool): #1006 blame parse panic on trailing empty line; #1007 python scaffold init .py literal newline
fix(tool): #1005 pidof reads stdout - package-filtered mobile logs worked never
fix(tool): #1003 macOS scroll converts steps to pixels instead of raw pixel amount
fix(tool): #1004 byte-exact fallback transforms recount under their own semantics
fix(tool): #1001 exit-type flags no longer warn as bare REPL; #1002 dep_graph module boundary requires slash
test(provider): #1000 align ZAI English window wording expectation with #528 behavior ruling
fix(provider): #1000 reuse Anthropic window-limit exclusion in user-facing error text
fix(plugin): #999 invert Alive back - Exited() true means the plugin process HAS exited
test(mcp): correct stale limitation comment per #998 final review
fix(mcp): #998 review follow-up - short roots also segment-match plain-lowercased name (SET_VALUE caught)
fix(mcp): #998 substring-check long denylist roots on plain-lowercased name for ALL-CAPS tools
fix(mcp): #997 camel-normalize tool names before segment match in read-only gate
fix(mcp): #996 read-only gate matches short denylist roots per segment, not substring
refactor(chat): extract ToolHeader phases - complexity 17 to 8
fix(chat): #995 error body bypassed tab expansion and CR normalization
fix(chat): expand tabs in tool body - 14-col measurement drift
fix(chat): CR leakage and width overflows desynced streaming tool render
fix(mcp): #994 register stdio waiter before write; nil-guard WS writes
fix(lsp): #993 evict dead sessions, install notification handler before handshake
fix(lsp): #992 workspace-root skip, call() TOCTOU, parseWorkspaceEdit dedup
fix(lanchat): #991 UDP gzip-bomb cap, unicast retry error propagation, ACK race, lock-scope persist
fix(lanchat): #990 store durability — O_APPEND append, atomic policy save, sessionID sanitization
fix(lanchat): #989 UDP transport keyed to hub APIKey, inbound gate mirrors HTTP auth
refactor(lanchat): #987 extract approval decision and receipt dispatch from HandleIncomingMessage
fix(lanchat): #987 dedicated ID indexes for @agent messages, cross-transport dedup, pending approval bounds
fix(lanchat): #988 outbound sends use configured API key, not community key
test(agent): add coarse-clock sleep guard to TestLLMTurnMetricsFirstDeltaWins
fix(lanchat): #986 community-key bypass, FromRole auto-approve, attachment MIME, usage-tracker history loss
test(agent): #983 integration test pins the real !memoHit put guard
fix(knight): #985 steps heading prefix match + propagate ActiveSkills error
fix(knight): #984 snapshot glob crosstalk, scenario log append safety, promote staging cleanup
fix(knight): #982 scope arbiter make-detection false positives
fix(agent): #983 memo cache prefix stacking + stream-error text loss
refactor(chat): extract sticky window phases from renderStreamingMarkdown
fix(config): #981 lock migration write path + field-level IM external merge
fix(mcp): #980 watcher checkAndReload pushes merged tombstone-filtered set
fix(chat): sticky block window - cache reuse was defeated per chunk
perf(chat): bound streaming render cost to a window, not document size
You can’t perform that action at this time.