Commit log

b1ff85b Bump to 0.224.10 for @cole-miller

Zed Zippy created

922ee36 git: Prevent panic when updating excerpts in split diff (cherry-pick #49725) (#49731)

Click to expand commit body
When using the split view, if the project diff inserts excerpts for the
same buffer using two different `PathKey`s, we panic inside
`LhsEditor::update_path_excerpts_from_rhs` because of an implicit
assumption that `excerpts_for_path()` and `excerpts_for_buffer()` return
the same number of values. This PR addresses that by ignoring any
excerpts for the given buffer that have a different path key from the
provided one.

Release Notes:

- Fixed a crash when using the split diff view.

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Eric <eric@zed.dev>

Cole Miller , Jakub Konka , and Eric created

44c4e5c zed 0.224.9

Bennet Bo Fenner created

d28de39 Fix stale folded buffers in split diff view (#49699)

Click to expand commit body
When a buffer is folded in the split diff view and then removed from the
multibuffer (via `remove_excerpts_for_path`), the block map's
`folded_buffers` set retains a stale entry for that buffer ID. Later,
when the split view syncs folded state from the RHS display map to the
LHS, it tries to look up the companion mapping for this stale buffer and
fails because the companion no longer tracks a buffer that's been
removed from the multibuffer.

This originally caused a panic via `.expect()`. This PR:

1. Converts the panic into graceful handling by skipping unmapped
buffers.
2. Actively removes stale entries from `folded_buffers` so they don't
persist as ghost state — ensuring that if the same buffer is later
re-added, it won't incorrectly appear as folded.
3. Adds a regression test covering the full lifecycle: fold → remove →
split → re-add → assert both LHS and RHS report the buffer as not
folded.

Release Notes:

- Fixed a crash in split diff view when a folded buffer was removed and
re-added.

Antonio Scandurra created

3d567d1 agent_ui: Fix panic in load/copy thread to/from clipboard (#49694) (cherry-pick to stable) (#49696)

Click to expand commit body
Cherry-pick of #49694 to stable

----
Fixes ZED-4VW

Release Notes:

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

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

zed-zippy[bot] and Lukas Wirth created

737ce19 Bump to 0.224.8 for @cole-miller

Zed Zippy created

46ca3ff git: Mitigate panic in split diff spacer calculation (#49674) (cherry-pick to stable) (#49676)

Click to expand commit body
Cherry-pick of #49674 to stable

----
Release Notes:

- N/A

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

d5a2495 editor: Fix relative line numbering with deleted blocks present (#49656) (cherry-pick to stable) (#49658)

Click to expand commit body
Cherry-pick of #49656 to stable

----
This tackles another issue where we would incorrectly show two absolute
line numbers with relative line numbering enabled when it really should
only have been the current active line number.

Sadly, no tests rn for this as we would need a better test infra for
that to properly catch/test this bug. But with the refactored logic, I
think this is easier to understand at glance, so at least theres that

Release Notes:

- Fixed an issue with relative line numbers where some rows would be
missing their relative line number with deleted hunks showing.

Co-authored-by: Finn Evers <finn@zed.dev>

zed-zippy[bot] and Finn Evers created

20fe1ff Add telemetry for stack trace view (#49642) (cherry-pick to stable) (#49645)

Click to expand commit body
Cherry-pick of #49642 to stable

----
Release Notes:

- N/A

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

aca915d Bump to 0.224.7 for @rtfeldman

Zed Zippy created

5d913c0 Add gemini-3.1-pro-preview model (#49622) (cherry-pick to stable) (#49634)

Click to expand commit body
Cherry-pick of #49622 to stable

----
Closes AI-48

Release Notes:

- Added support for Gemini 3.1 Pro

Co-authored-by: Richard Feldman <richard@zed.dev>

zed-zippy[bot] and Richard Feldman created

1941889 editor: Fix bracket colorization discoloring pure deletion diff hunks (#49618) (cherry-pick to stable) (#49627)

Click to expand commit body
Cherry-pick of #49618 to stable

----
Release Notes:

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

Co-authored by: Cole Miller <cole@zed.dev>

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

zed-zippy[bot] and Lukas Wirth created

53d1edb Fix the panic when trying to interact with editor-like not-editors (#49608) (cherry-pick to stable) (#49611)

Click to expand commit body
Cherry-pick of #49608 to stable

----
For example, LSP log view is not a real editor but can pretend to be
one.

Release Notes:

- Fixed dev highlights view panicking when interacting with editor-like
not-editors

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

zed-zippy[bot] and Kirill Bulatov created

db635d0 Bump to 0.224.6 for @cole-miller

Zed Zippy created

cfc83ac git: Mitigate panic in split diff (#49546) (cherry-pick to stable) (#49549)

Click to expand commit body
Cherry-pick of #49546 to stable

----
Release Notes:

- N/A

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

15b21ad Revert "Added support for dismissing the toolchain path selector via … (#49504) (cherry-pick to stable) (#49529)

Click to expand commit body
Cherry-pick of #49504 to stable

----
…`esc` (#48201)"

This reverts commit 174fc5115243fda191da6a526fa1f12b627c1fcd.

Select toolchain path dialog immediately dismisses upon selecting a
path, preventing the addition of new toolchains

- OpenPathDelegate emits DismissEvents in the `confirm` function too
- when the selection is confirmed, DismissEvent is emitted
- ToolchainSelector calls cancel because it receives the DismissEvent,
and it goes to the Search State
- This prevents the selected toolchain from being resolved and the
ScopePicker being presented

cc: @JosephTLyons 

Release Notes:

- Fixed a regression where the toolchain path selector would immediately
dismiss upon selecting a path, preventing the addition of new
toolchains.

Co-authored-by: Kurian Jojo <67583328+polyesterswing@users.noreply.github.com>

zed-zippy[bot] and Kurian Jojo created

50cb83e Bump to 0.224.5 for @cole-miller

Zed Zippy created

40aa081 Revert "editor: Add `FlexClipped` block style and use it for spacer blocks" (#49508) (cherry-pick to preview) (#49510)

Click to expand commit body
Cherry-pick of #49508 to preview

----
Reverts zed-industries/zed#49478

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

3ade1a5 v0.224.x stable

Joseph T. Lyons created

d09f817 Cherry-pick: editor: Some more semantic highlighting perf work (#49495)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

3b5dffe editor: Add `FlexClipped` block style and use it for spacer blocks (#49478) (cherry-pick to preview) (#49492)

Click to expand commit body
Cherry-pick of #49478 to preview

----
`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>

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

zed-zippy[bot] , Cole Miller , and Smit Barmase created

d0f6c0d editor: More perf work (#49465) (cherry-pick to preview) (#49470)

Click to expand commit body
Cherry-pick of #49465 to preview

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

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

zed-zippy[bot] , Jakub Konka , and Lukas Wirth created

e799633 editor: Batch calls to fold_buffer in ProjectDiff::refresh (#49278) (#49451)

Click to expand commit body
Cherry-pick of #49278 to preview.

Release Notes:

- Improved project diff performance when opening very large
diffs/repositories.

Jakub Konka created

72c22b5 acp: Update terminal tool call updates if we recieve a new one (#49456) (cherry-pick to preview) (#49458)

Click to expand commit body
Cherry-pick of #49456 to preview

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

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

zed-zippy[bot] , Ben Brandt , and Bennet Bo Fenner created

2818271 git_ui: Fix tree view next selection out of bounds (#49283) (cherry-pick to preview) (#49415)

Click to expand commit body
Cherry-pick of #49283 to preview

----
Closes #49259

Release Notes:

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

---------

Co-authored-by: Mayank Verma <errmayank@gmail.com>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

zed-zippy[bot] , Mayank Verma , and Jakub Konka created

2cbc29c 0 224 cherry pick zeta api changes (#49428)

Click to expand commit body
This cherry-picks 4 Zeta-related PRs to the 0.224 (currently in preview)
branch.

Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Max Brunsfeld , Oleksiy Syvokon , Ben Kunkle , and Zed Zippy created

ff6a151 git: Fix panic in split diff when edits cause excerpts to merge (#49122) (cherry-pick to preview) (#49413)

Click to expand commit body
Cherry-pick of #49122 to preview

----
Our strategy for keeping excerpts in sync between the two sides of the
split diff is generally

- mutate the excerpts on the RHS
- pull out the new excerpts for the affected path from the RHS
- translate those ranges to the LHS
- update the LHS excerpts with those ranges

But this can break down when the translated ranges overlap on the LHS
despite the original ranges not overlapping on the RHS. This can happen,
for example, when a large deletion in a file crosses several excerpt
boundaries. It's rare because normally excerpt boundaries in the project
diff and branch diff are adjusted to keep entire diff hunks in view, but
we defer this for dirty files, so it's not hard to trigger it when using
the agent or editing an individual file while the diff is open in
another tab.

Release Notes:

- Fixed a panic that could occur when editing files while the project
diff or branch diff was open.

---------

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

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

zed-zippy[bot] , Cole Miller , and Zed Zippy created

94818b9 git: More performance improvements when toggling between diff views (#49400) (cherry-pick to preview) (#49412)

Click to expand commit body
Cherry-pick of #49400 to preview

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

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

zed-zippy[bot] , Cole Miller , Jakub Konka , and Lukas Wirth created

3015457 Bump to 0.224.4 for @rtfeldman

Zed Zippy created

9518ec3 Add support for Claude Sonnet 4.6 (#49386) (cherry-pick to preview) (#49392)

Click to expand commit body
Cherry-pick of #49386 to preview

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

71ead4c Handle newlines better in parse_edits (#48960) (cherry-pick to preview) (#49369)

Click to expand commit body
Cherry-pick of #48960 to preview

----
Release Notes:

- Fix a potential crash around multibyte characters in edit predictions

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>

Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>

zed-zippy[bot] , Eric Holk , and Ben Kunkle created

b9dd7b9 ruby: Add Kanayago as an available language server (#49262) (cherry-pick to preview) (#49357)

Click to expand commit body
Cherry-pick of #49262 to preview

----
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.

Co-authored-by: S.H. <gamelinks007@gmail.com>

zed-zippy[bot] and S.H. created

a030335 acp: Update npm package for claude agent (#49353) (cherry-pick to preview) (#49354)

Click to expand commit body
Cherry-pick of #49353 to preview

----
Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

a2fed65 editor: Improve `buffer_into_editor_highlights` performance (#49349) (cherry-pick to preview) (#49352)

Click to expand commit body
Cherry-pick of #49349 to preview

----
This brings the runtime down to logarithmic scaling of excerpts / linear
scaling of tokens.

Release Notes:

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

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

zed-zippy[bot] and Lukas Wirth created

655c81b acp: Claude Code -> Claude Agent (#49345) (#49348)

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

85398ee zed 0.224.3

Bennet Bo Fenner created

a7aeb94 Update our notify crate to fix free after use panic (#49311) (cherry-pick to preview) (#49338)

Click to expand commit body
Cherry-pick of #49311 to preview

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

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>

zed-zippy[bot] and Anthony Eid created

e64f314 acp: Allow permissions on existing terminal tool calls (#49270) (cherry-pick to preview) (#49271)

Click to expand commit body
Cherry-pick of #49270 to preview

----
It is possible, when the agent is streaming the tool call, that we will
get a permission request on an existing terminal and we need to render
that.

When Zed controls the terminal this won't happen, but when we are just
rendering the output, it can happen and we need to show it.

Release Notes:

- agent: Fix permission options not rendering on terminal commands

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

2564c83 zed 0.224.2

Bennet Bo Fenner created

cd77d99 gpui: Fix thermal state notifications on intel macOS (#49086) (cherry-pick to preview) (#49248)

Click to expand commit body
Cherry-pick of #49086 to preview

----
Fixes
https://github.com/zed-industries/zed/pull/45638#issuecomment-3893732034
Closes #49005

The issue was similar to the one we already had with the quit method

https://github.com/zed-industries/zed/blob/8249ef56187b966c33f6667d0d3a35d88d8f2dc0/crates/gpui/src/platform/mac/platform.rs#L491

@notpeter Could you please test this branch to confirm it resolves the
issue?

- [ ] Tests or screenshots needed?
- [x] Code Reviewed
- [ ] Manual QA

Release Notes:

- Fixed an issue where Zed would randomly crash on macOS intel

Co-authored-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>

zed-zippy[bot] and Marco Mihai Condrache created

eb6e815 editor: Fix to remove non-functional folding creases from the gutter (#49200) (cherry-pick to preview) (#49212)

Click to expand commit body
Cherry-pick of #49200 to preview

----
Lsp-based folding disables indentation-based folding. Even though
indentation-based folding is non-functional, the crease icon is still
displayed in the gutter. This PR fixes this mismatch.

Before:
<img width="651" height="199" alt="before"

src="https://github.com/user-attachments/assets/ebd202e8-9eda-43c9-adbd-767e9802e590"
/>

After:
<img width="666" height="197" alt="after"

src="https://github.com/user-attachments/assets/b498e325-cd06-4c51-afdb-fcda4f1a25e6"
/>


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:

- Removed non-functional folding creases from the gutter.

Co-authored-by: ozacod <ozacod@users.noreply.github.com>

Co-authored-by: ozacod <47009516+ozacod@users.noreply.github.com>
Co-authored-by: ozacod <ozacod@users.noreply.github.com>

zed-zippy[bot] , ozacod , and ozacod created

6256b00 Fix exotic fold range kinds (#49151) (cherry-pick to preview) (#49152)

Click to expand commit body
Cherry-pick of #49151 to preview

----
Follow-up of https://github.com/zed-industries/zed/pull/48611

Despite Zed not declaring such support in its capabilities,



https://github.com/zed-industries/zed/blob/a0eb63d1affb6e7b7991e477c7e05824d0250255/crates/lsp/src/lsp.rs#L1010-L1016

`json-language-server` returns `object` as a folding range kind:

<img width="1728" height="720" alt="bad"

src="https://github.com/user-attachments/assets/ee574879-8657-41c8-ab12-562f3882f057"
/>

The spec, even 3.18, does not really seem to allow it explicitly:

https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#foldingRangeKind

but mentions that the real type

> The type is a string since the value set is extensible

The PR adds a capture enum variant for such cases, to get the folds in
instead of failing on deserialization.

See also: https://github.com/zed-industries/lsp-types/pull/10

Release Notes:

- Fixed `json-language-server` document folds not being parsed correctly

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

zed-zippy[bot] and Kirill Bulatov created

76f1876 Bump to 0.224.1 for @probably-neb

Zed Zippy created

ff82952 Cherry-pick "git: Remove unnecessary block map recomputation when splitting `SplittableEditor` (#49075)" to v0.224.x (#49127)

Click to expand commit body
Release Notes:

- Improved performance when toggling from the unified diff to the split
diff.

Co-authored-by: Jakub <jakub@zed.dev>
Co-authored-by: Cameron McLoughlin <cameron.studdstreet@gmail.com>

Cole Miller , Jakub , and Cameron McLoughlin created

0aae8dc ep: Fix panic when merging events from different buffers (#49097) (cherry-pick to preview) (#49125)

Click to expand commit body
Cherry-pick of #49097 to preview

----
Release Notes:

- N/A

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>

zed-zippy[bot] and Oleksiy Syvokon created

31ea733 Separate accepted edit predictions in edit history (#49056) (cherry-pick to preview) (#49123)

Click to expand commit body
Cherry-pick of #49056 to preview

----
Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

zed-zippy[bot] , Oleksiy Syvokon , Ben Kunkle , and Max Brunsfeld created

d73ef24 git: Fix misalignment in the split diff when inlays fall at the end of an excerpt (#49078) (cherry-pick to preview) (#49124)

Click to expand commit body
Cherry-pick of #49078 to preview

----
- [x] Tests or screenshots needed?
- [ ] Code Reviewed
- [x] Manual QA

Release Notes:

- Fixed misalignment of lines in the split diff when using inlay hints.

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

4793371 Fix semantic highlights not cleared when disabled in settings (#49066)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/49060

Release Notes:

- Fixed semantic highlights not cleared when disabled in settings

Kirill Bulatov created

01043f9 Potentially fix hang when opening LSP menu (#49046) (cherry-pick to preview) (#49048)

Click to expand commit body
Cherry-pick of #49046 to preview

----
It is maybe possible that, if a process's parent dies, the PID can be
reused by a different process. This could cause an infinite loop in
`is_descendant_of`. To fix this, break out of the loop when a cycle is
detected.

- [ ] Tests or screenshots needed?
- [X] Code Reviewed
- [X] Manual QA

Release Notes:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>

Co-authored-by: John Tur <john-tur@outlook.com>
Co-authored-by: Eric Holk <eric@zed.dev>

zed-zippy[bot] , John Tur , and Eric Holk created

4291288 git: Disable some more expensive things for the split diff's left-hand side (#48953) (cherry-pick to preview) (#48979)

Click to expand commit body
Cherry-pick of #48953 to preview

----
- Conflict UI
- LSP data
- Runnables

Release Notes:

- Improved performance when opening the split diff view.

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created