35749e9
acp: Notify of latest agent version only after successful download (#39201)
Click to expand commit body
Before we would notify the user even if the download failed. We also
we're overwriting the directory, which means a user could be stuck in a
loop if a previous download failed
Release Notes:
- acp: Fix user seeing update prompt in a loop because of a previous
failed download
Closes #34393
Currently, we’re using `zed.exe --askpass` kind of like an `nc`
substitute, it prints out the SSH password to stdout with something like
`println!("user-pwd")`. `ssh.exe` then reads the password from stdout so
it can establish the connection.
The problem is that in release builds we set `subsystem=windows` to
avoid Windows spawning a black console window by default. The side
effect is that `zed.exe` no longer has a stdout, so `ssh.exe` can’t read
the password.
Through testing, I confirmed that neither allocating a new console for
`zed.exe` nor attaching it to the parent process’s stdout resolves the
issue. As a result, this PR updates the implementation to use `cli.exe
--askpass` instead.
TODO:
- [ ] Check that the `cli` path is correct on macOS
- [ ] Check that the `cli` path is correct on Linux
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
张小白
and
Piotr Osiewicz
created
4f95186
windows: Fix auto-update for `conpty.dll` (#39178)
Click to expand commit body
This PR is a follow-up to #39090 and addresses two issues:
* Moves `conpty.dll` and `OpenConsole.exe` out of the `bin` folder to
prevent other programs from using them.
* Updates these files only after Zed exits, avoiding update failures due
to file locks.
Release Notes:
- N/A
---------
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
张小白
and
Jakub Konka
created
33f4400
gpui: Respect font smoothing on macOS (#39197)
Click to expand commit body
- Closes #38847
- See also: #37622 and #38467
Release Notes:
- Fonts are now rendered in accordance with the `AppleFontSmoothing`
setting.
Sergei Zharinov
created
9d895c5
git_ui: Fix blame avatars using wrong config (#39195)
d8cafdf
markdown: Add support for HTML `heading` elements (#38590)
Click to expand commit body
This PR adds support for HTML heading (h1, h2, h3, h4, h5, h6) elements.
**Before**
<img width="1440" height="556" alt="Screenshot 2025-09-21 at 11 05 18"
src="https://github.com/user-attachments/assets/6e7241a5-be1c-4018-ba04-f29058f97941"
/>
**After**
<img width="1436" height="598" alt="Screenshot 2025-09-21 at 10 58 12"
src="https://github.com/user-attachments/assets/3f74b5f7-6c35-41db-989b-fcaaede264b5"
/>
cc @SomeoneToIgnore
Release Notes:
- Markdown: Added support for HTML `heading` elements
Remco Smits
created
95190a2
Add a test on a `with_timeout` util function (#39187)
49335d5
Pane tabs: Scroll entire new tab into view (#36827)
Click to expand commit body
The state of the child bounds is not up-to-date when `scroll_to_item`
gets triggered, causing the new tab to not scroll completely into view.
Closes #36317
Release Notes:
- Fix an issue where a new tab is only partially visible on creation.
hrou0003
created
624e448
Remove bold inlay hints style from all other theme variants (#39177)
Closes https://github.com/zed-industries/zed/issues/39122
Currently comment colors in Ayu theme do not work as expected and hard
to differentiate. In my understanding something is really wrong how zed
interprets rgba hex color codes, for example:
| #5c677300 | #5c6773ff |
| ------------- | ---------- |
| <img width="134" height="38" alt="image"
src="https://github.com/user-attachments/assets/c9f1f618-958e-4fe9-a44a-636681d2f418"
/> | <img width="117" height="32" alt="image"
src="https://github.com/user-attachments/assets/78eac6b3-aecd-4be1-83d4-42590604c3a6"
/> |
This PR works around this by using comment color codes from
[ayu-vim](https://github.com/ayu-theme/ayu-vim). Maybe I am not
understanding how RGBA works, but in my opinion underlying issue should
be solved.
Release Notes:
- N/A
Dmitry Nefedov
created
cac920d
vim: Add support for ignorecase and noignorecase options (#37459)
Click to expand commit body
Update the list of supported options in vim mode so that the following
are now available:
- `:set ignorecase`
- `:set noignorecase`
- `:set ic`
- `:set noic`
This controls whether the case-sensitive search option is disabled or
enabled when using the buffer and project searches, with `ignorecase`
disabling the search option and `noignorecase` enabling it.
Release Notes:
- Added support for `:set ignorecase` and `:set noignorecase` in vim
mode
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino
and
Conrad Irwin
created
773850f
zeta2: Use bounded parallelism for tree-sitter indexing + await completion in zeta_cli (#39147)
Click to expand commit body
Also skips indexing files that don't have a suffix that indicates a
known language, and skips when the language doesn't have an outline
grammar.
Release Notes:
- N/A
---------
Co-authored-by: Agus <agus@zed.dev>
Michael Sloan
and
Agus
created
9c60bc3
vim: Add vim counts and vim shortcuts to project_panel (#36653)
Click to expand commit body
Closes #10930
Closes #11353
Release Notes:
- Adds commands to project_panel
- `ctrl-u` scrolls the project_panel up half of the visible entries
- `ctrl-d` scrolls the project_panel down half of the visible entries
- `z z` scrolls current selection to center of window
- `z t` scrolls current selection to top of window
- `z b` scrolls current selection to bottom of window
- `{num} j` and `{num} k` now move up and down with a count
AidanV
created
fbb4dcf
Update a Help menu item in app_menus.rs with "Locally" (#39151)
Click to expand commit body
Add the single word "Locally" to clarify where the info is coming from,
(and that you don't need to be online.)
Closes #ISSUE
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Since 2021 Neovim remaps Y to $y (1). DO the same in zed through a new action `YankToEndOfLine`.
1: https://github.com/neovim/neovim/pull/13268
Release Notes:
- Added vim::YankToEndOfLine action which copies from the cursor to the end of the line excluding the newline. We bind it to Y by default in the vim keymap.
Closes #22657
Closes #37863
# Background
Several users have noted that the terminal shipped with Zed on Windows
is either misbehaving or missing several features including lack of
consistent clearing behaviour. After some investigation which included
digging into the Microsoft Terminal project and VSCode editor, it turns
out that the pseudoconsole provided by Windows OS is severely outdated
which manifests itself in problems such as lack of clearing behaviour,
etc. Interestingly however, neither MS Terminal nor VSCode exhibit this
limitation so the question was why. Enter custom `conpty.dll` and
`OpenConsole.exe` runtime. These are updated, developed in MS Terminal
tree subprojects that aim to replace native Windows API as well as
augment the `conhost.exe` process that runs by default in Windows. They
also fix all the woes we had with the terminal on Windows (there is a
chance that ctrl-c behaviour is also fixed with these, but still need to
double check that this is indeed the case). This PR ensures that Zed
also benefits from the update pseudoconsole API.
# Proposed approach
It is possible to fork MS Terminal and instrument the necessary
subprojects for Rust-awareness (using `cc-rs` or otherwise to compile
the C++ code and then embed it in Rust-produced binaries for easier
inclusion in projects) but it comes at a cost of added complexity,
maintenance burden, etc. An alternative approach was proposed by
@reflectronic to download the binary from the official Nuget repo and
bundle it for release/local use. This PR aims to do just that.
There are two bits to this PR:
1. ~~when building Zed locally, and more specifically, when the `zed`
crate is being built, we will strive to download and unpack the binaries
into `OUT_DIR` provided by `cargo`. We will then set
`ZED_CONPTY_INSTALL_PATH=${OUT_DIR}/conpty` and use it at runtime in Zed
binary to tweak the loader's search path with that additional path. This
effectively ensures that Zed built from source on Windows has full
terminal support.~~ EDIT: after several discussions offline, we've
decided that keeping it minimal will serve us best, meaning: when
developing locally it is up to the developer of Zed to install
`conpty.dll` and put it in the loader's search path.
2. when bundling Windows release, we will download and unpack the nuget
package into Zed's bundle which will ensure it is installed in the same
directory as Zed by the installer.
**Note** I realise that 1. may actually not be needed - instead we could
leave that bit for the user who wants to run Zed from source to ensure
that they have `conpty.dll` in the loader's search path. I'd love to
hear opinions on this!
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Closes #39139
Fixes ZED-1HY
Release Notes:
- Fixed a panic in UnwrapSyntaxNode in multi-buffers
Conrad Irwin
created
42ef3e5
editor: Make cmd-alt-click behavior more consistent (#38733)
Click to expand commit body
Fixes two inconsistencies around the behavior of cmd-alt-click that mess
with my VSCode muscle memory:
- The definition is opened in a pane to the right of the current pane,
unless there exists an adjacent pane to the left and not to the right,
in which case it's opened in the pane on the left
- In case Go to Definition needs to open a multibuffer, cmd-alt-click
does not open it in an existing pane to the right of the current pane,
it always creates a new pane directly to the right of the current pane
This PR irons out this behavior by always going to the definition in the
pane directly to the right of the current one, creating one only if one
doesn't yet exist.
If changing `Workspace::adjacent_pane` to not consider an existing pane
to the left is undesirable then that logic could be moved somewhere
else, or we can make it user configurable if necessary. Also happy to
split this PR up if either of these changes is controversial 🙂
Before:
https://github.com/user-attachments/assets/395754cd-6ecb-40bf-ae61-ee8903eed4ae
After:
https://github.com/user-attachments/assets/002797b1-51a7-48e5-a8d0-100d3a5049eb
Release Notes:
- Made the behavior of cmd-alt-click more consistent
---------
Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Tim Vermeulen
and
Joseph T. Lyons
created
90ea252
vim: Disregard non-text content on system clipboard for yanking (#39118)
Click to expand commit body
Closes #39086
Release Notes:
- Fixed the vim problem that image clipboard content overrides the
unnamed register and produces an empty paste.
Miao
created
6e5ff6d
Update onboarding_modal.rs with https protocol (#39136)
<img width="381" height="204" alt="Screenshot 2025-09-29 at 2 29 58 PM"
src="https://github.com/user-attachments/assets/c7aaf0b0-b09b-4ed9-8113-8d7b18eefc2f"
/>
Release Notes:
- Claude Sonnet 4.5 and 4.5 Thinking are now the recommended Anthropic
models
Richard Feldman
created
ffc9060
Fix file path quoting in Deno test task configuration (#39134)
ceddd57
docs: Remove debugger cal.com link (#39124)
Click to expand commit body
Closes #39094
Release Notes:
- N/A
Finn Evers
created
2016672
Revert "Replace linear resampler with fft based one" (#39120)
Click to expand commit body
Reverts zed-industries/zed#39098
robot voices all over
David Kleingeld
created
6e80fca
Order venvs by distance to worktree root (#39067)
Click to expand commit body
This is a follow up to #37510 and is also related to #38910.
Release Notes:
- Improved ordering of virtual environments, sort by distance to
worktree root.
George Waters
created
778ca84
Fix selecting and deleting user toolchains (#39068)
Click to expand commit body
I was trying to use the new user toolchains but every time I clicked on
one I had added, it would delete it from the picker. Ironically, it
wouldn't delete it permanently when I tried to by clicking on the trash
can icon. Every time I reopened the workspace all user toolchains were
there.
Release Notes:
- Fixed selecting and deleting user toolchains.
George Waters
created
ebdc057
zed: Add binary type to sentry crash tags (#39107)
Click to expand commit body
This allows to filter by main zed binary or remote server crashes, as
well as easily tell whether a crash happened in a remote-server binary
or not.
Release Notes:
- N/A
Lukas Wirth
created
cda48a3
zeta2: Allow provider to suggest edits in different files (#39110)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Bennet Bo Fenner
and
Agus Zubiaga
created
b7f9fd7
zeta2: Do not include empty edit events (#39116)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
98ab118
git: Work around windows command length limit message fetching (#39115)
Click to expand commit body
Release Notes:
- Fix git blame failing on windows for files with lots of blame entries
Lukas Wirth
created
1e70a1a
Improve recent projects search result ordering (#38795)
Click to expand commit body
Previously, search results were sorted solely by candidate_id
(preserving original order from the database), which could result in
less relevant matches appearing before better ones.
This change sorts results primarily by fuzzy match score (descending),
with candidate_id as a tiebreaker for equal scores. This ensures that
better matches appear first while preserving recency order among items
with identical scores.
Example improvement:
- Searching for 'pica' will now rank 'picabo' higher than scattered
matches like 'project-api, project-chat'
- Consecutive character matches are prioritized over scattered matches
across multiple path segments
Release Notes:
- Improved project search relevance by ranking results using match score
instead of insertion order.
tsjason
created
163219a
editor: Make kill ring cut at EOF a no-op (#39069)
Click to expand commit body
Release Notes:
- Emacs's kill ring cut at the end of the last line of the file will now
no-op instead of cutting the entire line
AidanV
created
f96fd92
git: Fix git modal and panel amend tooltip (#39008)
Click to expand commit body
Closes #38783
Release Notes:
- Fixed the amend button tooltip shortcut in Git panel and modal.
Miao
created
9aa5817
Fix panic due to `ThemeRegistry::global` call in remote server (#39111)
28cc39a
Replace linear resampler with fft based one (#39098)
Click to expand commit body
Replaces the use of Rodio's basic linear resampler with an fft based
resampler from the rubato crate. As we are down-sampling to the minimal
(transparent) sample rate for human speech (16kHz) any down-sampling
artifact will be noticeable.
This also refactors the rodio_ext module into sub-models as it was
getting quite long.
Release Notes:
- N/A
Minor correction to label (string) used when generating big table of
actions.
Closes #ISSUE
Release Notes:
- N/A *or* Added/Fixed/Improved ...
warrenjokinen
created
f2efe78
editor: Shrink size of `Inlay` slightly (#39089)
Click to expand commit body
And some other smaller cleanup things I noticed while reading through
some stuff
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
ed7217f
ui prompt: Adjust UI and focus visibility (#39106)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/38643
This PR adds some UI improvements to the Zed replacement of the system
dialog/prompt, including better visibility of which button is currently
focused.
One little design note, though: because of a current (and somewhat
annoying) constraint of button component, where we're only drawing a
border when its style is outlined, if I kept them horizontally stacked,
there'd be a little layout shift now that I'm toggling styles for better
focus visibility. So, for this reason, I changed them to be vertically
stacked, which matches the macOS design and avoids this problem. Maybe
in the future, we'll revert it back to being `flex_row` because that
ultimately consumes less space.
https://github.com/user-attachments/assets/500c840b-6b56-4c0c-b56a-535939398a7b
Release Notes:
- Improve focus visibility of the actions within Zed's UI system prompt.
Danilo Leal
created
f9fb389
themes: Set `font_weight` to `null` for `syntax.hint` (#39105)
Click to expand commit body
Since https://github.com/zed-industries/zed/pull/36219 we now render
inlay hints as bold due to this.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
632e569
markdown_preview: Improve table elements appearance (#39101)
Click to expand commit body
# How
Eliminate double borders between Markdown rows and cells, restyle
headers relying on background color alteration instead of thicker pixel
border.
Release Notes:
- Improved table elements appearance in Markdown Preview
# Preview
### Before
<img width="1206" height="594" alt="Screenshot 2025-09-29 at 13 28 23"
src="https://github.com/user-attachments/assets/9fe2b8a8-13e1-4052-9e97-34559b44f2d0"
/>
### After
<img width="1206" height="578" alt="Screenshot 2025-09-29 at 13 28 40"
src="https://github.com/user-attachments/assets/0b627ada-f287-436b-9448-92900d4bff59"
/>