ae036f8
Read env vars in TestScheduler::many (#38897)
Click to expand commit body
This allows ITERATIONS and SEED environment variables to override the
hard coded values during testing.
cc @ConradIrwin @as-cii
Release Notes:
- N/A
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Nathan Sobo
and
Conrad Irwin
created
de1de25
keymap_editor: Fix filter input element alignment (#38895)
Click to expand commit body
# Why
I have spotted that Keymap Editor filter input (editor) is misaligned
vertically.
# How
Switch the input wrapper to flex layout, use `items_center` to align
editor vertically in center of the wrapper.
Release Notes:
- Fixed Keymap Editor filter input alignment
# Test plan
I have tested the change locally and compared the UI before and after,
to make sure that change does not affect the size of the wrapper
element.
### Before
<img width="1622" height="428" alt="Screenshot 2025-09-25 at 18 18 59"
src="https://github.com/user-attachments/assets/7d09be5c-6caf-4873-8ecf-2542851cb40a"
/>
### After
<img width="1622" height="428" alt="Screenshot 2025-09-25 at 18 07 18"
src="https://github.com/user-attachments/assets/540fcb3e-691d-4fb7-8130-2ed45ddc0adc"
/>
Bartosz Kaszubowski
created
18fc951
Fix flaky `test_remote_resolve_path_in_buffer` test (#38903)
Click to expand commit body
Release Notes:
- N/A
Cole Miller
created
40138e1
windows: Make `ctrl-n` open a new terminal when in a terminal (#38900)
Click to expand commit body
This is how `ctrl-n` works on macOS. Right now `ctrl-n` on Windows with
the default keymap usually causes a new buffer to open, which is
inconvenient.
Release Notes:
- N/A
Cole Miller
created
e7a5c81
Improve media-creation flow in release process (#38902)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
d98175c
Update release process docs to reflect new process (#38892)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
bc7d804
remote: Don’t pass `--method=GET` to `wget` (#38771)
Click to expand commit body
BusyBox's off brand `wget` does not have support for the `--method`
argument, which makes `zed` incapable of downloading the remote server
unless the _☙authentic❧_ one is installed. Removing this should fix the
issue. Couldn't find much about guidelines on how the code is supposed
to be formatted, so I opted for commenting the line out with an
explanation.
Closes #38712
Release Notes:
- Fixed remote development on BusyBox
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga
and
Bennet Bo Fenner
created
a9fe18f
Revert "gpui: Flash menu in menubar on macOS when action is triggered (#38588)" (#38880)
Click to expand commit body
This reverts commit ed7bd5a8ed6cbda563c4e6f1acb66e13f545718b.
We noticed this PR causes the editor to hang if you hold down any of the
menu item actions like ctrl+z, ctrl+x, etc
Release Notes:
- Fixed macOS menu item actions hanging the editor when their key
combination is held down
Lukas Wirth
created
3c5e683
Fix experimental audio, add denoise, auto volume.Prep migration (#38874)
Click to expand commit body
Uses the previously merged denoising crate (and fixes a bug in it that
snug in during refactoring) to add denoising to the microphone input.
Adds automatic volume control for microphone and output.
Prepares for migrating to 16kHz SR mono:
The experimental audio path now picks the samplerate and channel count depending on a setting. It can handle incoming streams with both the current (future legacy) and new samplerate & channel count. These are url-encoded into the livekit track name
Release Notes:
- N/A
There's a mismatch between the URL used here and the one that's referred
to in `build_zed_cloud_url`, which prevents using the script on Windows.
A previous PR changed the script to use `127.0.0.1` instead of
`localhost` because of supposed URL parsing issues, but we were unable
to reproduce those.
Release Notes:
- N/A
Cole Miller
created
e72021a
Implement perceptual gamma / contrast correction for Linux font rendering (#38862)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Port of https://github.com/zed-industries/zed/pull/37167 to Linux
When using Blade rendering (Linux platforms and self-compiled builds
with the Blade renderer enabled), Zed reads `ZED_FONTS_GAMMA` and
`ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST` environment variables for the
values to use for font rendering.
`ZED_FONTS_GAMMA` corresponds to
[getgamma](https://learn.microsoft.com/en-us/windows/win32/api/dwrite/nf-dwrite-idwriterenderingparams-getgamma)
values.
Allowed range [1.0, 2.2], other values are clipped.
Default: 1.8
`ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST` corresponds to
[getgrayscaleenhancedcontrast](https://learn.microsoft.com/en-us/windows/win32/api/dwrite_1/nf-dwrite_1-idwriterenderingparams1-getgrayscaleenhancedcontrast)
values.
Allowed range: [0.0, ..), other values are clipped.
Default: 1.0
Screenshots (left is Nightly, right is the new code):
* Non-lodpi display
With the defaults:
<img width="2560" height="1600" alt="image"
src="https://github.com/user-attachments/assets/987168b4-3f5f-45a0-a740-9c0e49efbb9c"
/>
With `env ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST=7777`:
<img width="2560" height="1600" alt="image"
src="https://github.com/user-attachments/assets/893bc2c7-9db4-4874-8ef6-3425d079db63"
/>
Lodpi, default settings:
<img width="3830" height="2160" alt="image"
src="https://github.com/user-attachments/assets/ec009e00-69b3-4c01-a18c-8286e2015e74"
/>
Lodpi, font size 7:
<img width="3830" height="2160" alt="image"
src="https://github.com/user-attachments/assets/f33e3df6-971b-4e18-b425-53d3404b19be"
/>
Release Notes:
- Implement perceptual gamma / contrast correction for Linux font
rendering
---------
Co-authored-by: localcc <work@localcc.cc>
Agus Zubiaga
,
Bennet Bo Fenner
, and
Oleksiy Syvokon
created
c627543
assistant_context: Fix `thread_summary_model` not getting used in Text Threads (#38859)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/37472
Release Notes:
- Fixed an issue in Text Threads where it was using `default_model` even
in case `thread_summary_model` was set.
---------
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav
created
f303a46
acp: Use ACP error types in read_text_file (#38863)
Click to expand commit body
- Map path lookup and internal failures to acp::Error
- Return INVALID_PARAMS for reads beyond EOF
Release Notes:
- acp: Return more informative error types from `read_text_file` to
agents
Ben Brandt
created
a9def81
Adjust keymap to not conflict with the french keyboard layout (#38868)
Click to expand commit body
Closes #38382
Release Notes:
- N/A
localcc
created
6580eac
auto_update: Unmount update disk image in the background (#38867)
Click to expand commit body
Release Notes:
- Fixed potentially temporarily hanging on macOS when updating the app
Lukas Wirth
created
5c3c79d
Fix file association icons on Windows (#38713)
Click to expand commit body
This now uses the default zed icon for file associations as our own icon
svgs are black/white shapes which are not suitable to set as an icon in
a file explorer.
Closes #36286
Release Notes:
- N/A
localcc
created
16fccb5
editor: Assert ordering in selections of `resolve_selections` (#38861)
Click to expand commit body
Inspired by the recent anchor assertions, this asserts that the produced
selections are always ordered at various resolutions stages, this is an
invariant within `SelectionsCollection` but something breaks it
somewhere causing us to seek cursors backwards which panics.
Related to ZED-13X
Release Notes:
- N/A
Lukas Wirth
created
a25504e
file_finder: Leverage or-patterns and bindings to deduplicate prefix handling (#38860)
Click to expand commit body
Just small code changes, to deduplicate prefix handling.
Release Notes:
- N/A
Driftcell
created
bc11844
acp: Fix `read_text_file` erroring on empty files (#38856)
Click to expand commit body
The previous validation was too strict and didn't permit reading empty
files.
Addresses: https://github.com/google-gemini/gemini-cli/issues/9280
Release Notes:
- acp: Fix `read_text_file` returning errors for empty files
Ben Brandt
created
10b99c6
RFC: Recommend and enable using Wild rather than Mold on Linux for local builds (#37717)
Click to expand commit body
# Summary
Today, Zed uses Mold on Linux, but Wild can be significantly faster.
On my machine, Wild is 14% faster at a whole-tree clean build, 20%
faster on an incremental build with a minimal change, and makes no
measurable effect on runtime performance of tests.
However, Wild's page says it's not yet ready for production, so it seems
to early to switch for production and CI builds.
This PR keeps using Mold in CI and lets developers choose in their own
config what linker to use. (The downside of this is that after landing
this change, developers will have to do some local config or it will
fall back to the default linker which may be slower.)
[Wild 0.6 is out, and their announcement has some
benchmarks](https://davidlattimore.github.io/posts/2025/09/23/wild-update-0.6.0.html).
cc @davidlattimore from Wild, just fyi
# Tasks
- [x] Measure Wild build, incremental build, and runtime performance in
different scenarios
- [x] Remove the Linux linker config from `.cargo/config.toml` in the
tree
- [x] Test rope benchmarks etc
- [x] Set the linker to Mold in CI
- [x] Add instructions to use Wild or Mold into `linux.md`
- [x] Add a script to download Wild
- [x] Measure binary size
- [x] Recommend Wild from `scripts/linux`
# Benchmarks
| | wild 0.6 (rust 1.89) | mold 2.37.1 (1.89) | lld (rust 1.90) | wild
advantage |
| -- | -- | -- | -- | -- |
| clean workspace build | 176s | 184s | 182s | 5% faster than mold |
| nextest run workspace after build | 137s | 142s | 137s | in the noise?
|
| incremental rebuild | 3.9s | 5.0s | 6.6s | 22% faster than mold |
I didn't observe any apparent significant change in runtime performance
or binary size, or in the in-tree microbenchmarks.
Release Notes:
- N/A
---------
Co-authored-by: Mateusz Mikuła <oss@mateuszmikula.dev>
Martin Pool
and
Mateusz Mikuła
created
17dea24
Disable terminal breadcrumbs by default (#38806)
Click to expand commit body
<img width="1211" height="238" alt="image"
src="https://github.com/user-attachments/assets/d847fabe-0e00-474c-ad79-cb4da221b319"
/>
At least on Windows, "git terminal" and PowerShell set the header, which
is not very useful but occupies space and sometimes confuses users:

Release Notes:
- Disable terminal breadcrumbs by default. Set
`terminal.toolbar.breadcrumbs` to `true` to re-enable.
Co-authored-by: Finn Evers <finn@zed.dev>
This PR removes the `billing-v2` feature flag, now that the new pricing
is launched.
Release Notes:
- N/A
Marshall Bowers
created
6b968e0
Remove the duplicated Global LSP Settings section (#38811)
Click to expand commit body
This section [shows up
twice](https://zed.dev/docs/configuring-zed#global-lsp-settings) in the
documentation.
<img width="701" height="1269" alt="image"
src="https://github.com/user-attachments/assets/4d930676-5cae-43c8-83d4-6406c27d149c"
/>
Release Notes:
- N/A
Signed-off-by: Remy Suen <remy.suen@docker.com>
Remy Suen
created
0f66310
git_ui: Tweak appearance of repo and branch separator (#38447)
Click to expand commit body
# Why
In Git Panel, it felt to me that repo and branch separator can be
slightly demphasized (since it is not-interactable) and separated a bit
more from the repo and branch popover triggers.
# How
Use `icon_muted` color for the separator (happy to know if this is an
abuse of the UI styleguide 😄), add one pixel horizontal spacing around
the `/` character.
Release Notes:
- Improved appearance of repo and branch separator in Git Commit Panel
# Test plan
I have tested the change locally and compared the UI before and after to
make sure it feels right.
### Before
<img width="466" height="196" alt="Screenshot 2025-09-18 at 20 25 46"
src="https://github.com/user-attachments/assets/7bfcd1a4-8d16-4e75-8660-9cbfa3952848"
/>
### After
<img width="466" height="196" alt="Screenshot 2025-09-18 at 20 25 12"
src="https://github.com/user-attachments/assets/100d3599-ecc6-473f-b270-a71005b41494"
/>
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Added blank line in front of 2 image tags so markdown renders correctly
in zed. (Previously, images were skipped. They are also skipped in zed
if there are leading spaces in front of img tag.)
Updated text in 3 alt tags.
Fixed 1 typo.
Release Notes:
- N/A
Tiny little improvements opportunities I noticed today while browsing
the docs.
Release Notes:
- N/A
Danilo Leal
created
8fc7bd9
zeta2: Add labeled sections prompt format (#38828)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Agus <agus@zed.dev>
Michael Sloan
and
Agus
created
7167be5
editor: Fix predict edit at cursor action when show_edit_predictions is false (#38821)
Click to expand commit body
Closes #37601
Regressed in https://github.com/zed-industries/zed/pull/36469.
Edit: Original issue https://github.com/zed-industries/zed/issues/25744
is fixed for Zeta in this PR. For Copilot, it will be covered in a
follow-up. In the case of Copilot, even after discarding, we still get a
prediction on suggest, which is a bug.
Release Notes:
- Fixed issue where predict edit at cursor didn't work when
`show_edit_predictions` is `false`.
Smit Barmase
created
d321cf9
Fix semantic merge conflict from RelPath refactor (#38829)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
03f9cf4
Represent relative paths using a dedicated, separator-agnostic type (#38744)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/38690
Closes #37353
### Background
On Windows, paths are normally separated by `\`, unlike mac and linux
where they are separated by `/`. When editing code in a project that
uses a different path style than your local system (e.g. remoting from
Windows to Linux, using WSL, and collaboration between windows and unix
users), the correct separator for a path may differ from the "native"
separator.
Previously, to work around this, Zed converted paths' separators in
numerous places. This was applied to both absolute and relative paths,
leading to incorrect conversions in some cases.
### Solution
Many code paths in Zed use paths that are *relative* to either a
worktree root or a git repository. This PR introduces a dedicated type
for these paths called `RelPath`, which stores the path in the same way
regardless of host platform, and offers `Path`-like manipulation APIs.
RelPath supports *displaying* the path using either separator, so that
we can display paths in a style that is determined at runtime based on
the current project.
The representation of absolute paths is left untouched, for now.
Absolute paths are different from relative paths because (except in
contexts where we know that the path refers to the local filesystem)
they should generally be treated as opaque strings. Currently we use a
mix of types for these paths (std::path::Path, String, SanitizedPath).
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Peter Tripp <petertripp@gmail.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Max Brunsfeld
,
Cole Miller
,
Piotr Osiewicz
,
Peter Tripp
,
Smit Barmase
, and
Lukas Wirth
created
3c626f3
Only allow single chars for whitespace map (#38825)
Click to expand commit body
Release Notes:
- Only allow single characters in the whitespace map
Conrad Irwin
created
4a1bab5
Update release process docs to include storing feature media (#38824)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
91b0f42
Fix panic when hovering string ending with unicode (#38818)
Click to expand commit body
Release Notes:
- Fixed a panic when hovering a string literal ending with an emoji
Conrad Irwin
created
523c042
settings_ui: Collect all settings files (#38816)
Click to expand commit body
Closes #ISSUE
Updates the settings editor to collect all known settings files from the
settings store, in order to show them in the UI. Additionally adds a
fake worktree instantiation in the settings UI example binary in order
to have more than one file available when testing.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
ed7bd5a
gpui: Flash menu in menubar on macOS when action is triggered (#38588)
Click to expand commit body
On macOS, traditionally when a keyboard shortcut is activated, the menu
in the menu bar flashes to indicate that the action was recognised.
<img width="289" height="172" alt="image"
src="https://github.com/user-attachments/assets/a03ecd2f-f159-4f82-b4fd-227f34393703"
/>
This PR adds this functionality to GPUI, where when a keybind is pressed
that triggers an action in the menu, the menu flashes.
Release Notes:
- N/A
Victor Tran
created
8ebe4fa
gpui_macros: Hide inner test function from project symbols (#38809)
Click to expand commit body
This makes rust-analyzer not consider the function for project symbols,
meaning searching for tests wont show two entries.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
6b646e3
zeta2: Support `edit prediction: clear history` (#38808)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Bennet Bo Fenner
and
Agus Zubiaga
created
e653cc9
Clean up last remnants of Settings UI v1 (#38803)
0794de7
docs: Update note about agent message editor setting (#38805)
Click to expand commit body
As of stable 206.0, the `agent.message_editor_min_lines` setting is
fully available, so removing the docs note that said it was only for
Preview.
Release Notes:
- N/A
Danilo Leal
created
2b283e7
Revert "Fix UTF-8 character boundary panic in DirectWrite text ... (#37767)" (#38800)
Click to expand commit body
This reverts commit 9e7302520ec93a96a9b275a817f083b96620148e.
I run into an infinite hang in Zed nightly and used instruments and
activity monitor to sample what was going on. The root cause seemed to
be the unwrap_unchecked introduced in reverted PR.
Release Notes:
- N/A
Anthony Eid
created
45a4277
Add community champion auto labeler (#38802)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
fa76b6c
Switch to "standard" as a default line height in the terminal (#38798)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/38686
Release Notes:
- Switched to "standard" as a default line height in the terminal