Commit log

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

b6ee367 markdown: Don't retain `MarkdownStyle` in favor of using `MarkdownElement` directly (#28255)

Click to expand commit body
This PR removes the retained `MarkdownStyle` on the `Markdown` entity in
favor of using the `MarkdownElement` directly and passing the
`MarkdownStyle` to it.

This makes it so switching themes will be reflected live in the code
block styles.

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Marshall Bowers , Antonio Scandurra , and Agus Zubiaga created

aa02615 chore: Make objc a workspace level crate (#28258)

Click to expand commit body
Make objc a workspace level crate to unify version control

Release Notes:

- N/A

tidely created

d5cc576 Downgrade some logs (#28257)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Cole Miller created

f327485 Move `assistant_evals` to `agent_evals` and remove Judge logic (#28233)

Click to expand commit body
Release Notes:

- N/A

Thomas Mickley-Doyle created

500d8f2 theme: Make Gruvbox terminal ANSI magenta more vibrant (#27166)

Click to expand commit body
Closes #27119

Release Notes:

- Improved contrast of terminal ANSI colors in Gruvbox theme(s)

Dallin Huff created

e3830d2 Git activity indicator (#28204)

Click to expand commit body
Closes #26182

Release Notes:

- Added an activity indicator for long-running git commands.

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Julia Ryan and Mikayla Maki created

4f9f443 agent: Remove duplicated keybinding for creating new thread in Linux (#28254)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

1556b44 Fix titles in issue templates (#28252)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

5ca8a3e Add issue templates for newer flagship features (#28250)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

aeea364 Fix typo in system prompt (#28246)

Click to expand commit body
Release Notes:

- N/A

Richard Feldman created

a577a72 Add support for `insert_text_mode` of a completion (#28171)

Click to expand commit body
I wanted this for CONL (https://conl.dev )'s nascent langauge server,
and it seems like most of the support was already wired up on the LSP
side, so this surfaces it into the editor.

Release Notes:

- Added support for the `insert_text_mode` field of completions from the
language server protocol.

Conrad Irwin created

5a7222e prompt_store: Remove additional code for /project (#27981)

Click to expand commit body
Found leftover from https://github.com/zed-industries/zed/pull/27660

Release Notes:

- N/A

Neo Nie created

097aefe agent: Display keybinding to delete Prompt Editor item (#28168)

Click to expand commit body
This PR makes the keybinding to remove Prompt Editor items visible in
the icon button tooltip.

Release Notes:

- N/A

Danilo Leal created

99a9647 editor: Fix excerpt down scroll behavior to only scroll when there are enough lines (#28231)

Click to expand commit body
Follow up for https://github.com/zed-industries/zed/pull/27058

Improves excerpt down button to only scroll when there exists lines more
than equal to `expand_excerpt_lines`. This prevents weird shift at end
of the file.

Before:


https://github.com/user-attachments/assets/244a3bd6-d813-4cc8-9dcb-3addba2b652f

After:


https://github.com/user-attachments/assets/a9a9ba62-a454-4b56-9c8a-d8e6931b270b


Release Notes:

- N/A

Smit Barmase created

fa90b3a Link to cited code blocks (#28217)

Click to expand commit body
<img width="612" alt="Screenshot 2025-04-06 at 9 59 41 PM"
src="https://github.com/user-attachments/assets/3a996b4a-ef5c-4ca6-bd16-3b180b364a3a"
/>

Release Notes:

- Agent panel now shows links to relevant source code files above code
blocks.

Richard Feldman created

8049fc1 Add ai label to agent beta issue template (#28227)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

85b811a Add Agent Panel bug report template (#28226)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

d60dbbc windows: Add `update-workspace-hack.ps1` script (#28219)

Click to expand commit body
Release Notes:

- N/A

张小白 created

656302e Stop centering when selecting larger syntax nodes (#28172)

Click to expand commit body
With #27295, the cursor would center upon running
`SelectLargerSyntaxNode`. This was done to provide more context when
making large selections, but when making small selections (such as a
single parameter in an argument list) it was confusing that the scroll
position jumped.

This change makes that behavior slightly more conservative: now when the
selection is small enough to fit on the screen scrolling will only occur
to keep the cursor position on the screen (including respecting
`vertical_scroll_margin`).

Release Notes:

- N/A

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

Julia Ryan and João Marcos created

956f359 project_panel: Add warning error for leading or trailing whitespace when creating file or directory (#28215)

Click to expand commit body
- Show yellow warning (instead or error) for leading/trailing
whitespace.
- Do not block user from creating it.
- If you rename existing file/dir which contains leading/trailing
whitespace, it will show error right away.

<img width="250" alt="image"
src="https://github.com/user-attachments/assets/562895ee-3a86-4ecd-bb38-703d1d8b8599"
/>

Release Notes:

- Added warning for leading or trailing whitespace while renaming or
creating new file or directory in Project Panel.

Smit Barmase created

3b46fca project_panel: Fix validation error style alignment (#28214)

Click to expand commit body
Use px over rem for positioning as rem is dependent on font
size.

Release Notes:

- N/A

Smit Barmase created

d6d9c38 project_panel: Show error when file or directory already exists while renaming or creating new one (#28177)

Click to expand commit body
Closes #14425

<img width="289" alt="image"
src="https://github.com/user-attachments/assets/2994c401-23e3-419a-90fc-1a83959fdf21"
/>

Release Notes:

- Improved the project panel to show an error when a file or directory
already exists while renaming or creating a new one.

Smit Barmase created

8cfb9be Reapply support for X11 screenshare (#28160)

Click to expand commit body
Reapplies #27807 after [revert due to not building on
ARM](https://github.com/zed-industries/zed/pull/28141) by updating scap
to include [a fix to its build on
ARM](https://github.com/zed-industries/scap/commit/08f0a01417505cc0990b9931a37e5120db92e0d0)

Release Notes:

- N/A

---------

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

Michael Sloan and Marshall Bowers created

0708d47 Improve Bash heredoc highlighting (#28185)

Click to expand commit body
Release Notes:

  - Improved Bash heredoc highlighting

| Zed 0.180.2 | With this PR |
| --- | --- |
|
![Image](https://github.com/user-attachments/assets/aa2534af-53df-4f01-988e-f18ec52a2b62)
|
![Image](https://github.com/user-attachments/assets/8fc92113-41f2-4249-ab81-6beb0a1469ca)
|

```bash
cat << EOT >> hello.txt
hello world
EOT
```

- `<<`: `operator`
- `EOT`: `string`

chbk created

57669b4 agent: Refresh UI when context or thread history changes (#28188)

Click to expand commit body
I found a few more cases where the UI wasn't updated immediately after
an interaction.

Release Notes:

- agent: Fixed delay after removing threads from "Past Interactions"
- agent: Fixed delay after adding/remove context via keyboard

Agus Zubiaga created

b1f7133 agent: Refresh UI when sending first message (#28180)

Click to expand commit body
Release Notes:

- Agent Beta: Fixed a delay when sending the first message in a new
thread

Agus Zubiaga created

ac9e2f3 Try to improve behavior when agent is stuck (#28169)

Click to expand commit body
Currently, it's pretty common that when the agent gets stuck, it deletes
whatever it's stuck on and replaces it with a TODO comment, then
cheerfully reports that it has "simpified" the implementation. This is
worse than leaving the broken code, because at least a human could take
over and try to get it across the finish line.

This system prompt adjustment attempts to make the agent do something
more useful when in this situation: report that it's stuck, explain why
it's stuck, and ask the user what to do.

Release Notes:

- N/A

Richard Feldman created