9a97c5c
ep: Add a prompt with git-style merge markers (#47215)
Click to expand commit body
Release Notes: - N/A
Oleksiy Syvokon created
9a97c5c
ep: Add a prompt with git-style merge markers (#47215)
Release Notes: - N/A
Oleksiy Syvokon created
d71fe4c
agent_ui: Add `@diagnostics` mention to the thread (#42270)
Closes #31351 # Diagnostics Mention in New Threads ## Overview Adds the `@diagnostics` mention to the new Agent Panel threads so users can inject current LSP diagnostics (errors by default) without switching to a text thread. The diagnostics mention is fully integrated into ACP mention parsing, the context picker, and the message-editor pipeline so it round-trips cleanly and shows up in the standard `@` menu. ## Context - **Request:** bring `/diagnostics` parity to the “New Thread” assistant experience. - **Scope:** diagnostics only; `/terminal` mention would be implemented in a separate PR. - **Docs:** updated Agent Panel docs + changelog. ## Implementation Details 1. **Mention plumbing** - Added `MentionUri::Diagnostics` to `acp_thread`, including parsing (`zed:///agent/diagnostics?include_warnings=true`) and icon/name metadata. - Tests ensure diagnostics links round-trip via Markdown mention serialization. 2. **Context picker / completion** - New `ContextPickerMode::Diagnostics` exposes an `@diagnostics` entry in the mention menu. - Completions turn `@diagnostics` into a fully fledged mention, reusing the existing confirmation pipeline. 3. **Message editor + thread serialization** - Resolving the mention calls the existing diagnostics collector from `assistant_slash_commands`, embedding the tool output inline with other context blocks (`<diagnostics>…</diagnostics>`). - Thread-link handling ignores diagnostics backlinks so clicking them doesn’t try to reopen nonexistent resources. # How it looks <img width="800" height="480" alt="image" src="https://cf5gpe8lxo.ufs.sh/f/EmJ5Xl877qJO1mzC9Zrn8AmJZHeShC4RoUwvTMlF2tfPzj06" /> Release Notes: - Allow mentioning diagnostics in the agent panel via `@diagnostics` --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Mikhail Pertsev and Bennet Bo Fenner created
58051d6
languages: Fix symbol label for enum variants (#47210)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1ca5279
rope: Fix an unintentional panic (#47019)
Avoids the panic in #46974 But should be solved by using `saturating_sub` on the `start_overshoot` calculation, ref: https://github.com/zed-industries/zed/pull/47046#issuecomment-3762855786 https://github.com/zed-industries/zed/blob/37715d5a50666baaa824eafec2131ee6d80f8e0b/crates/rope/src/chunk.rs#L403C5-L415C6 This function gets called with PANIC = false from `slice`. But if the offset is outside the text, `log_err_char_boundary` will still panic, because the first `if` doesn’t bail out early. Release Notes: - N/A Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Marco Mihai Condrache created
164e37e
remote: Bring back docker exit status mapping (#47206)
cc https://github.com/zed-industries/zed/pull/45584, was removed in #47200 fully due to breaking ssh Also makes ZED_BUILD_REMOTE_SERVER a bit easier to use Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
8d55527
remote: Fix connecting to remote with running server failing (#47203)
Follow up to https://github.com/zed-industries/zed/pull/47200, fixing an edge case where if the heartbeat failure disconnects us we get stuck in an unconnectable state Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
02a19f7
remote: Fix being unable to reconnect when the remote server dies (#47200)
Closes https://github.com/zed-industries/zed/issues/38522 Release Notes: - Fixed remote connections getting stuck in limbo when the server side dies unexpectedly
Lukas Wirth created
89e9ab9
project: Implement range formatting for remoting (#47194)
Closes https://github.com/zed-industries/zed/issues/42859 Release Notes: - Added support for language range formatting in remoting setups
Lukas Wirth created
46b275b
rope: Add missing early return in `log_err_char_boundary` (#47191)
Closes ZED-465 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
09ceec0
settings_ui: Prevent panic when trying to configure edit prediction providers for language (#47162)
Closes #46502 The issue here was that we were not looking into the sub page stack when looking headers up, resulting in an out of bounds index. This PR fixes this. Due to me also fixing another small bug in the UI (and adding proper support for the breadcrumbs), I had to move quite some stuff around here to get this to work. Namely, I made the `sub_page_stack` a field on the `SettingsWindow` and now only store the `active_language` in a global to ensure that we store scroll positions properly for all sub pages. For that to work with the edit prediction provider page, I had to remove the struct there and could just move that into a method, which was a nice side effect there I suppose. Release Notes: - Fixed a crash that could occur when trying to edit edit prediction providers in the settings UI.
Finn Evers created
4e06656
docs: Update some AI-related content (#47178)
Clean up some writing and add content about newer features. Release Notes: - N/A
Danilo Leal created
0102848
Remove the unused file (#47176)
Release Notes: - N/A
Kirill Bulatov created
c1da016
agent: Patch image format bug (#45978)
Closes #44694 Release Notes: - Fixed images being converted to png but retaining old format ## Before: <img width="574" height="327" alt="Screenshot 2026-01-02 at 5 34 24 PM" src="https://github.com/user-attachments/assets/92331939-cebc-4f53-99fc-10d5181cf87e" /> ## After: <img width="638" height="489" alt="Screenshot 2026-01-02 at 5 34 36 PM" src="https://github.com/user-attachments/assets/47c05906-fa56-4a53-abd4-790c42230772" /> --------- Co-authored-by: versecafe <147033096+versecafe@users.noreply.github.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Mason Palmer , versecafe , and MrSubidubi created
3e309ab
ep: Fix teacher prompt formatting (#47172)
Release Notes: - N/A
Oleksiy Syvokon created
6265305
extension_host: Fix extension rebuild building in release mode (#47165)
Release Notes: - Fixed an issue where rebuilding a dev extension would compile the extension in release and not debug mode.
Finn Evers created
6718320
agent_ui: Use `.w_full()` instead of `.size_full()` when rendering markdown tables in lists (#46783)
This way, the table: - Determines its height by the grid’s content - Still keeps `width: 100%` so it fills its container horizontally | Before | After | |--------|--------| | <img width="1732" height="1125" alt="image" src="https://github.com/user-attachments/assets/5d739664-5793-4c16-a765-dc373c7cb10f" /> | <img width="1732" height="1125" alt="image" src="https://github.com/user-attachments/assets/c857d28b-67c2-4ba1-b4a6-869a154b050b" /> | Closes #46768 Release Notes: - Fixed issue where markdown tables rendered within lists would overlap items above/below it
Kunall Banerjee created
384c8e6
git_picker: Make the unified version of it available through the title bar (#47151)
The recently-introduced unified Git picker was previously only available if you reached for the branch, worktree or stash pickers through the keybinding. Now, if you click on the title bar's branch button, you'll also be able to quickly view the worktree and stash pickers. Release Notes: - N/A
Danilo Leal created
f98acf4
Make `ep split-commit` respect `--failed=skip` (#47150)
Release Notes: - N/A
Oleksiy Syvokon created
adc1594
agent_ui: Don't fold terminal tool command lines into a disclosure (#47148)
Follow up to https://github.com/zed-industries/zed/pull/40570. This PR removes the UI treatment where we collapse a terminal command into a disclosure component if it spans more than three lines. I initially thought having this fancy treatment in the UI would make it sleeker but it actually feels like a counter-productive move to arbitrarily hide command lines; they're arguably always important to see in full, even when they're super long. I'm happy to get some feedback here, but I think for now, I'd feel better if users could see them all without having to manually expand/collapse them. Release Notes: - N/A
Danilo Leal created
dcfe81f
Support external `.editorconfig` (#46332)
Closes #41832 Extends https://github.com/zed-industries/zed/pull/19455 When an internal `.editorconfig` is detected in the worktree, we traverse parent directories up to the filesystem root looking for additional `.editorconfig` files. All discovered external configs are loaded and cached (shared when multiple worktrees reference the same parent directories). When computing settings for a file, external configs are applied first (from furthest to closest), then internal configs. For local projects, file watchers are set up for each external config so changes are applied immediately. When a project is shared via collab, external configs are sent to guests through the existing `UpdateWorktreeSettings` proto message (with a new `outside_worktree` field). SSH remoting works similarly. Limitations: We don't currently take creation of new external editor config files into account since they are loaded once on worktree add. Release Notes: - Added support for `.editorconfig` files outside the project directory. Zed now traverses parent directories to find and apply EditorConfig settings. Use `root = true` in any `.editorconfig` to stop inheriting settings from parent directories.
Smit Barmase created
ad7c30e
ep: Missing newlines in teacher prompt (#47143)
Release Notes: - N/A
Oleksiy Syvokon created
099226e
ai: Symlink an `AGENTS.md` file to `.rules` (#45939)
Release Notes: - N/A
versecafe created
a4ebfa0
ui: Adjust BoxShadow offset for elevation styles (#47010)
Changed the offset of shadow to improve shadow appearance. There was a 1px horizontal offset on all elevated surfaces — barely perceptible, but once you see it, it's all you see |Before|After| |-|-| |<img width="586" height="884" alt="before" src="https://github.com/user-attachments/assets/63fa36a7-7845-4c6f-9e73-36ad5056194b" />|<img width="586" height="884" alt="after" src="https://github.com/user-attachments/assets/41a032d3-e7d6-4188-9394-656d5caf822e" />| Release Notes: - N/A
Ike created
5e2e917
workspace: Improve the welcome and launchpad pages UI (#47072)
Closes #47069 Release Notes: - N/A We can add something like `pb_40()` if the launchpad is supposed to be up a bit rather centered
Qichen Liu 刘启辰 created
3687366
agent: Make sure ACP still gets classic tool permission UI (#47142)
This makes sure all of the new granular permission logic and ui only applies to the zed agent and doesn't affect the UI of external agents. Release Notes: - N/A
Ben Brandt created
6c712d8
terminal: Fix fast scrolling during mouse mode (#45600)
Closes #18930 ### Summary - Fix fast Macbook trackpad/mouse scrolling in terminal applications with mouse mode enabled ### The Problem Scrolling with a trackpad in tmux, neovim, or any terminal app that enables mouse mode was too fast. A gentle swipe would send me through hundreds of lines, making these apps practically unusable in Zed's terminal. ### Root Cause When the terminal is in mouse mode, we send escape sequences to report scroll events to the application. The bug was in `scroll_report()`: https://github.com/zed-industries/zed/blob/ca478226677e5f7190a5d8933277522780faaaf7/crates/terminal/src/terminal.rs#L1983-L1988 That `max(scroll_lines, 1)` meant we'd send **at least 1 scroll event even when `scroll_lines` was 0**. https://github.com/zed-industries/zed/blob/ca478226677e5f7190a5d8933277522780faaaf7/crates/terminal/src/mappings/mouse.rs#L96 On macOS, trackpad gestures fire many small pixel deltas due to scroll acceleration. Each tiny movement triggered a scroll event, even though we hadn't accumulated enough pixels for a full line yet. This is a known issue alacritty/alacritty#2869 - macOS sends fractional line deltas (like 0.1) instead of whole lines. ### The Fix Don't send mouse reports when no full line has accumulated This aligns with Alacritty's approach - accumulate partial scroll amounts and only report when complete lines are ready. https://github.com/alacritty/alacritty/blob/6ee6e53ee3457c24137f117237b0ff1d84f6f836/alacritty/src/input/mod.rs#L700-L730 ### Testing Tested trackpad scrolling in: - tmux (pane navigation, scrollback) - neovim (buffer scrolling) - opencode (TUI navigation) All scroll smoothly now. ### Demo The demo shows the behavior of the scrolling. I can go fast or I can go slow https://github.com/user-attachments/assets/14bfc2f4-f286-4341-bf55-4ced894d63f9 Release Notes: - Fixed trackpad scrolling being too fast in terminal applications with mouse mode enabled (tmux, neovim, opencode, etc.)
Emamul Andalib created
5492901
Add action listener to workspace for pane::CloseActiveItem (#46421)
When focus is on a dock panel that doesn't contain a pane (e.g., project panel), `pane::CloseActiveItem` will now close the active item in the center pane instead of doing nothing. This allows users to bind, for example, `cmd-w` to `pane::CloseActiveItem` and have it work consistently regardless of whether focus is on a dock panel or the editor. Closes #45261 Release Notes: - Improved `pane::CloseActiveItem` to close center pane items even when focus is on a dock panel like the project panel or outline panel --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Josh P. and dino created
1e2392e
ci: Move clippy off of run_platform_tests and into a separate job (#47139)
This should slash our CI times a bit (1 minute or so) Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
56b8be8
docs: Explain how git commit message prompt can be customized (#47136)
Release Notes: - N/A
Bennet Bo Fenner created
2321178
languages: Apply JSX fixes to JavaScript highlights (#47130)
Closes #46701 This ports the fixes from #46442 over to the JavaScript highlights, which we forgot to do in that PR since the highlights are not shareable and the fix was only applied to TSX... Hence, porting the fixes here manually to solve the issue for good. Release Notes: - Fixed an issue where JSX components were highlighted too broadly, causing normal HTML tags to be highlighted as such
Finn Evers created
e12dadd
chore: Remove `contexts.scm` (#47127)
The file is unused, empty and hasn't been touched in two years, hence removing this. Release Notes: - N/A
Finn Evers created
376e958
Fix inverted char boundary check causing invalid offsets (#47112)
The logic in `anchor_at_offset` and `to_offset` seems inverted when checking character boundaries. `assert_char_boundary` returns `true` when the offset IS valid, but the code was adjusting offsets when the function returned `true` (valid) instead of `false` (invalid). Release Notes: - N/A
Jordi Villar created
50a90d3
Add a 'rejected patch' field to example specs, for DPO examples (#47043)
The `capture example` action now populates the markdown file with a noop "Rejected Patch", so that you can easily specify the good and bad output. Release Notes: - N/A
Max Brunsfeld created
e476af6
Show language server path in language server menu (#47037)
<img width="779" height="210" alt="SCR-20260116-qrif" src="https://github.com/user-attachments/assets/13c84f20-8fe1-4e3a-9de6-8df1024c2c6c" /> In most languages, Zed will check 2-3 locations for language servers. For instance, when opening a python file, zed looks for ruff in: - project venv - user's PATH - location that zed installs language servers The language server menu surfaces information that makes it easier to gather data about your language server, I think offering a path for the one being ran makes things more clear to the user. That being said, Idk the best way to surface this. (@danilo-leal?) Release Notes: - Add language server path to a tooltip that is produced when hovering on its status in the language server menu
Joseph T. Lyons created
7ce8452
ztracing: Enable memory profiling and callstack sampling (#47052)
While at it, annotate more functions that are potentially related to language parsing in buffers. Also, on macOS, in order to actually have callstack frames properly recorded by Tracy, you need to manually run `dsymutil` on the binary. Release Notes: - N/A
Jakub Konka created
4064af3
Preserve and restore focus across window activation cycles (#47044)
Closes https://github.com/zed-industries/zed/issues/46953 This turned out to be a pretty deep rabbit hole, ultimately landing in how GPUI didn't restore focus nicely when swapping window activation states. Release Notes: - N/A Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Mikayla Maki and Claude Opus 4.5 created
b8dfc31
docs: Add documentation for `text_rendering_mode` (#46358)
We added support for it in https://github.com/zed-industries/zed/pull/45423. It’s already in preview, but not yet in stable. So I’m going to keep this in my drafts till then. Release Notes: - N/A
Kunall Banerjee created
1468ee2
Fix more errors found when retrieving context for a huge example batch (#47039)
Release Notes: - N/A
Max Brunsfeld created
39e2f26
Bump async-task (#47036)
This reduces total code-size of the project crate by ~25%, and reduces release build time by ~35s thanks to @osiewicz's proposed fix https://github.com/smol-rs/async-task/issues/66 Release Notes: - N/A Co-authored-by: Piotr <piotr@zed.dev>
Conrad Irwin and Piotr created
10a536b
editor: Fix relative line numbers breaking with nested folds (#47035)
Closes #46516 The previous fix only worked for non-nested folds, whereas this one also considers nested folds properly. Also makes this more straightforward to read. Release Notes: - Fixed an issue where relative line numbering would break with nested folds.
Finn Evers created
afaccf9
Fix edit history clearing bug in ep (#47017)
We were including changes due to Buffer.reload in the edit history. Release Notes: - N/A --------- Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com> Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Max Brunsfeld , Oleksiy Syvokon , Agus Zubiaga , Ben Kunkle , and Zed Zippy created
6acca17
Devcontainer setup modal (#47021)
Adds the ability to create a dev container definition from scratch. Additionally, separates devcontainer logic out into its own crate, since it was getting sufficiently complex to separate from the `recent_projects` crate. A screen recording of the modal experience: https://github.com/user-attachments/assets/f6cf95e1-eb7b-4ca3-86c7-c1cbc26ca557 Release Notes: - Added modal to initialize a dev container definition in the project with `projects: initialize dev container` - Added podman support for dev container actions with the `use_podman` setting - Improved devcontainer error handling --------- Co-authored-by: Sam Coward <idoru42@gmail.com>
KyleBarton and Sam Coward created
258d922
Make always_allow_tool_actions override always_confirm and default_mode (#47012)
Previously, `always_confirm` patterns would force confirmation even when `always_allow_tool_actions` was set to true. This was counterintuitive since the global setting should provide a way to skip all confirmations. The new precedence order is: 1. **`always_deny`** - still blocks for security 2. **`always_allow_tool_actions`** - when true, allows all non-denied actions 3. **`always_confirm`** - prompts if `always_allow_tool_actions` is false 4. **`always_allow`** - allows without prompting 5. **`default_mode`** - fallback behavior This means setting `always_allow_tool_actions=true` will now skip confirmation prompts from `always_confirm` patterns and override `default_mode: Deny` settings, while still respecting `always_deny` patterns for security. (No release notes because granular tool permissions are still feature-flagged.) Release Notes: - N/A
Richard Feldman created
c0bfba8
ty: Add support for using venv-installed binary (#47029)
This aligns ty's behavior with ruff by checking for binaries in the following order: 1. venv (from the Python toolchain's bin directory) 2. PATH 3. Zed-installed Release Notes: - ty: Added support for using venv-installed binary
Joseph T. Lyons created
e05a577
danger: Remove check for modifying prompts (#47028)
This PR removes the Danger check for modifying prompts, as we no longer need to account for these in Cloud. Release Notes: - N/A
Marshall Bowers created
e5706f2
Add BYOK GPT-5.2-codex support (#47025)
<img width="449" height="559" alt="Screenshot 2026-01-16 at 4 52 12 PM" src="https://github.com/user-attachments/assets/1b5583d7-9b90-46b1-a32f-9821543ea542" /> Release Notes: - Add support for GPT-5.2-Codex via OpenAI API Key
Richard Feldman created
3389d84
Improve bracket colorization in Markdown files (#47026)
Closes https://github.com/zed-industries/zed/issues/46420 Release Notes: - Improved bracket colorization in Markdown files
Kirill Bulatov created
eedff99
Format update_top_ranking_issues with latest ruff (#47023)
Release Notes: - N/A
Joseph T. Lyons created
37715d5
Send trust messages only to the clients related to the current WorktreeStore (#47005)
Release Notes: - N/A
Kirill Bulatov created
1f97c0e
sum_tree: Implement find functions iteratively (#47013)
Recursion here is unnecessary as we do not make use of the stack frames, so iterating is even cheaper as we do not need to do any stack bookkeeping either way. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created