Commit log

83d7dd0 v0.191.x stable

Joseph T. Lyons created

9e98c4c Diff view (#32922)

Click to expand commit body
Todo:

* [x] Open diffed files as regular buffers
* [x] Update diff when buffers change
* [x] Show diffed filenames in the tab title
* [x] Investigate why syntax highlighting isn't reliably handled for old
text
* [x] remove unstage/restore buttons

Release Notes:

- Adds `zed --diff A B` to show the diff between the two files

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>

Conrad Irwin , Max Brunsfeld , Ben Brandt , and Agus Zubiaga created

3584338 debugger: Fix a few issues with JS debugging (#32918)

Click to expand commit body
- Don't assume all located tasks come from our test runnables
- Run tests from the right working directory
- Scope forking behavior customization for jest and vitest more tightly,
to just our test runnables
- Standardize on `$PACKAGE_MANAGER exec -- $TEST_LIBRARY ...` to fix
runnables not working with npm

Release Notes:

- Debugger Beta: Fixed issues with debugging tasks from package.json and
test runnables.

Cole Miller created

99f6c0d debugger: Remove feature flag (#32877)

Click to expand commit body
Release Notes:

- debugger: Now available for everyone!

Conrad Irwin created

f4330c4 zed_extension_api: Release v0.6.0 (#32945)

Click to expand commit body
This PR releases v0.6.0 of the Zed extension API.

Support for this version of the extension API will land in Zed v0.192.x.

Release Notes:

- N/A

Marshall Bowers created

d452611 debugger: Show child sessions as indented and ensure they're next to the parent session (#32939)

Click to expand commit body
Closes #ISSUE

Release Notes:

- debugger: Tweaked how child sessions are shown in the session list.

Piotr Osiewicz created

02fe50a debugger: Add breakpoint list to the empty state of debug panel (#32930)

Click to expand commit body
![image](https://github.com/user-attachments/assets/3c80855a-3046-42b6-a1a7-409b03cd735d)

Release Notes:

- Debugger: Added breakpoint list to the empty debug panel

Piotr Osiewicz created

74a7ab5 docs: Add light formatting changes to the Debugger page (#32919)

Click to expand commit body
Just some tiny little formatting improvement opportunities I stumbled
upon while working on the marketing stuff for the debugger.

Release Notes:

- N/A

Danilo Leal created

c6dcdd4 debugger: Parse and highlight text with ANSI escape sequences (#32915)

Click to expand commit body
Relanding #32817 with an improved approach, bugs fixed, and a test.

Release Notes:

- N/A

Cole Miller created

a681152 Fix bug where prior LSP completions can be displayed after trigger char (cherry-pick #32927) (#32931)

Click to expand commit body
Cherry-picked Fix bug where prior LSP completions can be displayed after
trigger char (#32927)

Bug in #31872

Closes #32774

Release Notes:

- Fixed a bug in LSP completions caching where prior completions may be
used when they should not, after typing a trigger char like `.`

Co-authored-by: Michael Sloan <michael@zed.dev>

gcp-cherry-pick-bot[bot] and Michael Sloan created

f4cdcf7 debugger: Add comment-preserving debug.json editing (#32896)

Click to expand commit body
Release Notes:

- Re-added "Save to `debug.json`" for custom debug tasks

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Julia Ryan and Cole Miller created

e6e6cff Revert "debugger: Process ANSI color escape codes in console" (#32906)

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

Release Notes:
- N/A

Cole Miller created

8ba1ce7 debugger: Improve debugger panel empty state (#32889)

Click to expand commit body
Before:

![CleanShot 2025-06-17 at 13 48
58@2x](https://github.com/user-attachments/assets/16ecebfa-871e-4a2d-b6a3-2178de70aaef)

After:

![CleanShot 2025-06-17 at 13 49
24@2x](https://github.com/user-attachments/assets/2d8a0444-6088-45f1-a880-0bdd0aef968e)


Release Notes:

- N/A (Beta: Improved the debugger panel when there are no currently
active sessions)

Nate Butler created

6d23fbc v0.191.x: Google Model Updates for Gemini 2.5 (#32904)

Click to expand commit body
Updates google_ai to use latest model information from the respective
model cards: https://ai.google.dev/gemini-api/docs/models

Release Notes:

- google: Update to latest Gemini 2.5 models

Ben Brandt created

02c8322 zed 0.191.4

Joseph T. Lyons created

0853c37 Revert "debugger: Remove feature flag"

Click to expand commit body
This reverts commit 82dfa82ba7c9866153bcd739ee680e6adf4f955f.

Conrad Irwin created

633992f debugger: Remove feature flag

Conrad Irwin created

b2a1c02 docs: Fix typo in debugger.md (#32867)

Click to expand commit body
A small silly typo :)

Gilles De Mey created

c00bd41 docs: Fix headings in debugger docs (#32641)

Click to expand commit body
Reported by calebmeyer on Discord.
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

ec49967 Revert "Bail and signal error when the cwd of a resolved task doesn't exist" (#32866)

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

Cole Miller created

7dca400 debugger: Fix connections over SSH (#32834)

Click to expand commit body
Before this change, we would see "connection reset" when sending the
initialize
request over SSH in the case that the debug adapter was slow to boot.

(Although we'd have successfully created a connection to the local SSH
port,
trying to read/write from it would not work until the remote end of the
connection had been established)

Fixes  #32575

Release Notes:

- debugger: Fix connecting to a Python debugger over SSH

Conrad Irwin created

8ded7e5 debugger: Don't spawn unnecessary process (#32827)

Click to expand commit body
Before this change, when spawning a child session we'd launch an extra
node process that would immediately die because it couldn't listen on
the debugger port

Release Notes:

- N/A

Conrad Irwin created

11ce128 debugger: Prevent port collision when attaching to existing node debugger (#32862)

Click to expand commit body
We were translating port configuration incorrectly, using it for both
attach target and debugger port.
This however meant that we were spawning a 2nd process that'd listen on
the same port as the existing debugger.

Closes #32836

Release Notes:

- debugger: Fixed issues with auto-translated Visual Studio Code debug
configs for attaching to existing node debugger instances.

Piotr Osiewicz created

d33470b debuggers: Mark processId as optional field in Delve Attach configurations (#32856)

Click to expand commit body
Closes #32849

Release Notes:

- Fixed overly strict validation of Go debugging configurations.

Piotr Osiewicz created

c92acca debugger: Do not query threads when session is still building (#32852)

Click to expand commit body
This should silence a noisy log we see whenever a debug session is
started:
`2025-06-17T12:06:12+02:00 ERROR [project] no adapter running to send
request: ThreadsCommand`

Closes #ISSUE

Release Notes:

- Fixed debugger logs getting clobbered with internal logs about Threads
Command whenever a new debug session is created.

Piotr Osiewicz created

da6f403 extensions: Add "Debug Adapters" category to the extension store (#32845)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

e485f8a extensions: Yet another PR for debugger touchups (#32822)

Click to expand commit body
We'll now clean up DAP locators for unloaded extensions and load schemas
proper

I can now load a custom Ruby extensions with all bells and whistles and
use it as my debugger.

Release Notes:

- N/A

Piotr Osiewicz created

26fe8ba debugger: Process ANSI color escape codes in console (#32817)

Click to expand commit body
- [x] foreground highlights
- [x] background highlights
- [x] advertise support in DAP capabilities

Closes #31372

Release Notes:

- Debugger Beta: added basic support for highlighting in the console
based on ANSI escape codes.

Cole Miller created

201c2b5 debugger: Make the remove button easier to click for breakpoint list entries (#32772)

Click to expand commit body
Closes #31574 

Move this button a bit to the left so it doesn't get blocked by the
hitbox of the scrollbar.

Also makes the list entries a bit thicker vertically so that the button
can be `XSmall` instead of `Indicator`-sized again.

Release Notes:

- Debugger Beta: fixed a layout issue that made it hard to click the
remove (`X`) button for entries in the breakpoint list.

Cole Miller created

3f28664 Bail and signal error when the cwd of a resolved task doesn't exist (#32777)

Click to expand commit body
Closes #32688

Release Notes:

- Fixed tasks (including build tasks for debug configurations) silently
using `/` as a working directory when the specified `cwd` didn't exist.

Cole Miller created

4d478fb extension: Another batch of updates for DAP extension API (#32809)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

fc26946 extension: Update DAP extension API (#32448)

Click to expand commit body
- DAP schemas will be stored in `debug_adapters_schemas` subdirectory in
extension work dir.
- Added Debug Config integration and such.

Release Notes:

- N/A

Piotr Osiewicz created

85dd7d0 Pass project environment to runInTerminal requests (#32720)

Click to expand commit body
Closes #ISSUE

Release Notes:

- debugger: Pass environment to run in terminal requests

Conrad Irwin created

628873c Attempt to log error instead of crash in bracket highlighting (cherry-pick #32837) (#32841)

Click to expand commit body
Cherry-picked Attempt to log error instead of crash in bracket
highlighting (#32837)

Crashes look like:

```
Panic `offset 632 is greater than the snapshot.len() 631` on thread 0 (com.apple.main-thread)

<multi_buffer::MultiBufferSnapshot>::innermost_enclosing_bracket_ranges::<usize>
editor::highlight_matching_bracket::refresh_matching_bracket_highlights
<gpui::app::App>::update_window_id::<bool, <gpui::app::context::Context<editor::Editor>>::subscribe_in<multi_buffer::MultiBuffer, multi_buffer::Event, <editor::Editor>::on_buffer_event>::{closure#0}::{closure#0}>::{closure#0}
<gpui::app::context::Context<editor::Editor>>::subscribe_in::<multi_buffer::MultiBuffer, multi_buffer::Event, <editor::Editor>::on_buffer_event>::{closure#0}
<gpui::app::App>::flush_effects
<project::lsp_store::LocalLspStore>::format_buffer_locally::{closure#0}
<project::lsp_store::LspStore>::format::{closure#1}::{closure#0}::<i32>
```

Though `format_buffer_locally` is not always present. Both issue reports
mention usage of the agent. I suspect this is somehow a result of agent
format-on-save combined with the user's cursor being at the end of the
buffer as it's getting edited by the agent.

The offsets are always off-by-one in the error, so at first I thought
the issue was the condition `head < snapshot.buffer_snapshot.len()`
before setting `tail` to be `head + 1`, but an offset equal to len is
valid. Seems like to get a `to_offset` crash, `head` must be greater
than `len`. Which is quite weird, a selection's offset should never be
out of bounds.

Since this code is just about highlighting brackets, this PR logs an
error instead of crashing in the `head > len` case.

Closes #32732, #32171

Release Notes:

- N/A

Co-authored-by: Michael Sloan <michael@zed.dev>

gcp-cherry-pick-bot[bot] and Michael Sloan created

f1ddd33 Cherry-pick "linux: Add mouse cursor icon name synonyms #32820" (#32833)

Click to expand commit body
Most of the default icon sets on Ubuntu do not use the names that were
there. To fix, using the icon synonyms from the chromium source. This
will probably fix some of the linux mouse cursor issues tracked in
https://github.com/zed-industries/zed/issues/26141

Also adds a note in the load failure logs mentioning that misconfigured
XCURSOR_PATH may be the issue. I ran into this because
https://github.com/snapcrafters/alacritty/issues/21.

On X11 also adds:

Caching of load errors to log once for missing cursor icons.

Fallback on default cursor icon. This way if there was a transition from
a non-default icon to a missing icon it doesn't get stuck showing the
non-default icon.

Leaving release notes blank as I have other mouse cursor fixes and would
prefer to just have one entry in the release notes.

Release Notes:

Linux: Fixed a couple bugs that can cause the mouse cursor to not appear
or only appear as an arrow

Michael Sloan created

44a31e2 Use a proper snapshot version when resolving for utf16 points (cherry-pick #32815) (#32826)

Click to expand commit body
Cherry-picked Use a proper snapshot version when resolving for utf16
points (#32815)

Release Notes:

- Fixed a panic when merging pull and (newer) push diagnostics

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

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

gcp-cherry-pick-bot[bot] , Kirill Bulatov , and Conrad Irwin created

587da10 Deploy code runner menu from correct display row (cherry-pick #32594) (#32825)

Click to expand commit body
Cherry-picked Deploy code runner menu from correct display row (#32594)

This fixes a bug introduced in #32579 where the code runner menu would
be deployed from the most recent cursor position instead of the row that
the runner icon was rendered on.

Release Notes:

- N/A

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Anthony Eid created

71e0df8 inline assistant: Do not dismiss while generating when hitting enter (#32810)

Click to expand commit body
Closes #32798

Release Notes:

- Fixed an issue where the inline assistant would be dismissed when
hitting enter while generating code

Bennet Bo Fenner created

80d56e2 zed 0.191.3

Joseph T. Lyons created

657247e debugger: Fix module list getting queried when not shown (#32761)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

82c1ae5 debugger: Select first stack frame with valid path (#32724)

Click to expand commit body
This PR addresses an issue where we could get a stack frame list and
automatically select a stack frame that didn't have a valid path.
Causing a failure on Zed's end to select/update the active debug line.
The fix for this is selecting the first non-subtle stack frame that has
the optional path parameter.

We also made subtle stack frames move into their own collapsable list as
well.

Release Notes:

- debugger: Fix edge case where hitting a breakpoint wouldn't take you
to the active debug line

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

Anthony Eid and Remco Smits created

d5fe212 debugger: Use the right adapter for `type: node-terminal` (#32723)

Click to expand commit body
Closes #32690 

Release Notes:

- Debugger Beta: fixed `node-terminal` JavaScript configurations from
launch.json not working.

Cole Miller created

b1b247d debugger: Add support for label presentation hints for stack frames (#32719)

Click to expand commit body
Release Notes:

- debugger: Add support for `Label` stack frame kinds

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

Anthony Eid and Remco Smits created

484cc91 debugger: Improve logging of debug sessions (#32718)

Click to expand commit body
This PR fixes a common issue where a debug session won't start up and
user's weren't able to get any logs from the debug session. We now do
these three things

1. We know store a history of debug sessions
2. We added a new option to only look at the initialization sequence 
3. We default to selecting a session in dap log view in stead of none

Release Notes:

- debugger: Add history to debug session logging

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid , Cole Miller , and Remco Smits created

bb0c932 debugger: Focus child sessions if parent has never stopped (#32693)

Click to expand commit body
Closes #ISSUE

Release Notes:

- When debugging JavaScript, Zed will now preselect child sessions by
default.

Piotr Osiewicz created

42608ef zed 0.191.2

Joseph T. Lyons created

b217dae debugger: Mark DapLocator::create_scenario as an async function (#32680)

Click to expand commit body
Paves way for locators in extensions.

Release Notes:

- N/A

Piotr Osiewicz created

8d40bc6 Fix code actions run confusion (#32579)

Click to expand commit body
Now if you click the triangle you get runnables, if you click the
lightning bolt you get code actions, if you trigger the code actions
menu with the mouse/keyboard you still get both.

Release Notes:

- Fixed the run/code actions menu to not duplicate content when opened
from the respective icons.

---------

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

Conrad Irwin and Anthony Eid created

5170bc3 debugger: Fix regression in rendering of stack frame list (#32682)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

1b3a5d9 debugger: Show errors loading stack (#32658)

Click to expand commit body
- **TEMP**
- **Show errors loading stack frames**
- **Stop cloning every DAP response unnecessarily**

Closes #ISSUE

Release Notes:

- debugger: Show errors loading stack frames.

<img width="1840" alt="Screenshot 2025-06-12 at 23 53 42"
src="https://github.com/user-attachments/assets/310d3046-f34c-4964-acef-f9742441c9db"
/>

Conrad Irwin created