8aea362
v0.221.x preview
Joseph T. Lyons created
8aea362
v0.221.x preview
Joseph T. Lyons created
099650f
ep: Check whether predictions worsen brace balance (#47301)
Release Notes: - N/A
Oleksiy Syvokon created
40fe799
Use arithmetic expansion instead of `expr` in `./script/clear-target-dir-if-larger-than` (#47298)
Fixes CI failures when the target dir is 0GB in size, which causes `expr` to output a non-zero exit code per the posix spec. See exit status section of https://www.man7.org/linux/man-pages/man1/expr.1p.html Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8fb5587
agent_ui: Alphabetically sort edited files in the panel & review view (#47300)
This makes the ordering of files consistent with the Git diff view. Release Notes: - N/A
Danilo Leal created
1b0771e
agent_ui: Improve UI for subagent calls (#47299)
- Improves spacing between consecutive calls - Only show disclosure button (i.e., ability to expand the card) when there's actual content - Fix font size being bigger than the actual thread - Add gradient overlay to communicate that you can't scroll within the card (expanding the subagent call will allow that in the near future) Here's the result of it all, roughly: <img width="600" height="890" alt="Screenshot 2026-01-21 at 12 26@2x" src="https://github.com/user-attachments/assets/e5e4a544-611d-48f5-b00d-f69e869726c5" /> Release Notes: - N/A
Danilo Leal created
1103f3b
acp: Allow running NPM agents from registry (#47291)
Release Notes: - N/A
Ben Brandt created
69ea59d
agent_servers: Don't fill in unneeded fields in settings when auto-adding new agent servers (#47293)
Adding some serde magic to avoid adding a bunch of empty fields to the settings file. Release Notes: - N/A
Ben Brandt created
db37fb0
themes: Fix One Light terminal cyan color (#45691)
Closes #45075 The cyan terminal colors in One Light were incorrectly set to the same values as green, making them indistinguishable. This was introduced in https://github.com/zed-industries/zed/pull/44912 Release Notes: - Fixed terminal cyan color displaying as green in One Light theme
Mateo Kruk created
5e1b7ae
agent_ui: Fix keybinding conflict with editing queued messages (#47290)
This PR fixes `shift-e` being used for triggering edits in queued messages, which breaks writing simple capital E in the editor. Release Notes: - N/A
Danilo Leal created
5751aeb
languages: Fix `poetry` environment discovery on Linux (#47100)
Closes #47098 The root cause of this issue is related to how `Poetry` (and the upstream `pet-poetry` library) handles path hashing. While perhaps it's an upstream behavior, we can easily fix it on the Zed side. The related code are https://github.com/zed-industries/zed/blob/7ce845210d3af82a57a7518e0abe8c167d60cc6a/crates/languages/src/python.rs#L1181-L1211 In my debugging, I found that `worktree_root` takes the form `/home/user/project`, but `config.workspace_directories` often ends up as `/home/user/project/`(with a trailing slash). Normally this wouldn't be an issue, but `Poetry` generates environment names based on the hash of the absolute path. Since the hashes for `/home/user/project` and `/home/user/project/` are different, `pet-poetry` fails to find the environment. The fix is straightforward: we just need to ensure the trailing `/` is removed so the hashes match. Release Notes: - Fixed poetry environment not discovered on linux
Xin Zhao created
ed29b46
project_panel: Fix "Add Folder to Project" menu hidden on remote projects (#47283)
Fixes an unintended behavioral change from #40838. Release Notes: - Fixed "Add Folder to Project" and "Remove from Project" menu items being incorrectly hidden on remote projects.
Smit Barmase created
a53017c
ep: Don't compute n-grams for regions that match exactly (#47281)
This makes delta-chrF computation ~50 faster. Release Notes: - N/A
Oleksiy Syvokon created
a608ee6
remote_server: Fix remote project search include/exclude filters for multiple worktrees (#47280)
Closes #45772 Release Notes: - Fixed project search include/exclude filters not working correctly in remote project with multiple folders.
Smit Barmase created
b22d129
acp: Filter out built-in agents from the registry (#47279)
Release Notes: - N/A
Ben Brandt created
6ab03c6
onboarding: Fix theme picker always updating theme based on system appearance (#47245)
The settings store separate themes for Light and Dark modes. When the user clicks a theme, the code uses the system appearance to decide which to update, rather than the mode the user selected in the UI. This causes the wrong theme to be saved when the system appearance differs from the selected mode. <img width="746" height="324" alt="image" src="https://github.com/user-attachments/assets/b8f8d937-172d-4da8-b572-4f3db7f1de9a" /> Release Notes: - Fixed onboarding page sometimes rendering the wrong theme --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Michael Hackner , Claude Opus 4.5 , and MrSubidubi created
7bd3075
open_ai: Support reasoning content (#43662)
Support for Kimi K2 Thinking Release Notes: - Added support for thinking traces when using OpenAI-API-compatible AI providers --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Aero and Bennet Bo Fenner created
5731066
ep: Fix in-place processing (#47274)
Release Notes: - N/A
Oleksiy Syvokon created
67d3804
agent: Allow env overrides for extension and registry agents (#47275)
Align the behavior with built-in and custom agents Release Notes: - N/A
Ben Brandt created
8c8639f
git: Fix buffer diff crash that could occur during the stage all operation (#47265)
Closes https://github.com/zed-industries/zed/issues/46519 This crash happened because we were incorrectly merging pending and unstaged hunks together by always using the pending hunk end offset as the merged hunk bound instead of the max of both hunks. The fix is to use `max()` when updating `buffer_offset_range.end` during pending hunk merging, matching the behavior used for unstaged hunk merging. Release Notes: - N/A
Anthony Eid created
a191444
gpui: Preserve rem_size context for deferred draws (#47263)
Closes #46328 Release Notes: - Fixed agent model selector cutting off models at the end of the list.
Smit Barmase created
21050e2
Fix nested request rate limiting deadlock for subagent edit_file (#47232)
## Problem When subagents use the `edit_file` tool, it creates an `EditAgent` that makes its own model request to get the edit instructions. These "nested" requests compete with the parent subagent conversation requests for rate limiter permits. The rate limiter uses a semaphore with a limit of 4 concurrent requests per model instance. When multiple subagents run in parallel: 1. 3 subagents each hold 1 permit for their ongoing conversation streams (3 permits used) 2. When all 3 try to use `edit_file` simultaneously, their edit agents need permits too 3. Only 1 edit agent can get the 4th permit; the other 2 block waiting 4. The blocked edit agents can't complete, so their parent subagent conversations can't complete 5. The parent conversations hold their permits, so the blocked edit agents stay blocked 6. **Deadlock** ## Solution Added a `bypass_rate_limit` field to `LanguageModelRequest`. When set to `true`, the request skips the rate limiter semaphore entirely. The `EditAgent` sets this flag because its requests are already "part of" a rate-limited parent request. (No release notes because subagents are still feature-flagged.) Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Richard Feldman and Zed Zippy created
ff35da2
agent_ui: Fix keybinding conflict with action to clean up the queue (#47254)
This PR frees up `shift-backspace` to work as it did before. Now, the action to remove the first queued message is now assigned to the `cmd-shfit-backspace` keybinding, whereas the action to clear the entire message queue is assigned to `cmd-alt-backspace`. Release Notes: - N/A
Danilo Leal created
aa4e94f
docs: Replace ellipsis with proper character (#47250)
Ultra nit PR to test some end-to-end PR creation workflow with AI. Release Notes: - N/A Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Danilo Leal and Claude Haiku 4.5 created
ece66be
docs: Big reorganize (#45276)
Release Notes: - N/A Overview Restructures the documentation navigation to be organized by user goals rather than feature lists. Introduces a new "Working with Code" section and reorganizes existing content into clearer groupings. ### Navigation Changes **New top-level sections:** - **Working with Code** — Groups editing, navigation, and execution features by workflow - **Reference** — Dedicated section for lookup-only content (settings, actions, CLI) - **Coming From...** — Migration guides grouped together **Reorganized sections:** - **Customization** — Renamed from "Configuration," focused on appearance and keybindings - **Account & Privacy** — Consolidated auth, privacy, and telemetry pages New Files | File | Purpose | |------|---------| | `editing-code.md` | Overview page for editing features | | `finding-navigating.md` | Overview page for navigation tools with quick reference | | `running-testing.md` | Overview page for tasks, debugger, and REPL | | `reference/all-settings.md` | Settings reference (moved/renamed) | | `reference/cli.md` | CLI reference (moved) | ### Content Moves | Page | From | To | |------|------|-----| | Snippets | Customization | Working with Code → Editing Code | | Code Completions | (flat) | Working with Code → Editing Code | | Diagnostics | (flat) | Working with Code → Editing Code | | Multibuffers | (flat) | Working with Code → Editing Code | | Command Palette | (flat) | Working with Code → Finding & Navigating | | Outline Panel | (flat) | Working with Code → Finding & Navigating | | Tab Switcher | (flat) | Working with Code → Finding & Navigating | | Tasks | (flat) | Working with Code → Running & Testing | | Debugger | (flat) | Working with Code → Running & Testing | | REPL | (flat) | Working with Code → Running & Testing | | All Settings | Configuration | Reference | | CLI | (various) | Reference --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Katie Geer , Marshall Bowers , and Zed Zippy created
9c3dc21
Use `anyOf` instead of `oneOf` in keymap schema (#47248)
Closes #ISSUE Resolves some spurious warnings we were seeing in the keymap file due to keybind declarations matching multiple possible shapes which is not allowed with `oneOf` per the json-schema spec Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
cd0b373
ep_cli: Add filter languages subcommand (#47242)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
d630677
Fix config file watch task leak (#47246)
Follow-Up-For: #47243 Previously, we would detach tasks spawned to watch config files. However, the task blocked on receiving a file event before checking if the receiver for the updates channel was dropped, causing the task to never exit. The fix here was to return the task explicitly, so that it can be dropped instead of calling `.detach()` on it. There is definitely a way to `select!` between the receiver being dropped and the next file system event, but I couldn't figure it out in a reasonable amount of time and decided it wasn't worth it. Release Notes: - Fixed an issue where a few file descriptors would be leaked each time a project was closed
Ben Kunkle created
37185ea
ep_cli: Fix "Too many open files" errors (#47243)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
2ccca66
agent_ui: Add support for editing queued messages (#47234)
This PR adds the ability to edit a queued message, which you can now do by hitting `cmd-e` from the message editor, which will focus the first queued message. To pull that off, I'm also making the queued messages render as an editor, the same way we do with regular user messages. That way, we ensure less layout shift when focusing in and out of the queued message for editing and gain the ability to render context buttons/creases the same way we do in the main message editor. https://github.com/user-attachments/assets/fb68fd48-c0cd-491f-a7d9-5065a9151b0b Note that in the video, I show the state in which you're still editing in the moment in which the queued message would be sent. If that happens, your queued message won't be sent even if you unfocus the queued message editor. In this case, you need to explicitly hit "Send Now". Release Notes: - Agent: Added the ability to edit queued messages.
Danilo Leal created
4731000
settings_ui: Remote project setting files support (#45292)
Closes #ISSUE Release Notes: - settings_ui: Added support for viewing and updating project settings files in remote projects --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Ben Kunkle and Mikayla created
a0728db
Add --offset flag to ep cli (#47175)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld and Ben Kunkle created
a8bf82c
debugger: Fix crash when dragging pane items to split view (#46806)
## Summary Fixes crash when dragging debugger panel items (terminal/console/variables/frames) to another pane as split view. **Root causes:** 1. Double borrow panic - `pane_group.split()` was called synchronously inside a `Context<Pane>` update, causing "cannot update Pane while it is already being updated" 2. `unwrap()` calls that panic when items are in transition during drag operations 3. `debug_assert!` in `pane_at_pixel_position` fails when `members` and `bounding_boxes` are temporarily out of sync after deferred split **Fixes:** - Defer entire split+move operation via `cx.spawn_in()` to avoid double borrow - Replace `unwrap()` with graceful early returns in `activate_item` and `run_in_terminal` - Handle `members.len() != bounding_boxes.len()` gracefully in `pane_at_pixel_position` Closes #46784 Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Anthony Eid <anthony@zed.dev>
xcb3d and Anthony Eid created
9fce075
ep: Make --provider optional, skip prediction when results exist (#47225)
When --provider is not provided, `ep` will now use whatever provider is recorded in the data. Release Notes: - N/A
Oleksiy Syvokon created
8e48a16
Add `ep parse-output` command (#47220)
This command takes raw LLM outputs (`predictions.actual_output`) that could be generated elsewhere and parses them into a canonical unified diff (`predictions.actual_patch`). This is useful for simplifying the evaluation pipeline and for rerunning the parser without having to generate LLM outputs. Release Notes: - N/A
Oleksiy Syvokon created
8870bd9
acp: Allow installing ACP agents from the registry (#47218)
This is still behind a feature flag as the registry is still WIP, but allows downloading binary agents from the registry on github. Release Notes: - N/A
Ben Brandt created
9a97c5c
ep: Add a prompt with git-style merge markers (#47215)
Release Notes: - N/A
Oleksiy Syvokon created
d71fe4c
agent_ui: Add `@diagnostics` mention to the thread (#42270)
Closes #31351 # Diagnostics Mention in New Threads ## Overview Adds the `@diagnostics` mention to the new Agent Panel threads so users can inject current LSP diagnostics (errors by default) without switching to a text thread. The diagnostics mention is fully integrated into ACP mention parsing, the context picker, and the message-editor pipeline so it round-trips cleanly and shows up in the standard `@` menu. ## Context - **Request:** bring `/diagnostics` parity to the “New Thread” assistant experience. - **Scope:** diagnostics only; `/terminal` mention would be implemented in a separate PR. - **Docs:** updated Agent Panel docs + changelog. ## Implementation Details 1. **Mention plumbing** - Added `MentionUri::Diagnostics` to `acp_thread`, including parsing (`zed:///agent/diagnostics?include_warnings=true`) and icon/name metadata. - Tests ensure diagnostics links round-trip via Markdown mention serialization. 2. **Context picker / completion** - New `ContextPickerMode::Diagnostics` exposes an `@diagnostics` entry in the mention menu. - Completions turn `@diagnostics` into a fully fledged mention, reusing the existing confirmation pipeline. 3. **Message editor + thread serialization** - Resolving the mention calls the existing diagnostics collector from `assistant_slash_commands`, embedding the tool output inline with other context blocks (`<diagnostics>…</diagnostics>`). - Thread-link handling ignores diagnostics backlinks so clicking them doesn’t try to reopen nonexistent resources. # How it looks <img width="800" height="480" alt="image" src="https://cf5gpe8lxo.ufs.sh/f/EmJ5Xl877qJO1mzC9Zrn8AmJZHeShC4RoUwvTMlF2tfPzj06" /> Release Notes: - Allow mentioning diagnostics in the agent panel via `@diagnostics` --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Mikhail Pertsev and Bennet Bo Fenner created
58051d6
languages: Fix symbol label for enum variants (#47210)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1ca5279
rope: Fix an unintentional panic (#47019)
Avoids the panic in #46974 But should be solved by using `saturating_sub` on the `start_overshoot` calculation, ref: https://github.com/zed-industries/zed/pull/47046#issuecomment-3762855786 https://github.com/zed-industries/zed/blob/37715d5a50666baaa824eafec2131ee6d80f8e0b/crates/rope/src/chunk.rs#L403C5-L415C6 This function gets called with PANIC = false from `slice`. But if the offset is outside the text, `log_err_char_boundary` will still panic, because the first `if` doesn’t bail out early. Release Notes: - N/A Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Marco Mihai Condrache created
164e37e
remote: Bring back docker exit status mapping (#47206)
cc https://github.com/zed-industries/zed/pull/45584, was removed in #47200 fully due to breaking ssh Also makes ZED_BUILD_REMOTE_SERVER a bit easier to use Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
8d55527
remote: Fix connecting to remote with running server failing (#47203)
Follow up to https://github.com/zed-industries/zed/pull/47200, fixing an edge case where if the heartbeat failure disconnects us we get stuck in an unconnectable state Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
02a19f7
remote: Fix being unable to reconnect when the remote server dies (#47200)
Closes https://github.com/zed-industries/zed/issues/38522 Release Notes: - Fixed remote connections getting stuck in limbo when the server side dies unexpectedly
Lukas Wirth created
89e9ab9
project: Implement range formatting for remoting (#47194)
Closes https://github.com/zed-industries/zed/issues/42859 Release Notes: - Added support for language range formatting in remoting setups
Lukas Wirth created
46b275b
rope: Add missing early return in `log_err_char_boundary` (#47191)
Closes ZED-465 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
09ceec0
settings_ui: Prevent panic when trying to configure edit prediction providers for language (#47162)
Closes #46502 The issue here was that we were not looking into the sub page stack when looking headers up, resulting in an out of bounds index. This PR fixes this. Due to me also fixing another small bug in the UI (and adding proper support for the breadcrumbs), I had to move quite some stuff around here to get this to work. Namely, I made the `sub_page_stack` a field on the `SettingsWindow` and now only store the `active_language` in a global to ensure that we store scroll positions properly for all sub pages. For that to work with the edit prediction provider page, I had to remove the struct there and could just move that into a method, which was a nice side effect there I suppose. Release Notes: - Fixed a crash that could occur when trying to edit edit prediction providers in the settings UI.
Finn Evers created
4e06656
docs: Update some AI-related content (#47178)
Clean up some writing and add content about newer features. Release Notes: - N/A
Danilo Leal created
0102848
Remove the unused file (#47176)
Release Notes: - N/A
Kirill Bulatov created
c1da016
agent: Patch image format bug (#45978)
Closes #44694 Release Notes: - Fixed images being converted to png but retaining old format ## Before: <img width="574" height="327" alt="Screenshot 2026-01-02 at 5 34 24 PM" src="https://github.com/user-attachments/assets/92331939-cebc-4f53-99fc-10d5181cf87e" /> ## After: <img width="638" height="489" alt="Screenshot 2026-01-02 at 5 34 36 PM" src="https://github.com/user-attachments/assets/47c05906-fa56-4a53-abd4-790c42230772" /> --------- Co-authored-by: versecafe <147033096+versecafe@users.noreply.github.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Mason Palmer , versecafe , and MrSubidubi created
3e309ab
ep: Fix teacher prompt formatting (#47172)
Release Notes: - N/A
Oleksiy Syvokon created
6265305
extension_host: Fix extension rebuild building in release mode (#47165)
Release Notes: - Fixed an issue where rebuilding a dev extension would compile the extension in release and not debug mode.
Finn Evers created