f3c0208
Add sweep acceptance tracking (#46199)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
f3c0208
Add sweep acceptance tracking (#46199)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8ca6381
Fix some issues with edit prediction CLI (#46197)
* 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
Max Brunsfeld created
f0e0213
ep cli: Fix finalize counter (#46198)
Release Notes: - N/A
Agus Zubiaga created
6070b30
ep cli: Create entries from new files in edit history (#46196)
Release Notes: - N/A
Agus Zubiaga created
5be7d6f
ep cli: Refresh cursor path entry (#46195)
Release Notes: - N/A
Agus Zubiaga created
a8bc84c
ep cli: Include cursor file in errors (#46192)
Errors now include the cursor file path so we can just cmd+click it for inspection Release Notes: - N/A
Agus Zubiaga created
3da9269
Add agent thread sharing (#46140)
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)
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)
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)
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)
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)
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)
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)
Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Agus Zubiaga , Max Brunsfeld , and Oleksiy Syvokon created
61175fc
ep: Always collect for staff (#46176)
Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Agus Zubiaga , Max Brunsfeld , and Oleksiy Syvokon created
b196831
vim: Maintain end-of-line intent after $ with vertical motions (#45375)
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)
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)
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>
Bennet Bo Fenner and Danilo Leal created
efeea79
Edit prediction changes (#46169)
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>
Oleksiy Syvokon and Agus Zubiaga created
9d05577
auto_update_ui: Add error fallback for viewing release notes locally (#45900)
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)
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)
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.
Max Brunsfeld created
61eed8c
Fix nightly bundle (#46163)
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)
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)
Partially addresses #38151 Release Notes: - Added Helix match surround operations
Leon Qadirie created
dc40f21
editor: Fix ctrl+drag/drop to duplicate selected text (#45611)
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)
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)
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)
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)
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)
Release Notes: - N/A
Agus Zubiaga created
216933f
Multibuffer breadcrumbs toolbar redesign (#45547)
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)
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)
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)
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)
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)
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)
Closes https://github.com/zed-industries/zed/issues/35698 Release Notes: - Fixed default zed terminal environment vars not being set in remote terminal shells
Lukas Wirth created
87fe1af
remote: Fix naming inconsistencies (#46146)
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)
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)
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)
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)
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)
Release Notes: - N/A
Cole Miller created
f35e678
editor: Use less memory when replacing literal strings (#46092)
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>
Marco Mihai Condrache created
778609f
extension_host: Add error context to add_extension_to_index (#45913)
Missing required extension files or directories currently result in opaque "Directory not found" errors being logged during the update index phase. This can be frustrating to those developing extensions. Add some context so folks know where to start looking. Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Aru Sahni , Kirill Bulatov , and Kirill Bulatov created
8c0b088
Screenshot testing (#45259)
## Screenshot testing Adds visual testing infrastructure for GPUI that captures screenshots by rendering directly to Metal textures. The The screenshots end up in `target/visual_tests/` and look like this: <img width="2560" height="1600" alt="workspace_with_editor2" src="https://github.com/user-attachments/assets/54112343-4af1-4347-9bab-f099de97dd29" /> <img width="2560" height="1600" alt="project_panel2" src="https://github.com/user-attachments/assets/0cd54b61-dace-4398-a28e-0b4d7c2968f6" /> ### Key Features - **Direct texture capture**: Screenshots are captured by rendering the scene to a Metal texture and reading pixels directly from GPU memory, rather than using ScreenCaptureKit - **No visibility requirements**: Windows don't need to be visible on screen since we read directly from the render pipeline - **Deterministic output**: Captures exactly what GPUI renders, not what the OS compositor displays - **No permissions needed**: Doesn't require Screen Recording permission like ScreenCaptureKit would ### Running the Visual Tests ```bash # Run visual tests (compares against baselines) cargo run -p zed --bin visual_test_runner --features visual-tests # Update baseline images (when UI intentionally changes) UPDATE_BASELINE=1 cargo run -p zed --bin visual_test_runner --features visual-tests # View the captured screenshots open target/visual_tests/ ``` ### Implementation - `Window::render_to_image()` - Renders the current scene to a texture and returns an `RgbaImage` - `MetalRenderer::render_to_image()` - Core implementation that renders to a non-framebuffer-only texture - `VisualTestAppContext` - Test context that uses real macOS platform rendering - `VisualTestAppContext::capture_screenshot()` - Synchronous screenshot capture using direct texture rendering ### Usage ```rust let mut cx = VisualTestAppContext::new(); let window = cx.open_window(...)?; let screenshot: RgbaImage = cx.capture_screenshot(window.into())?; ``` Release Notes: - N/A --------- Co-authored-by: Amp <amp@ampcode.com>
Richard Feldman and Amp created
8ba030a
Delete pulled diagnostics when the source registration is unregistered (#46105)
Additionally, fix a race condition where we'd still insert diagnostics from a document or workspace pull even if the registration had been unregistered in the time since the request was issued. And, as a bonus: when a new pull diagnostics registration is added, issue document pulls immediately. This should fix regressions with basedpyright caused by https://github.com/zed-industries/zed/pull/43703. Release Notes: - N/A
John Tur created
6625997
languages: Include namespace in the outline for C++ (#45794)
Before: <img width="389" height="147" alt="image" src="https://github.com/user-attachments/assets/5412bde6-2f1b-4bb4-a06f-111724597372" /> After: <img width="404" height="139" alt="image" src="https://github.com/user-attachments/assets/8f906245-4c6e-4cf0-bb32-1b47048f46c0" /> Release Notes: - Include namespace symbol in the outline view for C++.
Haojian Wu created
0e5b6a5
outline: Fix nesting issue for variable declarations (#45797)
Before: <img width="665" height="116" alt="image" src="https://github.com/user-attachments/assets/3c0b6ea4-f030-4fef-a0eb-8251ce16a651" /> After: <img width="601" height="104" alt="image" src="https://github.com/user-attachments/assets/31659c75-6f73-40e7-9d3b-c4ae99357b12" /> The fix is similar to https://github.com/zed-industries/zed/pull/36076. Release Notes: - Fix outline nesting issue for variable declarations in C++
Haojian Wu created