Also reduce the use of `unsafe` in that module.
Release Notes:
- N/A
Max Brunsfeld
created
a5683f3
zeta_cli: Add `--output-format both` and `--prompt-format only-snippets` (#38920)
Click to expand commit body
These are options are probably temporary, added for use in some
experimental code
Release Notes:
- N/A
Co-authored-by: Oleksiy <oleksiy@zed.dev>
Michael Sloan
and
Oleksiy
created
67984d5
provider configuration: Use `SingleLineInput` instead of `Editor` (#38814)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
d83d7d3
windows: Fix inconsistent separators in buffer headers and breadcrumbs (#38898)
Click to expand commit body
Make `resolve_full_path` use the appropriate separators, and return a
`String`.
As part of fixing the fallout from that type change, this also fixes a
bunch of places in the agent code that were using `std::path::Path`
operations on paths that could be non-local, by changing them to operate
instead on strings and use the project's `PathStyle`.
This clears the way a bit for making `full_path` also return a string
instead of a `PathBuf`, but I've left that for a follow-up.
Release Notes:
- N/A
Cole Miller
created
6470443
python: Fix ty archive extraction on Linux (#38917)
Click to expand commit body
Closes #38553
Release Notes:
- Fixed wrong AssetKind specified on linux for ty
As discussed in the linked issue. All of the non windows assets for ty
are `tar.gz` files. This change applies that fix.
Derek Nguyen
created
5b72dff
helix: Streamline mode naming in the UI and in settings (#38870)
Click to expand commit body
Release Notes:
- When `helix_mode = true`, modes are called without the `HELIX_` prefix
in the UI:
`HELIX_NORMAL` becomes `NORMAL`
`HELIX_SELECT` becomes `SELECT`
- (breaking change) Helix users should remove `"default_mode":
"helix_normal"` from their settings. This is now the default when
`"helix_mode": true`.
Consolidate constructors and accessors.
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Max Brunsfeld
and
Cole Miller
created
301e976
Fix inlay hints using status theming instead of syntax theming (#36219)
Click to expand commit body
Release Notes:
- Fixed editor inlay hints incorrectly using status theming when syntax
theming is available
Previously, a theme's `style.syntax.hint` object is completely ignored,
and `style.hint` `style.hint.background` are used instead. However,
these seem to be related to status hints, such as the inline git blame
integration.
For syntax hints (as given by an LSP), the reasonable assumption would
be that the `style.syntax.hint` object is used instead, but it isn't.
This means that defining other style characteristics (`font_style`, for
example) does nothing.
I've fixed the issue in a backward-compatible way, by using the theme
`syntax` `HighlightStyle` as the base for inlay hint styling, and
falling back to the original `status` colors should the syntax object
not contain the color definitions.
With the following theme settings:
```jsonc
{
"hint": "#ff00ff", // Status hints (git blame, etc.)
"hint.background": "#ff00ff10",
"syntax": {
"hint": {
"color": "#ffffff", // LSP inlay hints
"background_color": "#ffffff10",
"font_style": "italic", // Now properly applied
"font_weight": 700
}
}
}
```
Current behavior:
<img width="896" height="201" alt="image"
src="https://github.com/user-attachments/assets/e89d212f-ed7e-4d27-94e4-96d716e229d2"
/>
Italics and font weight are ignored. Uses status colors instead.
Fixed behavior:
<img width="896" height="202" alt="image"
src="https://github.com/user-attachments/assets/f14ed2c3-bb60-4b74-886d-6b409d338714"
/>
Italics and font weight are used properly. Status color is preserved for
the git blame status, but correct syntax colors are used for the inlay
hints.
Lauren Hinchcliffe
created
daebc40
settings ui: Implement dynamic navbar based on pages section headers (#38915)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid
and
Ben Kunkle
created
ecc35fc
acp: Fix `@mentions` when remoting from Windows to Linux (#38882)
Click to expand commit body
Closes #38620
`Url::from_file_path` and `Url::from_directory_path` assume the path
style of the target they were compiled for, so we can't use them in
general. So, switch from `file://` to encoding the absolute path (for
mentions that have one) as a query parameter, which works no matter the
platforms. We'll still parse the old `file://` mention URIs for
compatibility with thread history.
Release Notes:
- windows: Fixed a crash when using `@mentions` in agent threads when
remoting from Windows to Linux or WSL.
Cole Miller
created
236006b
settings_ui: Small UI improvements (#38911)
Tracing terminal events can now be enabled using typical `RUST_LOG`
invocation:
```
RUST_LOG=info,terminal=trace,alacritty_terminal=trace cargo run
```
Release Notes:
- N/A
Jakub Konka
created
48aac2a
settings_ui: Add dropdown component + other fixes (#38909)
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>