Commit log

605aa63 Remove codex feature flag (#39878)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

ecc40a2 zed 0.208.2

Joseph T. Lyons created

3746518 Provide codex as an option on remote sessions (#39774)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Ben Brandt and Cole Miller created

45f6f80 acp: Simplify auth check and allow for custom /logout commands (#39867)

Click to expand commit body
- Prefer agent-specific logout handling to allow state reset 
- Treat any auth method as supported; remove provider-specific filter 
- Avoid prompting auth when issuing /logout and agent supports it

Release Notes:

- N/A

Ben Brandt created

90c8da5 settings_ui: Add terminal settings (#39874)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

7c38298 Fix configuring shell in project settings (#39795)

Click to expand commit body
I mistakenly broke this when refactoring settings

Closes #39479

Release Notes:

- Fixed a bug where you could no longer configure `terminal.shell` in
project settings

Conrad Irwin created

b78c6f6 settings_ui: Correct "File Icons" description (#39805)

Click to expand commit body
Align with
https://github.com/zed-industries/zed/blob/cd656485c863fcf3c1cc9cb1f00cd4b29b976fb1/crates/settings/src/settings_content/workspace.rs#L490

By the way, LOVE the settings UI! <3 Great job so far :)


Release Notes:

- N/A

Matthijs Kok created

4122b23 settings_ui: Improve keyboard nav (#39819)

Click to expand commit body
Closes #ISSUE

From notes:

```markdown
  - [x] Clicking on the disclsoure icon button in the root-level tree view item should steal focus and move it to the root item (not the icon button)
  - [x] [@ben] Allow left/right arrow keys to expand/collapse root tree view items in the nav
    - [x] With this, make enter/space work the same as clicking (activate page, don't expand root items, focus moves to the content and leaves nav — becomes consistent with mouse interaction)
  - [x] Smart cmd-shift-e: toggling focus should take you to the selected item
  - [x] [@ben] pageup + pagedown in nav -> jump between root items
  - [x] [@ben] home + end buttons should work
    - in nav:
      - home always goes to first section header
      - end always goes to last _visible_ item (does not expand)
```

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

cc3b0d4 Onboarding refactor (#39724)

Click to expand commit body
<img width="1648" height="976" alt="Screenshot 2025-10-07 at 6 57 20 PM"
src="https://github.com/user-attachments/assets/ae7289c0-8820-4fdf-ae28-84fb6bd64942"
/>

Fixes #39347

Release Notes:

- Improved onboarding UI by collapsing it to a single page

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Andrew Farkas , dino , Lukas Wirth , Mikayla Maki , Anthony Eid , and Mikayla Maki created

b2e9c6c Do not deselect in terminal on copy by default (#39814)

Click to expand commit body
Release Notes:

- Flips `terminal.keep_selection_on_copy` default to `true`

Kirill Bulatov created

3ae971f terminal: Clear shell after activating (#39798)

Click to expand commit body
Two tweaks were required to ensure we correctly clear the shell after
running an activate script(s):
1. PowerShell upon receiving `\r\n` input, will enter the continuation
mode (>>). To avoid this, we send an "enter" key press instead `\x0d`.
2. In order to clear the terminal _after_ issuing all activation
commands, we need to take into account the asynchronous nature of the
activation process:
   - We write the command to run the script to PTY
- We send "enter" (It is now being processed by the shell) At this point
we need to wait for the shell to finish executing before we clear the
terminal. Otherwise we will create a race where we might clear the
terminal _before_ the shell finished executing the activation script(s).
   - Write `clear`/`cls` command to PTY
- Send "enter" This way we guarantee that we clear the terminal _after_
all scripts were executed.

Closes #38474 

Release Notes:

- N/A

Jakub Konka created

04ff8de terminal: Fix escaping arguments when using CMD as the shell (#39701)

Click to expand commit body
A couple of caveats:
- We should not auto-escape arguments with Alacritty's `escape_args`
option if using CMD otherwise, the generated command will have way too
many escaped characters for CMD to parse correctly.
- When composing a full command for CMD, we need to put it in double
quotes manually: `cmd /C "activate.bat& pwsh.exe -C do_something"` so
that CMD executes the entire string as a sequence of commands.
- CMD requires `&` as a chaining operator for commands (`;` for other
shells).

Release Notes:

- N/A

Jakub Konka 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)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

c0651a8 settings ui: Add a handful of design tweaks (#39784)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

62ac632 settings ui: Fix some layout regressions (#39804)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

622bdae settings_ui: Add fallback for `agent_ui_font_size` (#39782)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
And remove the feature flag for now.

Release Notes:

- N/A

Mikayla Maki created

4152942 markdown: Add support for `HTML` block quotes (#39755)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

989d172 Add edit JSON button (#39732)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Mikayla Maki created

1265b22 Update doc comments for `agent_buffer_font_size` (#39743)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

5c7907a settings_ui: Pre preview launch cleanup (#39733)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

8cb67ec remote: Fix opening a remote terminal failing on certain systems (#39715)

Click to expand commit body
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)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

669db62 settings ui: Move selected nav bar entry on scroll (#39633)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

e60a61f languages: Add comment injections for Rust (#39714)

Click to expand commit body
This PR adds comment injections for Rust.

Release Notes:

- Rust: Added comment injections.

Marshall Bowers created

b8a6180 settings_ui: Title Case Enums (#39711)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

dfce57c Remove unused `blake3` dependency (#39677)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Fixes ZED-1XW

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

391e304 settings_ui: Keyboard navigation (#39652)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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