53eb35f
Add GPT 5.1 to Zed BYOK (#43492)
Click to expand commit body
Release Notes: - Added support for OpenAI's GPT 5.1 model to BYOK
Mikayla Maki created
53eb35f
Add GPT 5.1 to Zed BYOK (#43492)
Release Notes: - Added support for OpenAI's GPT 5.1 model to BYOK
Mikayla Maki created
877763b
More tweaks to collaboration docs (#43494)
Release Notes: - N/A
Joseph T. Lyons created
d490443
Refresh collaboration docs (#43489)
Most of the features for collab were previously listed in the section that was written for private calls. Most of this PR is moving that content over to the channel documentation and adapting it slightly. Private calls have similar collaboration, so we can just point back to the channels doc in that section and keep it pretty thin / DRY. Release Notes: - N/A
Joseph T. Lyons created
1f9d5ef
Always display terminal cursor when blinking is disabled (#43487)
Fixes an issue where the terminal cursor wouldn't always be displayed in the default `blink: "terminal_controlled"` mode unless the terminal requested cursor blinking. Release Notes: - N/A
Agus Zubiaga created
83f0a3f
Redact sensitive environment variables in LSP Logs: Server Info (#43480)
Follow-up to: - https://github.com/zed-industries/zed/pull/43436 - https://github.com/zed-industries/zed/pull/42831 The changes in #42831 resulted in a regression where environment variables in the Server Info view were no longer redact. The changes in #43436 were insufficient as I was still seeing sensitive values in Nightly e6fe95b4f2f676c7fc4a5f951ba7c721e7d22e8a (which includes #43436). CC: @SomeoneToIgnore (Hi! 👋 Thanks for keeping this redaction functionality alive) Release Notes: - N/A
Peter Tripp created
7ecbf8c
zeta2: Remove expected context from evals (#43430)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
fb0fcd8
Add missing update of last_prediction_refresh (#43483)
Fixes a regression introduced in https://github.com/zed-industries/zed/pull/43284 where edit predictions stopped being throttled at all 😬 Release Notes: - N/A Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld and Ben Kunkle created
36708c9
Separate experimental edit prediction jumps feature from the Sweep AI prediction provider (#43481)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld and Ben Kunkle created
388fda2
editor: Fix package version completion partial accept and improve sorting (#43473)
Closes #41723 This PR fixes an issue with accepting partial semver completions by including `.` in the completion query. This makes the editor treat the entire version string as the query, instead of breaking segment at last `.` . This PR also adds a test for sorting semver completions. The actual sorting fix is handled in the `package-version-server` by having it provide `sort_text`. More: https://github.com/zed-industries/package-version-server/pull/10 <img width="600" alt="image" src="https://github.com/user-attachments/assets/7657912f-c6da-4e05-956b-1c044918304f" /> Release Notes: - Fixed an issue where accepting a completion for a semver version in package.json would append the suggestion to the existing text instead of replacing it. - Improved the sorting of semver completions in package.json so the latest versions appear at the top.
Smit Barmase created
94f9b85
acp: Only pass enabled MCP servers to agent (#43467)
Release Notes: - Fix an issue where ACP agents would start MCP servers that were disabled in Zed
Bennet Bo Fenner created
1c07201
git: Make the version_control.{deleted/added} colors more accessible (#43475)
The new colors are easier to tell apart for people that are colorblind cc: @mattermill ## One Dark ### Before <img width="723" height="212" alt="Screenshot 2025-11-25 at 12 13 14 PM" src="https://github.com/user-attachments/assets/cea67b08-5662-4afa-8119-dbfcef53ada7" /> ### After <img width="711" height="109" alt="Screenshot 2025-11-25 at 12 14 16 PM" src="https://github.com/user-attachments/assets/a42d88ea-1a85-4f48-8f5e-b9bedf321c62" /> ## One Light ### Before <img width="724" height="219" alt="Screenshot 2025-11-25 at 12 15 13 PM" src="https://github.com/user-attachments/assets/c0176b8c-12bf-451c-8a2c-a2efd15463d1" /> ### After <img width="723" height="209" alt="Screenshot 2025-11-25 at 12 15 45 PM" src="https://github.com/user-attachments/assets/b8858a11-29e2-4309-b1a6-c734f89f6d5e" /> Release Notes: - N/A
Anthony Eid created
8a99270
Add Gemini 3 support to Copilot (#43096)
Closes #43024 Release Notes: - Add support for Gemini 3 to Copilot
Richard Feldman created
2053fea
Add collaboration redirects (#43471)
Redirect: https://zed.dev/docs/collaboration -> https://zed.dev/docs/collaboration/overview https://zed.dev/docs/channels -> https://zed.dev/docs/collaboration/channels Release Notes: - N/A
Joseph T. Lyons created
552bc02
git: Bring back auto-commit suggestions (#43470)
This got accidentally regressed in https://github.com/zed-industries/zed/pull/42149. Release Notes: - Fixed displaying auto-commit suggestions for single staged entries.
Jakub Konka created
fafe1af
multi_buffer: Remove redundant buffer id field (#43459)
It is easy for us to get the two fields out of sync causing weird problems, there is no reason to have both here so. Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored by: Antonio Scandurra <antonio@zed.dev>
Lukas Wirth created
ab80ef1
mcp: Fix `source` property showing up as undefined in settings (#43417)
Follow up to #39021. <img width="576" height="141" alt="image" src="https://github.com/user-attachments/assets/c89885a4-e664-4614-9bb0-86442dff34ee" /> - Add migration to remove `source` tag because `ContextServerSettings` is now untagged - Fix typos in context server modal - PR seems to have removed the `test_action_namespaces` test, which I brought back in this PR Release Notes: - Fixed an issue where the `source` property of MCP settings would show up as unrecognised
Bennet Bo Fenner created
9cae394
Restructure collaboration docs (#43464)
Overview
- Channels
- Private calls
---
Up next would be to
- [ ] Update any zed.dev links to point to items in this structure
- [ ] Update content in these docs (would prefer to do that in a
separate PR from this one)
Release Notes:
- N/A
Joseph T. Lyons created
f58de21
miniprofiler_ui: Improve MiniProfiler to use uniform list (#43457)
Release Notes: - N/A --- - Apply uniform_list for timing list for performance. - Add paddings for window. - Add space to `ms`, before: `100ms` after `100 ms`. ## Before <img width="1392" height="860" alt="image" src="https://github.com/user-attachments/assets/9706a96f-7093-4d4f-832f-306948a9b17b" /> ## After <img width="1392" height="864" alt="image" src="https://github.com/user-attachments/assets/38df1b71-15e7-4101-b0c9-ecdcdb7752d7" />
Jason Lee created
1cbb498
document how to do flamecharts in an easy way (#43461)
Release Notes: - N/A
David Kleingeld created
f896531
multi_buffer: Fix up some anchor checks (#43454)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a359a5a
Add performance doc (#43265)
Release Notes: - N/A
David Kleingeld created
7651854
ci: Do not show output of failed tests at the end too (#43449)
This reverts #39643, effectively For the record, @SomeoneToIgnore found it quite cumbersome to scroll through logs just to see which tests have failed. I kinda see the argument. At the same time, I wish nextest could do both: it could aggregate logs of failed tests and then print out the summary. Release Notes: - N/A
Piotr Osiewicz created
5139cc2
helix: Fix `Vim::NextWordEnd` off-by-one in `HelixSelect` (#43234)
Closes #43209 Closes #38121 Starting on the first character. Running `v e` before changes: <img width="410" height="162" alt="image" src="https://github.com/user-attachments/assets/ee13fa29-826c-45c0-9ea0-a598cc8e781a" /> Running `v e` after changes: <img width="483" height="166" alt="image" src="https://github.com/user-attachments/assets/24791a07-97df-47cd-9ef2-171522adb796" /> Change Notes: - Added helix selection sanitation code that directly mirrors the code in the Vim [`visual_motion`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/visual.rs#L237) method. I kept the comments from the Vim section that explains its purpose. - The above change converted the problem from fixing `v e` to fixing `v w`. Since `w` is treated differently in Helix than in Vim (i.e. `w` in Vim goes to the first character of a word and `w` in Helix goes to the character before a word. Commented [here](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L132)), the code treats `w` in `HelixSelect` as a motion that differs from the Vim motion in the same way that the function [`helix_move_cursor`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L353) separates these behaviors. - Added a regression test Release Notes: - Fixes bug where `Vim::NextWordEnd` in `HelixSelect` would not select whole word.
AidanV created
c0e8548
lsp: Fix potential double didClose notification when renaming a file (#43448)
Closes #42709 Release Notes: - N/A
Piotr Osiewicz created
e6fe95b
Only show ssh logs when toggled (#43445)
Same as in collab projects. Release Notes: - N/A
Kirill Bulatov created
303c23c
Fix first window open not focusing the modals (#43180)
Closes https://github.com/zed-industries/zed/issues/4357 Closes https://github.com/zed-industries/zed/issues/41278 Release Notes: - Fixed modals not getting focus on window reopen --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Kirill Bulatov and Conrad Irwin created
0e2041d
multi_buffer: Fix `editor::ExpandExcerpts` failing when cursor is at excerpt start (#42324)
The bug is easily verified by: 1. open any multi-buffer 2. place the cursor at the beginning of an excerpt 3. run the editor::ExpandExcerpts / editor: expand excerpts action 4. The excerpt is not expanded Since the `buffer_ids_for_range` function basically did the same and had even been changed the same way earlier I DRYed these functions as well. Note: I'm a rust novice, so keep an extra eye on rust technicalities when reviewing :) --- Release Notes: - Fix editor: expand excerpts failing when cursor is at excerpt start --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Ole Jørgen Brønner and Lukas Wirth created
9122dd2
Combine zeta and zeta2 edit prediction providers (#43284)
We've realized that a lot of the logic within an `EditPredictionProvider` is not specific to a particular edit prediction model / service. Rather, it is just the generic state management required to perform edit predictions at all in Zed. We want to move to a setup where there's one "built-in" edit prediction provider in Zed, which can be pointed at different edit prediction models. The only logic that is different for different models is how we construct the prompt, send the request, and parse the output. This PR also changes the behavior of the staff-only `zeta2` feature flag so that in only gates your *ability* to use Zeta2, but you can still use your local settings file to choose between different edit prediction models/services: zeta1, zeta2, and sweep. This PR also makes zeta1's outcome reporting and prediction-rating features work with all prediction models, not just zeta1. To do: * [x] remove duplicated logic around sending cloud requests between zeta1 and zeta2 * [x] port the outcome reporting logic from zeta to zeta2. * [x] get the "rate completions" modal working with all EP models * [x] display edit prediction diff * [x] show edit history events * [x] remove the original `zeta` crate. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Agus Zubiaga , and Ben Kunkle created
17d7988
Redact environment variables in server info view (#43436)
Follow-up of https://github.com/zed-industries/zed/pull/42831 Release Notes: - N/A
Kirill Bulatov created
8fd2e21
Fix remote project snippet duplication (#43429)
Closes #43311 Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
e499f15
Keep single default PHP language server (#43432)
https://github.com/zed-extensions/php/blob/9a119b18eeb247072964a19ce46fab54bbd1bb30/extension.toml provides 3 language servers for `php`, so `...` will always include all 3 if those are not excluded or included explicitly. Change the configs and docs so, that only one php language server is used. Release Notes: - N/A
Kirill Bulatov created
f75e758
Fix zed cli in NixOS WSL instances (#43433)
This fixes running `zed <path>` inside nixos wsl instances. We're copying the approach used elsewhere which is to try using `--exec` first, and if that fails use an actual shell which should cover the nixos case because it only puts binaries on your PATH inside the `/etc/profile` script which is sourced on shell startup. Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
9e69ac8
editor: Fix copy file actions not working in remote environments (#43362)
Closes #42500 Release Notes: - Fixed all three editor actions not working in remote environments - `editor: copy file name` - `editor: copy file location` - `editor: copy file name without extension` Here's the before/after: https://github.com/user-attachments/assets/bfb03e99-2e1a-47a2-bd26-280180154fe3
Mayank Verma created
7694647
vim: Fix cursor shape after deactivation (#42834)
Update the `Vim.deactivate` method to ensure that the cursor shape is reset to the one available in the user's settings, in the `cursor_shape` setting, instead of simply defaulting to `CursorShape::Bar`. In order to test this behavior, the `Editor.cursor_shape` method was also introduced. Release Notes: - Fixed the cursor shape reset in vim mode deactivation, ensuring that the user's `cursor_shape` setting is used --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Lennart and dino created
342eba6
project: Send LSP metadata to remote ServerInfo (#42831)
Closes #39582 Release Notes: - Added LSP metadata to remote ServerInfo Here's the before/after: https://github.com/user-attachments/assets/1057faa5-82af-4975-abad-5e10e139fac1 --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Mayank Verma and Kirill Bulatov created
bd2c102
Add support for Opus 4.5 (#43425)
Adds support for Opus 4.5 - [x] BYOK - [x] Amazon Bedrock Release Notes: - Added support for Opus 4.5 Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Mikayla Maki and Richard Feldman created
d295ff4
Improve Windows path canonicalization (#43423)
Path canonicalization on windows will now favor keeping the drive letter intact when canonicalizing paths. This helps some lsps with mapped network drive compatibility. Closes #41336 Release Notes: - N/A
localcc created
7ce4f2a
Opus 4.5 and Gemini 3 to docs (#43424)
Add Opus 4.5 and Gemini 3 to docs Release Notes: - N/A
morgankrey created
092250b
Rework and consolidate issue templates (#43403)
We’re reworking our triage process and in doing so, reworking our issue templates is worth looking into. We have multiple issue templates, for arbitrary categories, and not enough enforcement. The plan is to consolidate the issue templates (maybe all into one) and drop the others. Release Notes: - N/A
Kunall Banerjee created
b577f8a
Passthrough env to npm subcommands when using the system node runtime (#43102)
Closes #39448 Closes #37866 This PR expands the env-clearing fix from #42587 to include the SystemNodeRuntime, which covers Node.js installations managed by Mise. When running under the system runtime, npm subcommands were still launched with a cleared environment, preventing variables such as MISE_DATA_DIR from reaching the shim or the mise binary itself. As a result, Mise finds the npm binary in the default MISE_DATA_DIR, consistent with the behavior described in https://github.com/zed-industries/zed/issues/39448#issuecomment-3433644569. This change ensures that environment variables are passed through for npm subcommands when using the system Node runtime, restoring expected behavior for Mise-managed Node installations. This also fixes cases where envs are used by npm itself. Release Notes: - Enable environment passthrough for npm subcommands
Yeoh Joer created
4329a81
ui: Update `ThreadItem` component design (#43421)
Release Notes: - N/A
Danilo Leal created
6631d8b
Fix Gemini 3 on OpenRouter (#43416)
Release Notes: - Gemini 3 now works on OpenRouter in the Agent Panel
Richard Feldman created
a7fff59
Add each panel to the workspace as soon as it's ready (#43414)
We'll now add panels to the workspace as soon as they're ready rather than waiting for all the rest to complete. We should strive to make all panels fast, but given that their load tasks are fallible and do IO, this approach seems more resilient. Additionally, we'll now start loading the agent panel at the same time as the rest. Release Notes: - workspace: Add panels as soon as they are ready
Agus Zubiaga created
4a36f67
vim: Fix bug where `d . .` freezes the editor (#42145)
This bug seems to be caused by pushing an operator (i.e. `d`) followed by a repeat (i.e. `.`) so the recording includes the push operator and the repeat. When this is repeated (i.e. `.`) it causes an infinite loop. This change fixes this bug by pushing a ClearOperator action if there is an ongoing recording when repeat is called. Release Notes: - Fixed bug where pressing `d . .` in Vim mode would freeze the editor. --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
AidanV and dino created
47e8946
Attempt to fix `go to the end of the line` when using helix mode (#41575)
Closes #41550 Release Notes: - Fixed `<g-l>` behavior in helix mode which will now correctly go to the last charactor of the line. - Fixed not switching to helix normal mode when in default vim context and pressing escape. --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
HuaGu-Dragon and Jakub Konka created
ea7568c
zeta2: Support experimental 1120-seedcoder model (#43411)
1. Introduce a common `PromptFormatter` trait 2. Let models define their generation params. 3. Add support for the experimental 1120-seedcoder prompt format Release Notes: - N/A
Oleksiy Syvokon created
e6b42a2
Use a proper name for highlights.scm (#43412)
Release Notes: - N/A
Kirill Bulatov created
7bbc65e
auto_updater: Fix `upload-nightly.ps1` and auto-update check (#43404)
Release Notes: - N/A
Piotr Osiewicz created
d6c550c
debugger_ui: Add button to close the panel when docked to bottom (#43409)
This PR adds a button to close the panel when it is docked to the bottom. Effectively, the button triggers the same `ToggleBottomDock` action that clicking on the button that opened the panel triggers, but I think having it there just makes it extra obvious how to close it, which is beneficial. As a bonus, also fixed the panel controls container height when it is docked to the sides, so it perfectly aligns with the panel tabbar height. | Perfectly Aligned Header | Close Button | |--------|--------| | <img width="2620" height="2010" alt="Screenshot 2025-11-24 at 12 01 2@2x" src="https://github.com/user-attachments/assets/08a50858-1b50-4ebd-af7a-c5dae32cf4f6" /> | <img width="2620" height="2010" alt="Screenshot 2025-11-24 at 12 01@2x" src="https://github.com/user-attachments/assets/17a6eee0-9934-4949-8741-fffd5b106e95" /> | Release Notes: - N/A
Danilo Leal created
eff592c
agent_ui: Refine "reject"/"keep" behavior when regenerating previous prompts (#43347)
Closes https://github.com/zed-industries/zed/issues/42753 Consider the following flow: you submit prompt A. Prompt A generates some edits. You don't click on either "reject" or "keep"; they stay in a pending state. You then submit prompt B, but before the agent outputs any response, you click to edit prompt B, thus submitting a regeneration. Before this PR, the above flow would make the edits originated from prompt A to be auto-rejected. This feels very incorrect and can surprise users when they see that the edits that were pending got rejected. It feels more correct to only auto-reject changes if you're regenerating the prompt that directly generated those edits in the first place. Then, it also feels more correct to assume that if there was a follow-up prompt after some edits were made, those edits were passively "accepted". So, this is what this PR is doing. Consider the following flow to get a picture of the behavior change: - You submit prompt A. - Prompt A generates some edits. - You don't click on either "reject" or "keep"; they're pending. - You then submit prompt B, but before the agents outputs anything, you click to edit prompt B, submitting a regeneration. - Now, edits from prompt A will be auto-kept. Release Notes: - agent: Improved the "reject"/"keep" behavior when regenerating older prompts by auto-keeping pending edits that don't originate from the prompt to-be-regenerated.
Danilo Leal created