f6b6d4a
Add congratsbot (#37998)
Click to expand commit body
Release Notes: - N/A
Joseph T. Lyons created
f6b6d4a
Add congratsbot (#37998)
Release Notes: - N/A
Joseph T. Lyons created
238dab4
Adjust release notes Discord webhook name (#37997)
Release Notes: - N/A
Joseph T. Lyons created
d1c6c9d
Remove old LSP definitions (#37995)
Last time MultiLspQuery was used in Zed was 0.201.x and Nightly is of 0.205.x version, hence it's time to clean up the old code. Release Notes: - N/A
Kirill Bulatov created
d7f3d08
editor: Ensure placeholder text wraps properly after font size change (#37992)
Follow-up of https://github.com/zed-industries/zed/pull/37919 This fixes an issue where the placeholder text in editors would not wrap properly in cases where the font size was changed. Before: https://github.com/user-attachments/assets/479c919f-5815-4164-b46d-75f31b5dc56f After: https://github.com/user-attachments/assets/9f63ab9f-eac2-4f3e-864c-2b96b58f2d71 Release Notes: - N/A
Finn Evers created
4db19a3
search: Fix buffer search history navigation (#37924)
Closes #36109 Adds an additional option to `search` and `update_matches` to specify whether the update should affect the search history. Release Notes: - Fix navigating buffer search history
tidely created
c4e8fe1
theme: Ensure opaque for overlay fallback (#37987)
Closes #37965 Release Notes: - N/A
Smit Barmase created
4002602
project: Fix terminal activation scripts failing on Windows for new shells (#37986)
Tasks are still disabled as there seem to be more issues with it Release Notes: - N/A
Lukas Wirth created
6ae83b4
Support indent regex with inline comments in Python (#37903)
Closes #36491 This issue is caused by the Python language configuration treating compound statements (such as for loops and if statements) that end with an inline comment as not requiring an increased indent. Release Notes: - python: Correctly indent lines starting the blocks (for, finally, if, else, try) that have trailing comments.
ImFeH2 created
eec6bfe
extension_host: Fix operation status whilst installing dev extension (#37985)
This fixes a minor issue where we would show "Removing extension ..." in the status bar when we would actually be installing it. Release Notes: - Fixed an issue where installing a dev extension would show the installation status as "removing" in the activity indicator.
Finn Evers created
9875969
editor: Allow no context for the `excerpt_context_lines` setting (#37982)
Closes #37980 There seems to be no reason to hard limit this to 1, and we even have existing UX for this case already: <img width="1530" height="748" alt="Bildschirmfoto 2025-09-11 um 11 22 57" src="https://github.com/user-attachments/assets/d6498318-c905-4d3c-90ab-60e4f2bb6c48" /> (Notice the different arrows in the gutter area for single lines) Hence, allowing the value to honor the request from the issue Release Notes: - Allowed `0` as a value for the `excerpt_context_lines` setting
Finn Evers created
5950228
Document Tailwind CSS language server configuration (#37970)
Added configuration instructions for Tailwind CSS language server. Release Notes: - N/A
David Matter created
f764077
Change keymap precedence to favor user (#37557)
Closes #35623 Previously if a base keymap had a `null` set to an action, leading to a `NoAction` being assigned to the keymap, if a user wanted to take advantage of that keymap (in this particular case, `cmd-2`), the keymap binding check would favor the `NoAction` over the user, since technically the context depth matched better. Instead, we should always prefer the user's settings over whatever base or default. Release Notes: - Fixed keymap precedence by favoring user settings over base keymap / configs.
Mitch (a.k.a Voz) created
9708c8d
feature_flags: Move feature flag definitions to their own module (#37956)
This PR moves the feature flag definitions to their own module so that they aren't intermingled with the feature flag infrastructure itself. Release Notes: - N/A
Marshall Bowers created
f205732
feature_flags: Remove unused `llm-closed-beta` feature flag (#37955)
This PR removes the `llm-closed-beta` feature flag, as it is no longer used. Release Notes: - N/A
Marshall Bowers created
aee21ca
Allow for commit amends with no file changes (#37256)
This will users to change the wording of the most recent commit, something they might want to do if they realize they made a small typo of some kind or if the formatting of their commit message is wrong, but don't have any other changes they need to make. Release Notes: - Commit messages can now be amended in the UI without any other changes needing to be made. --------- Co-authored-by: Cole Miller <cole@zed.dev>
Ryan Hawkins and Cole Miller created
816c481
Fix code actions menu item font size (#37951)
Follow up to https://github.com/zed-industries/zed/pull/37824, which made items be cut-off in the _editor_ instance of the code actions menu. This PR applies the default UI font size for the code action menu items only when the origin is the quick actions bar. Release Notes: - Fix code actions menu items being cut-off in the editor.
Danilo Leal created
0f9232a
Fix wrong cursor shape description in Configuring Zed page (#37933)
It was previously copied incorrectly from `Terminal: Copy On Select`. Release Notes: - Fixed wrong description in `Terminal: Cursor Shape` in `Configuring Zed` document
Dima created
db367cc
scheduler: Add missing constructs for Cloud (#37948)
This PR adds some missing constructs that are needed by Cloud to the scheduler. Release Notes: - N/A
Marshall Bowers created
2ce0641
settings_ui: Handle enums with fields (#37945)
Closes #ISSUE
Adds handling for Enums with fields (i.e. not `enum Foo { Yes, No }`) in
Settings UI. Accomplished by creating default values for each element
with fields (in the derive macro), and rendering a toggle button group
with a button for each variant where switching the active variant sets
the value in the settings JSON to the default for the new active
variant.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Conrad <conrad@zed.dev>
Ben Kunkle and Conrad created
95ccce3
Rodio audio (#37786)
Adds input to the experimental rodio_audio pipeline.
Enable with:
```json
"audio": {
"experimental.rodio_audio": true
}
```
Additionally enables automatic volume
control for incoming audio:
```json
"audio": {
"experimental.control_output_volume": true
}
```
Release Notes:
- N/A
David Kleingeld created
14de161
Compress minidumps (#37797)
@notpeter this should fix that issue you were seeing where a generated minidump was too big to upload with the sentry api. Release Notes: - N/A
Julia Ryan created
b8c30f4
Improve Tab Map performance (#32243)
## Context While looking into: #32051 and #16120 with instruments, I noticed that `TabSnapshot::to_tab_point` and `TabSnapshot::to_fold_point` are a common bottleneck between the two issues. This PR takes the first steps into closing the stated issues by improving the performance of both those functions. ### Method `to_tab_point` and `to_fold_point` iterate through each character in their rows to find tab characters and translate those characters into their respective transformations. This PR changes this iteration to take advantage of the tab character bitmap in the `Rope` data structure and goes directly to each tab character when iterating. The tab bitmap is now passed from each layer in-between the `Rope` to the `TabMap`. ### Testing I added several randomized tests to ensure that the new `to_tab_point` and `to_fold_point` functions have the same behavior as the old methods they're replacing. I also added `test_random_chunk_bitmap` on each layer the tab bitmap is passed up to the `TabMap` to make sure that the bitmap being passed is transformed correctly between the layers of `DisplayMap`. `test_random_chunk_bitmap` was added to these layers: - buffer - multi buffer - custom_highlights - inlay_map - fold_map ## Benchmarking I setup benchmarks with criterion that is runnable via `cargo bench -p editor --profile=release-fast`. When benchmarking I had my laptop plugged in and did so from the terminal with a minimal amount of processes running. I'm also on a m4 max ### Results #### To Tab Point Went from completing 6.8M iterations in 5s with an average time of `736.13 ns` to `683.38 ns` which is a `-7.1875%` improvement #### To Fold Point Went from completing 6.8M iterations in 5s with an average time of `736.55 ns` to `682.40 ns` which is a `-7.1659%` improvement #### Editor render Went from having an average render time of `62.561 µs` to `57.216 µs` which is a `-8.8248%` improvement #### Build Buffer with one long line Went from having an average buffer build time of `3.2549 ms` to `3.2635 ms` which is a `+0.2151%` regression within the margin of error #### Editor with 1000 multi cursor input Went from having an average edit time of `133.05 ms` to `122.96 ms` which is a `-7.5776%` improvement Release Notes: - N/A --------- Co-authored-by: Remco Smits <djsmits12@gmail.com> Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Anthony Eid , Remco Smits , Cole Miller , and Piotr Osiewicz created
cb75c2a
Make plans backwards compatible (#37941)
This PR fixes the backwards compatibility of the new `Plan` variants. We can't add new variants to the wire representation, as old clients won't be able to understand them. Release Notes: - N/A
Marshall Bowers created
2c29eac
Fetch all staff in get-preview-channel-changes script (#37940)
Release Notes: - N/A
Joseph T. Lyons created
a94b093
editor: Fix cuts on end of line cutting whole line (#34553)
Closes #19816
Release Notes:
- Improved `ctrl-k` (`editor::CutToEndOfLine`) behavior when used at the
end of lines
- Add option to make `editor::CutToEndOfLine` not gobble newlines.
```json
{
"context": "Editor",
"bindings": { "ctrl-k": ["editor::CutToEndOfLine", { "stop_at_newlines":
true }] }
},
```
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
AidanV and Peter Tripp created
441a934
Remove unnecessary `Option` from functions querying buffer outline (#37935)
`None` case wasn't being used Release Notes: - N/A
Michael Sloan created
b28c979
language_settings: Add whitespace_map setting (#37704)
This setting controls which visible characters are used to render whitespace when the show_whitespace setting is enabled. Release Notes: - Added `whitespace_map` setting to control which visible characters are used to render whitespace when the `show_whitespace` setting is enabled. --------- Co-authored-by: Nia Espera <nia@zed.dev>
Ilija Tovilo and Nia Espera created
22e31a0
Fix crash when filtering items in Picker (#37929)
Closes #37617 We're already using `get` in a bunch of places, this PR updates the remaining spots to follow the same pattern. Note that the `ix` we read in `render_match` can sometimes be stale. The likely reason is that we run the match-update logic asynchronously (see [here](https://github.com/zed-industries/zed/blob/138117e0b15664079f5526cb56168750382b49b9/crates/picker/src/picker.rs#L643)). That means it's possible to render items after the list's [data update](https://github.com/zed-industries/zed/blob/138117e0b15664079f5526cb56168750382b49b9/crates/picker/src/picker.rs#L652) but before the [list reset](https://github.com/zed-industries/zed/blob/138117e0b15664079f5526cb56168750382b49b9/crates/picker/src/picker.rs#L662), in which case the `ix` can be greater than that of our updated data. Release Notes: - Fixed crash when filtering MCP tools.
Smit Barmase created
c0b583c
keymap_editor: Move OpenKeymapEditor action into zed_actions (#37928)
This lets us remove title_bar's dependency on keymap_editor, which in turns improves dev build times by ~0.5s for me Release Notes: - N/A
Piotr Osiewicz created
6441099
gpui: Fix blending of colors in `HighlightStyle::highlight` (#37666)
Whilst looking into adding support for RainbowBrackes, we stumbled upon this: Whereas for all properties during this blending, we take the value of `other` if it is set, for the color we actually take `self.color` instead of `other.color` if `self.color` is at full opacity. `Hsla::blend` returns the latter color if it is at full opacity, which seems wrong for this case. Hence, this PR swaps these. Will not merge before the next release, to ensure that we don't break something somewhere unexpected. Release Notes: - N/A
Finn Evers created
611b966
Fix typo in development docs for Windows and Linux (#37925)
Fixes same typo ("collabortation") as #37607 but for the Windows and
Linux dev docs.
Release Notes:
- N/A
Andy Brauninger created
630340d
agent: Fix mention completion sometimes not dismissing on space (#37922)
Previously we would still show a completion menu even when the user typed an unrecognised mode with an argument, e.g. `@something word`. This PR ensures that we only show the completion menu, when the part after the `@` is a known mode (e.g. `file`/`symbol`/`rule`/...) Release Notes: - Fix an issue where completions for `@mentions` in the agent panel would sometimes not be dismissed when typing a space
Bennet Bo Fenner created
acb3406
editor: Wrap placeholder if text overflows (#37919)
This fixes an issue where long placeholders would be cut off, e.g. in a Claude Code thread: <img width="387" height="115" alt="image" src="https://github.com/user-attachments/assets/831a54aa-cf2b-4d87-af86-e368a5936f6b" /> Now: <img width="354" height="115" alt="image" src="https://github.com/user-attachments/assets/e5df5e05-0869-4db2-8dee-38611263191c" /> Most of the changes in this PR are caused by us requiring `&mut Window` in `set_placeholder_text`. Release Notes: - Fixed an issue where placeholders inside editors would not wrap --------- Co-authored-by: Agus Zubiaga <agus@zed.dev>
Bennet Bo Fenner and Agus Zubiaga created
fb3c991
Bump Zed to v0.205 (#37917)
Release Notes: -N/A
Joseph T. Lyons created
d110d32
languages: Remove broken pixi environment activation (#37915)
Closes [#ISSUE](https://github.com/zed-industries/zed/issues/37895) This needs more thought behind it to be implemented properly Release Notes: - N/A
Lukas Wirth created
2cf3def
acp: Add keybindings for authorizing tool calls (#37876)
TODO: - [x] Double-check if we like the naming of the new actions - [x] Only show keybinding hint once per option (e.g. if there are two `allow_once` buttons only show it on the first one) - [x] If there are multiple tool calls that need authorisation, only show keybindings on the first tool call - [x] Figure out which keybindings to use - [x] Add linux keybindings - [x] Add windows keybindings - [x] Bug: long keybindings can make the buttons overflow Release Notes: - Add keybindings for authorizing tool calls (`agent: Allow once`, `agent: Allow always`, `agent: Reject once`) in the agent panel --------- Co-authored-by: Agus Zubiaga <agus@zed.dev>
Bennet Bo Fenner and Agus Zubiaga created
df2d097
editor: Fix adjacent custom highlights interfering with each other (#37912)
Release Notes: - Fixed matching bracket highlighting not highlighting closing brackets when adjacent to each other Co-authored-by: Finn Evers <finn@zed.dev>
Lukas Wirth and Finn Evers created
fcdd427
Revert "markdown: Add support for inline HTML `img` tags inside text (#37264)" (#37893)
This reverts commit e1a5d299721bf14a7cdd41a5ae1bd03ea948c00e. This have regressed Zed release notes' wrapping which we do not want to do on a release day: https://github.com/zed-industries/zed/pull/37264#issuecomment-3265420442 Release Notes: - N/A
Kirill Bulatov created
9c548a0
workspace: Fix tab bar drop target height when no unpinned tabs present (#37884)
Before: <img width="846" height="192" alt="Screenshot 2025-09-10 at 4 44 18 AM" src="https://github.com/user-attachments/assets/3c79e140-e2b2-4e50-9fce-cb182e46d878" /> After: <img width="846" height="192" alt="Screenshot 2025-09-10 at 4 43 13 AM" src="https://github.com/user-attachments/assets/b5fa853d-ce39-4c81-9773-1d84eebc8cbb" /> Release Notes: - Fixed height of the drop background in the tab bar when no unpinned tabs are present.
Smit Barmase created
bd0a5dd
Potentially fix welcome banner in agent panel not going away (#37879)
Potentially fixes #37367. Just going ahead with the change even though it's unclear whether this is the fix, since it is quite low risk. Release Notes: - N/A
Michael Sloan created
2f40a3b
keymap validation: Improve message for action that takes no input (#37877)
See https://github.com/zed-industries/zed/issues/26370#issuecomment-3200022302 Before (user screenshot): <img width="650" height="127" alt="Image" src="https://github.com/user-attachments/assets/9548ce43-657e-46ef-b6be-b95489167ac2" /> After (my screenshot): <img width="616" height="229" alt="image" src="https://github.com/user-attachments/assets/09028305-e7bb-4a31-bb87-55effbec26f3" /> Release Notes: - N/A
Michael Sloan created
304af66
Fix import not working on first column first row of file (#37746)
Closes #26136 Release Notes: - fixed auto import not working on first column, first row of file
Mitch (a.k.a Voz) created
d2886d6
ollama: Add mistral-nemo (#37723)
Adding mistral nemo, sorting by name and adding comment about clamp sizing Release Notes: - Added support for mistral-nemo --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Santiago Bernhardt and Conrad Irwin created
cffb883
Consistently map syntax node navigation actions on macOS (#37874)
Skipping Linux and Windows keymaps here, as it's hard to find a
consistent base-binding for all 4 actions across all platforms that
don't break important actions for each keymap. Someone else can think on
that and make a proposal.
Release Notes:
- Added bindings for navigating between sibling nodes in the syntax tree
on macOS (`cmd-ctrl-{up/down}` for `SelectPreviousSyntaxNode` and
`SelectNextSyntaxNode`). Breaking change: the existing syntax tree
parent/child navigation bindings have moved from
`ctrl-shift-{left/right}` to `cmd-ctrl-{left/right}` to create a unified
four-directional navigation pattern where all syntax tree operations use
the same modifier combination. We could not use the previous base
modifiers without breaking more bindings.
Joseph T. Lyons created
eb7154d
Skip "open this directory" menu entry in case of errors (#37872)
Follow-up of https://github.com/zed-industries/zed/pull/37564 Release Notes: - N/A
Kirill Bulatov created
18c6d9d
Fix SVG preview not refreshing on external file changes (#37316)
Closes #37208 ## Release Notes: - Fixed: SVG preview now refreshes automatically when files are modified by external programs ## Summary Previously, SVG preview would only refresh when files were saved within the Zed editor, but not when modified by external programs (like scripts, other editors, etc.) ## What Changed The SVG preview now subscribes to file system events through the worktree system. When an external program modifies an SVG file, the worktree detects the change and notifies the preview. The preview then clears its cache and refreshes to show the updated content. ## Before the fix https://github.com/user-attachments/assets/e7f9a2b2-50f9-4b43-95e9-93a0720749f5 ## After the fix https://github.com/user-attachments/assets/b23511e3-8e59-45a1-b29b-d5105d32bd2c AI Usage: Used Cursor for code generation
0xshadow created
414d3be
Set usePlaceholders to match Go default (#37551)
Closes #33629 Release Notes: - changed gopls default to match what Go specifies https://github.com/golang/tools/blob/master/gopls/doc/settings.md#useplaceholders-bool
Mitch (a.k.a Voz) created
0862a0b
git: Add uncommit action (#37031)
Closes #36767 Release Notes: - Add uncommit action for git
Alvaro Parker created
2e36e97
language_models: Make Copilot Chat resilient to new model vendors and add tokenizer-based token counting (#37118)
While working on fixing this: #37116. I reliased the current implementation of github copilot is not truly resilient to upstream changes. This PR enhances GitHub Copilot Chat to be forward-compatible with new AI model vendors and improves token counting accuracy by using vendor-specific tokenizers from the GitHub Copilot API. The system previously failed when GitHub added new model vendors like xAI with deserialization errors, and token counting wasn't utilizing the vendor-specific tokenizer information provided by the API. The solution adds an Unknown variant to the ModelVendor enum with serde other attribute to gracefully handle any new vendors GitHub introduces, implements tokenizer-aware token counting that uses the model's specified tokenizer mapping o200k_base to gpt-4o with fallback, adds explicit support for xAI models with proper tool input format handling, and includes comprehensive test coverage for unknown vendor scenarios. Key changes include adding the tokenizer field to model capabilities, implementing the tokenizer method on models, updating tool input format logic to handle unknown vendors, and simplifying token counting to use the vendor's specified tokenizer or fall back to gpt-4o. This ensures Zed's Copilot Chat integration remains robust and accurate as GitHub continues expanding their AI model provider ecosystem. Release Notes: - Enhanced model vendor compatibility to automatically support future AI providers and improved token counting accuracy using vendor-specific tokenizers from the GitHub Copilot --------- Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
1751bf4
Allow outline modal toggling (#37575)
Closes #37511 The outline modal seems to have a bug where if it's open and the `outline::Toggle` is triggered, it would not close if there was another command with the same keybind. So instead, if the outline modal is open and an `outline::Toggle` is triggered, we dismiss the modal. Release Notes: - Fixed a bug where `outline::Toggle` would sometimes not close outline modal
Mitch (a.k.a Voz) created