Commit log

5305c22 ep: Encode cursor position in the predicted patch (#49450)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

b4baea8 acp: Enable history for external agents for all users (#49449)

Click to expand commit body
Removes the feature flag around listing and loading existing sessions
for external agents.

Release Notes

- acp: Expose session history for all external agents that support it.

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Ben Brandt and Bennet Bo Fenner created

0b3a23c sum_tree: Implement `Iterator::last` and lower bound of `Iterator::size_hint` (#49448)

Click to expand commit body
Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

8244a5c multi_buffer: Remove unnecessary reference in `as_singleton` return type (#49447)

Click to expand commit body
Allows cleaning up `open_tool_call_location` slightly

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

073de5c editor: Improve `apply_fetched_hints` for many excerpt multibuffers (#49444)

Click to expand commit body
Reuses the new multi buffer api from
https://github.com/zed-industries/zed/pull/49349 for inlay hints

Release Notes:

- Reduced occasional stuttering coming from inlay hints in large
multibuffers

Lukas Wirth created

418b51d editor: Optimize TabMap chunks generation (#48378)

Click to expand commit body
Currently, the next chunk is generated by traversing all characters of
the current folded chunk until a tab is found. Since we already have
bitmasks for characters and tabs, we can also propagate the newlines
bitmap from the rope and use it to make this computation O(1) in all
cases.

I haven’t run benchmarks yet.

Release Notes:

- N/A

Marco Mihai Condrache created

6daa541 docs: Apply documentation standards across all docs (#49177)

Click to expand commit body
## Summary

Comprehensive remediation of 146 documentation files to align with Zed's
documentation conventions and brand voice guidelines.

## Changes

### YAML Frontmatter
- Added `title` and `description` frontmatter to all docs missing it

### Settings UI Pattern
- Updated 48+ files to show Settings Editor before JSON examples
- Pattern: `Configure X in Settings ({#kb zed::OpenSettings}), or add to
your settings file:`
- Added `([how to edit](./configuring-zed.md#settings-files))` links for
JSON-only settings

### Brand Voice Fixes
- Removed exclamation points (command-palette, key-bindings, repl,
privacy-and-security, etc.)
- Simplified em dash chains to parentheticals (environment,
troubleshooting, agent-panel, etc.)
- Fixed marketing language (yarn.md intro, development/linux.md)

### Terminology Alignment
- `settings UI` -> `Settings Editor`
- `sidebar` -> specific panel names (Project Panel, Collab Panel)
- `directory` -> `folder` in non-technical contexts
- `workspace` -> `project` in non-LSP contexts
- `Command Palette` -> `command palette` (lowercase)

### Callout Standardization
- Converted various callout formats to standard `> **Note:**` pattern

## Related

Depends on conventions established in #49176.

Release Notes:

- N/A

morgankrey created

9743fe7 Put back logic for passing data collection choice to cloud (#49426)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d60b291 Make terminal permission pattern suggestions subcommand-specific (#49148)

Click to expand commit body
Previously, clicking "Always allow for `cargo` commands" after running
`cargo build --release` would also silently permit `cargo run`
(arbitrary code execution), `cargo publish`, and any other cargo
subcommand. This was overly broad and did not match user intent.

Now the extracted pattern includes the subcommand when present, so the
button reads "Always allow for `cargo build` commands" and the pattern
`^cargo\s+build\b` only matches `cargo build` invocations — not `cargo
test`, `cargo run`, etc.

### How it works

- The second token is included in the pattern when it looks like a
subcommand (alphanumeric, hyphens, underscores, no leading `-`).
- When the second token is a flag (e.g. `ls -la`), only the command name
is used — the user sees "Always allow for `ls` commands".
- Single-word commands and path-like commands behave the same as before.

### Examples

| Command | Pattern | Button label |
|---|---|---|
| `cargo build --release` | `^cargo\s+build\b` | Always for `cargo
build` commands |
| `cargo test -p search` | `^cargo\s+test\b` | Always for `cargo test`
commands |
| `npm install` | `^npm\s+install\b` | Always for `npm install` commands
|
| `ls -la` | `^ls\b` | Always for `ls` commands |
| `ls` | `^ls\b` | Always for `ls` commands |
| `./script.sh` | *(rejected)* | *(no pattern button)* |

Release Notes:

- Agent: "Always allow" suggestions for terminal commands are now
subcommand-specific (e.g. "Always allow for `cargo build` commands"
instead of "Always allow for `cargo` commands").

Eric Holk created

717ea9e Filter collection of snowflake requests to those with latest schemas (#49424)

Click to expand commit body
This allows us to just pull requests that have the latest EP request
schema with the `predicted` boolean on events in the edit history.

Release Notes:

- N/A

Max Brunsfeld created

2868c50 Update CODEOWNERS (includes suggested entries) (#47273)

Click to expand commit body
This PR updates the CODEOWNERS file based on the current
team-membership-rules.yml in the codeowner-coordinator repo.

**Coverage:** 100% - all paths have an owner.

## ⚠️ Suggested Entries - Review Required

The following paths were assigned based on git blame analysis of team
members.
**Please verify these assignments are correct before merging.**

| Path | Suggested Team | Based On | Commits |
|------|---------------|----------|---------|
| `crates/git_graph` | developer-tools-team | Anthony Eid | 4 |
| `crates/open_path_prompt` | zed-dev-team | Joseph T. Lyons | 1 |
| `crates/platform_title_bar` | platform-team | Finn Evers | 1 |
| `crates/remote_connection` | ecosystem-team | Piotr Osiewicz | 1 |
| `crates/shell_command_parser` | ai-team | Richard Feldman | 1 |
| `crates/sidebar` | ui-team | Danilo Leal | 1 |

These entries are marked with `# SUGGESTED` comments in the CODEOWNERS
file.
If incorrect, update `team-membership-rules.yml` in the
codeowner-coordinator repo.

Release Notes:

- N/A

---
_This PR was auto-generated by the
[codeowner-coordinator](https://github.com/zed-industries/codeowner-coordinator)
workflow._

Co-authored-by: swannysec <11968319+swannysec@users.noreply.github.com>

Zed Bot and swannysec created

74179fa Show agent icon instead of folder icon in sidebar thread list (#49421)

Click to expand commit body
Replace the generic folder icon next to thread entries in the workspace
sidebar with the actual agent icon (Claude, Zed Agent, Gemini, etc.) for
the active thread.

Release Notes:
- N/A

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Eric Holk , cameron , and Anthony Eid created

7eca6a9 workspace: Group recent projects by date (#49414)

Click to expand commit body
Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Cameron Mcloughlin and Zed Zippy created

ee9191e workspace: Add `Toggle` actions to all the side panels (#49395)

Click to expand commit body
Release Notes:

- Add `toggle` actions to all panels to toggle visibility

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Cameron Mcloughlin , Anthony Eid , and Zed Zippy created

d2aa2e0 ui: Remove unused components (#49410)

Click to expand commit body
Some house-keeping on the UI crate; all of these were pretty much
unused, so we can take them out for the time being.

Release Notes:

- N/A

Danilo Leal created

d858ac5 extension_ci: Make parsing of current version more robust (#49411)

Click to expand commit body
This removes trailing whitespace when getting the current version of the
extension, as we ran into some cases where a `\r` was added to that for
some reason.

Release Notes:

- N/A

Finn Evers created

e635227 Remove project cache in edit prediction CLI (#49409)

Click to expand commit body
The cache isn't needed, now that we have a better way of reducing
resource consumption (disabling worktree scanning), and it adds race
conditions.

Release Notes:

- N/A

Max Brunsfeld created

e8816f2 git: More performance improvements when toggling between diff views (#49400)

Click to expand commit body
- Defer syncing block maps from `set_companion`, eliminating some
redundant recomputations
- Emit one large multibuffer edit from `set_show_deleted_hunks` instead
of many small edits, to avoid bad case for block map

This cuts hangs roughly in half when toggling between views in a large
diff (1000 commits from the chromium repository).

<!-- Before you mark this PR as ready for review, make sure that you
have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
-->

Release Notes:

- Improved performance with large diffs when toggling between diff
views.

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>

Cole Miller , Jakub Konka , and Lukas Wirth created

90e1abd Preallocate vector for `MultiBuffer::excerpt_ids` (#49381)

Click to expand commit body
This saves some time spent reallocating inside `Editor::on_buffer_event`
for large multibuffers.

Release Notes:

- N/A

Cole Miller created

3b43822 extension_ci: Improve job orchestration (#49407)

Click to expand commit body
This fixes an issue where some changes that should trigger more checks
would go unnoticed.

Release Notes:

- N/A

Finn Evers created

d900b2b ui: Put back left-border in tab bar end actions (#49402)

Click to expand commit body
Fixing a minor UI issue that regressed in
https://github.com/zed-industries/zed/pull/49038.

Release Notes:

- N/A

Danilo Leal created

d0f5ede extension_rollout: Prevent dispatch from non-main branches (#49396)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

96c72c2 git_ui: Fix tree view next selection out of bounds (#49283)

Click to expand commit body
Closes #49259

Release Notes:

- This change ensures that when the last visible collapsed directory is
selected, the selection remains on that directory.

Mayank Verma created

9aa6b14 extension_ci: Increase fetch depth for tests job (#49389)

Click to expand commit body
We need more fetch depth here for the check, hence bumping this.

Also does a drive-by cleanup of the checkout step within xtask to make
this (hopefully) more intuitive to use.

Release Notes:

- N/A

Finn Evers created

5670e66 Add support for Claude Sonnet 4.6 (#49386)

Click to expand commit body
<img width="435" height="211" alt="Screenshot 2026-02-17 at 1 32 48 PM"
src="https://github.com/user-attachments/assets/136c188d-5001-4526-961e-9f7faccc5f7a"
/>


Add support for the new Claude Sonnet 4.6 model across the anthropic,
bedrock, and language_models crates. Includes base, thinking, and 1M
context variants.

Closes AI-39

Release Notes:

- Added BYOK support for Claude Sonnet 4.6

Richard Feldman created

671f818 edit_prediction: Route edit prediction rating through Cloud (#49385)

Click to expand commit body
This PR updates the `Edit Prediction Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.

Closes CLO-224.

Release Notes:

- N/A

---------

Co-authored-by: Tom <tom@zed.dev>

Marshall Bowers and Tom created

7620c68 ci: Harden background-agent MVP git authentication loop (#49373)

Click to expand commit body
## Summary
- refresh git auth headers before each per-crash iteration in
`background_agent_mvp`
- add guarded `git fetch`/`git checkout` handling so one candidate auth
failure doesn’t fail the entire run

## Context
- fixes the auth failure seen in workflow run 22106378719 (`fatal: could
not read Username for 'https://github.com'`)
- related Linear issue: BIZOPS-853

## Testing
- ruby -e "require 'yaml';
YAML.load_file('.github/workflows/background_agent_mvp.yml')"

Release Notes:

- N/A

morgankrey created

03ed4e9 ep: Fix Unicode chars boundary (#49384)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

a5dee51 sidebar: Serialize after adding/removing workspaces (#49372)

Click to expand commit body
Before this PR we wouldn't always serialize workspaces when a
mutliworkspace adds/removes a workspace. This PR fixes this by adding a
test and calling serialization in remove

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Anthony Eid created

91b3191 Add git worktree remove/rename API (#49135)

Click to expand commit body
Add `remove_worktree()` and `rename_worktree()` to the `GitRepository`
trait with `RealGitRepository` implementations that shell out to `git
worktree remove/move`.

Implement all 4 worktree methods (`worktrees`, `create_worktree`,
`remove_worktree`, `rename_worktree`) on `FakeGitRepository` backed by
`FakeGitRepositoryState`, with `simulated_create_worktree_error` for
test-time fault injection.

Add `set_create_worktree_error()` helper on `FakeFs`.

Add `parse_worktrees_from_str` helper and 7 new tests covering real git
operations and fake worktree lifecycle.

Closes AI-31

Release Notes:

- N/A

Richard Feldman created

1a4d5fe Fix error message wrapping in Callout component (#49370)

Click to expand commit body
## Before

<img width="1596" height="230" alt="repro"
src="https://github.com/user-attachments/assets/d96d9bc4-cc46-4c11-8ac8-0051a1a51316"
/>

## After

<img width="1000" height="800" alt="error_message_wrapping"
src="https://github.com/user-attachments/assets/7553607a-2cbf-414d-9794-dbd6f3b0f9eb"
/>


Previously, error message text was overflowing and getting clipped
instead of wrapping when displaying long error messages (e.g. rate limit
errors in the agent panel).

Closes AI-38

Release Notes:

- Fixed long error messages (e.g. rate limit errors) being clipped
instead of wrapping in the agent panel.

Richard Feldman created

9e02da9 agent_ui: Route agent thread feedback through Cloud (#49324)

Click to expand commit body
This PR updates the `Agent Thread Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.

Closes CLO-223.

Release Notes:

- N/A

Marshall Bowers created

aaea63c Strip comment and list prefixes in `vim: join lines` (#49295)

Click to expand commit body
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Improved the behavior of the `vim: join lines` and `editor: join lines`. Comment and other language specific line prefixes are now stripped from the join line

Ben Kunkle created

014bf4c editor: Fix newline below when selection is at the end of an multibuffer excerpt (#49132)

Click to expand commit body
Switches `newline_below` from adding a newline to the start of the next
line in a multibuffer, to appending a newline at the end of the
selections current lines. This keeps the insertion within the excerpt of
the selection rather than adding a newline to the excerpt below.

Closes #47965

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed `editor::NewlineBelow` adding a newline to the next multibuffer
excerpt when selection is at the end of an excerpt

Austin Cummings created

82ec1aa ruby: Add Kanayago as an available language server (#49262)

Click to expand commit body
Add Kanayago as an available Ruby language server in default settings.
Disabled by default (prefixed with `!`), users can opt-in via their
settings.

This corresponds to the extension-side support added in
zed-extensions/ruby#224.

Release Notes:

- ruby: Added Kanayago as an available language server.

S.H. created

f64484a acp: Update npm package for claude agent (#49353)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

c26784f editor: Improve `buffer_into_editor_highlights` performance (#49349)

Click to expand commit body
This brings the runtime down to logarithmic scaling of excerpts / linear
scaling of tokens.

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

f8f4892 vim: Apply strict paragraph motion only in vim mode (#48024)

Click to expand commit body
Reverts the editor's paragraph navigation behavior that was changed in
#47734. Whitespace-only lines are now treated as paragraph boundaries
again for non-vim mode users.

Vim mode retains its own implementation where only truly empty lines
are paragraph boundaries.

Release Notes:

- Fixed editor paragraph navigation to treat whitespace-only lines as
paragraph boundaries again

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>

lex00 , Claude Opus 4.5 , and dino created

97a21c1 ep: Fix Unicode chars boundary (#49351)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

c70f300 ep: Make `extract_last_codeblock` more robust (#49347)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

96035d1 ep: Repair predictions with too many edits (#49342)

Click to expand commit body
Also fixes batches upload

Release Notes:

- N/A

Oleksiy Syvokon created

92c0de0 acp: Claude Code -> Claude Agent (#49345)

Click to expand commit body
Update based on
https://platform.claude.com/docs/en/agent-sdk/overview#branding-guidelines

ACP package will be updated shortly.

Release Notes:

- acp: Claude Code is now referred to as Claude Agent, per Anthropic
branding guidelines.

Ben Brandt created

af4ecae acp_thread: Log token usage when receiving `StopReason::MaxTokens` (#49343)

Click to expand commit body
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Bennet Bo Fenner created

6f80235 bedrock: Model streamlining and cleanup (#49287)

Click to expand commit body
Release Notes:

- Improved Bedrock error messages: region-locked models ask the user to
try a different region, rate limits and access errors are reported
cleanly instead of as raw API responses
- Streamlined Bedrock model list to 39 curated models
- Fixed API errors when using non-tool models in agent threads

---------

Co-authored-by: Ona <no-reply@ona.com>

Shardul Vaidya and Ona created

891f432 ep: Rework `ep repair` to use original teacher prompt (#49335)

Click to expand commit body
It now creates multi-turn conversation, where first two messages are the
original teacher prompt and output.

This way, we'll have changes in teacher prompt automatically applied to
repair without having to explicitly sync them.


Release Notes:

- N/A

Oleksiy Syvokon created

4344681 ep: Rely on editable_region tags when parsing teacher output (#49334)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

fb66035 ep: Fix edit predictions not showing in new buffer (#49102)

Click to expand commit body
Closes #49081

Release Notes:

- N/A

Oleksiy Syvokon created

ae293de ep: Add metrics for inserted/deleted tokens (#49330)

Click to expand commit body
Other changes:
- Changed tokenization to more code-aware tokenization from split-commit
- Fixed word-diff implementation which was inefficient and sometimes
incorrect

Release Notes:

- N/A

Oleksiy Syvokon created

806e944 Fix EP CLI issues found when generating new teacher predictions (#49327)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

deb26f8 Update our notify crate to fix free after use panic (#49311)

Click to expand commit body
Closes #49067

See https://github.com/zed-industries/notify/pull/2 for more details

Note: notify already fixed this upstream, and I'm planning on using
their crate as our dependency once their v9 is officially released.

Release Notes:

- Fix panic that could occur when navigating external code

Anthony Eid created