Releases
v4.0.0
Compare
Sorry, something went wrong.
No results found
4.0.0 (2026-11-10)
� BREAKING CHANGES
hub chats run on the hub and use the agent chat UI; the device-side Cloud code, the node session transport, the session lists and the sessions panel are removed, as is the account server choice. The chat journal format is version 8. workspace::SwapSides is replaced by the Window � Layouts � Swapped sides layout, and Ctrl+E / Cmd+E reach the terminal instead of swapping the side panels.
Features
agent access connects with saved credentials; profiles have one space (8135943 )
agent-chat: refuse file transfer calls until execution is wired (8135943 )
agent-chat: run agent file transfers with paired approvals (8135943 )
agent-engine: install runner-bound provider credentials (8135943 )
agent-engine: offer the model only an allowed set of tools (8135943 )
agent-engine: renew provider leases and add the broker endpoint (8135943 )
agent-runtime: supply transfer requests to chats (8135943 )
agent-tools: publish admitted initial sessions (8135943 )
agent-tools: reuse connected terminals for allowlisted servers (8135943 )
agent-tools: run file transfers for headless runs (8135943 )
agent: a Servers control for Cloud chats and bound servers in history rows (8135943 )
agent: add the Cloud tab to the new-agent menu (8135943 )
agent: attach a hub chat's servers from the attach menu (8135943 )
agent: attach files of any kind with the paperclip (8135943 )
agent: describe file transfer approvals and tool inputs (8135943 )
agent: draw one composer and footer for Local and Cloud chats (8135943 )
agent: every window lists every chat; a resting chat moves to the window that opens it (8135943 )
agent: file tools for attached terminals that run no programs (8135943 )
agent: list a hub's Cloud chats in the history column (8135943 )
agent: open Cloud chats from the Cloud menu (8135943 )
agent: open the chat of an online-only agent on the own runner (8135943 )
agent: present captured conversations in the shared panel (8135943 )
agent: separate local and server chats in a hub window's history (8135943 )
agent: stop and remove a seat from its agent row (8135943 )
ai: add file transfer tools to the terminal catalog (8135943 )
app: add Layouts and Panels submenus and the plugins reference (8135943 )
app: add Noct brand mark and default themes (8135943 )
app: add nocterm plugin dev (8135943 )
app: add the Servers page and Hub commands (8135943 )
app: compose the Cloud chat launcher (8135943 )
app: compose the layout editor into Appearance (8135943 )
app: compose the Plugins page and plugin settings (8135943 )
app: compose the wasm runtime for user plugins and plugin check (8135943 )
app: compose user plugins into windows, menus and check command (8135943 )
app: dial hub routes through the hub links (8135943 )
app: follow the hub account for the vault and profiles (8135943 )
app: give a hub window the account's connections and vault (8135943 )
app: hold user plugins in safe mode and until the user allows them (8135943 )
app: inject the system clock (8135943 )
app: list plugin settings in the plugins reference (8135943 )
app: open and switch hub windows (8135943 )
app: open windows in a local or hub environment (8135943 )
app: reattach hub sessions of restored windows (8135943 )
app: remove the swap-sides shortcut (8135943 )
app: restore window environments after restart (8135943 )
app: share the transfer runtime with agents (8135943 )
app: show the account's spaces and announce a refused change (8135943 )
app: store plugin records and data (8135943 )
app: wire the agent hosts observer and agent access ports (8135943 )
cloud-agents-model: add the Cloud chat launcher port (8135943 )
cloud-agents: add the Cloud agents model and catalog service (8135943 )
cloud-agents: answer bound Cloud chats' certificate requests while unlocked (8135943 )
cloud-agents: route offline-off personal agents to the own runner (8135943 )
cloud-agents: stop and remove seats, state the web panel url (8135943 )
cloud-chat: allow a queued run to use the model (8135943 )
cloud-chat: handle captured tool approval answers (8135943 )
cloud-chat: show a Cloud tool row with the core's title and typed outcome (8135943 )
cloud-chat: show sent prompts as pending until the runner accepts them (8135943 )
cloud-conversation-model: add the neutral Cloud conversation model and port (8135943 )
cloud-conversation-model: bind a Cloud chat to servers and run prompts on one (8135943 )
cloud-conversation-model: say a chat is Opening before its first round (8135943 )
cloud-model: admit chat SSH bindings and certificates (8135943 )
cloud-model: derive runner chat summaries from journaled facts (8135943 )
cloud-model: grant transfers through the execution bit (8135943 )
cloud-model: open a chat when its key is admitted (8135943 )
cloud-runner: announce deleted chats to the hub for retirement (8135943 )
cloud-runner: broker original-run sessions on the native runner (8135943 )
cloud-runner: claim a chat's writer on key admission (8135943 )
cloud-runner: journal v7 summary rows and coordinator summary publication (8135943 )
cloud-runner: keep chat SSH keys in journal v8 and run their transitions (8135943 )
cloud-runner: let the runner relax approval for contained targets (8135943 )
cloud-runner: list a bound chat's servers in its summary (8135943 )
cloud-runner: persist the outbox retry horizon (journal v6) (8135943 )
cloud-runner: seal the chat SSH row under its own journal class (journal v9) (8135943 )
cloud-runner: supply native timer and captured identity IDs (8135943 )
cloud-runner: wake runs parked for provider access (8135943 )
cloud: persist captured account conversations (8135943 )
connections-io: keep the replica state in a private file (8135943 )
connections-model: place profiles in a space and move them (8135943 )
connections-model: reconcile profiles with a replica (8135943 )
connections-model: report a locked replica (8135943 )
connections-store: move a profile's secrets with it between spaces (8135943 )
connections-store: place profiles in a space, roll back a refusal (8135943 )
connections-store: replicate profiles (8135943 )
connections-store: show a locked account (8135943 )
connections: a group's button opens every connection of the group (8135943 )
connections: announce connected sessions to an observer (8135943 )
connections: choose, create and import vault keys in the editor (8135943 )
connections: install connections kept only in memory (8135943 )
connections: keep a typed password in the window's vault and drop the unsaved agent servers (8135943 )
connections: offer the agent servers this window has not saved (8135943 )
connections: show organization sections and choose a space (8135943 )
connections: show the account state above the list (8135943 )
core: add a one-line error cause chain for log records (8135943 )
core: define the wall-clock contract (8135943 )
core: read bounded regular files without following links (8135943 )
design: let the sidebar widen as far as the agent panel (8135943 )
files: offer transfer counts to plugins (8135943 )
files: show relayed copies in transfer activity (8135943 )
hub chats run on the hub and use the agent chat UI (8135943 )
hub chats, managed agents and user plugin toolbars (8135943 )
hub-agents: follow agent and server changes of a hub (8135943 )
hub-io: adapt the Cloud agents ports over the hub contract (8135943 )
hub-io: admit persistent runner inbox commands (8135943 )
hub-io: answer fresh runner head probes (8135943 )
hub-io: attach terminal tabs to hub sessions (8135943 )
hub-io: confirm administrator keys before opening groups (8135943 )
hub-io: confirm administrator keys through a narrow port (8135943 )
hub-io: create and list Cloud chats (8135943 )
hub-io: give each trusted server its own CA principal with the contract CA (8135943 )
hub-io: import bounded public runner setup documents (8135943 )
hub-io: journal file transfer tool calls (8135943 )
hub-io: keep own-runner agent keys and carry provider grants (8135943 )
hub-io: keep the account keyset and an encrypted cache (8135943 )
hub-io: lease a personal agent's key to the own runner (8135943 )
hub-io: list and revoke account devices (8135943 )
hub-io: map chat SSH grants, events and certificates for the runner (8135943 )
hub-io: move credentials between the personal vault and a group (8135943 )
hub-io: offer a new recovery key while one is unconfirmed (8135943 )
hub-io: open relay streams (8135943 )
hub-io: open the account keys at sign-in and recovery (8135943 )
hub-io: persist and republish chat key grants (8135943 )
hub-io: reach hubs through the contract with device credentials (8135943 )
hub-io: read failure codes and provider kinds from the contract (8135943 )
hub-io: report closed account keys as locked (8135943 )
hub-io: restore account Cloud trust and runner catalogs (8135943 )
hub-io: resume a Cloud command kept across a restart (8135943 )
hub-io: retain runner authority across token rotation (8135943 )
hub-io: run Cloud chats on the contract device core (8135943 )
hub-io: seal a provider lease to a verified runner boot (8135943 )
hub-io: send a provider lease to a chat without a window (8135943 )
hub-io: send publication retry horizons and retire deleted chats (8135943 )
hub-io: serve group profiles and credentials of organizations (8135943 )
hub-io: show the organization name the hub sends in Cloud (8135943 )
hub-io: sign, seal and publish runner chat summaries (8135943 )
hub-io: store the agent SSH CA and trust registry as E2E data (8135943 )
hub-io: wake a chat's seat with the core's WakeSeat (8135943 )
hubs-model: add an optional colour to a known server (8135943 )
hubs-model: add hub addresses, trust rules and access ports (8135943 )
hubs-model: add the account devices port and its fake (8135943 )
hubs-model: add the account server and the account key states (8135943 )
hubs-model: add the agent host trust and chat grant ports (8135943 )
hubs-model: name the environment a window shows (8135943 )
hubs-model: remember the organization and sessions of a hub window (8135943 )
hubs-model: report the id of a session that a terminal starts (8135943 )
hubs-ui: add environment menu, sign-in dialog and sessions panel (8135943 )
hubs-ui: add the agent access tab to the Servers page (8135943 )
hubs-ui: add the Cloud agents tab to the Servers page (8135943 )
hubs-ui: ask for the instructions of a personal agent again (8135943 )
hubs-ui: confirm administrator keys on the Servers page (8135943 )
hubs-ui: keep the recovery key step open until it is saved (8135943 )
hubs-ui: list and forget pinned pool keys (8135943 )
hubs-ui: lock and unlock the account keys in Agent access (8135943 )
hubs-ui: manage known servers in settings (8135943 )
hubs-ui: open the selected session with Enter (8135943 )
hubs-ui: remember and reattach the sessions of a hub window (8135943 )
hubs-ui: show per-model usage in the Cloud agents tab (8135943 )
hubs-ui: sign in again to a known server from its window (8135943 )
hubs-ui: sign-in steps for account keys and the account server (8135943 )
hubs-ui: split the Servers page into a list and tabs (8135943 )
hubs-ui: switch a window between this computer and a hub (8135943 )
hubs: add the hub registry, connection status and sign-in service (8135943 )
hubs: choose the server that keeps the account (8135943 )
hubs: list and confirm the pending administrator keys of a hub (8135943 )
hubs: offer account devices through the registry (8135943 )
hubs: prefer a remembered organization in a hub window (8135943 )
hubs: reach the agent SSH CA through the hub service (8135943 )
hubs: redraw the Servers page when account keys open or close (8135943 )
hubs: rename, recolour and safely remove known servers (8135943 )
integrate cloud chat execution and desktop foundations (8135943 )
layout-ui: edit the bar in its preview by drag and menus (8135943 )
layout-ui: edit the status bar and panels in Appearance (8135943 )
layout-ui: show the host's facts for user plugin items (8135943 )
local: contain cloud tool child processes on Linux (8135943 )
local: integrate contained interactive shell sessions (8135943 )
local: read the local wall clock (8135943 )
monitor-ui: anchor the host monitor popover to its zone (8135943 )
monitor-ui: declare the status bar metrics as plugin settings (8135943 )
monitor-ui: offer the monitor reading to plugins (8135943 )
plugin-abi: add the guest call ABI and its wire types (8135943 )
plugin-api: add the user plugin contract and declarative runtime (8135943 )
plugin-api: declare the wasm runtime and the code package format (8135943 )
plugin-api: type the manifest keys of the surface (8135943 )
plugin-enablement: add the plugins settings section (8135943 )
plugin-enablement: add the user plugins switch to [plugins] (8135943 )
plugin-enablement: keep user plugin ids out of the plugins section (8135943 )
plugin-host: add session-only records and data (8135943 )
plugin-host: add the plugin host, broker and per-plugin data (8135943 )
plugin-host: count code runtime faults toward the disable limit (8135943 )
plugin-host: expose installed plugins to the shell (8135943 )
plugin-host: remove a plugin's data on its own (8135943 )
plugin-model: add the plugin set of both tiers (8135943 )
plugin-model: add user plugin tiers, ids and the clamp (8135943 )
plugin-model: declare plugin settings schemas (8135943 )
plugin-model: mark a plugin set as held or as a developer's (8135943 )
plugin-packages: add the session package store (8135943 )
plugin-packages: read a package directory for the check command (8135943 )
plugin-packages: read, hash, store and remove user plugin packages (8135943 )
plugin-packages: read, store and check wasm packages (8135943 )
plugin-ports: add observation and effect ports for user plugins (8135943 )
plugin-ports: say which capabilities a provider record provides (8135943 )
plugin-sdk: add testing::Host over the real ABI (8135943 )
plugin-sdk: add the example code plugin, its guest test and guide (8135943 )
plugin-sdk: add the guest SDK, view builder and export macro (8135943 )
plugin-sdk: re-export Effect, so a plugin's tests can read its effects (8135943 )
plugin-sdk: re-export what guests need for requests and views (8135943 )
plugin-view: draw validated plugin views in a host frame (8135943 )
plugin-view: mark developer plugin frames (8135943 )
plugin-wasm: run code plugins on wasmi within resource limits (8135943 )
plugins-ui: a compact plugin detail with folded lists and removal in a dialog (8135943 )
plugins-ui: add the Plugins settings page (8135943 )
plugins-ui: add the User section behind the user feature (8135943 )
plugins-ui: confirm before removing a plugin or its data (8135943 )
plugins-ui: install plugins from a button or the plugins folder (8135943 )
plugins-ui: link a plugin to the status bar editor (8135943 )
plugins-ui: list external plugins with the built-in ones, with one switch (8135943 )
plugins-ui: offer the development plugin with a DEV consent (8135943 )
plugins-ui: show the allow switch and why user plugins are held (8135943 )
plugins: a plugin's terminal tab can serve files to the explorer and AI chats (8135943 )
plugins: a plugin's terminal tab carries the plugin's bar along one edge (8135943 )
plugins: a plugin's toolbar keeps to its own tabs and the user places it (8135943 )
plugins: arrow-left and chevron-left glyphs (8135943 )
plugins: build plugin views from the application's own components (8135943 )
plugins: charts in plugin views, toolbars that know their axis, and toolbar moves that apply (8135943 )
projects: add folder workspaces with scoped chat history (8135943 )
projects: support container-backed workspaces (8135943 )
runner: add the managed mode with a bounded stdin boot document (8135943 )
runner: approval never trusts the runner's contained targets (8135943 )
runner: bind chats to reachable servers and sign in with their certificates (8135943 )
runner: compose the execution runtime for the daemon (8135943 )
runner: narrow tools, limits and spend by the boot policy (8135943 )
runner: publish chat summaries from the delivery sweep (8135943 )
runner: read chat access frames from the host (8135943 )
runner: read the agent policy from boot v2 (8135943 )
runner: relay agent transfers through a remote-only runtime (8135943 )
runner: run managed tools through the host broker (8135943 )
runner: run prompts on bound servers and read boot v3 with the contract (8135943 )
runner: send the agent's instructions as the managed system prompt (8135943 )
runner: supervise persistent Cloud control-plane sessions (8135943 )
session: add Event::Restore for the screen of an attached session (8135943 )
session: add pipelined remote read batches (8135943 )
session: route the first hop through a hub relay (8135943 )
session: sign in with a key kept in the vault (8135943 )
settings-ui: open a settings page at an anchor (8135943 )
settings-ui: scroll to a section of a settings page (8135943 )
ssh-keys: derive the raw Ed25519 public key of a seed (8135943 )
ssh-keys: issue agent certificates from a personal user CA (8135943 )
ssh-keys: parse, normalize and fingerprint SSH keys (8135943 )
ssh: authenticate with a key kept in the vault (8135943 )
ssh: dial the first hop through a relay stream (8135943 )
ssh: edit authorized_keys through the user's session (8135943 )
ssh: sign a runner in with a chat's in-memory key and certificate (8135943 )
ssh: sign in with a vault key and its user certificate (8135943 )
terminal: answer vault key requests from the vault only (8135943 )
terminal: derive an installation with other credentials (8135943 )
terminal: expose the connection filesystem to consumers (8135943 )
terminal: open tabs on an attached session (8135943 )
terminal: restore the screen of an attached session (8135943 )
toolbars for plugins, and requests, timers and terminals for user plugins (8135943 )
transfer-runtime: relay between remote hosts and run remote only (8135943 )
transfers: add relay requests, endpoints and owned transfer books (8135943 )
ui: anchor status bar popovers to a zone (8135943 )
ui: compose settings pages from owner sections (8135943 )
ui: find the settings of user plugins through the directory (8135943 )
ui: let plugins post and read their own notices (8135943 )
ui: let settings pages reveal an anchor (8135943 )
ui: offer a Nocterm hub as a proxy (8135943 )
ui: render plugin settings forms from schemas (8135943 )
vault-ui, connections: search saved passwords and add one in a dialog (8135943 )
vault-ui: answer vault key requests and list keys by fingerprint (8135943 )
vault-ui: install a vault for the windows that use it (8135943 )
vault: bind a credential to an SSH public key (8135943 )
vault: mark group credentials and refuse writes to read-only ones (8135943 )
vault: report offline and unsupported operations (8135943 )
vault: saved passwords sign in to the servers they list and are managed by name (8135943 )
vendor: expose native input document revisions (2cbede6 )
vt: reset an emulator in place and keep its generation counting (8135943 )
window-layout: edit layout presets on the current settings (8135943 )
window-layout: keep disabled plugins out of resolved layouts (8135943 )
window-layout: let panels stand alone and users make groups (8135943 )
window-layout: read layout presets from settings (8135943 )
window-set: remember the environments of open windows (8135943 )
window-set: save what a hub window keeps of its server (8135943 )
workspace-ports: add the terminal files port (8135943 )
workspace: add a title-bar slot for the environment menu (8135943 )
workspace: add the clock plugin (8135943 )
workspace: add the status bar context menu (8135943 )
workspace: anchor widget popovers to their zone (8135943 )
workspace: apply plugin enablement live in every window (8135943 )
workspace: centre the status bar and order shrinking (8135943 )
workspace: collapse overflowing status bar items into a menu (8135943 )
workspace: give the title bar an environment slot (8135943 )
workspace: lay out panel columns in the order of the bar (8135943 )
workspace: list the placed panels for the window menu (8135943 )
workspace: name a developer session's panels with DEV (8135943 )
workspace: offer the workspace kind to plugins (8135943 )
workspace: read plugins through a source of both tiers (8135943 )
workspace: replace the swap-sides action with a layout (8135943 )
workspace: switch layout presets from the window menu (8135943 )
xtask: ban the wasmi auto-dispatch feature in every member (8135943 )
xtask: check plugin crate isolation (8135943 )
xtask: check the plugin ABI golden file and document the ABI (8135943 )
xtask: generate the manifest schema and check the plugin guide (8135943 )
xtask: generate the plugin API reference for authors (8135943 )
xtask: generate the plugin API surface (8135943 )
xtask: keep guest-only crates out of the app closure (8135943 )
xtask: let the plugin host notify its observers (8135943 )
xtask: limit the hub contract and protocol SDK to hub-io (8135943 )
Bug Fixes
agent-chat: approve a transfer card for its terminal pair (8135943 )
agent-chat: box the rejected transfer call (8135943 )
agent-chat: count snapshot capacity like the retained snapshot (8135943 )
agent-runtime: gate the test-only work bytes export (8135943 )
agent-runtime: read provider usage only through ACP (8135943 )
agent: enforce bounded conversation work (8135943 )
agent: make the Cloud tab a plain list of agents (8135943 )
agent: offer Cloud agents only in the window of their hub (8135943 )
agent: show a locked hub account as an actionable notice (8135943 )
ai: grant transfers per terminal pair (8135943 )
ai: refuse control characters in transfer paths (8135943 )
app: fence background SSH host preparation by source (8135943 )
app: keep remembered servers that are unavailable for one run (8135943 )
apply plugin effects after the host's update and refresh after the workspace's (8135943 )
app: publish held and developer sets and test a safe-mode edit (8135943 )
app: report the current revision when the vault is switched (8135943 )
app: retain asynchronous plugin publication workflows (8135943 )
app: satisfy clippy after merging the hub branches (8135943 )
app: show the sessions panel first in a hub window (8135943 )
app: stop polling user widgets the bar does not draw (8135943 )
app: word a personal refusal as the event docs describe it (8135943 )
cloud-agents: one start per agent, retry a failed start (8135943 )
cloud-chat: keep a chat live when its runner does not answer (8135943 )
cloud-model: name the kind of record a projection refusal rejected (8135943 )
connections-io: isolate DNS work and reuse HTTP connections (8135943 )
connections-model: read a move between scopes as a move (8135943 )
connections-store: copy a secret other profiles still use (8135943 )
connections-store: keep a requested move through interruptions (8135943 )
connections-store: keep every profile when an account is stopped (8135943 )
connections-store: keep the cursor behind a refused remote change (8135943 )
connections-store: reject unbounded replica feeds (8135943 )
connections-store: retry transient flag acquisition failures (8135943 )
connections-store: share secrets with a group only on request (8135943 )
connections-store: take an account's profiles off on detach (8135943 )
connections: act on a folder only within the clicked scope (8135943 )
connections: apply the chosen space as part of the save (8135943 )
connections: keep the debt ratchets and the actions reference green (8135943 )
connections: keep vault key state in its owner and Import in view (8135943 )
connections: list a lost organization's connections read-only (8135943 )
connections: move a saved connection only after its save (8135943 )
connections: offer unsaved agent servers once the account's list arrived (8135943 )
connections: say a saved secret is shared with an organization (8135943 )
connections: share a secret when saved with the note shown (8135943 )
connections: warn beside the save before sharing a secret (8135943 )
containers-service: subscribe before acquiring snapshots (8135943 )
core: reject serialization before publication side effects (8135943 )
core: reject stale settings and profile publications (8135943 )
deps: take the security fixes of rustls, tokio and webpki-roots (8135943 )
hub-agents: list a hub's agents and servers again after a failure (8135943 )
hub-io: bound account publication and retire removed sources (8135943 )
hub-io: coalesce lossy agent catalog hints (8135943 )
hub-io: copy a shared secret under a new id (8135943 )
hub-io: decode transfer arguments in their own function (8135943 )
hub-io: erase the account cache and keys of a revoked device (8135943 )
hub-io: fit the inference grant in the prompt's window (8135943 )
hub-io: hub chats no longer freeze the app and start on their first message (8135943 )
hub-io: keep one client per hub and lock off the worker (8135943 )
hub-io: keep one retry horizon per publication (8135943 )
hub-io: never provision a seat when opening a chat (8135943 )
hub-io: preserve bounded monotonic vault snapshots (8135943 )
hub-io: refuse a too short password as wrong credentials (8135943 )
hub-io: retry a start while the seat is still being deleted (8135943 )
hub-io: serialize source clock observations (8135943 )
hub-io: sign in through the derived login value (8135943 )
hub-io: skip a deleted record when reading a group's secret (8135943 )
hub-io: wake a managed chat's seat before it delivers a prompt (8135943 )
hubs-model: forget the account server when the server is removed (8135943 )
hubs-model: read window records one by one and keep unopened ones (8135943 )
hubs-ui: ask to update an outdated server, not Nocterm (8135943 )
hubs-ui: build the test workspace with the hub's change feed (8135943 )
hubs-ui: keep the window ports private behind a constructor (8135943 )
hubs-ui: make the Servers page findable by the tests of the app (8135943 )
hubs-ui: read the workspace after it created the sessions panel (8135943 )
hubs-ui: reattach remembered sessions in their own organization (8135943 )
hubs-ui: report a server that cannot be removed (8135943 )
hubs-ui: save a server name through the shared settings field (8135943 )
hubs: keep the organization chosen while a read runs (8135943 )
hubs: refuse a sign-in to a server that is listed already (8135943 )
keep the plugins folder apart from the plugin host's files (8135943 )
keymap: offer the hub commands in the palette (8135943 )
keymap: publish bindings through retained persistence (8135943 )
layout-ui: drops land where the pointer aims and never freeze the editor (8135943 )
let a window's plugin terminals go with the window (8135943 )
local: build local commands on Windows and macOS again (#52 ) (11b5265 )
local: finish PTY sessions when the leader exits (8135943 )
local: prepare workspace shells on bounded native workers (8135943 )
make agent workflows portable and proportional (8135943 )
plugin-enablement: keep a switched-off plugin when the list is full (8135943 )
plugin-host: retain prepared instances through publication (8135943 )
plugin-packages: retain immutable consented versions (8135943 )
plugins-ui: await admitted management operations (8135943 )
plugins-ui: keep the detail's fold state private and its tests under the line limit (8135943 )
plugins: a plugin terminal reports a clean prompt to AI chats (8135943 )
preserve virtual list height estimates across layout changes (2cbede6 )
projects: remove flex_1 from server label (8135943 )
resolve clippy findings in cloud-chat crates (8135943 )
runner: an unknown session target stays unsupported with or without consent (8135943 )
runner: create the inbox cursor when a runner is initialized (8135943 )
runner: create the tool workspace on first start (8135943 )
runner: drain transfers and sessions under one deadline (8135943 )
runner: read the control channel without the stdin buffer (8135943 )
runner: renew expired access before the boot announcement (8135943 )
runner: report the cause chain of a failed start (8135943 )
runner: size the ingress pool for one inbox read (8135943 )
satisfy test-support policy and view-field ratchets (8135943 )
snippets-ui: every snippet row reaches the panel's right edge (8135943 )
ssh: preserve terminal admission and retry SFTP setup (8135943 )
ssh: serialize cooperating authorized keys edits (8135943 )
tell user plugin panels and toolbars when they are shown (8135943 )
themes-registry: bound scans and recover interrupted installs (8135943 )
themes-registry: open discovered files without following links (8135943 )
transfer-runtime: finish a pending write before cancelling (8135943 )
transfer-runtime: name the failing side of a relay (8135943 )
transfer-runtime: share capacity across independent batches (8135943 )
transfers: refuse empty remote path components (8135943 )
transfers: refuse relative local transfer paths (8135943 )
ui: coalesce theme browser background requests (8135943 )
ui: publish plugin availability transitions (8135943 )
vault-ui: sign in again when a hub's keys are not on this device (8135943 )
vendor: draw the window content uncached again (2cbede6 )
window-layout: keep the user entries a held run cannot show (8135943 )
window-set: keep unopened windows and a newer document (8135943 )
workspace: keep focus when hiding a group that does not hold it (8135943 )
Performance
agent-storage: read catalog metadata from transcripts (8135943 )
agent: cache the chat footer to its content (8135943 )
agent: draw the transcript and history as cached regions (8135943 )
agent: keep each message's parsed markdown per row (8135943 )
agent: show queued messages on the first frame (8135943 )
agent: skip redundant notifies and resolve agents once per render (8135943 )
connections-model: index profiles during reconciliation (8135943 )
connections: prepare visible rows on semantic changes (8135943 )
containers: share host watches and filter listing refreshes (8135943 )
files: publish transfer projections on native changes (8135943 )
layout-ui: bound retained layout edit history (8135943 )
monitor-service: share collection by captured executor (8135943 )
project-container-fs: batch acknowledged upload writes (8135943 )
project-model: validate decoded catalogs once (8135943 )
projects: redraw panels on search text changes only (8135943 )
ssh: pipeline SFTP download reads (8135943 )
store: notify once for an optimistic write (8135943 )
terminal: pause inactive cursor timers (8135943 )
terminal: reuse bounded search navigation work (8135943 )
vendor: cache gpui views and keep list estimates (2cbede6 )
vendor: cache views to their content and cache dock tab groups (2cbede6 )
vendor: draw the window content as a cached view (2cbede6 )
vendor: reuse cached views nested in a redrawn cached view (2cbede6 )
workspace: cache status bar widgets and keep tab groups current (8135943 )
workspace: cache the tab surface so sidebar redraws reuse it (8135943 )
xtask: reuse parsed architecture inventories (8135943 )
Documentation
add the hubs user guide and link it from the README (8135943 )
adr: keep SSH keys in the vault and record the boundary (8135943 )
adr: lease a personal agent's key to the own runner (8135943 )
adr: record agent file transfer through the shared runtime (8135943 )
adr: record Cloud chat creation protocol (8135943 )
adr: record desktop binding, answering and bound-server prompts as ADR 0139 (8135943 )
adr: record profile replication (8135943 )
adr: record the hub as a route step (8135943 )
adr: record the hub client's device transport and resumable commands as ADR 0138 (8135943 )
adr: record the managed runner agent policy (8135943 )
adr: show one environment in a window (8135943 )
adr: supersede window environments with ADR 0099 (8135943 )
architecture: regenerate the dependency reference (8135943 )
centralize integrated verification policy (8135943 )
correct ADR 0098 on skipped entries and the Booted field count (8135943 )
deps: regenerate third-party notices (8135943 )
describe agent file transfers (8135943 )
describe bounded publication and work ownership (8135943 )
describe Cloud agents and managed pools (ADR 0120, 0121) (8135943 )
describe container filesystem ownership (8135943 )
describe hub environments in the layer notes and the overview (8135943 )
describe hub windows (8135943 )
describe managing servers (8135943 )
describe the status bar and panels editor (8135943 )
describe the status bar overflow menu and zone anchors (8135943 )
fix ADR 0097 references (8135943 )
fix the links that failed rustdoc in CI (8135943 )
hubs: describe account keys, recovery and the account server (8135943 )
hubs: describe confirming administrator keys (8135943 )
hubs: describe group connections and passwords (8135943 )
hubs: describe remembered hub windows and their reattach (8135943 )
hubs: describe sessions remembered with their organization (8135943 )
hubs: say where unsent connections go when switching accounts (8135943 )
match the hub docs to the labels of the interface (8135943 )
plugins: add example declarative plugins (8135943 )
plugins: add the preview plugin guide and feature DoD lines (8135943 )
plugins: record the code runtime decision (ADR 0091) (8135943 )
plugins: record the start gate and the compatibility promise (8135943 )
project-providers: clarify adapter contract invariants (8135943 )
record attached sessions in ADR 0095 and the layer notes (8135943 )
record built-in panels and widgets as system plugins (8135943 )
record layout presets as app-wide settings (8135943 )
record one plugin model with separate trust tiers (8135943 )
record panel groups as the owner of side panels (8135943 )
record per-server CA principals and runner certificate sessions in ADR 0137 (8135943 )
record plugin enablement and the Plugins page (8135943 )
record project adapter ownership (8135943 )
record project terminal contract ownership (8135943 )
record runner chat summaries and journal v7 in ADR 0135 (8135943 )
record shared bounded contract ownership (8135943 )
record standalone panels and the preview editor in ADR 0094 (8135943 )
record the device side on the contract core in ADR 0136 (8135943 )
record the gated hub test in AGENTS.md and the README (8135943 )
record the hub contract boundary in ADR 0096 (8135943 )
record the plugin host (8135943 )
record the plugin SDK and developer sessions (8135943 )
record the user plugin contract (8135943 )
record the wall-clock contract (8135943 )
record the zoned status bar (8135943 )
record window environments in ADR 0097 (8135943 )
record window restore in ADR 0098 (8135943 )
reference: regenerate the plugins reference (8135943 )
regenerate the action and dependency references for hubs (8135943 )
regenerate the plugins reference for the sessions panel (8135943 )
toolbars, and requests, timers and terminals for user plugins (8135943 )
workspace: drop the environment menu slot from the UI note (8135943 )
You can’t perform that action at this time.