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:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
1a43b4b
docs: Fix content in some AI pages (#50129)
Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/50118.
Release Notes:
- N/A
Danilo Leal
created
a18b772
Add GPT-5.3-Codex BYOK model under the OpenAI provider (#50122)
Click to expand commit body
Adds `gpt-5.3-codex` as a built-in model under the OpenAI provider for
BYOK usage.
Model specs:
- 400,000 context window
- 128,000 max output tokens
- Reasoning token support (default medium effort)
- Uses the Responses API (like other codex models)
- Token counting falls back to the gpt-5 tokenizer
Closes AI-59
Release Notes:
- Added support for GPT-5.3-Codex as a bring-your-own-key model in the
OpenAI provider.
Documentation updates for Preview release - generated by
docs-suggest-publish
Release Notes:
- N/A
morgankrey
created
646ec5e
docs: Remove Preview callouts for stable release (#50119)
Click to expand commit body
This PR removes Preview callouts from documentation for features that
are now in Stable.
Features documented with Preview callouts are now included in the stable
release.
Generated by script/docs-strip-preview-callouts
Release Notes:
- N/A
This is a follow-up on #50027
I address my comments by adding a hash map look-up to find the selected
pending commit. I also removed the limitation where we would only retry
finding the pending commit 5 times. The pending selection is removed
when the graph is fully loaded and doesn't contain the pending commit.
This PR also cleans up some internal code structure and starts work to
enable search and propagating git log error messages to the UI.
UI wise I made the git graph item show the repository name instead of
"Git Graph" in Zed.
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
---------
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid
and
Remco Smits
created
046b173
agent: Improve SpawnAgentTool instructions for clarity (#50114)
Click to expand commit body
Trying to keep it from reiterating instructions
Release Notes:
- N/A
Ben Brandt
created
c9aea6f
ep: Stratify by cursor_path by default (#50111)
Click to expand commit body
Also, `ep split train=100` now means 100 lines, not 100 groups (repos or
cursor_paths).
Release Notes:
- N/A
Oleksiy Syvokon
created
706faa9
project_panel: Fix selection not updating for already-visible gitignored files (#49521)
Click to expand commit body
## Summary
- Keep auto-reveal behavior for ignored files unchanged (no implicit
reveal).
- When an ignored file is already visible in the project panel, mark it
as selected on `ActiveEntryChanged`.
- Add regression coverage for switching back to a visible gitignored
file.
## Testing
- `project_panel_tests::test_autoreveal_and_gitignored_files`
- `project_panel_tests::test_gitignored_and_always_included`
- `project_panel_tests::test_explicit_reveal`
Closes #49515
Release Notes:
- Fixed project panel not updating selection when switching to a
gitignored file that was already visible.
Efe
created
6acc1a3
Remove dead AgentGitWorktreeInfo code (#50101)
Click to expand commit body
This code was part of a series of stacked diff PRs that became obsolete
because we changed the UI design, so none of this code is necessary
anymore.
Release Notes:
- N/A
Richard Feldman
created
1b2c1b4
Fix a bug where closing the workspace could skip the dirty check for other workspaces (#50105)
Click to expand commit body
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:
- N/A
This PR adds the small UI change of `git diff --numstat` to the git
panel so you can see the number of additions/deletions per file. There
is an option in the settings UI for this under `git_panel`.`diff_stats`.
This option is set to `false` by default.
<!-- initial version <img width="1648" height="977" alt="Screenshot
2026-02-18 at 18 42 47"
src="https://github.com/user-attachments/assets/b8b7f07c-9c73-4d06-9734-8f1cf30ce296"
/> -->
<img width="1648" height="977" alt="Screenshot 2026-02-18 at 21 25 02"
src="https://github.com/user-attachments/assets/73257854-6168-4d12-84f8-27c9e0abe89f"
/>
Release Notes:
- Added git diff stats to git panel entries
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Anthony Eid <anthony@zed.dev>
Bob Mannino
,
Danilo Leal
, and
Anthony Eid
created
f4920f4
Fix Zed panicking on invalid ranges in semantic token deltas (#50106)
Click to expand commit body
Closes ZED-59J
Release Notes:
- Fixed Zed panicking on invalid ranges in semantic token deltas
Kirill Bulatov
created
c40cc0c
extension_ci: Ensure version bump does not happen too often (#50108)
f786e04
Notify after populating MCP server IDs (#50089)
Tom Houlé
created
c235d53
agent: Support streaming tool input (#50099)
Click to expand commit body
This PR introduces a `ToolInput` struct which allows tools to receive
their inputs incrementally as they stream in. Right now no tool makes
use of the streaming APIs, will be used for the streaming edit file tool
in #50004
Release Notes:
- N/A
Bennet Bo Fenner
created
3714f31
extension_ci: Fix condition comparison type (#50100)
Click to expand commit body
No comment.
No string.
And this definitely does not spark joy.
Release Notes:
- N/A
Finn Evers
created
533cdb8
gpui(linux): Fix RefCell borrow panic when callbacks register new callbacks (#49533)
Click to expand commit body
## Summary
Fixes RefCell borrow panic on Linux (Wayland and X11) when callbacks try
to register new callbacks.
**Root cause:** Linux GPUI backends invoked callbacks while still
holding a `RefCell` borrow on the `Callbacks` struct. If a callback
tried to register a new
callback (e.g., `on_window_should_close`), it would panic with "already
borrowed: BorrowMutError".
**Bug pattern:**
```rust
// Callback runs while borrow is held - panics if callback borrows
callbacks
if let Some(ref mut fun) = self.callbacks.borrow_mut().input {
fun(input);
}
Fix: Apply the take-call-restore pattern (already used in macOS
backend):
// Take callback out, release borrow, call, restore
let callback = self.callbacks.borrow_mut().input.take();
if let Some(mut fun) = callback {
let result = fun(input);
self.callbacks.borrow_mut().input = Some(fun);
}
Changes
- Wayland (window.rs): Fixed 6 callback invocations
- X11 (window.rs): Fixed 4 callback invocations
Test plan
- cargo check -p gpui compiles successfully
- Tested on Linux (Wayland) - no more RefCell panic
Release Notes:
- Fixed a crash on Linux when window callbacks attempted to register new
callbacks
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
cardinalpointstudio
and
Claude Opus 4.5
created
ea09744
zeta2: Try to fix ep disabled in buffer bugs (#50098)
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:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
ff83f08
python: Fix warning in injections query (#49397)
Click to expand commit body
Release Notes:
- N/A
Finn Evers
created
afadd4b
agent_server: Remove root_dir from agent server connect APIs (#50093)
Click to expand commit body
This isn't necessary and allows us to potentially share processes across
threads.
Release Notes:
- N/A
Using zoom now temporarily hides the sidebar. Unzooming reopens the
sidebar
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Cameron Mcloughlin
created
54ac532
agent_servers: Use agent display_name for session titles (#50092)
Click to expand commit body
Use a separate `display_name` field (distinct from `server_name`) so
that session titles show a human-readable name. For custom agents this
resolves to the configured display name; for built-ins it falls back to
the server name.
Release Notes:
- N/A
Discussed in #6668 specifically this comment from @zackangelo:
> The biggest thing keeping me from using Zed as a daily driver is error
indication in the project panel. When I'm making big project-wide
changes I can't clearly see which files have errors (in editors like
VSCode the filenames turn red).
> VSCode seems to use a letter on the right gutter to indicate git
status and a number next to it to indicate diagnostic status. The color
indicates either.
This PR implements that, I added an opt-in `diagnostic_badges` setting
(default is false) that shows error and warning counts as colored labels
on the right side of each project panel entry. Counts bubble up to
parent directories.
When `diagnostic_badges` is enabled, diagnostic severity takes priority
over git status for entry text color.
Since warnings and git-modified share the same yellow, git status with
this option on is readable through the file icon decoration and the
absence of a number badge on the right.
Example:
<img width="522" height="785" alt="image"
src="https://github.com/user-attachments/assets/2da62580-86fe-480b-9b57-ff137ea42285"
/>
<img width="884" height="580" alt="image"
src="https://github.com/user-attachments/assets/198e9a45-dacd-4f1e-a66c-f2b84fd4db63"
/>
Release Notes:
- Added diagnostic count badges to the project panel, displaying error
and warning counts next to file names. You can modify this setting using
the `diagnostic_badges` option, which is enabled by default.
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Davide Scaccia
and
Smit Barmase
created
13eb0f6
git_ui: Improve connection between the graph and commit views (#50027)
Click to expand commit body
- Enabled opening the Git Graph, with the corresponding commit detail
drawer open, from the commit view
- Redesigned the commit view's header and toolbar to allow addition of
the Git Graph icon button
- Redesigned icons for the Git Graph and commit view
https://github.com/user-attachments/assets/8efef60a-0893-4752-9b40-838da21ceb54
---
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:
- N/A (_Git Graph is still feature flagged, so no release notes for
now_)
Danilo Leal
created
bc023b3
languages: Improve completion sorting for Python-based LSPs (#47160)
Click to expand commit body
Closes #47086
This PR detects completion items ending with `=` (which typically
represent keyword arguments in function calls provided by
`Pyright`/`BasedPyright`/`pylsp`) and assigns them the highest sorting
priority.
This ensures that when a user is filling out function arguments, the
named parameters appear at the top of the list, rather than being buried
mixed with other symbols.
After fix:
<img width="786" height="460" alt="image"
src="https://github.com/user-attachments/assets/75e94b0f-a2e7-4876-b9bd-02ad98cc8c50"
/>
> **Note on Sorting:** Currently, these named arguments will be sorted
alphabetically by label. Preserving the original order of the function
definition would be ideal, but it requires information not currently
available in this logical block. Insights on how to retrieve the
definition order would be appreciated.
> **Note on other LSPs:**
> * **`ty`**: Already provides well-sorted completions natively, so no
intervention is required.
Release Notes:
- Improved completion order for Python-based LSPs
Xin Zhao
created
6fb5109
agent_ui: Refresh agent registry when reopening page (#50078)
Click to expand commit body
Make sure we get an up-to-date list whenever you actually visit the page
Release Notes:
- N/A
This adds `debug_panel::Toggle` which is the same as
`terminal_panel::Toggle` but for the debug panel. It also moves
`debug_panel::{Toggle, ToggleFocus}` to its own `pub mod` for
consistency with other keybinds.
[Related
discussion](https://github.com/zed-industries/zed/discussions/47931#discussion-9404091)
Release Notes:
- Added `debug_panel::Toggle` to show/hide debug panel like
`terminal_panel::Toggle`
Samuel Domínguez Lorenzo
created
938b8ab
languages: Add `.mdc` as a recognized Markdown file suffix (#50074)
Click to expand commit body
Highlight files ending in `.mdc` as Markdown.
The `.mdc` extension is used by Cursor for its Markdown-based rule files
(`.cursor/rules/*.mdc`). These files are standard Markdown with optional
YAML frontmatter, which the existing Markdown grammar already handles
well. Adding `.mdc` to the recognized suffixes ensures proper syntax
highlighting out of the box.
This was requested during review of the agnix extension PR
([zed-industries/extensions#4743](https://github.com/zed-industries/extensions/pull/4743))
by @MrSubidubi as the preferred approach over defining a custom MDC
language in an extension.
Release Notes:
- Added `.mdc` as a recognized Markdown file extension.
Avi Fenesh
created
3d5c8a5
thread_view: Add fallback error handling for connect failures (#50063)
Click to expand commit body
Following up from https://github.com/zed-industries/zed/pull/50061: when
connecting to an ACP adapter fails before any thread is active, errors
would not display in the Agent Panel. Falling back to
`handle_load_error` to show the error UI properly as it already handles
this.
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:
- Added fallback error handling for connect failures in the Agent Panel
Kunall Banerjee
created
ca066cb
Replace some hot `TreeMaps` with `Arc<HashMap>` (#49984)
Click to expand commit body
These tend to be very often mutated while we don't really need the
subtree sharing of TreeMaps, so replacing them here is generally
cheaper.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Co-authored by: John Tur <jtur@zed.dev>
Lukas Wirth
created
7e3e168
Fix window bounds related bugs from multi-workspace serialization (#50065)
Click to expand commit body
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:
- N/A
Mikayla Maki
created
21bd74a
text: Narrow insertion-relative offsets from `usize` to `u32` (#49801)
Click to expand commit body
Reduces memory usage of `InsertionSlice` from 32 to 24 bytes, `Fragment`
from 120 to 96 bytes by narrowing offsets that are relative to
individual insertion operations from `usize` to `u32`. These offsets are
bounded by the size of a single insertion, not the total buffer size, so
`u32` is sufficient.
To prevent any single insertion from exceeding `u32::MAX` bytes, both
`Buffer::new_normalized` and `apply_local_edit`/`apply_remote_edit` now
split large text insertions into multiple fragments via
`push_fragments_for_insertion`.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
a0d7698
agent: Delay edit tool buffer clearing until the first chunk is sent (#49633)
Click to expand commit body
Release Notes:
- The agent edit tool no longer clears files until the first edit comes
in, preventing a buffer being empty for prolonged time if the agent is
slow in reporting the first text chunk
Fixes ZED-596
Release Notes:
- Fixed a panic in editor::GoToDefinitionSplit if you managed to close
the current pane before the definitions were resolved
Conrad Irwin
created
0103f15
agent_server_store: Broaden Windows asset detection to all architectures (#50061)
Click to expand commit body
Previously only `x86_64` Windows used ZIP archives, but ARM64 Windows
builds also use ZIP format.
Closes #50039.
> [!NOTE]
> The P1 is two-fold: the user cannot download the ZIP file on Windows
ARM. BUT -- the Agent Panel is stalled because of that. This ONLY makes
it so that the ZIP download doesn’t fail, but if for some reason the
download fails, the panel is genuinely stuck with no recovery path.
Every restart attempts the same download, hits the same GZIP error, and
silently drops it again.
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:
- Broaden Windows asset detection to all architectures
Kunall Banerjee
created
cb793a4
Fix a panic when git askpass triggers during commit (#50057)
Click to expand commit body
Fixes ZED-597
Release Notes:
- Fixed a panic when the askpass dialogue opened while committing.
Fixes ZED-599
register_buffer() only sometimes registers the buffer
Release Notes:
- Fixed a panic in Copilot completions
Conrad Irwin
created
3275481
Fix race condition in channel notes rejoin (#50034)
Click to expand commit body
Closes #49998
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:
- Fixed a (very rare) crash that could happen due to lost edits in
channel buffers
Conrad Irwin
created
bc81ada
Fix panic in can_resolve when passed an invalid excerpt ID (#50052)
Click to expand commit body
Fixes ZED-59F
This is follow-up work from #49994; which assumed that can_resolve would
return
false for an invalid excerpt id.
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:
- N/A
Conrad Irwin
created
0caaecc
Fix panic in message editor paste (#50051)
Click to expand commit body
Fixes ZED-4KY
Release Notes:
- Fixed a panic when pasting into the agent UI
Conrad Irwin
created
c94a9b7
Edit prediction: prioritize related excerpts that are referenced near the cursor (#50050)
Click to expand commit body
We store the byte distance between the cursor and references to each
definition. When including excerpts in the prompt, we prioritize them in
the order of proximity. I've updated the Edit Prediction Context view to
display the excerpt's `order`, and sorting the files in order of their
excerpt with the lowest order.
Release Notes:
- N/A
Max Brunsfeld
created
23f7bde
git: Simplify excerpt syncing code for `SplittableEditor` (#49943)
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:
- N/A
Cole Miller
created
6111af7
Use a separate feature flag for EP jumps than for zeta2 (#50041)
Click to expand commit body
This allows us to enable zeta2 for certain end users without opting them
into the still-in-development jumps feature.
Release Notes:
- N/A
Max Brunsfeld
created
c3efb13
agent_ui: Add some UI adjustments to subagents (#50032)
Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/49938:
- Adding the gradient overlay in all states within the preview slot
- Remove label from the "Full Screen" button to make it simpler and more
minimal
<img width="400" height="1182" alt="Screenshot 2026-02-24 at 7 59@2x"
src="https://github.com/user-attachments/assets/3c30e2b2-a572-4438-8cd3-4879bf54fea0"
/>
Release Notes:
- N/A
Danilo Leal
created
04db6c3
zeta2: Use editable range returned by cloud for prediction diffs (#50029)
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:
- N/A *or* Added/Fixed/Improved ...
Co-authored-by: Max <max@zed.dev>
Ben Kunkle
and
Max
created
67b52f3
auto_update: Persist custom icons across app updates on macOS (#49727)
Click to expand commit body
After setting a custom icon on macOS, an `Icon\r` file is generated in
the application's root directory to store the custom icon metadata.
Currently, the update process uses `rsync -av --delete`, which removes
this `Icon\r` file and causes the custom icon to revert to the default
blue folder.
This PR adds the `--exclude 'Icon?'` parameter to ensure the file is
preserved during updates.
Closes #26639 , Closes #29900.
Since I cannot trigger the auto-update mechanism manually, I mounted the
latest Zed disk image and simulated the update by executing the rsync
command in the terminal to verify the fix.
<img width="2254" height="1596" alt="图片"
src="https://github.com/user-attachments/assets/26660fa4-447f-427a-b2dd-e6280ce3d42d"
/>
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 an issue where custom macOS app icons would revert to default
blue folders after an update.