github traycerai/traycer cli-v1.5.2
Traycer CLI 1.5.2

2 hours ago

What's Changed

  • feat: inline agent pages, MCP Apps, and shared task files (#2459) (885fd24)
  • fix(desktop): keep a support report's feedback event under Sentry's size limit (#2467) (3cc2ccf)
  • fix(cli): a closed stdout/stderr reader no longer crashes the CLI with EPIPE (#2469) (4eb6f9c)
  • feat(mobile): tap the iOS status bar to scroll back to the top (#2472) (45ddf33)
  • fix(gui-app): measure terminal emoji as grapheme clusters (#2477) (098b824)
  • chore(deps): refresh in-range catalog dependencies (#2492) (91b7f26)
  • fix(traycer-cli): read a missing Windows service task as absent on a non-English Windows (#2506) (e8d9626)
  • fix(cli): stop reporting a Windows logoff-time spawn failure as a host crash (#2509) (dc3e386)
  • feat(cli): tag host crash events with what splits one exit status into its causes (#2510) (94523bc)
  • fix(desktop): the desktop log names why /device/authorize failed (#2508) (31d9f10)
  • style(shared): format device auth test (#2512) (c2a0b90)
  • feat: show Claude cron next-run time (#2511) (cc2f481)
  • fix(shared): compose host RPC authority on WebViews without AbortSignal.any (#2519) (70dfa7d)
  • fix(shared): guard AbortSignal.any in the auth fetch helpers (#2520) (62e97ff)
  • feat(gui): PR panel shows stacks and can hide finished pull requests; pr.subscribeListForEpic@1.1 (#2515) (46eb88c)
  • fix(shared): guard AbortSignal.timeout at the mobile-reachable fetch sites (iOS < 16) (#2523) (8b15c31)
  • feat(mcp): native remedy and notice contracts (#2525) (34ff3ef)
  • fix(cli): a missing bound folder, an unchosen workspace and a full host disk are expected outcomes (TRAYCER-CLI-7) (#2533) (2f467e6)
  • feat(protocol,gui-app): Code - OSS editor target and no-editor notice on no-menu open buttons (#2532) (a7b91ad)
  • fix(cli): decode Windows child output in the console codepage, not UTF-8 (#2534) (3330831)
  • feat(protocol): worktree.deleteBatchByPath@1.3 names why a target was declined (#2531) (dba2ec0)
  • feat: host.status@1.7 and the host crash digest carry heap limit, heap used and RSS (#2540) (4dd4fb1)
  • feat(providers): explain Antigravity macOS requirements (#2547) (27fd664)
  • fix(desktop): the desktop log names why a sign-in poll failed (#2553) (39e9c2b)
  • feat(gui-app): say a host is offline when an owner-routed write cannot reach it (#2546) (d6c44be)
  • fix(mobile): open on iOS 15-17 again by updating the barcode scanner to 3.1.3 (#2552) (a677e3d)
  • fix(gui-app): keep a sent-and-dropped keyed request out of 'never received it' (#2549) (e2589a1)
  • test(gui-app,protocol): pin the GUI and released parsers on a host-projected Kimi sign-in response (#2558) (286353c)
  • feat(protocol): add environment.list for team environments (#2564) (cd589ca)
  • feat(protocol): add the bot.* namespace and bot.subscribe for Tracy Bots (#2565) (600a901)
  • feat(protocol): add environment.host.read and environment.host.bind (#2566) (e03f879)
  • fix(gui): one batch notice for mixed owner-host write outcomes (#2556) (b42f609)
  • fix(cli): a worktree delete refused as in use is an expected outcome (TRAYCER-CLI-1Y) (#2562) (a22f256)
  • fix(cli): keep the host crash report bound across supervisor restarts (#2563) (83fccbe)
  • feat(protocol): bot task entries carry a check-in cadence and lifecycle (Tracy Bots T8) (#2567) (d58df6a)
  • feat(protocol): bot conversations - request rows, conversation-message queue item, bot.conversation.* (Tracy Bots T7) (#2568) (b1a7c0d)
  • test(cli): await crash summary flush on resume (#2569) (61edc2a)
  • fix(cli): a provider the person disabled is an expected outcome (TRAYCER-CLI-P) (#2570) (f85f61e)
  • feat(protocol): chat.subscribe@1.26 - the task-checkin queue item, and the GUI check-in chip (Tracy Bots T9) (#2572) (915c6af)
  • fix(cli): end a refused managed-profile selection as an expected INVALID_ARGUMENT (#2571) (7be0057)
  • feat(cli): traycer bot list, send --wait and checkins (Tracy Bots T12) (#2577) (5796e63)
  • style(cli): format bot commands after #2577 (#2582) (c851ce4)
  • feat(protocol): bot.subscribe carries each task's last check-in and a nullable open-request count (Tracy Bots T9b) (#2579) (e4826e7)
  • Tag the CLI host crash event with which kind of fatal stderr holds (#2576) (984bae0)
  • feat(protocol): environment.host.list, enrolling member on the host binding, bot createdByUserId (Tracy Bots T15) (#2586) (69e767d)
  • feat(protocol,gui-app,cli): chat.subscribe@1.27 task-overdue item and the no-agent-yet still-running reason (Tracy Bots T14) (#2588) (8739fad)
  • feat(protocol): the host's kind on environment.host.list entries (Tracy Bots T16) (#2596) (8cfae78)
  • feat(protocol): bot.open 1.0, open a bot on the serving host (Tracy Bots T18) (#2600) (a153853)
  • fix: archive and delete agents and Tasks whose host is gone (#1628, client and protocol) (#2554) (ac9fc58)
  • chore: daily quality sweep for 2026-10-18 (#2599) (b4c46e7)
  • feat(data-root): configurable Traycer data folder with offline migration (#718) (#2575) (d673f70)
  • feat(gui-app,protocol): the team as Owner, and the host leaves the bot flow (Tracy Bots T17) (#2603) (ffc9082)
  • Add Kilo MCP settings carriers and GUI support (#2595) (e5dd672)
  • fix(protocol): serialize config.json read-modify-writes so concurrent settings writes are not lost (#2598) (c2983d5)
  • feat(cursor): show Max Mode catalog availability (#2590) (e50a73a)
  • feat: expose Claude plugin catalogs and session notices (#2597) (7baf31e)
  • feat(bots): bot list changes ring an environment-room doorbell (Tracy Bots T24) (#2610) (d44a62a)
  • fix(cli): relaunch a host that yielded to a dying incumbent instead of exiting 0 (#2608) (85825bc)
  • feat(providers): reset an unusable provider settings file from Settings (#2573) (3c65086)
  • fix(protocol,cli): keep task lists on the round trip; agent.list@10.1 carries profile and mode (#2574) (80c2e0b)
  • chore: remove repeated bot tests and unused state (#2613) (479fb5a)
  • feat(gui-app,protocol): environment.members names and pictures the people in a bot conversation (Tracy Bots T21) (#2611) (6ad3a3d)
  • feat: platform-provisioned sandboxes, clients and protocol (98763c4)
  • fix: keep artifact text stable on the round trip and name the way out of a hung host (#2584) (667df71)
  • fix(transport): credential recovery keeps whether a request may have reached the host (#2626) (773cb31)
  • fix(cli,shared): a sent request whose answer was lost is no longer reported as an unreachable host (#2628) (59462c4)
  • test(shared): read the register bootout's revalidation through its combined guard (#2629) (bcac7f5)
  • fix(cli): drop the row that read a retry episode's code as the unknown-outcome code (#2631) (69c0b97)
  • feat(bots): bot.create carries a request key so a retried create makes one bot (#2630) (3f92dab)
  • feat(providers): per-provider "Native subagents" switch (#2640) (b3d65de)
  • feat(protocol,gui-app): chat.subscribe@1.28 marks a prompt held for a sign-in, and the GUI offers its cancel (#2621) (75c7b0f)
  • fix(protocol): keep native-subagent providers in v1 responses (#2642) (2f1522b)
  • feat(protocol): label paused chat completions as unverified (#2645) (f89f61c)
  • feat(protocol,gui-app,cli): cross-host send state, agent send --workspace, paused-messages doctor warning (#2578) (2c1a644)
  • feat(protocol): authenticated-user-response major 3 carries the caller's environments and actingAs (#2650) (61ee50b)
  • feat(gui-app): remove the Hosts section from the Agents panel (#2658) (09200b4)
  • feat(simulator): mobile simulators panel — protocol, tile, Host panel settings (#2661) (3985454)
  • feat: HTML artifacts, canvases and file artifacts (#2617) (e772a93)
  • refactor: trim redundant client code and tests (#2674) (92dbc2b)
  • feat(protocol,gui-app,cli): a per-agent routing choice, wait it out here on a usage limit (#2676) (41d551e)
  • fix: close the code-scanning alerts on main (#2678) (04e6447)
  • fix(gui,protocol): the cross-host send card shows failures only, plus an offline note (#2697) (3cf65f6)
  • fix(gui-app): a lifecycle verb's toast names the state the server's row reached (#2698) (6cb4895)
  • feat: the server pool (#2696) (6cdb086)
  • refactor: clean up artifact code and test settlement (#2702) (d66dd6c)
  • Improve HTML artifact controls, version browsing, and bundle downloads (#2704) (4191bee)
  • fix(cli): host restart refuses at once on Linux with no systemd user manager (#2709) (a28fdc1)
  • feat(cli): traycer agent rename sets an agent's display name (#2711) (ba644cc)
  • feat(protocol,cli): report terminal-agent idle evidence on activity hooks (#2713) (683f6a1)
  • feat(cli): traycer task create starts a Task from a shell or a scheduled job (#2716) (2273ab7)
  • feat(protocol,gui): a chat send owns its turn from Enter and pre-starts its runtime while the person types (#2717) (da47319)
  • fix(cli): classify a host shutdown refusal as expected (#2722) (c39dd37)
  • fix(cli): glibc opens no arena per pool thread on a Linux host (#2723) (e94bdcf)
  • feat(protocol): the agent listing names the owner of a row that is not yours (#2725) (f7c707f)
  • feat(protocol,cli): bot threads on bot.conversation.send, bot.thread.list, and bot send --wait follows the thread (Tracy Bots T41) (#2720) (ca3c294)
  • feat(cli): traycer bot post, threads and reply replace bot send (Tracy Bots T50) (#2728) (14764ca)
  • feat(protocol): the assistant message carries an announcement kind and link (Tracy Bots T42) (#2727) (7efdee6)
  • feat(providers): reset one provider whose settings row cannot be read (#2732) (42b7b32)
  • feat(protocol,gui): environment.setMainBot, bot.list mainBotIds, memory-curation queue item (Tracy Bots T44b) (#2729) (18c6ab7)
  • feat(protocol,gui): bot directive on BotRecord and bot.create, bot.updateDirective, the Directive field (Tracy Bots T46/T49) (#2735) (fb9d480)
  • fix(shared): a 403/404 the refresh gets from something other than authn is an outage, not a deleted account (#2736) (63d7c42)
  • feat(protocol,gui): the bot record names its channel, and the bot view opens it (Tracy Bots T33b) (#2737) (375ee33)
  • feat(protocol,gui): team onboarding, one chat lock, team cost as the sum of its bots, thread-list freshness (Tracy Bots T47/T43b/T48) (#2741) (bc7fc04)
  • feat(protocol,gui-app): Tracy Bots batch D: question announcements, reply options, announcement threads, task creator (T46b/T51a/T51b/T44c) (#2743) (a437470)
  • feat(protocol,gui-app,cli): Tracy Bots T52: reply mode, a personal bot answers in the channel by default, a team bot in a thread (#2745) (08bdf4e)
  • feat(protocol,gui): the Environment group, team configurations, the consented move and secret custody (environments redesign) (#2742) (0dd2de8)
  • refactor: simplify swept helpers and test assertions (#2752) (83b635f)
  • fix(gui,cli): the main test suites to the environments redesign contract (#2753) (bec4fff)
  • fix(deps,protocol): bump zod to 4.6.7 for GHSA-mrhx-c7xc-m3w5 and keep protocol's JSON Schema form (#2748) (8c3e6f8)
  • OpenCode 2: Managed 1.x and Managed 2.x, the chat's line, and the opencode2 pack budget (clients and protocol) (#2746) (80a510a)
  • fix(cli): the bare host uninstall stops the running host first (#2751) (5bcdb24)
  • fix(cli): keep host uninstall recovery commands parseable (#2755) (51e120d)
  • docs(protocol): describe Copilot person-only approval markers (c317a58)
  • fix(cli): explain denied Windows host launcher writes (#2756) (6011be5)
  • fix(cli): check installed host before registering its service (#2758) (2d7dccf)
  • feat(gui,protocol): sandboxes re-design, the GUI and protocol half (integration) (#2740) (23babc9)
  • feat(chat): distinguish compaction attempts that were not applied (#2744) (872ed6d)
  • feat(desktop): publish Traycer Desktop to winget and a Scoop bucket (#2769) (e97baad)
  • docs(protocol): publish provider authentication evidence contract (#2761) (352c0a8)
  • protocol: sync released baseline surface fixture (#2425) (2e37953)
  • feat(gui-app): offer the sandbox catalogue's listed shapes (#2776) (6c66999)
  • feat(gui-app): a configuration's sandbox defaults are one shared value (#2779) (49eff46)
  • fix(desktop): staging sandbox calls carry the IAP proxy token (#2780) (5920f0c)
  • fix(gui-app): the sandboxes staging pass's picker and copy findings (#2782) (8e72cc5)
  • fix(gui,protocol,cli,desktop): environments staging end-to-end fixes (#2787) (5b403e6)
  • feat(gui): read a reply aloud with the device's own voices (#2762) (50fe6ca)
  • fix(gui,desktop): main's gui-app tests are green again and the copy says computer (#2792) (c7f41c9)
  • feat(protocol,gui-app): Tracy Bots T64, bot.subscribe carries the bot's live activity and the GUI reads it (#2796) (7259dfc)
  • feat(protocol,gui-app): Claude terminal session name template in Settings (#2772) (d02ee30)
  • feat(worktrees): show bounded error tails for failed batch deletions (#2770) (21201ea)
  • feat: existing OpenCode chats follow the line setting (protocol and client) (#2795) (84db191)
  • test(protocol): the auto-mode line table covers chat.subscribe 1.38 (#2801) (12f0d49)
  • Canvas Artifact Fixes (#2798) (fc769dc)
  • Fix protocol registry-head test pins after the canvas-point minors (#2807) (04a2b19)
  • feat(gui-app,protocol): Tracy Bots T62/T63, a bot looks like a bot, and a channel's settings behind the header's ⋮ with a notification level (#2811) (f01c7e3)
  • feat(mobile,gui-app,shared): per-phone push severity toggles (#2814) (032cdf8)
  • feat(gui-app,protocol,cli): Tracy Bots T65, the bot tab is served by whichever host the app is connected to (#2815) (edfad24)
  • Fix environment settings across hosts, teams and secret recovery (#2805) (3030b3c)
  • Fix environment settings post-merge test failures (#2818) (2c9d684)
  • feat(gui-app): an Alerts settings page for the OS and push rows; Sounds keeps the chimes (#2817) (617c7b7)
  • Keep invalid secret-name move choices local (#2822) (5770ddd)
  • feat(desktop): two-finger back/forward swipe on macOS (#2825) (b4d3e70)
  • feat(protocol,gui-app): Kimi usage on the rate-limit card (host.getRateLimitUsage@6.0) (#2764) (4ce42bc)
  • fix(protocol,shared,cli): redact the OS home-folder name from Sentry events (#2750) (7399772)
  • fix(packaging): give the Desktop winget manifests their schema header (#2832) (dca7309)
  • fix: the sandboxes staging.145 fix round (send, idle, sessions, rows, Automations) (#2804) (4c3832f)
  • fix(desktop): leave the host autostart to a separately installed CLI on uninstall (#2838) (2058531)
  • Clean up unused client contracts and await test completion (#2840) (34056d9)
  • fix(gui-app): place artifact cards beside tools and open artifact links (#2846) (7a25daf)
  • feat(protocol,gui-app): a failed bot answer says what failed and offers Retry or Edit (T69) (#2856) (11e6ae3)
  • host-start: evict a wedged incumbent instead of leaving it forever (#2860) (d0f00e0)
  • feat(protocol,gui-app): @ mentions for HTML artifacts and canvases, and New canvas in the create menu (#2836) (d6ba05f)
  • fix(cli): tell a person without a reachable systemd user session how to install the host (#1367) (#2859) (ee842d6)
  • fix(protocol): read the artifact kind schema through the registry, not _internal (#2875) (a3169af)
  • feat(browser): discover sessions across devices (#2879) (7677723)
  • fix(browser): preserve cleanup without IndexedDB and repair integration fixtures (#2888) (60b6ec0)
  • Refuse recognizable foreign provider API keys before sending (#2908) (02f7a18)
  • refactor(browser): cut the session catalog back to a discovery index (#2899) (8a86747)
  • fix(sandboxes): staging 154 round — sends, rows, Automations, money and notices (#2904) (ea7e1de)
  • refactor: simplify daily sweep source and consumer tests (#2928) (f05c420)
  • Land the environments 154 round into main (#2932) (1fba1ee)
  • feat(gui-app): a bot's answer is counted in the bell, the Tracy entry and each thread (T78) (#2941) (bb28914)
  • feat(host-protocol,gui-app): a personal bot subscribes to its person's notification feed (T84) (#2948) (a0467e1)
  • Sandboxes staging.158 fix round (#2958) (1d6d1e2)
  • build: type-check, build and type-aware lint on tsrs (#2960) (d6bcdf1)
  • fix(gui): preserve queued steer consent and refusal ownership (#2777) (72041a9)
  • feat(protocol,gui-app): a thread roots on the message replied to, a bot's answer included (T85) (#2967) (a7a5cc7)
  • feat(protocol,gui-app): a bot's tasks and a thread's tasks say where each came from (T82) (#2966) (5beef4c)
  • fix(gui-app): sandbox state leaves the notification center (#2971) (394857f)
  • fix(gui): the notification center carries agent states only (#2985) (c72cb98)
  • feat(bots): a bot asks a question without waiting (Tracy Bots T91) (#2994) (b81d5ee)
  • feat(bots): the Activity tab and check-in history (Tracy Bots T86 Pair A) (#3003) (7b7ebdf)
  • refactor: remove redundant source and test scaffolding (#2999) (b56be46)
  • feat(bots): How Tracy answered, per turn (Tracy Bots T86 Pair B) (#3010) (f5fe0b1)
  • feat(protocol, gui-app): simulators modelled like browsers: protocol 1.1, catalog contracts, panel, picker and tile (T1, T6) (#2970) (6e89f62)
  • feat(gui-app,cli): a build-time switch turns sandboxes, environments and bots off for this release (#2968) (b500fff)
  • feat(protocol,gui-app): say up front when a host's updates are managed elsewhere (#3023) (e4bc9d3)
  • fix(protocol,gui-app): trunk fixes for #3023: thunk-scan allow-list, activation one-shot waits for the first catalog answer (#3026) (e7d43e1)
  • feat(bots): task actions from the Activity tab: Run now, Pause, Stop, Stop watching, recent digests (T92) (#3030) (af9abd7)
  • docs(protocol): describe the Antigravity Gemini pool read and per-group limit scopes (#3033) (e451201)
  • fix(protocol): acknowledge supported rich artifact deletions (#3032) (01cbf9b)
  • feat(bots): what the bot knows, memory inspection (T87) (#3020) (b4a5a78)
  • feat(protocol,gui): surface references on a bot post, and the channel card (Tracy Bots T89) (#3016) (356a600)
  • feat(protocol,gui-app): skill update policies, upstream state and import (#2920) (d696929)
  • fix(protocol,gui): say the CLI isn't signed in instead of blaming the account (#3045) (f697b1a)
  • feat(protocol,gui-app): show claimed credit offers in Settings > Credits (#3049) (2a1e914)
  • fix(protocol): the skill import token schema is lazy, as the eager-schema gate requires (#3055) (a669334)
  • feat(protocol,gui-app): claim credit offers from Settings > Credits (#3052) (d21cd8e)
  • test(protocol): judge the credit offer list's per-card safeParse as pure (#3068) (0f65a47)
  • fix(traycer-cli): traycer login authorizes a host already running on this machine (#3065) (56c1dc9)
  • fix(traycer-cli): host doctor reports the running host's verdict (#3067) (211c9ee)
  • feat(bots): team setup as a static flow in the team's main bot channel until the team has a host (T67) (#3054) (21840d8)
  • fix(traycer-cli): take the host doctor lease through the CLI lock facade (#3072) (ff30079)
  • feat(gui-app): Reply in thread on every row of a bot's channel (Tracy Bots T68) (#3074) (ee8cf49)
  • feat(gui-app): a bot's send card reads the post it wrote (Tracy Bots T94) (#3077) (b085e4a)
  • feat(gui-app): an outdated provider CLI is a classified failure with an Update action (Tracy Bots T71) (#3078) (95e5fc2)
  • fix(gui-app,desktop): play media from where its bytes already are, and read artifact objects in 512 KiB spans (#3028) (8990535)
  • fix(protocol,cli): say the cloud could not be reached instead of not found (E_CLOUD_UNREACHABLE) (#3061) (2526375)
  • fix(cli): host uninstall waits for the captured host to finish exiting before it judges the stop (#3063) (4b77b6a)
  • feat(protocol,gui-app): say which credential chats use when it isn't the Claude plan (#3091) (bee6e81)
  • fix(cli): give the host job its whole shutdown budget before launchd kills it (#3069) (1fc44fe)
  • fix(cli,shared): main red after #3069: scan markers and the uninstall fake runner follow the drain wait (#3098) (1ad3de3)
  • test(cli): the uninstall sequence test asserts each launchctl call's target (#3097) (8b0f6fe)
  • feat: add per-chat Ultracode request for Claude (#3087) (4dbf3ea)
  • feat(protocol): resume a remote session across a relay leg reset (#3096) (74df0cc)
  • fix(protocol,shared): main red after #3096: prev tests expect the slugged reason (#3105) (4c18fcf)
  • fix(traycer-cli): a retired CLI registration's host exits before Desktop's agent starts (#3107) (8913958)
  • fix(traycer-cli): main red after #3107: format the macos test's kickstart assertion (#3111) (f2cada7)
  • fix(traycer-cli): a service-started supervisor refreshes its own job definition, so an older CLI's job gets today's stop budget (#3109) (6ec9496)
  • feat(bots): a team's main bot keeps its setup as history once it goes live (Tracy Bots T67b) (#3113) (8d28775)
  • feat(bots): a bot's Slack app in its settings, and a send posted in Slack on its card (Slack for Tracy S4, S4b) (#3117) (bc76a3e)
  • docs(protocol): a secret's plaintext consent is recorded on the secret (#3121) (a593329)
  • fix(gui-app): no "See reply" link under a member's post (Tracy Bots T95) (#3123) (cd5e6c3)
  • chore: simplify client helpers and focused test fixtures (#3127) (aeaca26)
  • feat(bots): thread follow, three notification levels, mentions, read cursor drives bold (VN3, VN6) (#3126) (ed86c2b)
  • feat(gui-app): the voice layer in the app (Tracy Bots voice VT2) (#3125) (5049201)
  • feat(gui-app, desktop): dictation pauses voice until resumed, the Talk shortcut, the menu-bar and notification-area voice item (Tracy Bots voice VT6) (#3140) (2ea0bac)
  • fix(protocol): prev reports the leg that carried the session, not a dial that never attached (#3147) (846c739)
  • feat(gui-app, clients): the voice router, directory, pending action and verbs (Tracy Bots voice VT3) (#3141) (ddd603a)
  • Pick #3188 into release-v1.5.2 for 1.5.2-rc.2 (#3196) (df25ed1)
  • Pick #3197, #3199 into release-v1.5.2 for 1.5.2-rc.2 (#3207) (4217609)
  • fix(traycer-cli): never let cli upgrade move the CLI backwards (#3216) (93aaef9)
  • fix(traycer-cli): say who holds the update lock at once, and record how every attempt ended (#3222) (eab9277)
  • fix(traycer-cli): repair the two trunk-red tests from the update record landing (#3228) (d5f207c)
  • fix(gui-app): hold the delete disclosure's count for terminal agents, and give the switcher the same sentence (#3223) (d049303)
  • test(traycer-cli): pin read commands to zero service-manager writes (#3218) (bb2ec06)
  • fix(traycer-cli): report the launchd job a stop signalled, and recover a refused bootstrap from what launchd holds (#3220) (4fea7d8)
  • fix(cli): judge a side-loaded host by its own build, and defer a floor the gate cannot place (#3225) (9265e1e)
  • fix(cli): the supervisor tells a host's forced shutdown from a clean exit (#3221) (28775ac)
  • fix(traycer-cli): stop reporting user-controlled upgrade refusals, and read the staged version's ordering (#3227) (0601acc)
  • fix(traycer-cli): have host doctor say which CLI a bare traycer runs (#3233) (df4a075)
  • fix(traycer-cli): make the update record true on every path that writes it (#3229) (2d16fd6)
  • fix(traycer-cli): the doctor's downgrade recovery command parses as one literal (#3237) (2f1ccee)
  • fix(traycer-cli): doctor names an update-attempt lock it cannot read (#3236) (eb997c5)
  • fix(gui-app): a terminal-agent tile with no record says so, and pin reopen through the real gate (#3234) (75cd5b8)

Traycer CLI 1.5.2.

Don't miss a new traycer release

NewReleases is sending notifications on new releases.