Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 18 additions & 20 deletions apps/vscode/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,27 @@

### What's new

- **Agents show what they are doing: working, needs input, idle, blocked or dead.** The Agents view, the Tower view, the status-bar count and the badge now take an agent's state from the agent itself instead of guessing from terminal silence. A Claude builder or architect waiting at a permission prompt or a question is counted the second the prompt is drawn, with the tool and the command or file it asked about in the tooltip. A long build no longer reads as idle, an agent that ended its turn with its own background work still running stays working, and an agent whose process has exited shows as dead within about ten seconds, drawn distinctly from idle. Agents that cannot report (Codex and OpenCode builders, and Claude sessions started before this update) keep the previous silence-based behaviour. One known gap: after you approve a long-running tool, the row stays at "needs input" until that tool finishes (#1851).
- **Reading aids in the Markdown Preview.** The preview can put a soft shape behind whatever your eye is on: the word under the pointer as a rounded pill, its line as a band, its paragraph as a faint tint, or the combinations of those, with None to switch it off. The default lights the line and its paragraph. You can also pick the prose cursor: arrow (as before), I-beam, or the pointing hand. Both choices sit in a new "Reading Aids..." item in the preview's title-bar `...` menu, beside Reset Font Size, and in the `codev.markdownPreview.hoverHighlight` and `codev.markdownPreview.readingCursor` settings; a change applies to open previews immediately. The shapes paint behind the text, so nothing is dimmed and selection and copy are unchanged. Fenced code, comment cards, the composer and the "+" button are never lit and keep the arrow; inline code keeps the band and your chosen cursor. Dark themes shade a little more strongly, and the shapes scale with the preview font size and follow the columns layout.
- **Review your queued comments from the contextual panel.** In Code Review mode, and in the Builder Inspector whenever a builder's terminal has focus, the panel now shows that builder's pending review comments, the comments already sent but not yet confirmed, and the files that carry a comment, each with its counts. Four buttons act on the queue: **Submit Review (N)** sends only the pending comments, **Discard** asks before clearing them, **Mark Delivered (N)** is the default action for sent comments, and **Re-send** pastes them into the builder's prompt again. Every file reference is a link that opens the builder's diff at that line, or the worktree file when the file is not part of the change. The status-bar "Submit Review (N)" item is retired; the palette commands remain, and two new ones, `Codev: Re-send Review` and `Codev: Mark Review Delivered`, join them.
- **Codev Tower: every workspace on this machine, in one view.** A new Tower view lists each workspace the local Tower daemon knows about, ordered so "needs a human" floats to the top, with the same attention wording the Agents view uses, an attention count badge on the container icon, and a current-workspace marker. Expand a workspace to see what is waiting there, held mail included. Switch to another workspace from the row or from the new `Codev: Switch Workspace` quick pick, and activate a dormant workspace on demand. Data arrives over the single Tower event stream the extension already holds, with a slow poll as backstop, so no extra load on Tower.
- **Tower opens on the right by default.** The Tower container lives in the secondary side bar, so the fleet sits beside your editor while the file tree stays on the left. It reveals itself once on first run and then respects your layout. Drag it anywhere you like; VS Code remembers. Requires VS Code 1.106 or later for that placement, which the new 1.128 minimum already guarantees.
- **Minimum VS Code is now 1.128.** The extension's engine floor moves from 1.105 to 1.128, following Cursor's rebase of its bundled VS Code to 1.128. Editors below 1.128 (older Cursor builds, and Antigravity or Kiro builds still on a 1.107 base) keep the last release published for 1.105 and stop receiving updates until the editor updates. No behaviour changes in this release come from the bump itself; typings are pinned to 1.125, the newest published at or below the floor.
- **Codev now activates in Restricted Mode.** Opening an untrusted folder used to leave the Codev sidebar inert and the status-bar item missing until you trusted the workspace, with Codev listed among the disabled extensions in the trust dialog. The extension now declares limited support for untrusted workspaces and activates immediately. Four settings a cloned repository could use to redirect or launch things (`codev.towerHost`, `codev.towerPort`, `codev.workspacePath`, `codev.autoStartTower`) are marked restricted: their workspace-scope values are ignored until the folder is trusted, and your user-level values apply instead. Everything else works as before.
- **Choose whether a builder-row click expands the row.** A new setting, `codev.buildersClickExpands` (default on, so nothing changes until you flip it), controls what a single click on a builder in the Agents view does. On, the click opens the terminal and expands the row's changed-files list as before. Off, the click only opens the terminal and leaves the row as it was; use the chevron to open the file list. With the setting off, a row click also no longer collapses the other builders, since the accordion reacts to the chevron's expand, not the click.
- **The agent-cycle keys open the first agent when nothing is open.** `ctrl+alt+n` / `ctrl+alt+p` used to show "no other agent terminal to cycle to" when no agent terminal had focus and the sidebar listed only one agent. They now open the first agent going forward and the last going back, whatever the roster size. The hint still appears when the only agent is already focused, and an empty roster now says "no agent terminals" instead of implying one is open.
- **Cycle through agent terminals from the keyboard.** `ctrl+alt+n` / `ctrl+alt+p` move focus through the sidebar's Agents order: architects and builders exactly as the sidebar lists them. An agent whose terminal cannot open is skipped, so a dead session never wedges the cycle.
- **Tracker-key issue ids on Jira and Linear workspaces.** Where Tower reports that the workspace's issues use keys like `ENG-123`, Open Issue by ID and the backlog search accept them (any case, shown upper-case), the backlog's id column sorts keys by project then number, and keys read as `ENG-123` rather than `#ENG-123` in rows, labels and terminal titles. GitHub, GitLab and Gitea workspaces are unchanged: a key-shaped search there stays a plain text search. When Tower cannot say which kind the workspace uses, Open Issue by ID accepts both forms and the search offers key rows only when the loaded backlog already holds keys. Issues without a creation date show no age and sort last in the age column.
- **Agents show what they are doing: working, needs input, idle, blocked or dead.** The Agents view, the Tower view, the status bar and the badge now take a Claude agent's state from the agent itself, so a permission prompt counts the moment it is drawn, a long build no longer reads as idle, and an exited agent reads as dead within about ten seconds. Codex and OpenCode builders, and Claude sessions started before this update, keep the silence-based behaviour; an approved long-running tool stays at "needs input" until it finishes (#1851).
- **Reading aids in the Markdown Preview.** A soft shape can follow your eye through the prose (word, line, paragraph or their combinations) and the cursor can be an arrow, I-beam or hand. Choose both from "Reading Aids..." in the preview's `...` menu or the `codev.markdownPreview.hoverHighlight` and `codev.markdownPreview.readingCursor` settings.
- **Review your queued comments from the contextual panel.** In Code Review mode, and in the Builder Inspector when a builder's terminal has focus, the panel lists that builder's pending and sent review comments with Submit Review, Discard, Mark Delivered and Re-send buttons, and every file reference opens the builder's diff at that line. The status-bar "Submit Review (N)" item is retired; the palette commands remain, joined by `Codev: Re-send Review` and `Codev: Mark Review Delivered`.
- **Codev Tower: every workspace on this machine, in one view.** The new Tower view lists each workspace the local Tower knows, with "needs a human" at the top, an attention badge, and what is waiting inside each one. Switch to a workspace from its row or `Codev: Switch Workspace`, and activate a dormant one on demand.
- **Tower opens on the right by default.** The Tower container lives in the secondary side bar, reveals itself once on first run, and then respects your layout.
- **Minimum VS Code is now 1.128.** The engine floor follows Cursor's bundled VS Code; editors below 1.128 keep the last release published for 1.105.
- **Codev now activates in Restricted Mode.** An untrusted folder gets the sidebar and status-bar item immediately. The `codev.towerHost`, `codev.towerPort`, `codev.workspacePath` and `codev.autoStartTower` settings ignore workspace-scope values until the folder is trusted.
- **Choose whether a builder-row click expands the row.** With `codev.buildersClickExpands` off, a click on a builder only opens its terminal; the chevron opens the file list. Default on, so nothing changes until you flip it.
- **The agent-cycle keys open the first agent when nothing is open.** `ctrl+alt+n` / `ctrl+alt+p` now open the first or last agent when no agent terminal has focus, instead of saying there is nothing to cycle to.
- **Tracker-key issue ids on Jira and Linear workspaces.** Keys like `ENG-123` work in Open Issue by ID and the backlog search, sort by project then number, and read as `ENG-123` rather than `#ENG-123` in rows, labels and terminal titles. GitHub, GitLab and Gitea workspaces are unchanged.

