a0ba509
Fix provisional thread title (#50905)
Click to expand commit body
Release Notes: - N/A
Mikayla Maki created
a0ba509
Fix provisional thread title (#50905)
Release Notes: - N/A
Mikayla Maki created
9acb32f
Linux: Handle device lost with wgpu (#50898)
Release Notes: - Linux: Handle GPU device loss gracefully
Conrad Irwin created
3b3ffc0
Add GPT-5.4 and GPT-5.4-pro BYOK models (#50858)
Add GPT-5.4 and GPT-5.4-pro as Bring Your Own Key model options for the OpenAI provider. **GPT-5.4** (`gpt-5.4`): - 1,050,000 token context window, 128K max output - Supports chat completions, images, parallel tool calls - Default reasoning effort: none **GPT-5.4-pro** (`gpt-5.4-pro`): - 1,050,000 token context window, 128K max output - Responses API only (no chat completions) - Default reasoning effort: medium (supports medium/high/xhigh) Also fixes context window sizes for GPT-5 mini and GPT-5 nano (272K → 400K) to match current OpenAI docs. Closes AI-78 Release Notes: - Added GPT-5.4 and GPT-5.4-pro as available models when using your own OpenAI API key.
Richard Feldman created
ab824a0
Use excerpt coordinates consistently in parse_zeta_model_output (#50894)
Fixes a bug introduced in https://github.com/zed-industries/zed/pull/50850, where we used incorrect coordinates for the editable range. Release Notes: - N/A
Max Brunsfeld created
ca5027c
Fix OpenGL initialization on Intel HD 4000 (#50891)
I think we might just get it working this time Release Notes: - N/A
John Tur created
61d9696
zeta: Add variable edit format (#50850)
Release Notes: - N/A --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Jakub Konka , Oleksiy Syvokon , and Ben Kunkle created
da9d548
zeta2: Don't remove redundant excerpts on the client (#50886)
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
a1d8c52
Separate the sidebar click targets (#50885)
Release Notes: - N/A
Mikayla Maki created
41cfb82
Fix crash in `start_display_link` (#50875)
Fixes ZED-5G8 If `DisplayLink::new` fails, `frame_requests` is dropped . It is not valid to destroy a DispatchSource that is not `resume()`d. So, ensure we call `resume()` before there's a chance for anything to fail. Release Notes: - Fixed a crash that could occur on macOS when changing monitor configurations
John Tur created
c5f3a1d
ep: Indicate active experiment (#50870)
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
90ae708
agent: Gate agent registry refresh behind Disable AI setting (#50868)
Make sure we don't download this file if disable_ai is enabled Release Notes: - N/A
Ben Brandt created
0d90751
agent_ui: Always show smaller subagent preview (#50864)
Remove the conditional fullscreen path for subagent tool calls so expanded content consistently renders as a capped preview with the overlay and fixed height. Also add a pointer cursor to the maximize control to clarify clickability. Release Notes: - N/A
Ben Brandt created
a8caf07
agent_ui: Remove feature upsell banners from agent registry (#50862)
These aren't built in anymore! Release Notes: - N/A
Ben Brandt created
f05d756
agent: Add telemetry events for subagents (#50849)
Adds five telemetry events to track subagent lifecycle and user interactions: - **Subagent Started** — fires on creation or resumption, includes parent session, subagent session, depth, and whether it was resumed - **Subagent Completed** — fires when `SpawnAgentTool` finishes, includes subagent session and status (completed/error) - **Subagent Toggled** — fires when the user expands or collapses a subagent card - **Subagent Stopped** — fires when the user clicks Stop on a running subagent - **Subagent Maximized** — fires when the user clicks Maximize to navigate into a subagent Release Notes: - N/A
Katie Geer created
6c914ad
ep: Capture example as part of settled events (#50847)
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: Agus <agus@zed.dev>
Ben Kunkle and Agus created
9afeb4e
Implement new Multi Agent UI (#50534)
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 --------- Co-authored-by: Eric <eric@zed.dev> Co-authored-by: cameron <cameron.studdstreet@gmail.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Anthony Eid <anthony@zed.dev> Co-authored-by: John Tur <john-tur@outlook.com>
Mikayla Maki , Eric , cameron , Danilo Leal , Anthony Eid , and John Tur created
0e5b4e1
language_models: Defer fetching models for the Zed provider until fully signed-in (#50857)
This PR updates the model-fetching behavior for the Zed provider to wait until the user is fully signed-in before we attempt to fetch the models. We now subscribe to the `UserStore` and listen for the `PrivateUserInfoUpdated` event. If we receive that event and the user is not currently signed out, then we should be all set to fetch the models. Closes CLO-424. Release Notes: - N/A
Marshall Bowers created
1f918fb
Remove agent git worktree feature flag (#50778)
Remove the separate `AgentGitWorktreesFeatureFlag` and replace all its checks with the existing `AgentV2FeatureFlag`. The git worktree functionality is now gated behind the same flag as agent v2. Changes: - Removed `AgentGitWorktreesFeatureFlag` from `feature_flags` - Replaced all `has_flag::<AgentGitWorktreesFeatureFlag>()` checks with `has_flag::<AgentV2FeatureFlag>()` - Simplified toolbar condition that was redundantly checking both flags - Updated tests accordingly Closes AI-73 Release Notes: - N/A
Richard Feldman created
94154aa
picker: Prevent clicking non-selectable entries from confirming selection (#50705)
Closes #50627 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) ### Videos: Before: https://drive.google.com/file/d/1PahGhfx-wq9cyNqqMlctb9Np7M1Meo71/view?usp=sharing After: https://drive.google.com/file/d/135W6MQ9hKBurw5Z7YpHQQhoQwkh1NvUb/view?usp=sharing Release Notes: - Fixed clicking on non-selectable picker entries (e.g. section headers) confirming the currently selected item.
João Soares created
8e5356c
ep: Fix infinite loop of EP requests in some cases (#50833)
When a diagnostic-triggered prediction returns no edits, don't fall back to requesting another diagnostic prediction. This was causing an infinite loop that burned through the API rate limit until hitting 429 errors. Release Notes: - N/A
Oleksiy Syvokon created
27a9b60
ep: Fix race condition resulting in duplicate requests (#50830)
When multiple `queue_prediction_refresh` calls land in the same synchronous frame, all spawned tasks would read the same throttle state and each send an identical cloud request. Now the second task would see that the first request has been sent and would quit. Release Notes: - N/A
Oleksiy Syvokon created
95adddf
language_models: Avoid debug formatting in Copilot Chat, OpenAI errors (#50824)
See these screenshots: <img width="832" height="564" alt="image" src="https://github.com/user-attachments/assets/64d04fe7-4be7-4fbf-8536-b4b7a2ea62ed" /> <img width="836" height="1094" alt="image" src="https://github.com/user-attachments/assets/247b215c-8e7e-4eff-8e08-b1b9ee8894b9" /> Release Notes: - Fixed some error messages in OpenAI/Copilot Chat conversations that were using the Debug representation.
Tom Houlé created
0be32ba
markdown_preview: Enable parser options individually (#50440)
Closes #50170. 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: - Enable parser options individually to avoid rendering issues
Kunall Banerjee created
3572071
agent: Add debug logging to `StreamingEditFileTool` (#50826)
Add some debug logging to the streaming edit file tool, to make it
easier to debug errors.
Can be enabled with
```
"log": {
"agent": "debug",
}
```
Release Notes:
- N/A
Bennet Bo Fenner created
493611a
docs: Fix typo in consent banner hide check (#50823)
Fixes a typo in the consent banner check on docs pages, which makes the opt-out logic work correctly. 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
Gaauwe Rombouts created
38e7f41
agent: Fix deadlock when LLM API returns an error while streaming tool input (#50813)
Nightly only since no tool is using streaming on Preview. Tools that used streaming could deadlock when the upstream LLM API stream exited early without ever sending a ToolUse with `input_complete` set to `true`. This is now fixes by manually dropping the tool input channels. Release Notes: - N/A
Bennet Bo Fenner created
3fb377b
git: Side by side spacer mouse cursor (#50814)
Cameron Mcloughlin created
783a526
ep: Add V0304SeedNoEdits prompt format (#50809)
Release Notes: - N/A
Oleksiy Syvokon created
1a8005f
editor: Respect `read_only` in `newline_below` (#50804)
Turns out `Editor::newline_below` was not respecting the `read_only` flag because it uses buffer.edit. `Editor::newline` and `Editor::newline_above` behaved correctly because they used `editor.edit` which ignores edits if `read_only` is true. Added an early return if the editor is read only, also added it to newline/newline_above for clarity. Release Notes: - Fixed an issue where newlines could be inserted into read-only editors
Bennet Bo Fenner created
b5881c9
workspace: Fix autosave on buffer change in multibuffer (#50686)
Fixes #50526
Fixes https://github.com/zed-industries/zed/issues/42841
Fixes https://github.com/zed-industries/zed/issues/49875
### Summary
Fix `autosave: on_focus_change` not firing reliably when leaving editors
with nested focus targets (e.g. multibuffer/search flows).
### Root cause
Autosave on focus change was wired to `on_blur` of the item focus
handle.
`on_blur` only fires when that exact handle is the focused leaf, which
misses common descendant-to-outside focus transitions.
## Fix
In `crates/workspace/src/item.rs`, switch autosave subscription from:
- `cx.on_blur(&self.read(cx).focus_handle(cx), ...)`
to:
- `cx.on_focus_out(&self.read(cx).focus_handle(cx), ...)`
Autosave behavior and guards remain unchanged:
- only for `AutosaveSetting::OnFocusChange`
- only when focus truly left the item (`!contains_focused`)
- skipped when modal is active (`!has_active_modal`)
### Impact
- Fixes missed autosaves when moving focus from item descendants to
other UI (terminal, file tree, search inputs, etc.).
- No behavior change for other autosave modes (`off`, `after_delay`,
`on_window_change`).
### Video
[Screencast from 2026-03-04
15-23-07.webm](https://github.com/user-attachments/assets/81135999-320f-40f3-9673-7c0460e5a14a)
Release Notes:
- Fixed an issue where `"autosave": "on_focus_change"` would not
reliably work in multibuffers.
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
Om Chillure and MrSubidubi created
ba220fc
mistral: Enable streaming tool calls (#50793)
Release Notes: - N/A
Bennet Bo Fenner created
c091c90
util: Fix env load issues on Windows due to quoting (#50782)
Closes #47823 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] No UI changes Release Notes: - Solves the issue where env variables failed to load when a project with dir path had `'`(single quote) in them, for example: `C:\Temp\O'Brien\project_1`. - added a zed pre-quote for directory paths and zed executable - handled pwsh, nushell, cmd, fish, posix, csh, tcsh, rc, xonsh, elvish based terminals - uses `try_quote` for quoting shell paths
Amaan created
df0b3de
agent: Simplify EditPipeline state in StreamingEditFileTool (#50792)
Release Notes: - N/A
Bennet Bo Fenner created
2991b05
ep: Make --repetitions work with Anthropic and OpenAI batches (#50789)
Release Notes: - N/A
Oleksiy Syvokon created
33c78fa
Use historical typewriter names for agent branch names (#50611)
Replace the auto-generated `agent-[hash]` branch naming scheme with names based on historical typewriter models (e.g. `olivetti-a3f9b2c1`, `selectric-7d2e4f01`). A static list of 49 typewriter names is used as the pool. When selecting a name, existing branch names are checked—each branch is split on its last `-` to extract the typewriter prefix, and any taken prefixes are excluded from the candidate set. A random name is then picked from the remaining candidates and suffixed with an 8-character alphanumeric hash. The name selection logic accepts injected RNG and a list of disallowed names, making it straightforward to test deterministically with `#[gpui::test]` and `StdRng`. Closes AI-71 (No release notes because this is feature-flagged.) Release Notes: - N/A
Richard Feldman created
c0f5d21
lsp: Add semantic token rules for Go (#50641)
gopls reports Go `const` declarations as `variable` with the `readonly` modifier. Add a Go-specific semantic token rule to map this to the `constant` theme style, matching VS Code's behavior. <img width="465" height="32" alt="image" src="https://github.com/user-attachments/assets/e0bc8a60-2275-4f81-9185-8b86c51d3d08" /> Closes #50642 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 *or* Added/Fixed/Improved ...
Nianyu Shen created
3959921
Fix OpenGL initialization on Intel HD 4000 (#50772)
For real this time? Release Notes: - N/A
John Tur created
608185b
fix: Implement raw-window-handle traits for X11Window (#50768)
I'm embedding a 3D viewport inside GPUI by creating a child window with its own surface that fits the bounds of a GPUI element, and I need access to the raw window handle of the current window to manage it. Right now on X11 this is stubbed as unimplemented and results in a panic. I've copied most of the same implementation from the associated `RawWindow` into `X11Window`. Small clip of a Bevy app embedded inside GPUI with a popover that draws above the 3d surface to show testing was done: [Screencast_20260304_182657.webm](https://github.com/user-attachments/assets/829f9197-1613-41a7-af83-d377f3154751) 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 - [ ] 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: - Added implementations of `rwh::HasDisplayHandle` and `rwh::HasWindowHandle` for `X11Window`
Gary Tierney created
5418013
agent_ui: Add "Paste as Plain Text" to message editor context menu (#50625)
Add the existing `PasteRaw` action to the right-click context menu in the message editor, making it more discoverable. Previously it was only available via the keyboard shortcut (Cmd+Shift+V / Ctrl+Shift+V) or the command palette. Release Notes: - Added "Paste as Plain Text" to the agent panel message editor right-click menu
Eric Holk created
1fec1ca
ci: Clean up some of our workflows (#50499)
Release Notes: - N/A
Finn Evers created
0c43ce8
nix: Hide pipewire lazy trampolines in libwebrtc when linking as SO (#50743)
This would cause a null pointer dereference when trying to open an audio device in Zed. More context: https://github.com/NixOS/nixpkgs/pull/478907/changes#r2885943326 cc @cameron1024 Release Notes: - Fixed crash when trying to join a channel/test audio on Nix-built Zed on Linux.
Jakub Konka created
53fca25
git_ui: Add ability to delete git worktrees from picker (#50015)
Adds the ability to delete a git worktree directly from the worktree picker, inspired by the existing branch delete functionality. (`cmd-shift-backspace` on macOS, `ctrl-shift-backspace` on Linux/Windows). Screenshot: <img width="1288" height="466" alt="Screenshot 2026-02-24 at 16 01 05" src="https://github.com/user-attachments/assets/6ca5048d-63fa-4295-a578-358904bb92eb" /> Release Notes: - Added the ability to delete a git worktree from the worktree picker --------- Co-authored-by: Anthony Eid <anthony@zed.dev>
David Alecrim and Anthony Eid created
e717268
git: Allow committing in restrictive worktrees (#50749)
follow up on: https://github.com/zed-industries/zed/pull/50649 When committing in a restrictive workspace we avoid running git hooks instead of failing the commit because hooks aren't allowed. I also passed in more git cli hardening configurations to use when Zed spawns git commands 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
67c2c34
Include repo_url in edit prediction requests when data collection is enabled (#50745)
Release Notes: - N/A
Max Brunsfeld created
3f1c833
agent: Cleanup `StreamingEditFileTool` (#50725)
- Adds logging if tool fails - Reduces boilerplate in test - Simplified code in a bunch of places Release Notes: - N/A
Bennet Bo Fenner created
9938ebe
editor: Add support for no auto-indent on enter (#47751)
Closes #47550 Changes the `auto_indent` setting from a boolean to an enum with three modes: - **`full`** (default): Adjusts indentation based on syntax context when typing (previous `true` behavior) - **`preserve_indent`**: Preserves the current line's indentation on new lines, but doesn't adjust based on syntax - **`none`**: No automatic indentation - new lines start at column 0 (previous `false` behavior) This gives users more control over indentation behavior. Previously, setting `auto_indent: false` would still preserve indentation on new lines, which was unexpected. Includes: - Settings migration from boolean to enum values - Settings UI dropdown renderer Release Notes: - Changed `auto_indent` setting from boolean to enum with `full`, `preserve_indent`, and `none` options <img width="1373" height="802" alt="Screenshot 2026-01-27 at 16 32 10" src="https://github.com/user-attachments/assets/b629e1d8-7359-4853-8222-abfa71d6ebe2" /> --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Oliver Azevedo Barnes and MrSubidubi created
4d42d3a
docs: Remove Preview callouts for stable release (#50736)
This PR removes Preview callouts from documentation for features that are now in Stable. ## Files Updated • docs/src/collaboration/overview.md • docs/src/debugger.md • docs/src/configuring-languages.md • docs/src/troubleshooting.md • docs/src/outline-panel.md • docs/src/getting-started.md • docs/src/tasks.md • docs/src/ai/edit-prediction.md • docs/src/ai/llm-providers.md ## What This Does Removes callouts like: ```markdown > **Preview:** This feature is available in Zed Preview. It will be included in the next Stable release. ``` And: ```markdown > **Changed in Preview (v0.XXX).** See [release notes](/releases#0.XXX). ``` These features are now in Stable, so the callouts are no longer needed. Release Notes: - N/A
Joseph T. Lyons created
9316c4a
Fix crash metrics ID (#50728)
Before this change the crash handler uploaded crashes before sign-in had happened. Now we get the metrics_id correctly. This allows for us to tie crashes reported on Github to users who have opted into telemetry (users who have opted into crash reporting but not telemetry will not have a metrics_id). Release Notes: - Fixed crash reporter metadata collection --------- Co-authored-by: Miguel Raz Guzmán Macedo <miguel@zed.dev>
Conrad Irwin and Miguel Raz Guzmán Macedo created
0fc5bc2
debugger: Reverse Python repr escaping (#50554)
Closes #37168 Authored-By: @ngauder Release Notes: - debugger: Unescape Python strings Co-authored-by: Nikolas Gauder <nikolas.gauder@tum.de>
Conrad Irwin and Nikolas Gauder created
5c91ebf
git: Move diff num stat calculation to repository snapshot layer (#50645)
Follow up on: https://github.com/zed-industries/zed/pull/49519 This PR reworks how Zed calculates diff num stats by moving the calculation to the `RepositorySnapshot` layer, instead of the `GitPanel`. This has a couple of benefits: 1. Snapshot recalculations are already set up to recompute on file system changes and only update the affected files. This means that diff stats don't need to manage their own subscription or states anymore like they did in the original PR. 2. We're able to further separate the data layer from the UI. Before, the git panel owned all the subscriptions and tasks that refreshed the diff stat, now the repository does, which is more inline with the code base. 3. Integration tests are cleaner because `FakeRepository` can handle all the data and calculations of diff stat and make it accessible to more tests in the codebase. Because a lot of tests wouldn't initialize the git panel when they used the git repository. 4. This made implementing remote/collab support for this feature streamline. Remote clients wouldn't get the same buffer events as local clients, so they wouldn't know that the diff stat state has been updated and invalidate their data. 5. File system changes that happened outside of Zed now trigger the diff stat refresh because we're using the `RepositorySnapshot`. I added some integration tests as well to make sure collab support is working this time. Finally, adding the initial diff calculation to `compute_snapshot` didn't affect performance for me when checking against chromium's diff with HEAD~1000. So this should be a safe change to make. I decided to add diff stats on the status entry struct because it made updating changed paths and the collab database much simpler than having two separate SumTrees. Also whenever the UI got a file's status it would check its diff stat as well, so this change makes that code more streamlined as well. 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. Release Notes: - N/A
Anthony Eid created