Releases
v0.80.0
Compare
Sorry, something went wrong.
No results found
0.80.0 (2026-10-29)
Features
acp: forward per-turn token usage on the session/prompt result (#165 ) (cc8124a )
adapt to ZCode 3.15.1 (guarded mode, dynamicWorkflowMode pass-through) (364bfb4 )
add /quota slash command for GLM Coding Plan usage display (#10 ) (afd8f80 )
add 60%, 95% and 98% quota push tiers (967d8b7 )
add API-key fallback source for Opencode Go usage (cookie stays preferred) (5f57c34 )
add auto-compact push and a 30s user-presence quiet window (#275 ) (5a9c457 )
add configOptions, runtimeModel overlay, model cache, and set_config_option (b17f898 )
add elicitation form path, deferred available-commands, and English docs (542d585 )
add event translators and dispatch with full turn loop (831a25c )
add heat-colored progress bars with in-bar overlay to zcode-quota (#40 ) (a5cb8a1 )
add input hint to skills with argument-hint frontmatter (#19 ) (3b15e2f )
add interaction channel with requestPermission, ExitPlanMode, and AskUserQuestion multi-select (2652e42 )
add lastMessageId to replayMeta for client-side reconciliation (#303 ) (3e7a576 )
add Ollama Cloud quota card with dual-plan support and unified quota credentials in user config (2c9a076 )
add platform usage stats endpoint for the mobile app usage page (#288 ) (75d5208 )
add private terminal coding plan account setup (#316 ) (166b9ac )
add remote.projectRoots widening and GET /api/fs/list for browse-and-create (#307 ) (066bb36 )
add session lifecycle handlers and wire backend into ACP server (9074f88 )
add standalone zcode-quota CLI with watch mode (#13 ) (a371f51 )
add tasks-index sync, session title dedup, and graceful shutdown (e0bd2c1 )
add the CLIProxyAPI quota card and converge quota reads on the hub cache (8f232e3 )
add workflow run settings amendment route for app parity (#265 ) (627c76c )
add zcode backend client with subprocess, reader-loop routing, and event listener (af6f54b )
add ZCode session extensions and slash command interception (bb506bf )
adopt backend session titles and extend the busy window for background notification turns (2cc671e )
advertise authMethods for ACP registry compatibility (#8 ) (453ee8d )
align with the open-sourced ZCode backend (compact outcomes, /compact focus, 0.16.9 lock wording) (#220 ) (2527f53 )
allow opting out of successful completion status messages (#313 ) (690172a )
auto-compact context when token usage exceeds ENV threshold (#17 ) (2408a9a )
badge background Bash tasks by reusing the launch card (#23 ) (69b0c54 )
bilingual user strings with ZCODE_ACP_LANG and app locale inheritance (0.16.0) (#89 ) (930a6f2 )
bounded resend for one-shot gateway failures + graceful exhaustion degrade (8a63196 )
bridge-driven auto loop behind /auto with boundary compaction (ADR-0022) (b4dde43 )
bridge-side workflow run dismissal with hide-list filtering (11af5f3 )
bundle zcode-acp-martty 0.3.1-zcode.1 (upstream 0.3.1 sync) (f8651f2 )
carry turn usage and wall time on the turnState end notification (bfa3a25 )
choose the initial session mode with ZCODE_ACP_MODE (#189 ) (a1aa2e0 )
cli: replace in-house REPL with Martty as the TUI frontend (ADR-0020) (#133 ) (67553be )
collapsed context handoff summaries in replay (0.4.0) (#53 ) (b7a1b46 )
config: maintain all user preferences in the config file (6bfb1b2 )
derive Ollama Cloud quota from the 2026-10 spend analytics API (730a0bc )
dl=1 flag serves file downloads as attachment (#74 ) (056a695 )
drain-gate fast path, subagent status lines, turn stats, mcp health panel (#221 ) (6540ab7 )
drop the TPS dock segment and show Ollama Cloud quota with derived reset times (83e7bcb )
edit provider endpoints, probe model connectivity and expose agent advanced fields from the settings API (753c824 )
expand a leading ~ in remote.webDir to the home dir (139ea9b )
expose turn state via replayMeta.turnActive and $zcode/turnState (d5d866f )
expose ZCode skill/init/plugin commands and friendly-error TUI-only commands (#18 ) (0fde59a )
full dynamic-workflow support with desktop-host-aligned remote gate (#261 ) (6412d0d )
gate verbose logs behind ZCODE_ACP_DEBUG (quiet by default) (#6 ) (ace1353 )
handlers: /resume slash command adopts a past session into an empty editor thread (a24084c )
header-based desktop presence, headless resume, messageId on replayed cards, force close stops running turns (cfcbc5d )
honor ZCODE_HOME for the config and lazy-session store paths (#187 ) (0593488 )
HTTP quota and session-status endpoints for remote clients (#59 ) (8b113bf )
hub close tombstone with auto/user resume intent and orderly serve self-exit (83f9903 )
hub Desktop Presence — a connected desktop client incubates new sessions headless (ADR-0016 amendment) (5a310bd )
hub Desktop Presence — recent-request presence tier and live-bridge reuse (ADR-0033 amendment) (ee659f4 )
hub self-decided upgrade check via POST /api/upgrade (#73 ) (6b613a4 )
implement Bash terminal protocol with 2-notification split and differ sync (5a133a0 )
interactive Ink REPL as bare zcode-acp default (ADR-0007) (#76 ) (d60d077 )
interactive REPL for bare zcode-acp (native-scrollback Ink UI) (fcb755e )
name byte-path file downloads via Content-Disposition (#72 ) (85d8c42 )
name the terminal tab "project · topic" for martty-hosted TUI windows (300aa9c )
notify serve-origin clients on remote session close (387a2c4 )
one-shot session titles with remote rename endpoint (#75 ) (cc406de )
opt-in macOS Seatbelt sandbox confining agent writes (ADR-0011) (#88 ) (36cab40 )
pass dragged images to backend as session/send attachments (#26 ) (30e9abe )
pass ZCODE_DISALLOWED_TOOLS to the app-server as --disallowed-tools (#190 ) (85ecb4f )
pin the provider and model with ZCODE_PROVIDER and ZCODE_MODEL (#188 ) (6aa8999 )
prefer bun >=1.4 (--smol) for bridge and hub processes with node fallback (#143 ) (4f33d34 )
preserve embedded prompt resources and attachment bytes (#315 ) (44e0c23 )
push quota threshold warnings over WeCom (9a68bd9 )
push workflow stage digests over WeCom (9367454 ), closes #294
quit the REPL on bare exit/quit/q without slash (#100 ) (a93987c )
quota: add Opencode Go monthly window and reset times to the TUI quota dock (d322fca )
re-send undecided interaction requests to reconnected remote clients (#64 ) (7342c68 )
recover auto-mode turns from backend-lost failures (respawn + reload + retry) (e9ca946 )
remote access for mobile clients via zcode-acp-hub (#49 ) (59c5bbb )
remote file access, running-scoped discovery, replay collapse, release 0.7.0 (#56 ) (c0cea08 )
remote session close, release 0.9.0 (#61 ) (f1f8b7c )
remote session-create via known projects and headless serve bridges (ADR-0014) (#92 ) (6956442 )
remote: hub staleness detection via dist content fingerprint with automatic upgrade pokes (#157 ) (7e592d5 )
remote: launch Ghostty TUI via AppleScript new tab, bypassing its -e confirm gate (229da20 )
remote: name the resumed TUI tab after the conversation (#137 ) (eaa0e5a )
remote: ordered terminal preference list with chained fallback (#161 ) (04fbf42 )
remote: per-project session history and terminal-REPL session-create (ADR-0015, ADR-0016) (#111 ) (95bd694 )
remote: real session close (backend eviction) and instance shutdown route (5e457a0 )
remote: show phone-created empty sessions in the active list while their CLI bridge lives (9d19d3e )
remote: show resumed history immediately in the booting TUI (#135 ) (52592e9 )
remote: terminal-REPL session-resume and executing-session listing exclusion (ADR-0017) (#116 ) (f9440eb )
remote: terminate serve-origin CLI on last close and list skill commands per client (#159 ) (a728a5c )
REPL attaches to live sessions through the hub; fix plan-approval and replay visibility in the CLI (#119 ) (cbd6a7a )
REPL prompt history, paste newline folding, and /new session swap (#84 ) (4a408f0 )
revamp elicitation forms for free-text input (#30 ) (4b3b15e )
revive soft-deleted projects when reopened from CLI or editor (#285 ) (8f44790 )
route WeCom push through an optional static-IP relay (3ca2e77 )
run-session aliases on journal rows, session workflowActivity and list-change broadcast (ca67c92 )
scaffold zcode-acp-server with stdio ACP wiring and initialize handler (501a71f )
serve machine system stats from the hub (/api/system-stats) (f7e610d )
serve machine-level workflow overview from the hub (36c44a4 )
serve recently finished runs from the workflow overview (3d5e226 )
serve the web client same-origin from the hub via remote.webDir (9fb2e01 )
session-scoped always-allow for workflow approvals, run stop route and faster permission push watchdog (f1fe33a )
settings API for ZCode configuration management (#238 ) (3f6ef1b )
show CLIProxy quota as pool-wide 5h/week aggregates (e0a06b9 )
show tool input details in permission popups and route plan approval through elicitation forms (c7cb6c3 )
support custom model providers and fix model switching for new backend (#27 ) (1b941c8 )
sync sub-agent and background task events to ACP client (#21 ) (b18487e )
tui: condense replayed tool records to the most recent turns in the CLI resume replay (0ee1064 )
tui: resident quota dock + project-bound terminal incubation (#139 ) (f086c51 )
wait out quota exhaustion and continue automatically (#297 ) (6b18ebf )
workflow-gate switch, unanswered-ask push, and project/session soft delete (#277 ) (3f542de )
Bug Fixes
abort AskUserQuestion popup loop on turn cancel or timeout (#22 ) (2d2aee1 )
acp: per-kind replay dedup so GLM thinking reaches the client (#167 ) (b145029 )
advertise new sessions at first turn start, not after it completes (#57 ) (7e6b0d7 )
advertise the configured initial mode for pending sessions (84b9687 )
align permission replies, turn terminals, model lists and backend layout with 0.16.9 (#234 ) (4f8b41f )
allow pty allocation under the Seatbelt sandbox and surface EPERM denials (#130 ) (aab355b )
allowlist the hub relaunch plist env and write it 0600 (#309 ) (2a7f2b4 )
always replay the current todo list on session/load (#71 ) (d998268 )
answer a refused settings write with 400 instead of the retry-forever 504 (#240 ) (774bdcc )
answer provider runtime headers at arrival so compact turns survive (45a7f01 )
answer provider runtime headers with the coding-plan API key so GLM turns run (ce3bdec )
architecture review quick wins (settle-once, hub, config lookup, turn-idle grace) (#66 ) (6a3e81f )
attach dummy exit listeners before the shutdown kill to close a linux race (5ae87ac )
attribute internal turns by turnId, filter unusable providers, shorten terminal fallback (#163 ) (1ee5163 )
bound stale running turn recovery (rebased) (#85 ) (4179870 )
bound turn-internal history reads and harden the settle watermark (9f5a76c )
broadcast extension settings switches to every attached client (e005045 )
broadcast turn lifecycle state so attach-only clients clear running and flush queued prompts (ceb6d7f )
cancel session and binary drag-drop (#39 ) (a8ab2e3 )
cancel-then-send hang, turn contamination, abort storm, and thought-level root cause (#48 ) (561f4f5 )
carry the backend assistantMessageId onto streamed text and reasoning chunks (#186 ) (d346fcf )
carry the TUI stats dock filter into hub-incubated windows (#227 ) (d10e521 )
carry ZCODE_DISALLOWED_TOOLS as toolDenylist on session create/resume (#340 ) (e4462f1 )
compact/goal lock-wait unit bug + backend stdin error handling (#4 ) (44d685e )
create tool cards when scheduled events are missing (#82 ) (a6420bd )
decline Start Plan provider runtime headers with a clear reason (#128 ) (f7d6253 )
dedupe quota threshold pushes across hub and bridge processes (0a624b2 )
default-allow well-known system temp trees in the sandbox (#105 ) (161de73 )
derive the account-to-config provider id mapping without the bundled table (2b2fc7b )
derive the pending-session current model from the enabled provider (#47 ) (2e364dd )
disable Happy Eyeballs for the zcode launch so slow-edge networks connect (#182 ) (2d1496f )
disallow unservable Cron tools by default and record in-flight background tasks on shutdown (#192 , #194 ) (444d13f )
disambiguate colliding builtin model ids in configOptions (#175 ) (c1bb059 )
dispatch: keep the turn success status line off editor clients by default (#319 ) (ce1410e )
dual-emit turnState under the ACP-reserved _zcode name (#311 ) (9b86e51 )
effort picker shows the switched model's levels (zcode-acp-martty 0.2.39-zcode.6) (bff817e )
emit turnState running:false on boot-resume trigger and early returns (#249 ) (a22d206 )
empty locale preference, BOM settings, zh-machine test pins (0.16.2) (#91 ) (36570c6 )
flatten todoGroups list and make interaction requests cancel-aware (0582d87 )
forward ACP session mcpServers to the backend's session create/resume (#43 ) (767224c )
forward authoritative progress during silent turns (#110 ) (4ceff1e )
gate plan-approval elicitation form to martty so editors keep markdown popups (0542935 )
gate the guarded create-fallback on the mode actually sent (bf730c3 )
give remotely-spawned processes the login shell's environment and the project cwd (#242 ) (2f645c4 )
goals: route /goal through the bridge-driven loop so clients see goal progress (#181 ) (357b1e0 )
guard compaction turns from stops and scope the runtime-headers responder (7ec703b )
guard replay reads against mid-hydration prefixes across backend respawns (#301 ) (a09fd43 )
handlers: never TTL-prune materialized lazy aliases; distinct evicted-session error (#150 ) (21b0b29 )
handlers: session-scoped /resume elicitation and atomic lazy-alias store (#148 ) (a45d82b )
harden compaction stop guard and dead-reader settle from cross review (34e9da1 )
harden slash-command push and tasks-index sync against transient failures (#25 ) (7339fad )
harden the last two days of changes (review follow-ups) (#253 ) (05e8028 )
heartbeat-probe session availability, release 0.5.1 (#55 ) (a04e360 )
hide archived-only projects, label interaction pushes, follow plan mode (#281 ) (9f66a24 )
hold prompts during auto-compact instead of rejecting them (#244 ) (c5cbac1 )
hold replay batch guard across the history fetch so live turns queue behind replay (0bf6790 )
hold sandbox allow asks through the interaction funnel instead of a 120s timeout (ff4567d )
hub: self-relaunch outside the sandbox via launchd when born wrapped (#114 ) (eac374f )
i18n cross-review follow-ups (startup crash, cache bust, coverage gaps) (0.16.1) (#90 ) (13f37da )
implement authenticate and read manual coding-plan keys from provider_config (#344 ) (4a88f58 )
inject both provider-config env vars so the 3.12+ CLI uses the bundled table verbatim (b0ecb89 ), closes #202
inject ZCODE_BUILTIN_PROVIDER_CONFIG_FILE for bundled CLI launches (8293b7c )
isolate stalled client sends in broadcast so one dead link cannot silence others (b76fd3f )
keep active tools alive past stale freeze (#122 ) (5a5d201 )
keep an auto session/load from resurrecting a remotely closed session (7e8ab77 )
keep the hub heartbeat off the discovery refresh and name instances in rejection logs (6e26ace )
keep the tail of long paths in permission popup titles (7be5350 )
key stall termination on read watermark, not prompt lock (0.14.3) (#86 ) (ca7a739 )
make Ghostty TUI tabs auto-close on exit and start in the project directory (#283 ) (821c401 )
make session file roots backend-authoritative, never trust client cwd (#70 ) (d42485c )
make the cliproxy quota card work against real antigravity accounts (32f3014 )
make the sandbox allow loop own turn pacing (freeze, hold, unattended timeout) (71c6e6d )
mcp: advertise http MCP support so clients mount http servers (c7949ec ), closes #180
merge desktop provider_config.json models into the dropdown (7a24f36 )
mode UI update on slash command and prompt-lock leak on stop (32b5a34 )
name the bridge plan's model in App task rows (#343 ) (0a0913d )
normalize account/builtin provider spellings in the resume model repair (#270 ) (e6ea04f )
normalize permission option kind and recognize all allow optionIds (#5 ) (5f178a6 )
ollama monthly percent uses billing-period spend, not rolling 30d (7f8725a )
persist remote-close retirement so a respawned serve bridge cannot resurrect a closed session (19530c2 )
pin the zcode dns lookup to ipv4first so localhost ipv4 providers connect (522cd89 )
plan todos re-check after async backend write, release 0.11.2 (#68 ) (449e59d )
pollEvent zombie waiter, async close reap, turn cancel reference, differ.diff at completion, Edit/Write diff dispatch, stable signatures (dc2e1b3 )
preempt in-flight turn when a new prompt arrives without cancel (#2 ) (ecf30a4 )
prefer the configured model context window over the backend's placeholder in usage_update (41d719a )
preserve provider bootstrap paths without a personal table (#314 ) (89e54da )
preserve structured quota failures over acp (#78 ) (e053b97 )
push the account provider snapshot and use the 3.12+ setModel shape so coding-plan models switch (80ad523 )
push TODO list updates on tool completion instead of waiting (#20 ) (4c068b7 )
quota: migrate opencode go to the console status API (5b4966b )
raise remote endpoint test timeouts to survive parallel-suite load (0079694 )
re-assert remembered model choice after resume to stop silent reverts (#223 ) (87f6189 )
re-send client mcpServers on every backend session load (#193 ) (90ccc13 )
re-settle hydration on capped resumes and mark load_earlier pages (52914c3 )
read turnId from the event envelope so turn attribution works on 0.16.9 (#232 ) (d4dcc3f )
reannounce sendReply, stdin/backend shutdown triggers, thought metadata, config response, usage fallback (c65560c )
reconcile session mode immediately for PlanMode (#32 ) (7182764 )
recover model switches from stale reasoning-level sources with a level ladder (c8ec1ec )
recover sandbox continuation cold starts and stream REPL tool output (#98 ) (82b92c5 )
refuse workflow routes under an explicit disabled gate override (#279 ) (92cd6f3 )
registry: skip providers with zero models in provider registry (#102 ) (25fa4f4 )
reject prompts during auto-compact instead of queuing behind the lock (81fed9e )
remember slash model switches, target /resume replay, arbitrate choices across aliases (#230 ) (3fc37ab )
remote session discovery gating and empty replay on remote open (0.3.1) (#51 ) (fecc9fc )
remote: bind create TUI to the shared session; quota dock fixes (#145 ) (a613384 )
remote: keep Ghostty tab incubation alive on a locked screen (28bb8f7 )
remote: session-create always incubates a visible terminal REPL (ADR-0016 amendment) (#124 ) (8f8ff61 )
remote: tear the whole TUI tree down on instance shutdown (f776da0 )
replay prose-less tool messages id-less so adjacent calls coalesce after resume (c445979 )
replay targeting + model-choice hardening (#225 ) (f7628eb )
replay tool cards under the store's real callId so live updates can patch them (f213c15 )
report cache-exclusive inputTokens in turn usage for correct cache hit rate (056574a )
report context occupancy only in usage_update, never cumulative tokens (#257 ) (11c3688 ), closes #228
report the auto-compact window as busy so held prompts stay visible (#247 ) (cb496f7 )
report the manual /compact window as busy so prompts queue instead of erroring (#255 ) (58fbbe5 )
require sustained probe failure before pruning a hub instance (ea918c5 )
restore headless entitlement on fresh desktop-only installs (#320 ) (3204197 )
resume deleted sessions honestly and reload store-recovered sessions before first use (ddafa66 )
resume initial usage, elicit toolCallId/skip, interaction timeout (024ef0c )
retire every advertised session before an instance shutdown kill (b831e81 )
retry session/resume to absorb backend cold-start window (#28 ) (0dd3bfa )
retry session/resume to absorb backend cold-start window (#29 ) (2533a1b )
retry transient turn.failed and degrade gracefully instead of (#33 ) (930b69f )
route /goal through extensions.ts and sync /model UI after switch (#36 ) (c58f927 )
route ExitPlanMode through request_permission instead of (#31 ) (2afe5df )
route server→client requests by sessionId to prevent cross-session popup leaks (#12 ) (174614f )
route the spec-spelled session/set_mode request (#46 ) (15fda81 )
run auto-compact detached from the turn so cancel/preempt cannot kill it (01d222a )
run the login-shell env probe non-interactively and union PATH (#251 ) (b2e3ba0 )
sandbox: batch allow-restarts into one window with cooldown asks and chained continuations (#107 ) (2570a12 )
sandbox: centralize profile dirs under ~/.zcode-acp/sandbox with pid-aware sweeping (#152 ) (6830c4d )
scope the boot-resume handshake arm per connection and ack unarmed TUI triggers (#259 ) (83bd091 )
scope turn-internal history reads with the backend's native pagination (#236 ) (d475e31 )
self-heal sessions evicted from the backend (Session is not active -32004) (#69 ) (a801996 )
send dynamic-workflow policy push mode under the upstream mode key (18049d4 )
send only stdout delta in Bash terminal output to prevent replay (#14 ) (e0b4695 )
send only stdout delta in Bash terminal output to prevent replay (#15 ) (2bb43cf )
settle big-session hydration without re-paying capped reads on every load (b5f9773 )
settle hub dial failures once and prune corpse bridge registrations (37a8107 )
show Ollama Cloud dock percent at one-decimal precision and drop the constant window label (95f01c9 )
single-flight session resume with hydration settle to stop partial first-entry replay (aeff59e )
skip goal-loop turns when cancelling siblings during backend recovery (5acd76d )
skip hidden tool-result user messages when computing replay turn starts (8c77ef2 )
skip keyless builtin providers and keep self-consistent env base URL overrides (#183 ) (d510d37 )
skip the hydration settle for metadata-only attaches (#305 ) (#305 ) (f745d48 )
stabilize session/create flow — runtime-prefs handshake, third-party providers, lazy sessions, model state (#38 ) (17e9fc6 )
stop dropping dragged-file attachments in session/prompt (#24 ) (53d85a1 )
stop injecting the provider model endpoint as the app-server service origin (#215 ) (f7f97aa )
stop pushing output to UI after session/cancel (#37 ) (d140db6 )
stop re-advertising remotely closed sessions when their dying turn or a late title lands (5a85c42 )
stop writing the sandbox discovery template into unarmed workspaces (#332 ) (888385a )
stop/cancel/preempt robustness aligned with Python reference + docs (#3 ) (3cec5e1 )
strip tagless reminders and dedupe replay history (0.3.2) (#52 ) (8242518 )
supervise hub proxy keepalive pongs so dead phone links are terminated (4c8436c )
surface orphaned background asks with forward, auto-allow or push (405ac49 )
survive unhandled rejections and diary all warnings to disk (#246 ) (82b5122 )
sync meta_json.title in updateSessionTitle so ZCode App shows it (#16 ) (04e7ac5 )
sync tasks-index format and 3.3.0 protocol for ZCode App session (#11 ) (7f7fc38 )
tell attached clients when a raced interaction ask was decided (f5d5e5a )
tests: strip the serve-bridge birth env in the hermetic setup (f184e29 )
tombstone every session-id spelling of a remotely closed conversation (8c09883 )
treat personal model list as authoritative for custom providers (66168dd )
tui: keep quota dock resident during turns and show reset as a clock time (#141 ) (df79531 )
tui: pin zcode-acp-martty so the approval popup shows the full request (bd72cd9 )
upgrade npm in release publish job for trusted publishing (#95 ) (2e9b343 )
use the antigravity hub User-Agent so quota reads include the Gemini family (ad6c175 )
wait indefinitely for user confirmation instead of auto-declining (#35 ) (5c0f894 )
You can’t perform that action at this time.