Commit log

363c205 zed 0.179.5

Joseph T. Lyons created

656d4a7 Add support for Gemini 2.5 Pro Experimental model (#27468)

Click to expand commit body
Release Notes:

- Added support for Gemini 2.5 Pro Experimental model to Zed AI.

Co-authored-by: Wilhelm Klopp <wil.klopp@gmail.com>

Michael Sloan and Wilhelm Klopp created

d637307 Bump to 0.179.4 for @osiewicz

Zed Bot created

d0398a5 language server: Fix restarts sometimes not working for buffers open in go-to-definition view (cherry-pick #27655) (#27657)

Click to expand commit body
Cherry-picked language server: Fix restarts sometimes not working for
buffers open in go-to-definition view (#27655)

Closes #ISSUE

Release Notes:

- Fixed language server restarts sometimes not restarting a language
server.

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Piotr Osiewicz created

83d9f19 Bump to 0.179.3 for @maxbrunsfeld

Zed Bot created

5c2fe76 Hide the mouse when the user is typing in the editor - take 2 (#27519)

Click to expand commit body
Closes #4461

Take 2 on https://github.com/zed-industries/zed/pull/25040.

Fixes panic caused due to using `setHiddenUntilMouseMoves` return type
to `set` cursor on macOS.

Release Notes:

- Now cursor hides when the user is typing in editor. It will stay
hidden until it is moved again. This behavior is `true` by default, and
can be configured with `hide_mouse_while_typing` in settings.

---------

Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Thomas Mickley-Doyle <thomas@zed.dev>
Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Co-authored-by: Angelk90 <angelo.k90@hotmail.it>

Smit Barmase , Peter Tripp , Thomas Mickley-Doyle , Agus , Kirill Bulatov , Agus Zubiaga , and Angelk90 created

f6f0618 v0.179.x stable

Joseph T. Lyons created

7fe42e8 Fix strikethrough and underline in Linux (cherry-pick #27267) (#27380)

Click to expand commit body
Cherry-picked Fix strikethrough and underline in Linux (#27267)

Follow up to #26827 and #24721, which introduced a bug in Linux.

|before|now|
|---|---|


|![image](https://github.com/user-attachments/assets/6471502d-bf92-4808-ad42-9e0c66569d4f)|!![image](https://github.com/user-attachments/assets/ae45510a-8bc9-4f89-90a0-7496842fecb6)|


Release Notes:

- N/A

Co-authored-by: Jason Lee <huacnlee@gmail.com>

Co-authored-by: João Marcos <marcospb19@hotmail.com>
Co-authored-by: Jason Lee <huacnlee@gmail.com>

gcp-cherry-pick-bot[bot] , João Marcos , and Jason Lee created

3386e34 Don't assume that the excerpt can be found (cherry-pick #27395) (#27398)

Click to expand commit body
Cherry-picked Don't assume that the excerpt can be found (#27395)

Release Notes:

- Fix (rare) panic in the project diff view

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

087f582 zed 0.179.2

Joseph T. Lyons created

bdd39bb Bump up default timeout (#27250)

Click to expand commit body
Release Notes:

- Extended timeout used when connecting to remote instances

Conrad Irwin created

f24086e editor: Fix regression in git label colors due to status color changes (#27272)

Click to expand commit body
This PR fixes the new awkward-looking git status labels due to the
change in version control colors. We want to enable styling version
control colors distinctly from other statuses, but these colors aren't
great for labels as they are meant to be quite high contrast.

We may need to split version control colors into a primary color and a
text color if we want to improve theming this overall.

| Before | After |
|--------|-------|
| ![CleanShot 2025-03-21 at 14 12
22@2x](https://github.com/user-attachments/assets/fadb93b1-06b6-44cc-bf16-7e1279166ed0)
| ![CleanShot 2025-03-21 at 14 12
49@2x](https://github.com/user-attachments/assets/262ffc23-60b9-4cee-8a2b-9e864130912f)
|

Release Notes:

- Fixes a regression in git status colors in the project panel

Nate Butler created

c86019e Pre-fill body of email with system specs (#27210)

Click to expand commit body
I think we still want to be able to easily capture system spec info from
users. They can decide if they want to include it or not.

Release Notes:

- N/A

Joseph T. Lyons created

6489210 Bump to 0.179.1 for @SomeoneToIgnore

Zed Bot created

3c538f4 Fix code action formatters creating separate transaction (cherry-pick #26311) (#27198)

Click to expand commit body
Cherry-picked Fix code action formatters creating separate transaction
(#26311)

Closes #24588
Closes #25419

Restructures `LspStore.format_local` a decent bit in order to make how
the transaction history is preserved more clear, and in doing so fix
various bugs with how the transaction history is handled during a format
request (especially when formatting in remote dev)

Release Notes:

- Fixed an issue that prevented formatting from working when working
with remote dev
- Fixed an issue when using code actions as a format step where the
edits made by the code actions would not be grouped with the other
format edits in the undo history

Co-authored-by: Ben Kunkle <ben@zed.dev>

gcp-cherry-pick-bot[bot] and Ben Kunkle created

494cccf Rework feedback modal (#27186)

Click to expand commit body
After our last community sync, we came to the conclusion that feedback
being sent outside of email is difficult to reply to. Our decision was
to use the old, tried and true email system, so that we can better
respond to people asking questions.

<img width="392" alt="SCR-20250320-igub"
src="https://github.com/user-attachments/assets/f1d01771-30eb-4b6f-b031-c68ddaac5700"
/>

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Joseph T. Lyons and Danilo Leal created

e840961 debugger: Ensure both debug and regular global tasks are correctly merged (cherry-pick #27184) (#27187)

Click to expand commit body
Cherry-picked debugger: Ensure both debug and regular global tasks are
correctly merged (#27184)

Follow-up of https://github.com/zed-industries/zed/pull/13433
Closes https://github.com/zed-industries/zed/issues/27124
Closes https://github.com/zed-industries/zed/issues/27066

After this change, both old global task source, `tasks.json` and new,
`debug.json` started to call for the same task update method:



https://github.com/zed-industries/zed/blob/14920ab910c6d0208d23ce6b6e2ed644e6f20f2e/crates/project/src/task_inventory.rs#L414

erasing previous declarations.

The PR puts this data under different paths instead and adjusts the code
around it.

Release Notes:

- Fixed custom tasks not shown

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] and Kirill Bulatov created

bfbbe88 ci: Send emails for weekly release (#27102)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

e2fc17d theme: Add fallback colors for `version_control.<variant>` properties (cherry-pick #27104) (#27106)

Click to expand commit body
Cherry-picked theme: Add fallback colors for `version_control.<variant>`
properties (#27104)

This PR adds fallback colors for the `version_control.<variant>` theme
properties.

This fixes the colors when themes do not provide the properties.

Related to  https://github.com/zed-industries/zed/pull/26951.

Release Notes:

- Added fallback colors for the `version_control.<variant>` theme
properties.

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

gcp-cherry-pick-bot[bot] and Marshall Bowers created

9b75c88 Fix release notes API call with heredoc syntax (#27096)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

f2c27bd v0.179.x preview

Joseph T. Lyons created

3942155 assistant2: Fix broken merge (#27081)

Click to expand commit body
This PR fixes a broken merge caused by
https://github.com/zed-industries/zed/pull/26987 landing after
https://github.com/zed-industries/zed/pull/26758.

Release Notes:

- N/A

Marshall Bowers created

e8a4008 Allow tools to read unsaved buffers (#26987)

Click to expand commit body
If the tool asks to read a path, we don't need to verify whether that
path exists on disk; an unsaved buffer with that path is fine.

Release Notes:

- N/A

Richard Feldman created

6303751 Record token usage telemetry (#26962)

Click to expand commit body
<img width="1103" alt="Screenshot 2025-03-17 at 9 47 32 PM"
src="https://github.com/user-attachments/assets/947cf33d-4464-4305-8ff0-3630529d2f81"
/>


Release Notes:

- N/A

Richard Feldman created

3edf930 Revert "Start tracking edits performed by the agent" (#27077)

Click to expand commit body
Reverts zed-industries/zed#27064

Antonio Scandurra created

584a70c Refactor Git panel styling & status colors for consistency (#26951)

Click to expand commit body
Closes #26847

Release Notes:

- Updated Git panel background to use panel_background instead of
ElevationIndex::Surface.bg(cx) for consistency with other panels.
- Removed redundant GitStatusColors struct from status.rs and refactored
to use existing theme colors.
- Adjusted Color enum mappings in color.rs to reference
version_control_* colors instead of status() for better alignment with
the theme system.
- Cleaned up unused or redundant code.

Jakub Čermák created

2230f3b editor: Preserve expand excerpt down button position (#27058)

Click to expand commit body
When you press the "Expand Excerpt Down" button, the editor will scroll
up by the same amount to keep the button in same place. This allows you
to expand the excerpt rapidly without moving your mouse.

Before:


https://github.com/user-attachments/assets/376350ac-6f21-4ce0-a383-b2c9ca4f45bb

After:


https://github.com/user-attachments/assets/4fba4173-5f01-4220-990a-65820ac40cf5

Release Notes:

- Improved "Expand Excerpt Down" so the button stays in place, allowing
rapid expansion without moving the mouse.

Smit Barmase created

84a8d48 vim: Fix `space` not handling non-ascii characters (#27053)

Click to expand commit body
Closes #26806

Changes: Clips the new point with `Bias::Right` like in
`saturating_right`

Release Notes:

- vim: Fixed `space` not handling non-ascii characters

5brian created

ac5dafc Start tracking edits performed by the agent (#27064)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Antonio Scandurra , Danilo Leal , and Agus Zubiaga created

23686aa debugger: Do not use Disclosure for attach button (#27068)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

3874d31 assistant2: Adjust text and padding alignment between messages (#27067)

Click to expand commit body
Ensuring that text between the "you" messages align with text in the
assistant response. This also creates a nice subtle hierarchy effect
where the "you" message card is wider than the message, making it
slightly easier to tell them apart.

<img
src="https://github.com/user-attachments/assets/616c1776-ca51-454e-9d52-e480bf26c843"
width="600px" />

Release Notes:

- N/A

Danilo Leal created

1d33bfd assistant edit tool: Replace with flexible indentation (#27039)

Click to expand commit body
Sometimes the model produces SEARCH queries that don't match the
indentation of the source file exactly.

When we can't find an exact match, we'll now attempt to match the lines
while being more flexible about the leading whitespace as long as all
lines are consistently offset from the source, and extend the leading
whitespace in the REPLACE string accordingly.

Release Notes:

- N/A

Agus Zubiaga created

9377ef9 feature_flags: Do not enable feature flags by default in dev builds (#27065)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

c3b5046 editor: Do not use breakpoint color for run indicators (#27063)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

44fff08 util: Include path to asset in panic message from asset_str (#27059)

Click to expand commit body
Somebody on Discord ran into issues with running the debugger which goes
down to an unwrap in asset_str. Let's print a path that was accessed.

Release Notes:

- N/A

Piotr Osiewicz created

d4daa0a Show debug console evaluation response (#27050)

Click to expand commit body
We weren't incrementing the output token when getting responses from the
debug evaluation request which caused some output to not be displayed.
(Usually the evaluation response, but that could cascade into other
output events not showing)


Release Notes:
- N/A

Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Anthony Eid , Remco Smits , and Max Brunsfeld created

81582cd Don't render breakpoint indicators on top of expand arrows (#27048)

Click to expand commit body
Closes #ISSUE

cc @Anthony-Eid. One thing I noticed while doing this is that we do an
invalid cast here from DisplayPoint.row to MultiBufferRow. These are not
the same if you have soft-wrap enabled (or anything else in the display
map that's not in the editor).

Release Notes:

- N/A

Conrad Irwin created

0f5a3af Support built-in Zed prompts for all platforms (#26201)

Click to expand commit body
This pull request does two things:

1. Adds a setting to force Zed to use the built-in prompts, instead of
the system provided ones. I've personally found the system prompts on
macOS often fail to respond to keyboard input, are slow to render
initially, and don't match Zed's style.
2. Makes the previously Linux-only Zed provided prompts available to
everybody using the above setting.

Release Notes:
- Added support for a built-in prompting system, regardless of platform.
Use the new `use_system_prompts` setting to control whether to use the
system provided prompts or Zed's built-in system. Note that on Linux,
this setting has no effect, as Linux doesn't have a system prompting
mechanism.

Ryan Hawkins created

382f9f6 language_tools: Fix buffer search keeping focusing when pressing enter in vim mode (#26266)

Click to expand commit body
Closes #25643 

Release Notes:

- Fixed buffer search keep focus when pressing enter in vim mode

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

CharlesChen0823 and Conrad Irwin created

15d2420 `workspace::Open`: Fix trapped cursor/selection on update (#25402)

Click to expand commit body
Closes #ISSUE

Issue: Selection index does not reset when the matches update, which can
lead to the selection getting trapped when that index does not exist in
the next matches.


https://github.com/user-attachments/assets/d3fab23f-750c-47fb-bd3b-a0c42f214c83

This is in workspace::Open with   "use_system_path_prompts": false

Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

5brian and Conrad Irwin created

026c727 workspace: Add function to save new file in directory nearest tab (#22563)

Click to expand commit body
Closes #15685

Release Notes:

- save new file in directory neasrest tab

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

CharlesChen0823 and Conrad Irwin created

1aefa51 Move "async move" a few characters to the left in cx.spawn() (#26758)

Click to expand commit body
This is the core change:
https://github.com/zed-industries/zed/pull/26758/files#diff-044302c0d57147af17e68a0009fee3e8dcdfb4f32c27a915e70cfa80e987f765R1052

TODO:
- [x] Use AsyncFn instead of Fn() -> Future in GPUI spawn methods
- [x] Implement it in the whole app
- [x] Implement it in the debugger 
- [x] Glance at the RPC crate, and see if those box future methods can
be switched over. Answer: It can't directly, as you can't make an
AsyncFn* into a trait object. There's ways around that, but they're all
more complex than just keeping the code as is.
- [ ] Fix platform specific code

Release Notes:

- N/A

Mikayla Maki created

7f2e3fb Fix git stage race condition with delayed fs events (#27036)

Click to expand commit body
This PR adds a failing test `test_staging_hunks_with_delayed_fs_event`
and makes it pass

Also skips a queued read for git diff states if another read was
requested (less work)

This still doesn't catch all race conditions, but the PR is getting long
so I'll yield this and start another branch

Release Notes:

- N/A

João Marcos created

68a5728 assistant edit tool: Improve bad search output (#27012)

Click to expand commit body
When we failed to match a search string, we were reporting the replace
string as not found, this confuses the model and can make it go into a
doom loop. This PR fixes that improves the error output in general to
help it recover faster.

Release Notes:

- N/A

Agus Zubiaga created

c042a02 debugger: First slight pass at UI (#27034)

Click to expand commit body
- Collapse Launch and Attach into a single split button
- Fix code actions indicator being colored red.

Release Notes:

- N/A

Piotr Osiewicz created

73ac3d9 nix: Fix LDFLAGS rpath (#26912)

Click to expand commit body
By default stdenv strips all unused rpaths, but we use a few libraries
that are `dlopen`'d so we need to stop it from removing those. The
[`dontPatchELF`
flag](https://ryantm.github.io/nixpkgs/stdenv/stdenv/#var-stdenv-dontPatchELF)
disables that and makes the nix build work on wayland again.

Fix #26905
Close #26864

Release Notes:

- N/A

Julia Ryan created

2269f99 Add more shortcuts for delete/restore in Git Panel (#27004)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

e9033a7 assistant2: Remove unneeded debug logging (#27030)

Click to expand commit body
This PR removes the debug logging added in
https://github.com/zed-industries/zed/pull/23722, as we no longer need
it.

Release Notes:

- N/A

Marshall Bowers created

a2ae6a1 assistant2: Add tool lists for each context server (#27029)

Click to expand commit body
This PR updates the list of context servers with the ability to view the
tools provided by the context server:

<img width="1394" alt="Screenshot 2025-03-18 at 5 53 05 PM"
src="https://github.com/user-attachments/assets/4ffe93dd-f9e9-44e7-877f-656ebf45a326"
/>

Release Notes:

- N/A

Marshall Bowers created

985ac4e gpui: Reduce `window.refresh` to improve cache hit of the cached views (#25009)

Click to expand commit body
Release Notes:

- Improved performance when using the scroll wheel and some other mouse
interactions.

Based on some cache details about GPUI `AnyView::cached` that I found in
the discussion of
https://github.com/zed-industries/zed/discussions/24260#discussioncomment-12135749,
and combined with the optimization points found in actual applications.

This change may have some scenarios that I have not considered, so I
just make a draft to put forward my ideas first for discussion.

From my analysis, `AnyView::cached` will always invalid by Div's mouse
events, because of it called `window.refresh`. I understand that (mouse
move event) this is because the interface changes related to hover and
mouse_move will be affected style, so `window.refresh` is required.
Since Div does not have the `entity_id` of View, it is impossible to
know which View should be refreshed, so the entire window can only be
refreshed.

With this change, we can reduce a lot of `render` method calls on
ScrollWheel or Mouse Event.

Jason Lee created