### Fixes

- **Opening a builder worktree folder no longer starts a second Codev.** A builder's worktree carries the whole repository, so opening one as a folder used to make Codev treat it as its own workspace: it registered the worktree as a workspace of its own, started an architect for it, and left rows behind that nothing cleaned up. The window also showed the parent checkout's work, because it reads the parent's data: gate notifications for other lanes, each with an Approve button that would have approved that lane's gate, plus builder counts, the sidebar badge, the attention list, and spawn notifications that could open another lane's terminal. A worktree window now attaches to the parent checkout read-only and never activates: no Agents view, no notifications or counts for the parent's lanes, and the Workspace view keeps only its dev rows, so what you see belongs to the worktree you opened. Reviewing files in that window, comments included, works as before. Starting Codev also tidies the rows left by earlier worktree windows, and reports any still-running one instead of stopping it for you. One thing you may notice: the Agents view can appear for a moment as the window loads before it disappears.
- **A builder waiting on PR review is listed once, not twice.** The Tower view and the Agents view showed a lane at the PR review gate as two identical rows, and the attention count and urgency ordering counted it twice. The shared attention summary now emits a single row for that lane, keeping the one that carries the waiting time.
- **Tower view rows show the right gate icon.** A workspace's attention rows in the Tower view used to draw a warning triangle for every gate except PR review. They now use the same per-gate icon as the Agents view, including the experiment, maintenance, scope and research gates, with a bell for any gate the extension has not seen before.
- **Every protocol's human gate now shows as blocked.** A builder waiting at an EXPERIMENT, MAINTAIN or RESEARCH gate used to show nowhere: no blocked icon in the Agents view, no toast, no status-bar count, and the row kept its working state. Tower now reports any pending gate porch is holding a lane at, whatever the protocol, and the sidebar has icons for the four new gates (experiment, maintenance, scope and research review). A gate from a protocol the extension has never seen still renders with a bell and a label derived from its name.
- **Adding a review comment no longer pops open the Comments panel.** VS Code's default for `comments.openView` opens the bottom Comments panel the first time a comment thread is created in a session, which Codev's builder-review comments triggered even though Codev never uses that panel. The extension now sets the default to `never`. This changes only the default: if you have set `comments.openView` yourself, your value still wins.
- **Queued review comments are no longer lost on submit.** Submitting a review queue used to delete the comments the moment they were placed in the builder's prompt, before you pressed Enter there. If the prompt was cleared or the session died in between, the feedback was gone. Submitted comments now move to a sent list in the same per-builder file, and the next submit for that builder asks what to do with them: Mark Delivered (the default), Re-send, or cancel. A builder with only sent comments stays pickable, which is how lost feedback gets re-sent. Tracking which sent feedback the builder has acted on is the next step (#1771).
- **Next and previous hunk continue from where you scrolled.** In a builder diff, stepping to the next or previous change used to be anchored to the cursor, so after scrolling away to read around a change the next step could jump back up. The step now starts from the visible viewport when the cursor is off screen, and a hunk that begins right at the viewport edge is not skipped. This applies to alt+F5 and shift+alt+F5 in builder diffs, to the new `Codev: Next Hunk` and `Codev: Previous Hunk` commands, and to the Stream Deck changes dial. Outside a builder diff the built-in behaviour is unchanged.
- **Status-bar text is readable in light themes.** The dev chip ("Dev: <id>") and the "Reconnecting..." and "Offline" states used foreground colours that pair with a highlighted background the extension cannot set, so light themes drew them near-white on a light bar. All three now use the theme's normal status-bar foreground. Their icons still carry the state; in dark themes the only visible change is that these three items no longer render in a slightly different shade from their neighbours.
- **Terminals come back after a laptop sleep.** Sleeping the machine used to burn every terminal tab's reconnect budget against the suspended network stack, leaving a permanent "unable to reconnect" banner while Tower was healthy. Refocusing the window now re-arms reconnects for every tab, and a tab that gave up for a transient reason reconnects on its own. When the budget really is exhausted, the banner checks Tower first and says which case you are in: Tower unreachable, or Tower up and a click will retry. A session that no longer exists on Tower still gives up immediately, as before.
- **Opening a builder worktree folder no longer starts a second Codev.** A worktree window now attaches to its parent checkout read-only: no second workspace, no architect of its own, and none of the parent's gate notifications, counts or badge. Reviewing files there, comments included, works as before, and Codev tidies the rows left by earlier worktree windows on start.
- **A builder waiting on PR review is listed once, not twice.** The Tower and Agents views no longer show that lane as two identical rows or count it twice.
- **Tower view rows show the right gate icon.** Attention rows use the same per-gate icon as the Agents view instead of a warning triangle for every gate but PR review.
- **Every protocol's human gate now shows as blocked.** A builder waiting at an EXPERIMENT, MAINTAIN or RESEARCH gate now gets the blocked icon, the toast and the status-bar count, with icons for the four new gates and a bell for any gate the extension has not seen.
- **Adding a review comment no longer pops open the Comments panel.** The extension sets the default for `comments.openView` to `never`; a value you set yourself still wins.
- **Queued review comments are no longer lost on submit.** Submitted comments move to a sent list instead of being deleted, and the next submit for that builder asks whether to mark them delivered, re-send them, or cancel. Tracking which sent feedback the builder acted on is next (#1771).
- **Next and previous hunk continue from where you scrolled.** In a builder diff the step starts from the visible viewport when the cursor is off screen, for alt+F5 / shift+alt+F5, the new `Codev: Next Hunk` and `Codev: Previous Hunk` commands, and the Stream Deck changes dial.
- **Status-bar text is readable in light themes.** The dev chip, "Reconnecting..." and "Offline" now use the theme's normal status-bar foreground instead of a near-white colour.

## [3.3.4] - 2026-09-17

Expand Down
Loading