Commit log

df94dcd ci: Only run workspace_hack when tests run (#28346)

Click to expand commit body
Skip `workspace_hack` for PRs that don't trigger tests (docs-only,
.github issue templates, etc).

Release Notes:

- N/A

Peter Tripp created

1c85901 Tell the model not to create .bak files (#28244)

Click to expand commit body
Release Notes:

- Adjusted system prompt to avoid having the agent create backup files
unnecessarily.

Richard Feldman created

9fb77ad Refine GitHub Issue templates (#28345)

Click to expand commit body
Make various improvements to our github issue templates.

- Adjust line lengths to not wrap in constrained new issue view (85
cols) not just full screen view (95 columns)
- Remove reference to drag/drop logs to upload (recently multiple issues
with dead upload links)
- Cleanup list view

Release Notes:

- N/A

Peter Tripp created

feafad2 Improve comments on shader code for dashed borders (#28341)

Click to expand commit body
Improvements from going over the code with @as-cii 

Release Notes:

- N/A

Michael Sloan created

86ef000 pylsp: Upgrade existing installation if possible (#28338)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Zed-managed pylsp installations will now correctly upgrade themselves

Piotr Osiewicz created

9e8afa8 Fix local task dropped on the wrong thread (#28290)

Click to expand commit body
Release Notes:

- Fixed a panic during shutdown of the remote server

Conrad Irwin created

698cdc4 agent: Display "generating" label in the active thread (#28297)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Danilo Leal and Bennet Bo Fenner created

85c5d8a agent: Truncate bash tool output (#28291)

Click to expand commit body
The bash tool will now truncate its output to 8192 bytes (or the last
newline before that).

We also added a global limit for any tool that produces a clearly large
output that wouldn't fit the context window.

Release Notes:

- agent: Truncate bash tool output

---------

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Agus Zubiaga and Michael Sloan created

1774cad debugger: Add close button and coloring to debug panel session's menu (#28310)

Click to expand commit body
This PR adds colors to debug panel's session menu that indicate the
state of each respective session. It also adds a close button to each
entry.

green - running
yellow - stopped
red - terminated/ended 


Release Notes:

- N/A

Anthony Eid created

ee7b1ec Fix deafening new participants (#28330)

Click to expand commit body
Release Notes:

- Fixed an issue where new participants were not muted when the room was
deafened

Conrad Irwin created

14b43d5 agent: Navigate to line when clicking on filepath in markdown codeblock (#28329)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

d39e1e0 Demote buffer-diff to a dev dependency of collab (#28295)

Click to expand commit body
This will speed up our collab deployments a little

Release Notes:

- N/A

Max Brunsfeld created

9e504a1 git: Fix logging FromUtf8Error when diffing (#28276)

Click to expand commit body
If you attempt to load a git diff which includes a non utf-8 file,
previously
(1) the entire contents of the file was logged as ordinals and
(2) a second spurious error was logged

```
2025-04-07T16:21:28.392845-04:00 [ERROR] FromUtf8Error { bytes: [0, 1, 0, 0, 0, 19, 1, 0, 0, 4, 0, 48, 68, 83, 73, 71, 0, 0, 0, 1, 0, 2, 241, 204, 0, 0, 0, 8, 71, 68, 69, 70, 164, 172, 164, ...

[2025-04-07T17:12:16-04:00 ERROR git::repository] Error loading index text: invalid utf-8 sequence of 1 bytes from index 35
```

Having 1MB binary file in a commit would generate ~3MB-5MB of log
output.

Discovered while investigating
https://github.com/zed-industries/zed/issues/28241

Release Notes:

- git: Fixed an issue where non-UTF8 files in a git diff would generate
log spam.

Peter Tripp created

ca4cc47 Upgrade async-tungstenite to tokio (#26193)

Click to expand commit body
We're seeing panics caused by a buggy implementation of AsyncWrite
that is being passed to rustls: 

https://github.com/rustls/rustls/issues/2316#issuecomment-2662838186

One hypothesis was that we're using (comparatively) non-standard async
tools for connecting over websockets; so this attempts to make us be
(comparitvely) more standard.

Release Notes:

- N/A

Conrad Irwin created

ea33d78 vim: Fix visual line yank on newline char (#28005)

Click to expand commit body
Problem:
When yanking in visual line on the newline char, the next line gets
yanked as well:


https://github.com/user-attachments/assets/40f332dd-19f5-445f-a30f-39d50167c46f

Changes:
Similar to visual delete, exclude the newline char from the selection in
line mode.

Release Notes:

- vim: Fixed visual line yank while on the newline character yanking
following line

5brian created

e36a2f2 vim: Add indent-wise motions (#28044)

Click to expand commit body
Taken from:
https://github.com/jeetsukumaran/vim-indentwise?tab=readme-ov-file#movements-by-relative-indent-depth



> [- : Move to previous line of lesser indent than the current line.
> [+ : Move to previous line of greater indent than the current line.
> [= : Move to previous line of same indent as the current line that is
separated from the current line by lines of different indents.
> ]- : Move to next line of lesser indent than the current line.
> ]+ : Move to next line of greater indent than the current line.
> ]= : Move to next line of same indent as the current line that is
separated from the current line by lines of different indents.



Release Notes:

- vim: Added indent-wise motions `] -/+/=`

5brian created

cbd9b4c Switch back to the default mode after paste (#28304)

Click to expand commit body
Now that the flaky tests are disabled, this should work...

Release Notes:

- Fixed vim paste action to switch back to the configured default mode.

jneem created

64f8b1e docs: Add missing comma in the Tasks page (#28324)

Click to expand commit body
Added a missing command in the same tasks.json file

Release Notes:

- N/A

James Falade created

4f936d8 vim: Fix exchange showing `ccx` in pending keys (#28303)

Click to expand commit body
|Before|After|
|--|--|

|![image](https://github.com/user-attachments/assets/cac97981-518e-46d2-8540-a22496bc948e)|![image](https://github.com/user-attachments/assets/5158b17f-d14e-42a2-8a94-ad98d1b1c33c)|

Changes:
Add vim exchange to the clear stack

Release Notes:

- N/A

5brian created

97abf21 agent: Add support for Google Gemini 2.5 preview (#28326)

Click to expand commit body
Adds support for the new `gemini-2.5-pro-preview-03-25`

Release Notes:

- Added support for `gemini-2.5-pro-preview-03-25` in the assistant

Bennet Bo Fenner created

5fb1411 debugger: Add scrollbars, fix papercuts with completions menu and jumps (#28321)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

b04f7a4 vim: Fix visual object expands (#28301)

Click to expand commit body
Closes #28198

Release Notes:

- Fixed visual object expands

0x2CA created

61b7a05 language_models: Allow overriding Zed completions URL via environment variable (#28323)

Click to expand commit body
This PR adds support for overriding the Zed completions URL via the
`ZED_COMPLETIONS_URL` environment variable.

Release Notes:

- N/A

Marshall Bowers created

cc15598 keymap: Document conflicting macos ctrl-shift-space shortcut (#28325)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/26261

Release Notes:

- N/A

Peter Tripp created

7ee9109 project_panel: Do not allow creating empty file/dir or file/dir with only whitespaces (#28240)

Click to expand commit body
- Do not allow creating empty file or empty directory.
- Do not allow creating file or directory with just whitespace.
- Show error only in case whitespace.

<img width="352" alt="image"
src="https://github.com/user-attachments/assets/f6040332-59a6-4d09-bf07-2b4b1b8b9e03"
/>

Release Notes:

- N/A

Smit Barmase created

c21fdd2 python: Bump PET version (#28319)

Click to expand commit body
Speculative fix for #27518


Release Notes:

- N/A

Piotr Osiewicz created

a289295 gpui: Depend on workspace image crate (#28313)

Click to expand commit body
Make gpui depend on the image crate on the workspace level

Release Notes:

- N/A

tidely created

3b787e8 Fix scrolling too fast on selection for editor and terminal (#28309)

Smit Barmase created

1264e7a Properly store editor restoration data (#28296)

Click to expand commit body
We cannot compare versions and anchors between different `Buffer`s with
different `BufferId`s.

Release Notes:

- Fixed Zed panicking on editor reopen

Co-authored-by: Conrad Irwin <conrad@zed.dev>

Kirill Bulatov and Conrad Irwin created

bfe08e4 Tell the system prompt not to write incomplete code (#28245)

Click to expand commit body
Sometimes agents do this. I've had some success responding by telling it
not to do this, so trying out having it in the system prompt.

Release Notes:

- Adjusted the system prompt to avoid incomplete code generation.

Richard Feldman created

df3c7a7 debugger: Pick best candidate binary for debugging cargo-located tasks (#28289)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

0dc3dff Use insert_id as partition key for crash events (#28293)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

b306a02 agent: Add headers for code blocks (#28253)

Click to expand commit body
<img width="639" alt="image"
src="https://github.com/user-attachments/assets/1fd51387-cbdc-474d-b1a3-3d0201f3735a"
/>


Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>

Bennet Bo Fenner , Danilo Leal , and Antonio Scandurra created

d385a60 Fix phrasing of crash/panic event names

Max Brunsfeld created

b279221 agent: Refine individual file item design in the edit disclosure (#28283)

Click to expand commit body
<img
src="https://github.com/user-attachments/assets/f1ad0598-d864-407f-8b81-6ca29e2ffae3"
width="650"/>

Release Notes:

- N/A

Danilo Leal created

6220b86 Write panics and crashes to snowflake (#28284)

Click to expand commit body
This will let us create a better crashes dashboard, using Hex.

Release Notes:

- N/A

Max Brunsfeld created

448db20 Fix bad unicode calculations in do_completion (#28259)

Click to expand commit body
Co-authored-by: João Marcos <marcospb19@hotmail.com>

Release Notes:

- Fixed a panic with completions around non-ASCII code

---------

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

Conrad Irwin and João Marcos created

e4a6943 Update Rust crate tokio to v1.44.2 [SECURITY] (#28277)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) | dependencies |
patch | `1.44.1` -> `1.44.2` |
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) |
workspace.dependencies | patch | `1.44.1` -> `1.44.2` |

### GitHub Vulnerability Alerts

####
[GHSA-rr8g-9fpq-6wmg](https://redirect.github.com/tokio-rs/tokio/pull/7232)

The broadcast channel internally calls `clone` on the stored value when
receiving it, and only requires `T:Send`. This means that using the
broadcast channel with values that are `Send` but not `Sync` can trigger
unsoundness if the `clone` implementation makes use of the value being
`!Sync`.

Thank you to Austin Bonander for finding and reporting this issue.

---

### Release Notes

<details>
<summary>tokio-rs/tokio (tokio)</summary>

###
[`v1.44.2`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2):
Tokio v1.44.2

[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)

This release fixes a soundness issue in the broadcast channel. The
channel
accepts values that are `Send` but `!Sync`. Previously, the channel
called
`clone()` on these values without synchronizing. This release fixes the
channel
by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding
and
reporting the issue).

##### Fixed

- sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232])

[#&#8203;7232]: https://redirect.github.com/tokio-rs/tokio/pull/7232

</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 these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

f03efed Try to identify dSYMs by UUID not channel (#28268)

Click to expand commit body
This should make it possible to more reliably symbolicate crash reports
from nightly, and from users with pending auto-updates.


Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>

Conrad Irwin and Ben Kunkle created

862d0c0 debugger: Fix gdb adapter and logger (#28280)

Click to expand commit body
There were two bugs that caused the gdb adapter not to work properly,
one on our end and one their end.

The bug on our end was sending `stopOnEntry: null` in our launch request
when stop on entry had no value. I fixed that bug across all dap
adapters

The other bug had to do with python's "great" type system and how we
serialized our unit structs to json; mainly,
`ConfigurationDoneArguments` and `ThreadsArguments`. Gdb seems to follow
a pattern for handling requests where they pass `**args` to a function,
this errors out when the equivalent json is `"arguments": null`.

```py
@capability("supportsConfigurationDoneRequest")
@request("configurationDone", on_dap_thread=True)
def config_done(**args): ### BUG!!
    ...
```

Release Notes:

- N/A

Anthony Eid created

56ed5dc agent: Add the history button back in the toolbar and make it a toggle (#28275)

Click to expand commit body
Release Notes:

- agent: The history view is now more easily accessible via the icon
button in the Agent Panel toolbar.

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Danilo Leal and Bennet Bo Fenner created

b3f47dc Temporarily disable helix tests (#28279)

Click to expand commit body
Not sure why, but recent changes to helix have made these flakey.

We can re-enable when we understand.

Release Notes:

- N/A

Conrad Irwin created

fe1ae18 agent: Copy text as Markdown (#28272)

Click to expand commit body
Release Notes:

- agent: Copying text in the Agent Panel will now copy it as Markdown.

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Marshall Bowers and Antonio Scandurra created

c165729 agent: Add a way to go back to thread from settings/history (#28273)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

22b937f Debugger UI: Dynamic session contents (#28033)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>

Piotr Osiewicz , Anthony Eid , and Anthony created

fdaf2a2 agent: Adjust the thread generation design (#28193)

Click to expand commit body
This PR simplifies the button to send a new message as well as the
"generation" display design.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Danilo Leal and Bennet Bo Fenner created

0414908 markdown: Move `open_url` to the `MarkdownElement` as `on_url_click` (#28269)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Marshall Bowers and Antonio Scandurra created

d3abc61 breadcrumbs: Update multibuffer to match singleton (#28267)

Click to expand commit body
Before:


https://github.com/user-attachments/assets/a2c8fe84-14f6-4cda-b51a-5ada3e2523b6

After:


https://github.com/user-attachments/assets/559bcfe8-a40f-44cc-a626-b0544b6cea68



Release Notes:

- N/A

5brian created

e7a0f0e terminal: Fix misaligned mouse selection when inline assist is active (#26112)

Click to expand commit body
This PR fixes an issue where mouse selection in the terminal would be
offset when the Terminal Inline Assistant was active. The problem was
caused by incorrect coordinate translation when handling mouse events
with an active inline assistant.

The fix adjusts mouse event coordinates by properly accounting for the
terminal view's `scroll_top` value when the inline assistant is present,
ensuring that text selection precisely follows the mouse cursor
position.

Closes #26111 

Release Notes:

- Fixed text selection misalignment in terminal when the inline
assistant is active

Co-authored-by: Peter Tripp <peter@zed.dev>

Hourann and Peter Tripp created

5996c58 node_runtime: Update to Node 20 (#27912)

Click to expand commit body
Require a newer Node version to make Copilot work

Closes #27908

Release Notes:

- Breaking Change: If using system node Zed now requires Node >= v20.
Previously Node >= v18 was required. (Node v18 EOL date is 2025-04-30;
Node v19 EOL since 2023-06-01). Note: This does not change the Zed
bundled Node runtime version (still v23).

Thorben Kröger created