afc07d9
Bump to 0.219.5 for @MrSubidubi
Zed Zippy created
afc07d9
Bump to 0.219.5 for @MrSubidubi
Zed Zippy created
aeea349
rope: Add missing early return in `log_err_char_boundary` (#47191) (cherry-pick to stable) (#47193)
Cherry-pick of #47191 to stable ---- Closes ZED-465 Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
ea1c1df
Add "PNG" to allow list for typos
MrSubidubi created
1e58361
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
10fe59c
settings_ui: Organize page data (#46275)
Closes #ISSUE Organizes the giant list of settings UI items in `page_data.rs` a bit so that sections are split out in sub functions that (for the most part) return constant size arrays. Page items is also converted to a `Box<[...]>` instead of a Vec. The goal here is to have working breadcrumbs when in the settings UI file (e.g. `fn general_page() > fn general_section()`), and to escape the `vec![]` macro so that `rust-analyzer` works more consistently. This should help both humans and LLMs know where they are in the file and use the outline to navigate it instead of having to read the whole thing to have an idea of what is going on. Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8f70d44
agent: Patch image format bug (#45978)
Closes #44694 Release Notes: - Fixed images being converted to png but retaining old format <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" /> <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
5fbccbe
languages: Apply JSX fixes to JavaScript highlights (#47130) (cherry-pick to stable) (#47132)
Cherry-pick of #47130 to stable ---- 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 Co-authored-by: Finn Evers <finn@zed.dev>
zed-zippy[bot] and Finn Evers created
f2abde4
editor: Fix relative line numbers breaking with nested folds (#47035) (cherry-pick to stable) (#47108)
Cherry-pick of #47035 to stable ---- 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. Co-authored-by: Finn Evers <finn@zed.dev>
zed-zippy[bot] and Finn Evers created
d4cfed4
Add BYOK GPT-5.2-codex support (#47025) (cherry-pick to stable) (#47031)
Cherry-pick of #47025 to stable ---- <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 Co-authored-by: Richard Feldman <richard@zed.dev>
zed-zippy[bot] and Richard Feldman created
300099d
gpui: Fix utf8 slicing panic in `truncate_line` (#46914) (cherry-pick to stable) (#46917)
Cherry-pick of #46914 to stable ---- Fixes https://github.com/zed-industries/zed/issues/46904 Release Notes: - Fixed a panic in the git panel when utf8 multibyte character filenames got truncated Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
4b351b4
workspace: Do not attempt to unnecessarily update jump list on worktree updates (#46882) (cherry-pick to stable) (#46887)
Cherry-pick of #46882 to stable ---- It should be a no-op but causes massive main thread hangs on windows due to the winapi calls this emits, restores the behavior pre github.com/zed-industries/zed/pull/46256 without reverting the main changes of that. Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
2450122
Fix emoji on Linux when using High DPI (#46857) (cherry-pick to stable) (#46860)
Cherry-pick of #46857 to stable ---- Fixes https://github.com/zed-industries/zed/issues/46849 Release Notes: - Fixed emoji being too small on Linux when using High DPI Co-authored-by: John Tur <john-tur@outlook.com>
zed-zippy[bot] and John Tur created
d136bb0
gpui: Fix bug on `on_hover` callbacks (#46371) (cherry-pick to stable) (#46831)
Cherry-pick of #46371 to stable ---- Tackling this as I noticed a bug in the agent panel where the button to delete a thread, which appeared only on hover, stopped showing up. PRs #43324 and #45437 fixed stuff in applying hover styles through `.hover()` but broke the `.on_hover()` callback. Problem was that both methods were sharing the same `element_state.hover_state` but running at different phases. The solution here was to add a new independent state field for the hover listener (`hover_listener_state`) while the hover style method keeps using `hover_state`. Release Notes: - Agent: Fixed a bug where the button to delete a thread stopped showing up. Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
zed-zippy[bot] and Danilo Leal created
5595f7c
v0.219.x stable
Joseph T. Lyons created
0727934
Revert "Clean up image resources for the current window (#45969)" (#46779) (cherry-pick to preview) (#46781)
Cherry-pick of #46779 to preview ---- This reverts commit 94faaebfec5e46afa6d3aee5372cbbdb33b97c33. The logic changed in the [original PR](https://github.com/zed-industries/zed/pull/45969) is either misplaced or lacks a counterpart that reacts on `gpui::Image` drop one way or another. The change was dropping the texture out of the global rendering atlas when an image preview tab was disposed of, while in reality, another instance (agent panel or another image preview tab) could require the very same atlas entry to be rendered meanwhile. Currently, only `RetainAllImageCache` in Zed does any kind of image cleanup, and any other image usages will leak memory. What makes it harder is that the atlas entry needs to live as long as a particular `Arc<Image>` lives, and some public `gpui` API expects this type to stay: https://github.com/zed-industries/zed/blob/e747cfc955e8cfd9327d8d6b8d617cf1d3a6bcaa/crates/gpui/src/platform.rs#L1851-L1866 For image viewer in particular, we need to consider why `RetainAllImageCache` is not used there; for the global, normal fix, we need to consider ways to have `cx` and `window` and a way to react on `Image` drop. As an option, we could break the `gpui` API (as it [happens periodically](https://github.com/zed-industries/zed/issues/46183) already) and use `Entity<Image>` instead of `Arc`, then react with `cx.on_release_in` for each such image. Closes https://github.com/zed-industries/zed/issues/46755 Closes https://github.com/zed-industries/zed/issues/46435 Release Notes: - Fixed panics on concurrent image handling Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
a5176e6
Trust settings sync as a collab project client (#46700) (cherry-pick to preview) (#46702)
Cherry-pick of #46700 to preview ---- Collab projects are considered trusted and remote clients use the editor-related settings only. A better fix would be sync "not trusted" indicator with the project host, and disallow clients' iteraction with that indicator. Release Notes: - Fixed collab settings sync causing "not trusted" pop ups for client Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
9961d18
terminal_view: Fix terminal opening in / when no project is open (#46582) (cherry-pick to preview) (#46682)
Cherry-pick of #46582 to preview
----
Closes #46574
The `default_working_directory()` function in
`crates/terminal_view/src/terminal_view.rs:1585` returned `None` when no
project directory was available. The code comment (now removed)
incorrectly claimed "None implies `~` on whichever machine we end up
on". However, when `None` is passed to `alacritty_terminal`, it uses the
process CWD, not the home directory. On macOS when Zed is launched from
a .`app` bundle, the CWD is `/`.
Added a fallback at the end of` default_working_directory()` that
explicitly returns the home directory when no project directory is
found: `directory.or_else(dirs::home_dir)`
This ensures:
1. `CurrentProjectDirectory` with no project open → home directory
2. `FirstProjectDirectory `with no project open → home directory
3. `AlwaysHome `→ home directory (explicitly, not relying on shell
behavior)
4. Always `{ directory }` with invalid directory → home directory
Release Notes:
- Fixed terminal opening in `/` instead of home directory when no
project is open.
Co-authored-by: Max Malkin <60683392+maxmalkin@users.noreply.github.com>
zed-zippy[bot] and Max Malkin created
b295c8f
editor: Fix regression with folds and relative counting (#46658) (cherry-pick to preview) (#46664)
Cherry-pick of #46658 to preview ---- Closes #46516 Release Notes: - Fixed a regression with relative line numbering that would occur with folds present (preview only) Co-authored-by: Finn Evers <finn@zed.dev>
zed-zippy[bot] and Finn Evers created
8a79bd5
Bump to 0.219.4 for @SomeoneToIgnore
Zed Zippy created
e925d2e
Fix worktree trust not applied on window reuse (#46623) (cherry-pick to preview) (#46628)
Cherry-pick of #46623 to preview ---- New workspace/window creates a different `WeakEntity<WorktreeStore>` for the same path, which was not considered before. Closes https://github.com/zed-industries/zed/issues/46318 Release Notes: - Fixed worktree trust not applied in window reuse Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
f2e86f4
copilot: Fix double lease panic when signing out (#46619) (cherry-pick to preview) (#46625)
Cherry-pick of #46619 to preview ---- Extracted out of #46618 as I wanna fast-track it to Preview. Release Notes: - Fixed a crash that occured when signing out of Copilot. Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
zed-zippy[bot] and Piotr Osiewicz created
cf55413
gpui(windows): Force a paint message when running out foreground budget (#46609) (cherry-pick to preview) (#46622)
Cherry-pick of #46609 to preview ---- Release Notes: - Fixed zed no longer rendering on windows in a timely manner if it gets overloaded with foreground work Co-authored-by: John Tur <john-tur@outlook.com> Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: John Tur <john-tur@outlook.com>
zed-zippy[bot] , Lukas Wirth , and John Tur created
4cf8795
Properly notify all language server worktree trust listeners (#46613) (cherry-pick to preview) (#46614)
Cherry-pick of #46613 to preview
----
Closes https://github.com/zed-industries/zed/issues/46590
https://github.com/user-attachments/assets/8464a3b6-9258-4d15-9168-56178bf46437
`use smol::channel::{Receiver, Sender};` do not propagate the value
change to all receivers, hence only one language server received the
"worktree trusted" message.
The fix uses `watch` kind of channels instead, and cleans up its state
more eager to rely on the sender drop as another form of notification.
Release Notes:
- Fixed groups of language servers not starting after worktree trust
approval
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
cf13576
Always show worktree trust, even if other title bar items are hidden with settings (#46606) (cherry-pick to preview) (#46607)
Cherry-pick of #46606 to preview ---- Closes https://github.com/zed-industries/zed/discussions/46595 Release Notes: - Fixed "show project items" keeping worktree trust title bar element hidden Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
807deba
Skip worktree trust checks on Zed invisible worktrees (#46563) (cherry-pick to preview) (#46578)
Cherry-pick of #46563 to preview ---- Follow-up of https://github.com/zed-industries/zed/pull/46256 Release Notes: - Fixed worktree trust pop-up appearing on a keymap editor invication Co-authored-by: Kirill Bulatov <kirill@zed.dev>
zed-zippy[bot] and Kirill Bulatov created
4099f02
languages: Do not highlight JSX/TSX components too broadly (#46442) (cherry-pick to preview) (#46446)
Cherry-pick of #46442 to preview ---- Closes #46340 Release Notes: - Fixed an issue where HTML tags where highlighted as JSX components. Co-authored-by: Finn Evers <finn@zed.dev>
zed-zippy[bot] and Finn Evers created
3d83b3c
Bump to 0.219.3 for @maxbrunsfeld
Zed Zippy created
0d91961
mercury: Fix spurious newline removal (#46289)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
f255b09
Update pulldown-cmark to v0.13.0 to fix crash (#46267) (cherry-pick to preview) (#46309)
Cherry-pick of #46267 to preview
----
Hi Zed team thank you for the awesome editor!
I recently stumbled upon a markdown sequence that seems to cause a crash
```md
- [ ] -
\
-
```
*easier to read escape characters below
```rust
let crash_input = "-\t[\t] -\r\\\n-"
println!("{}", crash_input)
```
## how to reproduce
1. copy the markdown above
2. save the file
3. `[shift]` + `[cmd]` + `p` to open the command palette
4. select `markdown: open preview`
5. crash
I've confirmed that the issue is a bug in pulldown-cmark version 12, and
has been resolved in version
[v0.13.0](https://github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.13.0)
and specifically fixed in
https://github.com/pulldown-cmark/pulldown-cmark/pull/1017
this PR simply bumps the pulldown-cmark version in zed which resolves
the crash on my local machine.
## recording
https://github.com/user-attachments/assets/dc77132f-0d43-40f3-9841-0bf34fe714fb
Release Notes:
- Fixes crash due to markdown parsing via bumping pulldown-cmark
Co-authored-by: drbh <david.richard.holtz@gmail.com>
zed-zippy[bot] and drbh created
5b6799c
Bump to 0.219.2 for @cole-miller
Zed Zippy created
34ebc7c
git: Fix base text in branch diff and text diff view not being highlighted (cherry-pick #46302) (#46304)
Release Notes: - Fixed deleted portions of hunks in the branch diff and text diff views not being syntax-highlighted.
Cole Miller created
bef41a2
zed 0.219.1
John Tur created
2571c6f
Use transparent clear color for opaque windows on Linux (#46281) (cherry-pick to preview) (#46288)
Cherry-pick of #46281 to preview ---- https://github.com/zed-industries/zed/pull/45423 changed the Blade renderer to use a white clear color for "opaque" windows. This interacts poorly with our client-side decorations, causing the shadows around the window to be drawn over a white background. Release Notes: - N/A Co-authored-by: John Tur <john-tur@outlook.com>
zed-zippy[bot] and John Tur created
33ac5b9
git: Fix project diff sorting not matching the git panel when tree view is in use (#46283) (cherry-pick to preview) (#46285)
Cherry-pick of #46283 to preview ---- The tree view effectively always sorts by status, not by path. Release Notes: - Fixed incorrect ordering of paths in the project diff when using the git panel's tree view. Co-authored-by: Cole Miller <cole@zed.dev>
zed-zippy[bot] and Cole Miller created
79d1d1f
Add fallback message when preview changelog is empty (#46260)
Avoid publishing preview releasing that say nothing in the release notes: <img width="947" height="258" alt="SCR-20260107-ioxx" src="https://github.com/user-attachments/assets/97204551-8f55-43fb-8c9c-35491a4f1378" /> Release Notes: - N/A *or* Added/Fixed/Improved ...
Joseph T. Lyons created
0b9c125
v0.219.x preview
Joseph T. Lyons created
7fa65ea
Add action tracking to enable token healing for Sweep (#46212)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
b41eb6e
Add fallback message when preview changelog is empty (#46260)
Avoid publishing preview releasing that say nothing in the release notes: <img width="947" height="258" alt="SCR-20260107-ioxx" src="https://github.com/user-attachments/assets/97204551-8f55-43fb-8c9c-35491a4f1378" /> Release Notes: - N/A *or* Added/Fixed/Improved ...
Joseph T. Lyons created
82826e7
ep: Fix revision resolution for tilde expressions (#46258)
When a revision like `abcd~1` wasn't found locally, the function would fetch and then return `FETCH_HEAD`, which points to the tip of the fetched branch rather than the requested revision expression. Now it re-resolves the original revision after fetching, correctly handling tilde expressions and other git revision syntax. Release Notes: - N/A
Oleksiy Syvokon created
0136e41
ep: Fix incorrect example count in failure summary (#46257)
The 'X of Y examples failed' message was counting completed steps/tasks instead of actual examples. For example, with 2 examples each going through Load and Context steps, it would report '1 of 3' instead of '1 of 2'. Release Notes: - N/A
Oleksiy Syvokon created
cf8200f
Skip worktree trust queries for remote collab project clients (#46256)
Release Notes: - Skip worktree trust queries for remote collab project clients
Kirill Bulatov created
523c27a
ep cli: Clean leftover git locks (#46255)
Sometimes git locks are left over from crashed runs. We now assume there's only one process of the CLI running and clean them up. If we want to run multiple processes at the same time, we should consider our own file-based lock, but it seems fine for an internal tool. Release Notes: - N/A
Agus Zubiaga created
134c5e6
ep cli: Handle opening buffers from files created by the edit history (#46254)
Since we don't persist new files to disk, they don't have entries, so we have to look them up in memory first. Release Notes: - N/A
Agus Zubiaga created
1362582
Override project status in Closed Bugs workflow (#46253)
Since the project board to which the closed bugs with new comments are added might have an automated workflow for moving closed issues to the "Done" status, we need to override the status to ensure the bugs are actually surfaced to the team and not buried in "Done". Release Notes: - N/A
Lena created
a354473
Fix the action version in Closed Bugs GH workflow (#46251)
fix-up for https://github.com/zed-industries/zed/pull/46249 because testing github workflows is fun and opus 4.5 thinks it's amusing. Release Notes: - N/A
Lena created
754bfad
Add GH workflow to surface comments on closed bugs (#46249)
Sometimes bugs come back or are not fixed all the way. We want to preserve the context of the issue we've closed prematurely so instead of always making people open a new github issue in this case we want to be able to notice if someone* comments on a closed bug and decide what to do about it. Before: Bug is closed → A user can again/still reproduce it on a new version and leaves a comment → Maybe someone sees the notification about it, maybe not; maybe they see it but forget to act on it right away and it's lost. After: Bug is closed → A user can again/still reproduce it on a new version and leaves a comment → The issue is added to a project board where it's visible until someone makes a call about it (maybe the comment was “oh my glob i'm so happy this was fixed” and no action is needed, or maybe the issue must be reopened as a regression). *Someone in this case means (1) not a bot, (2) not a member of staff. Release Notes: - N/A
Lena created
f845893
ui_input: Only render number field border on focus (#46165)
The `NumberField.render` method was always rendering a `border_1` for the number input, even when not focused. Even though it was using `cx.theme().colors().border_transparent`, some themes don't have this value set to a fully transparent color so it ends up looking a little bit weird. As such, this commit updates the way the border is rendered, to ensure it's actually only rendered, i.e., the `border_1` method is only called, when the field is actually focused. Release Notes: - Improved rendering of border on number field's input to ensure it's only rendered when the field is focused
Dino created
9e9269b
settings: Add Sapling directory to default `file_scan_exclusions` (#45837)
[Sapling](https://sapling-scm.com/docs/git/git_support_modes/) is similar to git / hg / jj in that it creates a /.sl directory when initializing a repository. This can be added alongside the other source control scan exclusions includes a docs update for these defaults Release Notes: - Settings: Add Sapling directory to default `file_scan_exclusions`
Cory Wilhite created
00becd8
docs: Add LGPL v3 and zlib as accepted extension licenses (#46242)
Follow-up to https://github.com/zed-industries/extensions/pull/4397 Release Notes: - N/A
Finn Evers created
f90fe5c
language_models: Make wording for setting env vars consistent (#46240)
Release Notes: - N/A
Jakub Konka created