Commit log

6f71984 Revert "editor: Add `FlexClipped` block style and use it for spacer blocks" (#49508) (cherry-pick to v0.225.x) (#49511)

Click to expand commit body
Reverts zed-industries/zed#49478

Release Notes:

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

Cole Miller created

a10e43e v0.225.x preview

Joseph T. Lyons created

71ffaeb Update AI docs for retired hosted models (#49486)

Click to expand commit body
## Summary
- Update hosted model and context-window tables in docs/src/ai/models.md
to remove retired models and list current replacements.
- Add a dated Recent Model Retirements section mapping each retired
model to its replacement.
- Update AI docs examples and references in agent-settings.md,
inline-assistant.md, agent-panel.md, and llm-providers.md to use current
model names.
- Remove stale OpenAI model references in llm-providers.md that no
longer align with currently offered hosted models.

## Validation
- ./script/prettier
- ./script/check-todos

## Suggested .rules additions
- N/A

Release Notes:

- N/A

morgankrey created

66f7aea agent: Disables multi workspace refresh queue for non-staff (#49496)

Click to expand commit body
Refreshing the queue was causing hangs on debug builds, so this is a
short term fix until we rework how the sidebar gets its data.

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
- [ ] 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

e72e9d6 editor: Some more semantic highlighting perf work (#49491)

Click to expand commit body
- Reduce some re-allocations in `text_anchors_to_visible_anchors` and
`refresh_semantic_tokens`
- Process `raw_to_buffer_semantic_tokens` work on the background thread

Release Notes:

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

Lukas Wirth created

a1af11c editor: Add `FlexClipped` block style and use it for spacer blocks (#49478)

Click to expand commit body
`FlexClipped` acts like `Flex`, but only allows the block to render in
the main hitbox, not the gutter. This is a visual improvement for the
spacers compared to `Sticky`.


https://github.com/user-attachments/assets/2b0aed0c-91ff-4e74-85b1-aea81f4e8a35


Release Notes:

- git: Improved the visual display for spacers in the split diff view.

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Cole Miller and Smit Barmase created

d4af860 ep: Update teacher prompt (#49489)

Click to expand commit body
* More conservative predictions for prose
* Explain "user accepted prediction" in the teacher prompt
* Sonnet 4.6 support
* Don't strip comments in teacher prompt's edit history

Release Notes:

- N/A

Oleksiy Syvokon created

4eb1ffa Remove older onboarding modals (#49484)

Click to expand commit body
This PR removes onboarding modals for features that were announced, at
this point, a long time ago: Git v1, Debugger, and Agent Panel v1. This
cleans up the actions list a bit when you search for "onboarding". I
left the ACP and Claude Code ones, though; they were the two more recent
ones, but we should be able to remove them soon enough, too.

Release Notes:

- N/A

Danilo Leal created

b34e1bd Improve agent pull request hygiene (#49469)

Click to expand commit body
## Summary
- Add pull request title and release notes hygiene guidance to `.rules`
- Update docs automation prompt/workflows to use compliant PR titles
- Ensure automated PR bodies include `Release Notes` when missing

Release Notes:

- N/A

morgankrey created

6f578d8 feature_flags: Add note about `acp-beta` feature flag (#49479)

Click to expand commit body
This PR adds a note to the `acp-beta` feature flag about how it is used,
and that it should not be deleted if unreferenced.

Release Notes:

- N/A

Marshall Bowers created

41019b0 gpui: Use `ArenaBox` for `Effect::Emit` payload (#49467)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

6ccf40c acp: Remove unnecessary logs for config options (#49476)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

1957a43 editor: More perf work (#49465)

Click to expand commit body
Seems that `SmallVec::clone` is pretty expensive in a generic case, and
specialising it improves the performance quite a bit!

Release Notes:

- Improved performance of different building blocks within the
MultiBuffer.

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Jakub Konka and Lukas Wirth created

dc41f71 Add documentation suggestion automation (#49194)

Click to expand commit body
Adds scripts and a GitHub Action workflow for automatically suggesting
documentation updates when PRs modify user-facing code.

## Scripts

- **`script/docs-suggest`**: Analyze PRs/commits for documentation needs
using AI
- **`script/docs-suggest-publish`**: Create a PR from batched
suggestions
- **`script/docs-strip-preview-callouts`**: Remove Preview callouts when
shipping to stable
- **`script/test-docs-suggest-batch`**: Testing utility for batch
analysis

## Workflow

The GitHub Action (`.github/workflows/docs_suggestions.yml`) handles two
scenarios:

1. **PRs merged to main**: Suggestions are batched to
`docs/suggestions-pending` branch for the next Preview release
2. **Cherry-picks to release branches**: Suggestions are posted as PR
comments for immediate review

## Callout Types

The system distinguishes between:

- **Additive features** (new commands, settings, UI):
  ```markdown
> **Preview:** This feature is available in Zed Preview. It will be
included in the next Stable release.
  ```

- **Behavior modifications** (changed defaults, altered existing
behavior):
  ```markdown
> **Changed in Preview (v0.XXX).** See [release notes](/releases#0.XXX).
  ```

Both callout types are stripped by `docs-strip-preview-callouts` when
features ship to stable.

## Example Output

See PR #49190 for example documentation suggestions generated by running
this on PRs from the v0.224 preview window.

## Usage

```bash
# Analyze a PR (auto-detects batch vs immediate mode)
script/docs-suggest --pr 49100

# Dry run to see assembled context
script/docs-suggest --pr 49100 --dry-run

# Create PR from batched suggestions
script/docs-suggest-publish

# Strip callouts for stable release
script/docs-strip-preview-callouts
```

Release Notes:

- N/A

morgankrey created

d5d49c1 acp: Update terminal tool call updates if we recieve a new one (#49456)

Click to expand commit body
This showed up mostly in agents that stream terminal output to Zed that
the title wasn't updated in time to see the command when needing to
provide permissions.

Release Notes:

- acp: Fix for ACP terminal titles not always being updated to their
latest value.

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

Ben Brandt and Bennet Bo Fenner created

7d80412 Reduce amount of monomorphizations from FnMut closures (#49453)

Click to expand commit body
Replaces a bunch of `impl FnMut` parameters with `&mut dyn FnMut` for
functions where this is the sole generic parameter.
Release Notes:

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

Lukas Wirth created

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