Commit log

e3297cd Add "Setting up Xdebug" section in PHP docs (#40470)

Click to expand commit body
The page about PHP in the docs doesn’t explain how to use Xdebug. I had
a lof of trouble setting it up the first time, then recently had another
headache trying to get it to work again, because the value for `adapter`
had changed from `PHP` to `Xdebug`.

It’s likely that my example config isn’t perfect or has redundant stuff
or whatever, feel free to amend it.

I also took the liberty to set the Phpactor and Intelephense headings to
level 3 because I felt like they were part of "Choosing a language
server."

Release Notes:

- N/A

Sylvain Brunerie created

92ff29f Add Vue language server v3 support (#40651)

Click to expand commit body
Closes https://github.com/zed-extensions/vue/issues/48

Migration guide:
https://github.com/vuejs/language-tools/discussions/5456

PR to remove tdsk: https://github.com/zed-extensions/vue/pull/61

Release Notes:

- Added support for Vue language server version 3. Know more
[here](https://github.com/vuejs/language-tools/releases/tag/v3.0.0).

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Smit Barmase , MrSubidubi , and Piotr Osiewicz created

1d3bf97 Add DelayMs type for settings (#40659)

Click to expand commit body
Closes #40610

Release Notes:

- N/A

Julia Ryan created

59b87d5 git_ui: When no changes, disable stage/unstage toolbar buttons (#39909)

Click to expand commit body
# Why

While working on recent PR I have spotted that "Stage" and "Unstage"
buttons in "Uncommited Changes" toolbar are always active, even when
there is no changes made locally.

<img width="1628" height="656" alt="Screenshot 2025-10-10 at 00 49 06"
src="https://github.com/user-attachments/assets/6bdb9ded-17c8-4f84-8649-b297162c1992"
/>

# How

Re-use already existing button states for managing the disabled state of
"Uncommited Changes" toolbar buttons when changeset is empty.

Release Notes:

- Added disabled state for "Uncommited Changes" toolbar buttons when
there are no changes present

# Preview

<img width="1728" height="772" alt="Screenshot 2025-10-10 at 08 40 14"
src="https://github.com/user-attachments/assets/ff41d852-974e-4ce1-9163-ecd30e17d5d8"
/>

Bartosz Kaszubowski created

fd4682c Remove Windows beta issue template (#40650)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

f2b966b remote: Use SFTP over SCP for uploading files and directories (#40510)

Click to expand commit body
Closes #37322

Uses SFTP if available, otherwise falls back to SCP for uploading files
and directories to remote. This fixes an issue on older macOS versions
where outdated SCP can throw an ambiguous target error.

Release Notes:

- Fixed an issue where extensions wouldn’t work when SSHing into a
remote from older macOS versions.

Smit Barmase created

4507110 settings: Remove unused `stream_edits` setting in `agent` (#40640)

Click to expand commit body
This setting is unused (we always stream edits)

Release Notes:

- N/A

Bennet Fenner created

1b43a63 fs: Fix `RealFs::open_handle` implementation for directories on windows (#40639)

Click to expand commit body
Release Notes:

- Fixed worktree names not updating when renaming the root folder on
windows

Lukas Wirth created

8f3f723 gpui: Add exit in tab title update loop (#40628)

Click to expand commit body
Release Notes:

- N/A

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

5f13ce6 docs: Update section about installing extensions locally (#40636)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

5738781 terminal_ui: Terminal failed to spawn UI (#40246)

Click to expand commit body
Co-authored-by: Piotr piotr@zed.dev
Co-authored-by: Lukas lukas@zed.dev
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Co-authored-by: Gaauwe Rombouts <mail@grombouts.nl>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Cameron Mcloughlin , Piotr piotr@zed.dev , Lukas lukas@zed.dev , Lukas Wirth , Gaauwe Rombouts , and Danilo Leal created

197d244 image_viewer: Use buffer font in breadcrumbs (#40601)

Click to expand commit body
# Why

Spotted that image path in editor breadcrumb uses regular (UI) font in
comparison to paths of any other code-related files.

<img width="842" height="214" alt="Screenshot 2025-10-18 at 19 32 55"
src="https://github.com/user-attachments/assets/07823fd2-778a-4341-a647-3ab50192c8fa"
/>

# How

Use buffer font for image path in Image Viewer breadcrumbs.

Release Notes:

- Aligned appearance of path displayed by Image Viewer breadcrumbs with
other panes.

# Preview

### Before

<img width="842" height="214" alt="Screenshot 2025-10-18 at 19 26 17"
src="https://github.com/user-attachments/assets/921df27f-c104-457e-908c-e4beaea3a27e"
/>

### After

<img width="842" height="214" alt="Screenshot 2025-10-18 at 19 24 17"
src="https://github.com/user-attachments/assets/112ce5f3-1a2b-40e4-bf4f-e258f3518812"
/>

Bartosz Kaszubowski created

6d97598 Register rules files as Markdown (#40614)

Click to expand commit body
Release Notes:

- `.rules`, `.cursorrules`, `.windsurfrules`, and `.clinerules` are now
syntax highlighted as Markdown files.

Joseph T. Lyons created

3aee143 python: Only enable basedpyright and ruff by default (#40604)

Click to expand commit body
Though we ship with `basedpyright`, `ruff` and a few other laps for
python, we run them all at once.

Release Notes:

- Only enable `basedpyright` and `ruff` by default when opening Python
files. If you prefer one of the other.

Joseph T. Lyons created

02b15f0 Add Windows path into custom theme docs (#40599)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/40584
Closes https://github.com/zed-industries/zed/issues/40057

Release Notes:

- N/A

Kirill Bulatov created

8d48f9c gpui: Simplify tab group lookup logic in SystemWindowTabController (#40466)

Click to expand commit body
Refactor the find_tab_group method to use the question mark operator for
cleaner error handling, replacing the explicit if-else pattern with a
more concise chained approach.

Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

4199445 Fix `extension` keymap context for single file worktree (#40425)

Click to expand commit body
Closes #40353

Release Notes:

- Fixed `extension` in keymap context being empty for single file
worktree

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

Andrew Farkas and Cole Miller created

89be263 project_panel: Fix double-click on blank area to create a new file (#40503)

Click to expand commit body
Regressed in https://github.com/zed-industries/zed/pull/38008

Release Notes:

- Fixed an issue where double-clicking empty space in the project panel
wouldn’t create a new file.

Smit Barmase created

3566446 docs: Add `deno.jsonc` to JSON LSP settings (#40563)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Bedis Nbiba created

219ae05 Add a doc on crafting release notes (#40557)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

e702df2 Fix Rust macro_invocation injections (#40534)

Click to expand commit body
Closes #40317

Release Notes:

- N/A

Julia Ryan created

3d6722b Fix Right Alt key not working in keybindings on Windows (#40536)

Click to expand commit body
### Problem
On Windows, the right Alt key was not working in keybindings (e.g.,
`Ctrl+Right Alt+B`), while the left Alt key worked correctly. This was
due to overly aggressive AltGr detection that treated any `right Alt +
left Ctrl` combination as AltGr, even on US keyboards where AltGr
doesn't exist.

### Root Cause
Windows internally represents AltGr (Alt Graph) as `right Alt + left
Ctrl` pressed simultaneously. The previous implementation always
excluded this combination from being treated as regular modifier keys to
support international keyboards. However, this broke keybindings using
right Alt on US/UK keyboards where users expect right Alt to behave
identically to left Alt.

### Solution
Implemented keyboard layout-aware AltGr detection:

1. Added `uses_altgr()` method to `WindowsKeyboardLayout` that checks if
the current keyboard layout is known to use AltGr (German, French,
Spanish, Polish, etc.)
2. Modified `current_modifiers()` to only apply AltGr special handling
when the keyboard layout actually uses it
3. Added explicit checking for both `VK_LMENU` and `VK_RMENU` instead of
relying solely on the generic `VK_MENU`

### Behavior
- **US/UK keyboards**: Right Alt now works identically to left Alt in
keybindings. `Ctrl+Right Alt+B` triggers the same action as `Ctrl+Left
Alt+B`
- **International keyboards** (German, French, Spanish, etc.): AltGr
continues to work correctly for typing special characters and doesn't
trigger keybindings
- **All keyboards**: Both Alt keys are detected symmetrically, matching
the behavior of left/right Windows keys

### Testing
Manually tested on Windows with US keyboard layout:
-  `Ctrl+Left Alt+B` triggers keybinding
-  `Ctrl+Right Alt+B` triggers keybinding  
-  Both Alt keys work independently in keybindings


Release Notes:
- Fixed Right Alt key not working in keybindings on Windows

joel created

47c6ae7 settings_ui: Fix stepper buttons to Inactive Opacity to 0.1 increment adjustments (#40477)

Click to expand commit body
Closes #40279

Release Notes:

- Fix stepper buttons (+/-) to the Inactive Opacity setting for 0.1
increment adjustments on settings UI

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Delvin and Danilo Leal created

9984614 settings_ui: Fix misplaced comma in autoclose setting description (#40519)

Click to expand commit body
Release Notes:

- Fixed misplaced comma in the autoclose description from:
"when you type (, Zed will ...)"
to 
"when you type, (Zed will ...)"

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

David and Danilo Leal created

287314f markdown_preview: Improve the link decoration logic (#39905)

Click to expand commit body
Closes #39838

Refs:
*
https://github.com/zed-industries/zed/pull/39149#issuecomment-3383015060

# How

After digging a bit more to find out why raw links are not colored in
Markdown renderer I have found a simpler approach to applying color
decoration, which also fixed the lack of colors on raw links mentioned
in issue and comment above.

Release Notes:

- Improved decoration logic for links in Markdown

# Preview

<img width="1712" height="820" alt="Screenshot 2025-10-09 at 23 39 09"
src="https://github.com/user-attachments/assets/3864cb6c-3fc6-4110-8067-6158cd4b58f5"
/>

Bartosz Kaszubowski created

63e719f Disallow rename/copy/delete on unshared files (#40540)

Click to expand commit body
Release Notes:

- Disallow rename/delete/copy on unshared files

Co-Authored-By: Cole <cole@zed.dev>

Conrad Irwin and Cole created

1e69e5d Set the minimum log level to `info` for the remote server (#40543)

Click to expand commit body
`env_logger` defaults to only showing error-level logs, but we show
info-level logs and above for the main Zed process, so I think it makes
sense for the remote server to behave the same way.

Release Notes:

- N/A

Cole Miller created

30c4434 Ignore flaky ignored_dirs_events test (#40546)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d7e193c Show telemetry for adding all items (#40541)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Mikayla Maki created

438c890 perf: Add on search + fixups (#40537)

Click to expand commit body
Release Notes:

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

Nia created

4dd463f Fix repo path to project path conversion in git panel (#40535)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/40422
Closes https://github.com/zed-industries/zed/issues/40379
Closes https://github.com/zed-industries/zed/issues/40307

Release Notes:

- Fixed an issue where the project diff view did not work for multi-repo
projects on Windows when using WSL or SSH remoting

Max Brunsfeld created

22fd91d Re-register buffers on server stop (#40504)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/40388

Release Notes:

- N/A

Kirill Bulatov created

a660a39 docs: Update cpp.md to indicate GDB version requirements (#40027)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Seeni , Piotr Osiewicz , and Marshall Bowers created

6028545 gpui: Update link to Ownership and data flow section (#40457)

Click to expand commit body
Fixed broken link to `Ownership and data flow section`.

Seivan created

7e97fca Reduce `display_map` snapshot creation (#39354)

Click to expand commit body
Re-applies https://github.com/zed-industries/zed/pull/30840

This PR re-applies the initial
[PR](https://github.com/zed-industries/zed/pull/30840). As it was closed
because it was hard to land, because of the many conflicts. This PR
re-applies the changes for it.

In several cases we were creating multiple display_map
snapshots within the same root-level function call.
Creating a display_map snapshot is quite slow, and in some
cases we were creating the snapshot multiple times.

Release Notes:

- N/A

Remco Smits created

ef5b8c6 Remove workspace-hack (#40216)

Click to expand commit body
We've been considering removing workspace-hack for a couple reasons:
- Lukas ran into a situation where its build script seemed to be causing
spurious rebuilds. This seems more likely to be a cargo bug than an
issue with workspace-hack itself (given that it has an empty build
script), but we don't necessarily want to take the time to hunt that
down right now.
- Marshall mentioned hakari interacts poorly with automated crate
updates (in our case provided by rennovate) because you'd need to have
`cargo hakari generate && cargo hakari manage-deps` after their changes
and we prefer to not have actions that make commits.

Currently removing workspace-hack causes our workspace to grow from
~1700 to ~2000 crates being built (depending on platform), which is
mainly a problem when you're building the whole workspace or running
tests across the the normal and remote binaries (which is where
feature-unification nets us the most sharing). It doesn't impact
incremental times noticeably when you're just iterating on `-p zed`, and
we'll hopefully get these savings back in the future when
rust-lang/cargo#14774 (which re-implements the functionality of hakari)
is finished.

Release Notes:

- N/A

Julia Ryan created

375a404 settings_ui: Fix missing list state reset causing panic (#40497)

Click to expand commit body
Closes #40467

Release Notes:

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

Ben Kunkle created

27dcdb5 multi_buffer: Reduce `RefCell::borrow_mut` calls to the bare minimum (#40522)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

1fbe1e3 VSCode settings import refactor (#40513)

Click to expand commit body
A small follow-up to the settings refactor of a few weeks ago to move
all the VSCode settings imports
to one place.

This should make it easier to spot missing imports, and easier to test
the importer.

Release Notes:

- N/A

Conrad Irwin created

62858f6 Restore Oxford comma in README (#40518)

Click to expand commit body
We use Oxford commas in this household.

Release Notes:

- N/A

Marshall Bowers created

3f13191 Remove agent1 code (#40495)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

73e028c dap: Allow user to pass custom envs to adapter via project settings (#40490)

Click to expand commit body
It is now possible to configure logging level of CodeLLDB adapter via
envs specified in project settings like so:

```
{
    "dap": {
        "CodeLLDB": {
            "envs": {
                "RUST_LOG": "debug"
            }
        }
    }
}
```

Release Notes:

- N/A

Jakub Konka created

c1e87c8 zeta2: Feature flag (#40505)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

1449d1c zeta2: Report accepted predictions (#40500)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

83bfe2f multi_buffer: Make `anchor_in_excerpt` fallible for bad text anchors (#40496)

Click to expand commit body
`MultiBuffer::anchor_in_excerpt` currently just wraps the given text
anchor in a multibuffer anchor. This allows one to get a multibuffer
anchor that points outside its excerpt which is basically never what one
wants. This PR now does a bounds check and returns `None` if the given
text anchor is not within the bounds of the excerpt.

Release Notes:

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

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Lukas Wirth and Kirill Bulatov created

7f9898a Add Amplitude tracking to docs (#40494)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Gaauwe Rombouts created

b27fd3b worktree: Don't attempt to watch non-existing global gitignore (#40476)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

9056d77 settings_ui: Add dynamic setting fields (#40443)

Click to expand commit body
Closes #ISSUE

Includes the start of how we can get rid of most of the `.unimplemented`
"Edit in JSON" buttons in the settings UI. For now only Theme selection
is implemented, follow ups will add more settings

Release Notes:

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

Ben Kunkle created

b711232 file_finder: Fix open path prompt creating wrong highlight indices (#40488)

Click to expand commit body
Fixes ZED-28R

Release Notes:

- Fixed open path prompt panicking on certain inputs

Lukas Wirth created

b59a3bb gpui: Remove some unnecessary unsafe code (#40483)

Click to expand commit body
Release Notes:

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

Lukas Wirth created