c764f78
Add clear filter button to outline and collab panels' search (#46210)
Click to expand commit body
Always missed the ability to clear the search without having to reach
for my keyboard if I'm on a mouse-first workflow:
<img width="460" height="390" alt="Screenshot 2026-01-06 at 9 27@2x"
src="https://github.com/user-attachments/assets/fda4650c-72fb-4b5b-92f6-7c69661507f8"
/>
Release Notes:
- Added a button to clear the search query for the collab and outline
panels' search bar.
Danilo Leal
created
4e28080
extension_ci: Be more explicit with version bump (#46208)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/46175
I had very much hoped for bump2version to do this by default, well, left
here disappointed I suppose
Release Notes:
- N/A
Finn Evers
created
f3e5e3e
repl: Add inlay repl output display, skip empty lines on execution, and gutter execution display (#44523)
Click to expand commit body
Adds various useful things to the repl inspired by ipynb and the julia
vscode extension which can be best seen with this video:

https://github.com/user-attachments/assets/6589715e-3783-456c-8f4b-e2d5a1c4090d
To summarize:
## Inline outputs
Added small, single-line outputs displayed inline at the end of the code
line instead of in a separate block. This provides a cleaner, more
compact view for simple results like numbers or short strings. This
occurs for execution views who only output a single mimetype/plain OR
output nothing, otherwise the default behavior of creating a block will
occur.
It looks like this:
<img width="258" height="35" alt="image"
src="https://github.com/user-attachments/assets/ccdeca3f-c3b7-4387-a4de-53d8b9a25132"
/>
or with a Output
<img width="346" height="55" alt="image"
src="https://github.com/user-attachments/assets/0b4effc9-1bd7-4e8c-802f-8733cdcc77d1"
/>
This was inspired by julia vscode extension, but now it can be used with
any replanguage! Hooray!
<img width="524" height="450" alt="image"
src="https://github.com/user-attachments/assets/a3551e51-f5f7-4d3e-994a-213c9d2f948c"
/>
It saves lots of space compared to the ugly and distracting:
<img width="531" height="546" alt="image"
src="https://github.com/user-attachments/assets/7cf65bae-8ec1-4279-ab19-f0d4ec4052a2"
/>
## Gutters and execution numbers
Added gutters + execution number to display exactly what was executed.
The gutter highlighting is useful for when selecting multiple cells
manually to run, but you dont remember which ones
Ran at different times:
<img width="257" height="58" alt="image"
src="https://github.com/user-attachments/assets/6002ab16-156a-4598-9964-5a6b188e989c"
/>
Ran together:
<img width="306" height="64" alt="image"
src="https://github.com/user-attachments/assets/2690ea35-2bd3-4207-b039-6c0f98dad6e4"
/>
The execution number is useful in the same way that a normal jupyter
notebook execution number is useful.
If a gutter-region does not have a block assigned to it, when you edit
the text in the gutter region, the gutter will disappear, which is
useful for telling when you have modified your code, but does not delete
useful experiment results in blocks:
<img width="280" height="38" alt="image"
src="https://github.com/user-attachments/assets/d7f29224-87e4-4c14-8d9f-41cb10ab5009"
/>
<img width="254" height="31" alt="image"
src="https://github.com/user-attachments/assets/586c9e1d-f53c-4973-affb-c8ca05a7563b"
/>
<img width="264" height="29" alt="image"
src="https://github.com/user-attachments/assets/f306c364-1c92-44bd-9050-ecce1b7822a0"
/>
## Skip empty line
This is a minor fix which is intended to make lab workflow less tedious.
Currently when you execute on an empty line (which might be there for
formatting purposes) nothing will occur. This PR adds the ability to,
when executing from an empty line, skip ahead the range of inclusion
until you reach actual code, and then execute.
Before:
```
code //run execute
//empty space, so you have to move your cursor down or use arrow key
code //run execute
code //run execute
```
After:
```
code //run execute
//empty space, you can now run execute on it and it will include the next line of code
//empty space
code //automatically executed
code //run execute
```
Currently the only piece of tested code is related to this, i still have
to write tests for the gutter annotation api i added and all of the
gutter + inline related code. Also still have to add more config for
this stuff.
@rgbkrk would appreciate a review :D
Closes #22678
Release Notes:
- repl: Added an inline display of execution results (as opposed to the
large execution view) for simple REPL cells
- repl: Improved how execution of empty lines are handled
- repl: Added gutter execution display
Matt Lui
created
c38dc0a
Fix stale pull diagnostics for open buffers (#46201)
Click to expand commit body
Release Notes:
- N/A
John Tur
created
189241b
collab: Remove invite-related columns from `users` table (#46202)
Click to expand commit body
This PR removes the invite-related columns from the `users` table for
the test database schemas.
Release Notes:
- N/A
8ca6381
Fix some issues with edit prediction CLI (#46197)
Click to expand commit body
* Added `--repo` and `--name` flags for running only examples with a
specific name, or repo (substring matching)
* Fixed a race condition that caused hangs when running multiple
examples at the same repo and sha
* Fixed a bug where scoring was completely wrong because I had passed
the arguments to `apply_diff_to_string` in the wrong order
* The current evals now run quickly and without errors.
Release Notes:
- N/A
Staff only ship for now
Here's the agent planning doc that guided this:
https://gist.github.com/mikayla-maki/c826b7997bd85b58273c1def9397940b
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Mikayla Maki
and
Marshall Bowers
created
8df2789
languages: Fix C/C++ outline for mixed storage classes and type qualifiers (#46135)
Click to expand commit body
Current tree sitter configuration for the outline was not working
correctly since the rule required a strict order, firstly
storage_class_specifier then type_qualifier. This resulted in a failure
to recognize types such as "constexpr int", "const double", etc. This PR
proposes a solution with diagnostic capture of type and storage
qualifiers which ensures full context capture and works well with C++.
Before:
<img width="924" height="365" alt="before"
src="https://github.com/user-attachments/assets/d4e0baab-b074-42fc-8a45-46c93d1d352b"
/>
After:
<img width="866" height="367" alt="after"
src="https://github.com/user-attachments/assets/0e69a4d8-fd91-44b3-bc7e-0c9e39b23d2e"
/>
Release Notes:
- Fixed outline configuration for C++ variables with complex specifiers.
ozacod
created
dea9d13
languages: Support enum class/struct in outline in C++ (#46121)
Click to expand commit body
Before:
<img width="964" height="318" alt="before"
src="https://github.com/user-attachments/assets/946b1997-5e63-4d8c-8468-b6a93e73efa3"
/>
After:
<img width="981" height="335" alt="after"
src="https://github.com/user-attachments/assets/177e1734-518f-4686-bd04-0015f486c421"
/>
Release Notes:
- Fixed missing enum class struct at outline panel for C++
ozacod
created
658d419
languages: Add union field declarations to outline in C++ (#46127)
Click to expand commit body
Before:
<img width="609" height="220" alt="before"
src="https://github.com/user-attachments/assets/2bc10b8c-ecc5-419b-825b-5b7c8440b89b"
/>
After:
<img width="689" height="169" alt="after"
src="https://github.com/user-attachments/assets/ff3de33e-f71c-4fe7-b1ef-df79d935667d"
/>
Release Notes:
- Fixed outline members outline issue of unions for C++
ozacod
created
c2b1b9a
Update Rust crate rsa to v0.9.10 [SECURITY] (#46181)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [rsa](https://redirect.github.com/RustCrypto/RSA) |
workspace.dependencies | patch | `0.9.9` → `0.9.10` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
### GitHub Vulnerability Alerts
####
[GHSA-9c48-w39g-hm26](https://redirect.github.com/RustCrypto/RSA/security/advisories/GHSA-9c48-w39g-hm26)
When creating a RSA private key from its components, the construction
panics, instead of returning an error, when one of the primes is `1`.
Discovered by Christian Reitter from [Radically Open
Security](https://www.radicallyopensecurity.com/) during a security
review for [Proton AG](https://proton.me/).
---
### Release Notes
<details>
<summary>RustCrypto/RSA (rsa)</summary>
###
[`v0.9.10`](https://redirect.github.com/RustCrypto/RSA/compare/v0.9.9...v0.9.10)
[Compare
Source](https://redirect.github.com/RustCrypto/RSA/compare/v0.9.9...v0.9.10)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
cf52052
collab: Update test database schema (#46180)
Click to expand commit body
This PR updates the test database schema for the Collab tests.
These recently-added columns got missed in the last schema dump.
Release Notes:
- N/A
Marshall Bowers
created
167970b
Rename visual_test_runner to zed_visual_test_runner (#46171)
Click to expand commit body
This fixes the auto-update failure by ensuring cargo-bundle picks 'zed'
as the first binary.
**Problem:** `cargo metadata` returns binaries alphabetically, so
`visual_test_runner` was coming before `zed`. When cargo-bundle looks
for the first binary to bundle (without `--bin`), it was picking
`visual_test_runner` - which doesn't exist in release builds because it
requires the `visual-tests` feature.
The previous fix (#46163) added `--bin zed` to explicitly select the
binary, but this caused cargo-bundle to use the binary name ('zed')
instead of the bundle metadata name ('Zed Nightly'), breaking
auto-updates.
**Fix:** Rename the binary to `zed_visual_test_runner` so it comes after
`zed` alphabetically. This restores the original bundle script behavior
that has worked for years.
Also reverts the `--bin zed` workaround from #46163.
Release Notes:
- N/A
Richard Feldman
created
114bc69
ep: Support both full paths and relative paths in examples (#46177)
Agus Zubiaga
,
Max Brunsfeld
, and
Oleksiy Syvokon
created
b196831
vim: Maintain end-of-line intent after $ with vertical motions (#45375)
Click to expand commit body
Closes #45340
Release Notes:
- Fixed $ motion in vim mode to stay at end of the line when moving
vertically
---------
Co-authored-by: dino <dinojoaocosta@gmail.com>
Mayank Verma
and
dino
created
f057d46
Remove implicit dependency on Node env for data_dir devcontainer CLI (#45589)
Click to expand commit body
Closes #45058
Release Notes:
- Fixed implicit dependency on a system `node` for running
devcontainers.
KyleBarton
created
d3c836d
agent_ui: Show parameters when agent asks for permission to run tool (#45931)
Click to expand commit body
Closes #37307
Follow up to #40042
This will allow users to see the tool input before accepting a tool
call.
<img width="616" height="99" alt="image"
src="https://github.com/user-attachments/assets/3bcfda1e-bf84-4810-859d-ea53b3b33349"
/>
After clicking on "View Raw Input":
<img width="606" height="199" alt="image"
src="https://github.com/user-attachments/assets/cd89344a-80c4-41c7-a9d9-61c8671a6355"
/>
Release Notes:
- agent: Show tool call parameters when agent asks for confirmation to
run tool
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
1. Handle diffs with no trailing new lines
2. ep: Don't assume workdir name in edit history paths
3. Fix `imitate_human_edits()` for pure insertions
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Closes https://github.com/zed-industries/zed/issues/42140
Changes:
- Add show_view_release_notes_locally_error to prompt users when the
operation fails.
<img width="1536" height="864" alt="image"
src="https://github.com/user-attachments/assets/265bbf7e-6931-4559-99b2-7c1d8fbcd6cc"
/>
Release Notes:
- Added a notification with a link to view release notes online when Zed
can’t load them locally.
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
CodingDoll
and
Smit Barmase
created
44b6995
signature_help: Fix crash when typing CJK in debug mode (#45785)
Click to expand commit body
in release mode: found many log error as `ERROR [rope::chunk] byte index
48 is not a char boundary; it is inside ',' (bytes 46..49)`
This is easy testing,
- enable signature help
- typing any CJK character
- crash in debug mode
Release Notes:
- N/A
CharlesChen0823
created
4f59ec0
Prevent app naps during audio playback on macOS (#46128)
Click to expand commit body
Release Notes:
- Fixed an issue on macOS where audio playback would become temporarily
scrambled when doing lots of IO operations, such as when running `git
pull` or `git checkout` while in a call.
The visual_test_runner binary (added in #45259) has `required-features =
["visual-tests"]`, so it doesn't get built in release builds. However,
`cargo bundle` was trying to bundle all binaries defined in the zed
crate's Cargo.toml, causing it to fail when visual_test_runner doesn't
exist.
Adding `--bin zed` tells cargo bundle to only bundle the main zed
binary.
**Note:** The `cli` binary is unaffected by this change - it's a
separate package (`crates/cli`) that's built separately via `cargo build
--package cli` and manually copied into the app bundle afterward (line
337). It was never part of `cargo bundle`'s scope.
Fixes the nightly build failure:
https://github.com/zed-industries/zed/actions/runs/20740971838
Release Notes:
- N/A
Richard Feldman
created
c32abbd
vim: Fix `:g/pattern/norm commands` applying on all matches (#43352)
Click to expand commit body
Closes #36359
Release Notes:
- Fixes bug where `:g/pattern/norm commands` would only apply on the
last match
---------
Co-authored-by: dino <dinojoaocosta@gmail.com>
AidanV
and
dino
created
9a50bd4
Add helix match surround operations (#44317)
dc40f21
editor: Fix ctrl+drag/drop to duplicate selected text (#45611)
Click to expand commit body
Holding control while dragging text to copy it was being blocked by link
handling stopping the propogation of the mouse event; solution: don't
handle link clicks when selection_drag_state is Dragging.
Issue found & fix tested on Linux (since the modifier key on mac is
apparently different, the issue likely doesn't occur there, but I'm
assuming it does apply to Windows).
I didn't see an issue open for it, and since I fixed it myself I'm
unsure whether it needs one or if the PR is enough.
Release Notes:
- Fix an issue where Ctrl+drag to duplicate selected text on Linux and
Windows when the selection is inside a link.
David Budke
created
92b0f14
Changes to make `ep split-commits` work (#46160)
Click to expand commit body
1. `apply_diff` will create a file if the diff says so (by starting with
`--- /dev/null`)
2. Update examples format to match recent changes
3. `ep split-commits` can work with a stream of inputs and generate `n`
samples per input
4. Unicode handling fixes
Release Notes:
- N/A
Oleksiy Syvokon
created
8829f1d
lsp: Add `detail` to completion resolvable properties (#45985)
Click to expand commit body
Previously, `detail` was not included in resolvable properties, which
prevented LSP-compliant servers from lazily resolving it.
In relation to this, I also investigated vtsls issues:
- https://github.com/yioneko/vtsls/issues/213
- https://github.com/zed-industries/zed/pull/21521
My conclusion is that regardless of whether Zed registers `detail` in
resolvable properties, vtsls always lazily resolves `detail`. However, I
understand that Zed's `resolve_completions` has been improved to handle
such "misbehaving" servers gracefully already, so I expect that adding
`detail` to resolvable properties will not cause any issues.
In fact, since Zed can lazy update all properties of completion items,
it might be appropriate to include all properties as resolvable except
for `label` (which is explicitly tested for consistency) and `data`
(which is used for resolution itself once).
However, since I'm uncertain if this is entirely correct, this commit
only adds `detail` to resolvable properties, as it was required to be
supported by LSP clients up to version 3.16.
Closes #ISSUE
Release Notes:
- N/A
Shuhei Kadowaki
created
07f9d9d
git: Respect upstream branch name when pushing (#46158)
Click to expand commit body
Closes #46119
Release Notes:
- Fixed git push to respect the upstream branch name instead of defaulting to the local branch name.
ᴀᴍᴛᴏᴀᴇʀ
created
6e21fa9
project: Fix LSP requests failing for remotes for builtin servers (#46156)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/45928
Release Notes:
- Fixed builtin python language servers not correctly working on ssh
remotes
Lukas Wirth
created
583a479
ep cli: Load captured examples from Snowflake (#46102)
Breadcrumb visual reorchestration which makes a couple of key changes:
- Breadcrumbs are now displayed in file headers for multibuffer views.
Singleton buffers are unchanged.
- Multibuffer views now have collapse/expand all buttons available in
the toolbar
- Search in multibuffer views now takes up less space, by occupying the
primary toolbar location erstwhile taken up by breadcrumbs
<img width="1721" height="823" alt="Screenshot 2025-12-22 at 4 15 41 PM"
src="https://github.com/user-attachments/assets/38e924f7-fe9e-4c83-84fb-2eee98137f43"
/>
<img width="1722" height="762" alt="Screenshot 2025-12-22 at 4 15 51 PM"
src="https://github.com/user-attachments/assets/ccc98ca3-75ce-4aca-bceb-890817b0f04d"
/>
Release Notes:
- Moved breadcrumbs to file headers in multibuffer views
- Added collapse/expand all options for multibuffer views
- Improved use of space for multibuffer search by taking the place of
the former breadcrumb toolbar location
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
KyleBarton
,
Danilo Leal
, and
Zed Zippy
created
9fcb36a
docs: Fix Vim documentation for `toggle_relative_line_numbers` (#46152)
Click to expand commit body
As reported in
https://github.com/zed-industries/zed/pull/44749#issuecomment-3712881279
Release Notes:
- N/A
Finn Evers
created
bbb3d51
settings_ui: Fix scrollbar breaking when UI font size changes (#45099)
Click to expand commit body
When the UI font size changes, the settings window's scrollbar would
break because list item measurements were cached and not invalidated.
We're using `ListState.measure_all()` to pre-measure all items for an
accurate scrollbar. When font size changes, these cached measurements
become stale but weren't being refreshed.
This commit fixes the issue by calling `ListState.measure_all()` when
settings change, ensuring items are re-measured on the next layout
without affecting scroll position.
Closes #43683
Release Notes:
- Fixed bug where changing the UI Font Size in the Settings UI would
break the scrollbar for the "Appearance" page
---------
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Dino
and
Zed Zippy
created
d105331
project_panel: Fix file missing or duplicated when copying/moving multiple items using drag-n-drop (#45567)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/45555
Refer https://github.com/zed-industries/zed/pull/20859 for more.
Release Notes:
- Fixed a project panel drag-and-drop issue where selecting both a
folder and its children could result in files being silently lost in
some cases.
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Rocky Shi
and
Smit Barmase
created
b4fb8ff
recent_projects: Improve remote picker UX with long paths (#46151)
Click to expand commit body
Closes #36503
Release Notes:
- Improved readability of long paths in remote project picker
Lukas Wirth
created
2c7bfec
project_panel: Fix right-click target for folded directories (#45876)
Click to expand commit body
Closes #45635
Release Notes:
- Fixed context menu in project panel targeting the wrong folder when
right-clicking on folded directory paths.
- Added hover feedback to folded path folders to indicate which folder
will be targeted.
Recording:
https://github.com/user-attachments/assets/3209921a-b791-4eef-8eb7-1b5dc68374da
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
André Eriksson
and
Smit Barmase
created
fb06aa9
project: Properly set up the terminal env in remote shells (#46149)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/35698
Release Notes:
- Fixed default zed terminal environment vars not being set in remote
terminal shells
Renames a bunch of ssh things to remote when its actually about remotes
in general
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
47d2694
Add support for subpixel text rendering (#45423)
Click to expand commit body
Subpixel text rendering is now implemented on Windows and Linux.
Comparison screenshots:
|Before|After|
| ------------- | ------------- |
| <img width="400"
src="https://github.com/user-attachments/assets/9d720d2c-2ec4-4adf-a83f-7c2d81d30025"
/> | <img width="400"
src="https://github.com/user-attachments/assets/8fd7dc2a-8ca0-4f71-86cd-55460f568f7a"
/> |
Release Notes:
- Added support for subpixel (ClearType-style) text rendering. This
improves the legibility of text on standard DPI displays. Subpixel
rendering is enabled by default on Windows and Linux and can be
configured using the `text_rendering_mode` setting.
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
John Tur
and
Max Brunsfeld
created
797276b
smol: Use `Unblock` instead of `Async` for stdin, stdout and stderr handles (#46141)
Click to expand commit body
as per its documentation:
`Async` supports all networking types, as well as some OS-specific file
descriptors like timerfd and inotify.
However, do not use `Async` with types like File, Stdin, Stdout, or
Stderr because all operating systems have issues with them when put in
non-blocking mode.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
c7c0f56
languages: Capture escape sequences in C and C++ (#46116)
Click to expand commit body
Before:
<img width="901" height="247" alt="before"
src="https://github.com/user-attachments/assets/95467f0a-e464-44ea-a8f3-bedccf57c6a9"
/>
After:
<img width="967" height="256" alt="after"
src="https://github.com/user-attachments/assets/5eb43918-4348-42d2-9174-3fafd82919d0"
/>
Release Notes:
- Added highlighting for escape sequences for C and C++.
ozacod
created
ec41d39
git: Add basic vim motions to git file history view (#45412)
Click to expand commit body
Closes #ISSUE
Related discussion #44629
Release Notes:
- Added simple `g g`, `G`, `j` and `k` motions for the file history view
on vim mode.
Alvaro Parker
created
75dde03
Ensure language is set on diffs from `ActionLog` and `AcpThread` (#46129)
Click to expand commit body
Release Notes:
- N/A
Cole Miller
created
f35e678
editor: Use less memory when replacing literal strings (#46092)
Click to expand commit body
Found while profiling #38927
When the query is not a regex, the same replacement can be applied to
all matches. Previously, `replacement_for` allocated a new String on
every call, while `replacement` returns a reference.
Release Notes:
- N/A
---------
Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>