37e7f30
      zed 0.208.1
    
    
    
     Joseph T. Lyons created
37e7f30
      zed 0.208.1
    Joseph T. Lyons created
28c9cd2
      windows: Do not exit from app in dev builds when cli is not found (#39768)
    Release Notes: - N/A
Piotr Osiewicz created
c0651a8
      settings ui: Add a handful of design tweaks (#39784)
    Release Notes: - N/A
Danilo Leal created
62ac632
      settings ui: Fix some layout regressions (#39804)
    Release Notes: - N/A
Danilo Leal created
622bdae
      settings_ui: Add fallback for `agent_ui_font_size` (#39782)
    Closes https://github.com/zed-industries/zed/issues/39775 Release Notes: - N/A
Finn Evers created
5975c1c
      settings_ui: Focus content controls when opened from nav bar (#39792)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
2cee97e
      v0.208.x preview
    Joseph T. Lyons created
dd3b65f
      acp: Don't display failed terminal call on display only terminals (#39780)
    We don't get an ExitStatus from a remote terminal, so this check was failing. Ideally we move all of this to just needing an exit code, but we will have to revisit that later. Release Notes: - N/A
Ben Brandt created
057b7b1
      vim: Fix % motion edge case (#39620)
    Update Vim's `%` motion to first attempt finding the exact matching bracket/tag under the cursor, then fall back to the previous nearest-enclosing logic if none is found. This prevents accidentally jumping to nested pairs in languages like TSX and Svelte where `<>`, `</>`, and `/>` are also treated as brackets. Closes #39368 Release Notes: - Fixed an edge case with the `%` motion in vim, where the cursor could end up in a closing HTML tag instead of the matching bracket
Dino created
a9455eb
      migrator: Avoid attempting to migrate empty content (#39771)
    This commit fixes an issue where opening zed using `--user-data-dir` with an empty directory would cause the first run to display a "Failed to migrate settings" error. This was caused by the migrator attempting to migrate an empty string, so if that's the case, we'll simply return `Ok(None)` and avoid attempting to migrate anything at all. Relates to #39400 Release Notes: - N/A Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Dino and Smit Barmase created
db3c186
      language_model: Add image decoding support for BMP and TIFF image formats (#39767)
    Related: #39745 Release Notes: - Added support for pasting TIFF and BMP images in the agent panel.
Finn Evers created
7185670
      agent2: Fix `test_save_load_thread` for Windows paths (#39753)
    Use path! macro for platform-specific path formatting in test assertions, fixing hardcoded Unix-style paths that failed on Windows. Release Notes: - N/A Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
4ec24eb
      Fix more settings UX problems (#39760)
    And remove the feature flag for now. Release Notes: - N/A
Mikayla Maki created
4152942
      markdown: Add support for `HTML` block quotes (#39755)
    This PR adds support for HTML block quotes, that also allows you to have
nested variant of it.
<img width="1441" height="804" alt="Screenshot 2025-10-08 at 10 25 57"
src="https://github.com/user-attachments/assets/4e1da766-fb54-4e87-8654-1ea14330bc97"
/>
Code example used in screenshot:
```html
<blockquote>
    <p>
        Words can be like X-rays, if you use them properly—they’ll go through
        anything. You read and you’re pierced.
    </p>
    <blockquote>
        <p>
            lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.
        </p>
    </blockquote>
</blockquote>
```
Release Notes:
- Markdown: Added support for `HTML` block quotes
    Remco Smits created
bbf4bfa
      Implement the unimplemented setting (#39747)
    Release Notes: - N/A
Mikayla Maki created
989d172
      Add edit JSON button (#39732)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Mikayla Maki created
1265b22
      Update doc comments for `agent_buffer_font_size` (#39743)
    Follow up to https://github.com/zed-industries/zed/pull/39468. Unlike `agent_ui_font_size`, the `agent_buffer_font_size` setting does have a default value, which means it does not fall back to the regular UI font size, but rather to its default value. Release Notes: - N/A
Danilo Leal created
294ca25
      settings ui: Add another batch of UX fixes and improvements (#39742)
    Release Notes: - N/A
Danilo Leal created
5c7907a
      settings_ui: Pre preview launch cleanup (#39733)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Anthony <anthony@zed.dev>
Ben Kunkle and Anthony created
f652c3a
      settings_ui: Filter to get project settings (#39730)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Ben Kunkle , Danilo Leal , and Mikayla Maki created
69ac003
      Add escape to settings window (#39699)
    Release Notes: - N/A
Mikayla Maki created
d615525
      ui: Rename and simplify NumberField component (#39731)
    Danilo Leal created
8bf37dd
      settings ui: Add more UX improvements (#39700)
    Release Notes: - N/A
Danilo Leal created
8cb67ec
      remote: Fix opening a remote terminal failing on certain systems (#39715)
    Closes #38538 Release Notes: - Fixed an issue where opening a remote terminal failed on systems like BusyBox, Alpine, Amazon Linux 2, some CentOS images, etc., due to an invalid option 'C'.
Smit Barmase created
cd67941
      settings_ui: Preserve selected nav entry when changing files (#39721)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
669db62
      settings ui: Move selected nav bar entry on scroll (#39633)
    This PR makes selecting a sub-entry in the settings UI nav bar scroll to that section in the settings page. It also updates the selected sub-entry when scrolling through a settings page to match what a user is viewing on the page. I also added a new helper method to `ScrollHandle` type called `scroll_to_top_of_item` that scrolls until an item is the top element visible. Release Notes: - N/A
Anthony Eid created
41f1835
      project_panel: Fix clicking away to create file or directory doesn't create it (#39716)
    Closes #38919 Now, when unfocusing the filename editor while creating a file or directory in the project panel, it will create it by default unless the name is empty or already exists. Release Notes: - Improved behavior where unfocusing while creating a new file or directory in the project panel now creates it instead of discarding it.
Smit Barmase created
791ba9c
      settings_ui: Soft fail on no default & fix language default loading (#39709)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
e60a61f
      languages: Add comment injections for Rust (#39714)
    This PR adds comment injections for Rust. Release Notes: - Rust: Added comment injections.
Marshall Bowers created
b8a6180
      settings_ui: Title Case Enums (#39711)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
dfce57c
      Remove unused `blake3` dependency (#39677)
    Did not found any code reference or direct dependants of this package in the workspace. Release Notes: - N/A
Bartosz Kaszubowski created
15580a8
      windows: Fix handling of AltGr to avoid conflicts (#38925)
    The previous modifier detection treated `AltGr` presses as `Ctrl+Alt`,
which broke entering characters produced by AltGr. For example, on a
Hungarian layout `{` is typed with `AltGr+B`; our code saw that as
`Ctrl+Alt+B` and the keybind took precedence, so the character couldn’t
be entered.
On Windows, AltGr isn’t a first-class modifier. It’s emulated as a
combination of `Right Alt (VK_RMENU)` plus a synthetic `Left Ctrl
(VK_LCONTROL)` press. When users press AltGr, `GetKeyState` reports both
Ctrl and Alt as down, which makes AltGr indistinguishable from a real
`Ctrl+Alt` chord if we only look at aggregate modifier state.
Fix: detect the AltGr pattern by checking `VK_RMENU && VK_LCONTROL`.
When that pattern is present, treat it as text-entry intent and suppress
`control` and `alt` in `current_modifiers()`. This prevents
AltGr-produced characters from colliding with `Ctrl+Alt` keybinds while
keeping other modifiers intact.
Limitation: there is no Windows API to tell whether the active layout
actually has AltGr. As a result, on non-AltGr layouts (e.g. US),
pressing `Right Alt + Left Ctrl` will be interpreted as AltGr and will
not trigger `Ctrl+Alt` keybinds. This is an acceptable trade-off to
ensure AltGr layouts can reliably enter characters; users can still
invoke `Ctrl+Alt` keybinds using `Left Alt` or by choosing bindings that
avoid common AltGr pairs.
I based this on https://github.com/zed-industries/zed/pull/36115 after
trying other different approaches, but this one is a bit more specific.
Does this approach make sense, or is slightly breaking US input in favor
of fixing international input a no-go? I think the benefit - being able
to type certain characters _at all_ - outweighs the shortcomings.
Otherwise, there's a way to detect if the keyboard layout uses AltGr or
not, but it's quite hacky, and involves reading the registry to find the
current layout dll's name, opening that dll, manually declaring struct
layouts that it uses, then parsing out the AltGr flag from a function
call result. I don't think that's worth it, but if needed, I can give
that a shot, let me know.
Release Notes:
- windows: Fixed handling of AltGr to avoid keybinds preventing
character input
    Antal Szabó created
f7bb22f
      settings ui: Add missing setting elements (#39644)
    Added the following settings to the UI Editor Page - Scrollbar Section (9 settings) - Show - Cursors - Git Diff - Search Results - Selected Text - Selected Symbol - Diagnostics - Horizontal Scrollbar - Vertical Scrollbar Editor Page - Minimap Section (6 settings) - Show - Display In - Thumb - Thumb Border - Current Line Highlight - Max Width Columns Editor Page - Editor Behavior Section (3 settings) - Expand Excerpt Lines - Excerpt Context Lines - Minimum Contrast For Highlights Debugger Page (7 settings) - Stepping Granularity - Save Breakpoints - Timeout - Dock - Log DAP Communications - Format DAP Log Messages - Button Panels Page - Git Panel Section (3 settings) - Button - Dock - Default Width Collaboration Page - Experimental Section (4 settings) - Auto Microphone Volume - Auto Speaker Volume - Denoise - Legacy Audio Compatible Release Notes: - N/A
Anthony Eid created
7db7ad9
      Revert "gpui: Assert validity of text runs for `StyleText`" (#39708)
    Reverts zed-industries/zed#39581 This has done its job uncovering incorrect constructions of the highlight ranges pretty fast. Reverting this to prevent this from spilling into preview until I can fix the call sites next week
Lukas Wirth created
642643d
      language: Fix `HighlightedText::first_line_preview` creating incorrect highlight ranges (#39705)
    Fixes ZED-1XW Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
391e304
      settings_ui: Keyboard navigation (#39652)
    Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Ben Kunkle and Mikayla created
3106472
      terminal: Escape strings with backticks rather than backslashes in PowerShell (#39657)
    Closes #39007 Strings should be escaped with backticks in PowerShell, so the following ``` \"pwsh.exe -C pytest -m \\\"some_test\\\"\" ``` becomes ``` \"pwsh.exe -C pytest -m `\"some_test`\"\" ``` Otherwise PowerShell will misinterpret the invocation resulting in weirdness all-around such as the issue linked above. Release Notes: - N/A
Jakub Konka created
d04ac86
      Don't construct an agent panel when `disable_ai` is set (#39689)
    Follow-up to #39649, possible fix for #39669 This implements an alternate strategy for showing/hiding the agent panel in response to `disable_ai`. We don't load the panel at all if AI is disabled at startup, and when the value of `disable_ai` changes, we load the panel or destroy it as needed. Release Notes: - N/A
Cole Miller created
f9a2724
      Remove empty line when collapsing diagnostics (#39459)
    Closes #39028 Fixed empty lines appearing when collapsing files with diagnostic messages in the diagnostics panel. Added a flag to track when processing a `FoldedBuffer` and skip `Near/Below` blocks (diagnostic messages) that immediately follow it. This prevents diagnostics from rendering as empty lines when their file is collapsed. Before: <img width="1489" height="429" alt="before" src="https://github.com/user-attachments/assets/5e233290-1f6e-403c-a6b3-a65107586d01" /> After: <img width="981" height="270" alt="after" src="https://github.com/user-attachments/assets/a877b651-6b7f-4441-805c-38ea41e73a18" /> Release Notes: - Fixed empty lines when collapsing files with diagnostics in the diagnostics panel
Vinicius da Motta created
ded73c9
      Fix an issue where scrollbars would capture too many events (#39690)
    This PR fixes an issue where scrollbars would overagressively capture some events, which could lead to clicks being lost in the process. Also improves how hovering of the parent is detected to lead to less false positives. Release Notes: - Fixed a rare issue where scrollbars would react to and capture events they should not react to.
Finn Evers created
41cf114
      Revert "Remove cx from ThemeSettings (#38836)" (#39691)
    This reverts commit a2a7bd139a3f94202d2a050a2bc7e50dc139000b. This caused themes to not load correctly on startup, you needed to edit your settings. Release Notes: - N/A
Conrad Irwin created
e765818
      agent: Remove some unused code from the `Thread` (#39688)
    This PR removes some unused code from the Agent1 `Thread`. Release Notes: - N/A Co-authored-by: David Kleingeld <davidsk@zed.dev>
Marshall Bowers and David Kleingeld created
84f4888
      settings ui: Review available items ordering & writing (#39682)
    Release Notes: - N/A
Danilo Leal created
85985fe
      git: Fix panic in git panel when `sort_by_path` is `true` (#39678)
    Fixes ZED-1NX
This panic could occur when an `bulk_staging` was set to `Some(...)` and
`sort_by_path` was set to `true`.
When setting `sort_by_path: true`, we call `update_visible_entries(...)`
which then checks if `bulk_staging ` is `Some(...)` and calls
`entry_by_path`. That function accesses `entries`, which still consists
of both headers and entries. But the code
(`entry.status_entry().unwrap()`) assumes that there are no headers in
the entry list if `sort_by_path: true`.
```rust
if GitPanelSettings::get_global(cx).sort_by_path {
    return self
        .entries
        .binary_search_by(|entry| entry.status_entry().unwrap().repo_path.cmp(path)) //This unwrap() would panic
        .ok();
}
```
This has now been fixed by clearing all the entries when `sort_by_path`
changes, as this is the only case where our assumptions are invalid. I
also added a test which 1) actually tests the sort_by_path logic 2)
ensures that we do not re-introduce this panic in the future.
Release Notes:
- Fixed a panic that could occur when using `sort_by_path: true` in the
git panel
    Bennet Bo Fenner created
3bec885
      relpaths: Fix repeated usages of RelPath::unix on static paths (#39675)
    - **paths: Cache away results of static construction of RelPath** - **agent: Cache away results of converting rules file names into relpaths** This PR fixed a regression from relpath PR where we've started doing more work when working with static (Rel-)Paths. Release Notes: - N/A
Piotr Osiewicz created
9a5034e
      Improve command logging and `log_err` module paths (#39674)
    Prior we only logged the crate in `log_err`, which is not too helpful. We now assemble the module path from the file system path. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
64eec67
      Fix floating file chooser (#39154)
    Closes #39117 Some window managers (example: hyprland https://github.com/hyprwm/Hyprland/issues/11229) still won't open a floating file chooser because they don't support the XDG foreign protocol yet: https://wayland.app/protocols/xdg-foreign-unstable-v2 Release Notes: - Fixed file chooser not floating --------- Co-authored-by: David Kleingeld <davidsk@zed.dev>
Alvaro Parker and David Kleingeld created
ffff56f
      Revert "search: Introduce more yield points in project search `pending_search` task" (#39672)
    Reverts zed-industries/zed#39624 This seems to have had the opposite effect
Lukas Wirth created
b02b130
      extensions_ui: Fix uneven horizontal padding (#39627)
    This fixes an issue where the horizontal padding on the extensions page was uneven and where the padding on the right side would be much larger. | Before | After | | --- | --- | | <img width="2550" height="1694" alt="Bildschirmfoto 2025-10-06 um 19 26 56" src="https://github.com/user-attachments/assets/cf05b77b-4a9e-4ad9-8fa7-381f9b6b45af" /> | <img width="2546" height="1694" alt="Bildschirmfoto 2025-10-06 um 19 25 49" src="https://github.com/user-attachments/assets/493ba188-534a-4e7a-b2c1-2b1380be7150" /> | Release Notes: - Improved the horizontal padding on the extensions tab.
Finn Evers created
41ac6a8
      windows: Use nc-esque ssh askpass auth for remoting (#39646)
    This lets us avoid storing user PW in ZED_ASKPASS_PASSWORD env var. Release Notes: - N/A
Piotr Osiewicz created