b962071
      Do not unnecessarily compute `find_max_ordering` in bounds tree insertion
    
    
    
     Lukas Wirth created
b962071
      Do not unnecessarily compute `find_max_ordering` in bounds tree insertion
    Lukas Wirth created
9155c58
      gpui: Arc `GlobalElementId`
    This shrinks it from a kilobyte to 8 byte, removing a bunch of memmoves emitted by the compiler.
Lukas Wirth created
bada88c
      Make the rules library window more consistent with the settings UI (#40948)
    Now that we have two surface areas that open as separate windows, it's important they're consistent with one another. This PR make the settings UI and rules library windows more similar by having them use the same minimum window size and similar styles for their navbar given they have fundamentally the same design (nav on the left and content on the right). Release Notes: - N/A
Danilo Leal created
6b8f859
      agent_ui: Remove ellipses from some menu entries (#40858)
    <img width="335" height="236" alt="image" src="https://github.com/user-attachments/assets/5e09e9ed-f0f3-48df-ac22-032edfc6c114" /> Release Notes: This PR fixes inconsistent use of trailing ellipsis (…) in the MCP Server menu. Previously, some menu items (like Add Custom Server…) used hardcoded ellipses even though they didn’t trigger additional dialogs or steps. This change removes unnecessary ellipses to align with standard UI/UX conventions used across Zed’s menus. --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Moo, Kachon and Danilo Leal created
4fd4cbb
      gpui: Add focus-visible selector support (#40940)
    Release Notes: - N/A --------- Co-authored-by: Claude <noreply@anthropic.com>
Mikayla Maki and Claude created
044701e
      rope: Implement `Rope::is_char_boundary` via chars bitmap (#40945)
    Slightly more efficient. No new tests as we already have tests verifiying this. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a96bf50
      theme: Fix entry could appear transparent on hover with certain themes (#40944)
    Follow-up: https://github.com/zed-industries/zed/pull/34655 We should use an opaque fallback color for `panel.overlay_hover`. This helps when a custom theme doesn’t provide it, nor `element.hover`. For example, VSCode’s default modern dark theme doesn’t include an `element.hover` color after import. Release Notes: - Fixed an issue where the project panel’s sticky entry could appear transparent on hover with certain themes.
Smit Barmase created
c16f2a1
      project: Normalize `Path` env var to `PATH` in shell env on windows (#40720)
    Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
ca41032
      settings_ui: Fix file header from showing duplicate display names (#40943)
    After clicking on the file drop-down and selecting a file, both the selected file and the first drop-down entry would be the same file name instead of overwriting a file name. Release Notes: - settings ui: Fix bug where duplicate file names showed in the header files
Anthony Eid created
7312372
      agent_ui: Focus the message editor after regenerating a user message (#40938)
    Release Notes: - agent: Improved the editing previous messages UX by focusing in the agent panel's message editor after regenerating a prompt, instead of moving focus to the nearest regular buffer.
Danilo Leal created
2096f25
      editor: Reduce selection opacity when editor is not focused (#40925)
    Focus: <img width="420" alt="image" src="https://github.com/user-attachments/assets/97b0c7ed-8ad4-400c-9f36-01d8bd9b362d" /> Unfocus: <img width="420" alt="image" src="https://github.com/user-attachments/assets/19805293-b419-4669-8a93-e9cf41900403" /> Release Notes: - Reduced selection opacity when the editor is out of focus to make inactive states clearer.
Smit Barmase created
7880e2b
      docs: Clarify providers in edit-prediction.md (#39655)
    Release Notes: - N/A --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Ted Robertson , Danilo Leal , and Danilo Leal created
ab22478
      Update extension docs to mention BSD 3-Clause is a valid license (#40934)
    Release Notes: - N/A
Joseph T. Lyons created
6ed9c02
      Don't migrate empty formatter array (#40932)
    Follow up for #40409 Fix for https://github.com/zed-industries/zed/issues/40874#issuecomment-3433759849 Release Notes: - Fixed an issue where having an empty formatter array in your settings `"formatter": []` would result in an erroneous prompt to migrate settings
Ben Kunkle created
93136a9
      Update extension docs to mention GNU GPLv3 is a valid license (#40933)
    Merge after: - https://github.com/zed-industries/extensions/pull/3641 Release Notes: - N/A
Joseph T. Lyons created
f393138
      Fix keybind hints flickering in certain scenarios (#40927)
    Closes #39172 This refactors when we resolve UI keybindings in an effort to reduce flickering whilst painting these: Previously, we would always resolve these upon creating the binding. This could lead to cases where the corresponding context was not yet available and no binding could be resolved, even if the binding was then available on the next presented frame. Following that, on the next rerender of whatever requested this keybinding, the keybind for that context would then be found, we would render that and then also win a layout shift in that process, as we went from nothing rendered to something rendered between these frames. With these changes, this now happens less often, because we only look for the keybinding once the context can actually be resolved in the window. | Before | After | | --- | --- | | https://github.com/user-attachments/assets/adebf8ac-217d-4c7f-ae5a-bab3aa0b0ee8 | https://github.com/user-attachments/assets/70a82b4b-488f-4a9f-94d7-b6d0a49aada9 | Also reduced cloning in the keymap editor in this process, since that requiered changing due to this anyway. Release Notes: - Fixed some cases where keybinds would appear with a slight delay, causing a flicker in the process
Finn Evers created
ed5b9a4
      Rework inlay hints system (#40183)
    Closes https://github.com/zed-industries/zed/issues/40047 Closes https://github.com/zed-industries/zed/issues/24798 Closes https://github.com/zed-industries/zed/issues/24788 Before, each editor, even if it's the same buffer split in 2, was querying for inlay hints separately, and storing the whole inlay hint twice, in `Editor`'s `display_map` and its `inlay_hint_cache` fields. Now, instead of `inlay_hint_cache`, each editor maintains a minimal set of metadata (which area was queried by what task) instead, and all LSP inlay hint data had been moved into `LspStore`, both local and remote flavors store the data. This allows Zed, as long as a buffer is open, to reuse the inlay hint data similar to how document colors and code lens are now stored and reused. Unlike other reused LSP data, inlay hints data is the first one that's possible to query by document ranges and previous version had issue with caching and invalidating such ranges already queried for. The new version re-approaches this by chunking the file into row ranges, which are queried based on the editors' visible area. Among the corresponding refactoring, one notable difference in inlays display are multi buffers: buffers in them are not [registered](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didOpen) in the language server until a caret/selection is placed inside their excerpts inside the multi buffer. New inlays code does not query language servers for unregistered buffers, as servers usually respond with empty responses or errors in such cases. Release Notes: - Reworked inlay hints to be less error-prone --------- Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: dino <dinojoaocosta@gmail.com> Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Kirill Bulatov , Lukas Wirth , dino , and Lukas Wirth created
5738bde
      gpui: Make `Empty` request layout with `Display::None` by default (#40900)
    Release Notes: - N/A
Finn Evers created
6622902
      agent: Only show compatible tools in profile selector (#40917)
    In practice this just hides the web search tool when not using the Zed provider Release Notes: - Fixed an issue where the web search tool would show up in the profile selector even when not using a model via Zed Pro
Bennet Fenner created
cb7881e
      Fix migration from #40409 for users who haven't been migrated yet (#40916)
    Closes #40874 Release Notes: - Fixed an issue where migrating settings after v0.208.5+ would spuriously enable prettier. This fix only affects those who have not updated or migrated yet. For those who have already updated to version v0.208.5 or later, placing `"formatter": []` in your settings in the affected languages will fix the issue. --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Ben Kunkle and Mikayla created
c60343a
      eval: Port to agent2 (#40704)
    Release Notes: - N/A
Bennet Fenner created
4a93719
      Upgrade `async-tar` to v0.5.1 (#40911)
    This PR switches us back to the upstream version of `async-tar` and upgrades to v0.5.1. This version has the patch we need: https://github.com/dignifiedquire/async-tar/commit/0c181956395fa28a9ae45786a57c9cf58c413e84. Release Notes: - N/A
Marshall Bowers created
d558005
      markdown: Add support for `colspan` and `rowspan` for HTML tables (#39898)
    Closes https://github.com/zed-industries/zed/issues/39837
This PR adds support for `colspan` feature that is only supported for
HTML tables. I also fixed an edge case where the right side border was
not applied because it didn't match the total column count.
**Before**
<img width="725" height="179"
alt="499166907-385cc787-fc89-4e6d-bf06-c72c3c0bd775"
src="https://github.com/user-attachments/assets/69586053-9893-4c92-aa89-7830d2bc7a6d"
/>
**After**
<img width="1165" height="180" alt="Screenshot 2025-10-21 at 22 51 55"
src="https://github.com/user-attachments/assets/f40686e7-d95b-45a6-be42-e226e2f77483"
/>
```html
<table>
    <tr>
        <th rowspan="2">Region</th>
        <th colspan="2">Revenue</th>
        <th rowspan="2">Growth</th>
    </tr>
    <tr>
        <th>Q2 2024</th>
        <th>Q3 2024</th>
    </tr>
    <tr>
        <td>North America</td>
        <td>$2.8M</td>
        <td>$2.4B</td>
        <td>+85,614%</td>
    </tr>
    <tr>
        <td>Europe</td>
        <td>$1.2M</td>
        <td>$1.9B</td>
        <td>+158,233%</td>
    </tr>
    <tr>
        <td>Asia-Pacific</td>
        <td>$0.5M</td>
        <td>$1.4B</td>
        <td>+279,900%</td>
    </tr>
</table>
```
**TODO**:
- [x] Add tests for rending logic
- [x] Test all the tables again
cc @bennetbo
Release Notes:
- Markdown: Added support for `colspan` and `rowspan` for HTML tables
---------
Co-authored-by: Zed AI <ai@zed.nl>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
    Remco Smits , Zed AI , and Anthony Eid created
96a0db2
      Add comment injections for gowork and gomod (#40842)
    Release Notes: - Add comment injections for go.mod and go.work Signed-off-by: Donnie Adams <donnie@thedadams.com>
Donnie Adams created
23e9e32
      emacs: Improve default keymap to better match the emacs behavior (#40631)
    Hello, I am having a great time setting up the editor, but with a few problems related to the Emacs keymap. In this PR I have compiled changes in the default `emacs.json` that I believe make the onboarding smoother for incoming emacs users. This includes points that may need further discussion and some breaking changes, although nothing that cannot be reverted with a quick `keymap.json` overwrite. (Please let me know if it is better to split up the PR) ### 1. Avoid fallbacks to the default keymap all platforms: - `ctrl-g` activating `go_to_line::Toggle` when there is nothing to cancel linux / windows: - `ctrl-x` activating `editor::Cut` on the 1 second timeout - `ctrl-p` activating `file_finder::Toggle` when the cursor is on the first character of the buffer - `ctrl-n` activating `workspace::NewFile` when the cursor is on the last character of the buffer ### 2. Make all move commands operate on full words In the current Zed implementation some commands run on full words and others on subwords. Although ultimately a matter of user preference, I think it is sensible to use full words as the default, since that is what is shipped with emacs. ### ~~3. Cancel selections after copy/cut commands~~ Moved to #40904 Canceling the selection is the default emacs behavior, but the way to achieve it might need some brushing. Currently I am using `workspace::SendKeystrokes` to copy -> cancel(`ctrl-g`), but this has the following problems: - can only be used in the main buffer (since `editor::Cancel` would typically close secondary buffers) - may cause problems downstream if the user overwrites the `ctrl-g` binding ### ~~4. Replace killring with normal cut/paste commands~~ Moved to #40905 Ideally Zed would support emacs-like killrings (#25270 and #22490). However, I understand that making an emacs emulator is not a project goal, and the Zed team should have a bunch of tasks with higher priority. By using a unified clipboard and standard cut/paste commands, we can provide an experience that is closer to the out-of-the-box emacs behavior (#33351) while also avoiding some pitfalls of the current killring implementation (#28715). ### 5. Promote some bindings to workspace commands - `alt-x` as `command_palette::Toggle` - `ctrl-x b` and `ctrl-x ctrl-b` as `tab_switcher::Toggle` --- Release Notes: - emacs: Fixed a problem where keys would fallback to their default keymap binding on certain conditions - emacs: Changed `alt-f` and `alt-b` to operate on full words, as in the emacs default - emacs: `alt-x`, `ctrl-x b`, and `ctrl-x ctrl-b` are now Workspace bindings
Affonso, Guilherme created
b207da5
      gpui: Re-land uniform list scroll fixes (#40899)
    Re-lands https://github.com/zed-industries/zed/pull/40719, fixes the bugs that were discovered with it and improves some more stuff in that area Release Notes: - Fixed a rare issue where the extension page would stutter while scrolling. --------- Co-authored-by: Agus Zubiaga <agus@zed.dev>
Finn Evers and Agus Zubiaga created
a246019
      agent: Improve discoverability of the quote selection action (#40897)
    This PR renames the `agent::QuoteSelection` to `agent::AddSelectionToThread` _and_ adds it as a menu item in both the right-click context menu within regular buffers as well as the "Selection" app menu. We've received feedback in the past about how hard to discover this feature is, and after watching [the Syntax podcast crew](https://www.youtube.com/watch?v=bRK3PeVFfVE) recently struggle with doing so—and then naturally looking for it in the context menu and not finding it—it felt like time to push a change. I think the rename + the availability in these places could help bringing it to surface more. The same action can be done in Cursor through the `cmd-l` keybinding, but in Zed, that triggers `editor::SelectLine`, which I don't want to override by default. However, if you're using Cursor's keymap, then `cmd-l` does trigger this action, as expected. <img width="500" height="1812" alt="Screenshot 2025-10-22 at 12 01@2x" src="https://github.com/user-attachments/assets/dfc2c41c-8d0a-4a1a-8ea1-1bd5d1aa1171" /> Release Notes: - agent: Improves discoverability of the previously called "quote selection" action—which allows to add a text selection in a buffer as context within the agent panel—by renaming it to "add selection to thread" and making it available from the right-click editor context menu as well as the "Selection" app menu.
Danilo Leal created
3a12122
      Revert "keymaps: Update defaults for inline assist and signature help" (#40903)
    Reverts zed-industries/zed#39587
David Kleingeld created
d0398da
      editor: Fix singleton multibuffer titles not being replicated (#40896)
    Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
69b2ee7
      Bump Zed to v0.211 (#40895)
    Release Notes: - N/A
Joseph T. Lyons created
88bac4d
      docs: Change tab character representation in docs (#40667)
    The suggested `→` appears tiny, and almost looks like just a dot on my monitor, and I got quite confused for a while thinking the `whitespace_map.tab` setting wasn't working properly. <img width="630" height="105" alt="Image" src="https://github.com/user-attachments/assets/98feced2-39b3-4734-83e4-b4573b4e52c2" /> I think it would be really helpful if `⟶` was suggested instead since that displays properly. <img width="625" height="104" alt="Image" src="https://github.com/user-attachments/assets/176886ab-cf88-4079-90a8-91a8e8182092" /> --- I am using `Fira Code` as my font on windows, however when I remove that config to get the default font, it also still appears the same size. So I don't believe this is just a font issue on my machine. Thought I am using Windows, so I would be willing to believe this a render issue specific to windows Release Notes: - N/A
Ajani Bilby created
d53efe4
      Revert "gpui: Fix uniform list scrolling with vertical padding present" (#40891)
    Reverts zed-industries/zed#40719 This unveiled some bigger issues with the UniformList size computations, which are more crucial than what was fixed here. Release Notes: - NOTE: BUGFIX "Fixed a rare issue where the extension page would stutter while scrolling." was reverted due to some other issues
Finn Evers created
14b41b1
      Fix JumpHost on Windows (#40713)
    Closes #39382 Release Notes: - Fixed Windows specific ssh jumphost connection issues
localcc created
98c7e01
      Add new action and handler for opening a specific setting (#40739)
    Co-authored-by: Ben Kunkle <ben@zed.dev>
Cameron Mcloughlin and Ben Kunkle created
c81ffaf
      editor: Use unbounded shifts for chunk bitmaps (#40879)
    This simplifies some code and is also more correct in some others (I believe some of these might've overflowed causing panics in sentry) Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
bd69124
      Add option to disable crash handler (#40799)
    Extra info needed for #39289. To be tested out next nightly build... Release Notes: - N/A Co-authored-by: Cole Miller <m@cole-miller.net>
Nia and Cole Miller created
77dbe08
      project_panel: Fix buffer focus when canceling filename edit (#40747)
    Closes #37726 Release Notes: - Fixed an issue where the buffer would not regain focus when clicked while a filename edit was in progress in the project panel. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Samuel Oldham and Smit Barmase created
252b75e
      Disable slang-server for verilog extension (#40442)
    Should be merged with https://github.com/zed-industries/extensions/pull/3584, which adds `slang-server` as a new language server, but should be disabled by default due to an issue with it not initializing on Windows and being a relatively new language server in general. Release Notes: - N/A
Owen Law created
bc0bace
      Add basic ico support (#40822)
    Closes https://github.com/zed-industries/zed/discussions/40763 <img width="867" height="1088" alt="Screenshot 2025-10-21 at 23 14 47" src="https://github.com/user-attachments/assets/d691fb2a-afc6-4445-a335-054ef164e0d3" /> Also improves error handling on image open failure: <img width="864" height="1083" alt="Screenshot 2025-10-21 at 23 14 30" src="https://github.com/user-attachments/assets/d5388b61-995f-441b-b375-ad5136d1533b" /> Release Notes: - Added basic ico support, improved unsupported image handling
Kirill Bulatov created
8ceb2f2
      Add more tweaks to the troubleshooting docs (#40870)
    Release Notes: - N/A
Joseph T. Lyons created
25de2ac
      Correct workspace db directory paths (#40868)
    Release Notes: - N/A
Joseph T. Lyons created
8bad2cb
      Add another informational blog post to docs (#40865)
    Release Notes: - N/A
Joseph T. Lyons created
762af09
      Add more troubleshooting information (#40864)
    Release Notes: - N/A
Joseph T. Lyons created
3d3e913
      collab: Pin sea-orm-macro crate version together with sea-orm (#40846)
    Currently running `cargo update` on Zed will break the collab crate because the versions of sea-orm and sea-orm-macros will not match. This results in a bunch of noisy warnings from rust-analyzer. Release Notes: - N/A
Be created
fd9c2e3
      Organize release docs (#40860)1
    Release Notes: - N/A
Joseph T. Lyons created
08d95ad
      chore: Bump gpui to 0.2.2 (#40856)
    Release Notes: - N/A
Mikayla Maki created
d096132
      docs: Add git stash to git.md (#40834)
    Closes #ISSUE Release Notes: - Added git stash documentation
Alvaro Parker created
d7c8555
      Update async-tar dependency for GPUI (#40850)
    Release Notes: - N/A
Mikayla Maki created
9c71a7f
      Revert arm64 runners (#40852)
    Release Notes: - N/A
Mikayla Maki created
221637e
      Fix code signing for Windows installer (#40847)
    Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
John Tur , Mikayla Maki , and Conrad Irwin created