Commit log

7c4da37 emmet: Fix expansion for HEEx and H sigil files (#32208)

Click to expand commit body
Closes #14149

Release Notes:

- Added support for the Emmet LSP in Elixir heex files

Conrad Taylor created

ce164f5 Remove ruby debug adapter (#33541)

Click to expand commit body
Now that the extension version has been bumped we can remove our in-tree
one to avoid having duplicate debug adapters.

Release Notes:

- The ruby debug adapter has been moved to the [ruby
extension](https://github.com/zed-extensions/ruby), if you have any
saved debug scenarios you'll need to change `"adapter": "Ruby"` to
`"adapter": "rdbg"`.

Julia Ryan created

42c5901 debugger: Fix global debug tasks not being picked up (#33664)

Click to expand commit body
Release Notes:

- Fixed a bug which caused global debug scenarios (from global
.zed/debug.json) to not be picked up.

Piotr Osiewicz created

3db452e agent: Use a banner for the auto-retry message (#33661)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/33275 so we use
the Banner component to display the auto-retry messages in the thread.

Release Notes:

- N/A

Danilo Leal created

6e77e84 Revert "languages: Bump ESLint LSP server to version 3.0.10 (#32717)" (#33659)

Click to expand commit body
This reverts commit 1edaeebae5b0f1b67cdad1a994b88a3c11f75705.

Based on an elevated number of ESLint-related issues, reverting the
upgrade.
Many people upvoted the issues and did not share any repro details, so
cannot be certain what's more broken: seems relatively generic as
related to *.ts ESLint configs.

Checked the revert on 2 projects from the issues below:

Closes https://github.com/zed-industries/zed/issues/33425

With https://github.com/adamhl8/zed-33425 as an example repo: there,
both eslint configurations worked for me when I stopped Zed and opened a
project.
Somehow, switching various Zed's with different vscode-eslint package
versions, eventually I get
`Error: Cannot find module
'~/.local/share/zed/languages/eslint/vscode-eslint-3.0.10/vscode-eslint/server/out/eslintServer.js'`-ish
error.

Not very related to issues with newer vscode-eslint integration, but
worth mentioning as is related to the package updates.


Closes https://github.com/zed-industries/zed/issues/33648

With a good example of
https://github.com/florian-lackner365/zed-eslint-bug monorepo project.
The monorepo part seems not to be related, but somehow,
`eslint.config.js` is involved as the newer vscode-eslint fails to find
a config.
Works well with the older vscode-eslint.

Release Notes:

- Downgraded to vscode-eslint-2.4.4 as a ESLint language server

Kirill Bulatov created

465f64d Make the preview button the same as the other buttons (#33658)

Click to expand commit body
This fixes a tiny visual defect I noticed today. The "Preview" button is
slightly smaller and has less padding than the other buttons in the
quick action bar.

**Before:**

Note how there is a small gap between the black guides and the button.


https://github.com/user-attachments/assets/04d3d83a-9193-47b1-80d8-94a5d1fbd750

**After:**


https://github.com/user-attachments/assets/98f878cc-c5e3-491c-abe9-9ef0d5cf678a



Release Notes:

- N/A

Alejandro Fernández Gómez created

e5a8cc7 debugger: Fix DAP Logs mangling sessions across multiple Zed windows (#33656)

Click to expand commit body
Release Notes:

- Fixed an issue with Debug Adapter log showing sessions from other Zed
windows in the dropdown.

Piotr Osiewicz created

bdf29bf Allow disabling tools when 'enable_all_context_servers = true' (#33536)

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

Release Notes:

- agent: Improved support for explicitly disabling individual tools when
`enable_all_context_servers` is true. (e.g. enable all tools except
XYZ).

Peter Tripp created

402c61c Add small UI tweak to the inline color preview square (#33655)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/33605 so it is
just a bit more subtle and smaller.

Release Notes:

- N/A

Danilo Leal created

59e88ce Show regex query error under the search bar (#33638)

Click to expand commit body
Closes #17223

Release Notes:

- Show regex parsing errors under the search bar for buffer and project
search.

---------

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

Mikal Sande and Danilo Leal created

22ab4c5 R docs: Remove non-working configuration (#33654)

Click to expand commit body
This config was meant to be commented out in #33594 because it does not
work.

Release Notes:

- N/A

Peter Tripp created

f106ea7 docs: Update custom MCP format template (#33649)

Click to expand commit body
To match the new format added in
https://github.com/zed-industries/zed/pull/33539.

Release Notes:

- N/A

Danilo Leal created

e37ef2a Use more generic error messages in gpui (#33651)

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

Release Notes:

- N/A

Kirill Bulatov created

1c05062 agent: Always focus on to the active model in the picker (#33567)

Click to expand commit body
Release Notes:

- agent: Improved the model selector by ensuring the active model is
always focused on open.

Danilo Leal created

8c04f12 debugger: Tighten up breakpoint list (#33645)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

aa7ccec agent: Reduce log spam for context servers (#33644)

Click to expand commit body
Previously we would always run `maintain_servers` even if the settings
did not change. While this would not cause any MCP servers to restart,
we would still go through all configured servers and call the
`command(...)` function on each installed MCP extension. This can cause
lots of logs to show up when an MCP server is not configured correctly.

Release Notes:

- N/A

Bennet Bo Fenner created

f4aeeda script: Fix license symlink and path in `new-crate.sh` (#33620)

Click to expand commit body
While creating a new crate I realised the License symlink and path are
broken. The symlink was broken for LICENSE-GPL. Also the file created in
the new crate was not using the expected file name as per the
check-license script which was failing due to wrong filename in the new
crate. I fixed that as well.

Release Notes:

- N/A

Signed-off-by: Umesh Yadav <git@umesh.dev>

Umesh Yadav created

ca0bd53 agent: Fix an issue with messages containing trailing whitespace (#33643)

Click to expand commit body
Seeing this come up in our server logs when sending requests to
Anthropic: `final assistant content cannot end with trailing
whitespace`.


Release Notes:

- agent: Fixed an issue where Anthropic requests would sometimes fail
because of malformed assistant messages

Bennet Bo Fenner created

ae62371 Further improve color inlay hints in multi buffers (#33642)

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

Release Notes:

- N/A

Kirill Bulatov created

ac3328a agent: Fix issue where web search could return 401 (#33639)

Click to expand commit body
Closes #33524

Release Notes:

- agent: Fix an issue where performing a web search request would
sometimes fail

Bennet Bo Fenner created

d63909c agent: Use standardized MCP configuration format in settings (#33539)

Click to expand commit body
Changes our MCP settings from:

```json
{
  "context_servers": {
    "some-mcp-server": {
      "source": "custom",
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@supabase/mcp-server-supabase@latest",
          "--read-only",
          "--project-ref=<project-ref>",
        ],
        "env": {
          "SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
        },
      },
    },
  },
}

```

to:
```json
{
  "context_servers": {
    "some-mcp-server": {
      "source": "custom",
      "command": "npx",
      "args": [
        "-y",
        "@supabase/mcp-server-supabase@latest",
        "--read-only",
        "--project-ref=<project-ref>",
      ],
      "env": {
        "SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
      },
    },
  },
}
```


Which seems to be somewhat of a standard now (VSCode, Cursor, Windsurf,
...)

Release Notes:

- agent: Use standardised format for configuring MCP Servers

Bennet Bo Fenner created

c3d0230 docs: Adjust heading sizes (#33628)

Click to expand commit body
Just fine-tuning some heading sizes that were off, particularly h4s and
h5s.

Release Notes:

- N/A

Danilo Leal created

bc5927d debugger: Fix spec violation with threads request being issued before debug session is initialized (#33627)

Click to expand commit body
Follow-up to #32852. This time we'll check if the debug session is
initialized before querying threads.

Release Notes:

- Fix Zed's debugger issuing threads request before it is allowed to do
so per DAP specification.

Piotr Osiewicz created

d2cf995 debugger: Tweak layout of debug landing page in vertical dock position (#33625)

Click to expand commit body
Release Notes:

- Reorganized layout of a debug panel without any sessions for a
vertical dock position.
- Moved parent directories of source breakpoints into a tooltip.

Piotr Osiewicz created

86161aa Use refs to deduplicate settings JSON schema (~1.7mb to ~0.26mb) (#33618)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

a602b4b Improve R documentation (#33594)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

047d515 Rework color indicators visual representation (#33605)

Click to expand commit body
Use a div-based rendering code instead of using a text

Closes https://github.com/zed-industries/zed/discussions/33507

Before:
<img width="410" alt="before_dark"
src="https://github.com/user-attachments/assets/66ad63ae-7836-4dc7-8176-a2ff5a38bcd4"
/>
After:
<img width="407" alt="after_dark"
src="https://github.com/user-attachments/assets/0b627da8-461b-4f19-b236-4a69bf5952a0"
/>


Before:
<img width="409" alt="before_light"
src="https://github.com/user-attachments/assets/ebcfabec-fcda-4b63-aee6-c702888f0db4"
/>
After:
<img width="410" alt="after_light"
src="https://github.com/user-attachments/assets/c0da42a1-d6b3-4e08-a56c-9966c07e442d"
/>

The border is not that contrast as in VSCode examples in the issue, but
I'm supposed to use the right thing in

https://github.com/zed-industries/zed/blob/1e11de48eeba01dc12761ec1274f8b0963de5514/crates/editor/src/display_map/inlay_map.rs#L357

based on 


https://github.com/zed-industries/zed/blob/41583fb066629d1e54d600e930be068a68984c5c/crates/theme/src/styles/colors.rs#L16-L17

Another oddity is that the border starts to shrink on `cmd-=`
(`zed::IncreaseBufferFontSize`):

<img width="1244" alt="image"
src="https://github.com/user-attachments/assets/f424edc0-ca0c-4b02-96d4-6da7bf70449a"
/>

but that needs a different part of code to be adjusted hence skipped.

Tailwind CSS example:

<img width="1108" alt="image"
src="https://github.com/user-attachments/assets/10ada4dc-ea8c-46d3-b285-d895bbd6a619"
/>


Release Notes:

- Reworked color indicators visual representation

Kirill Bulatov created

e5bcd72 debugger: Add UI for tweaking breakpoint properties directly from breakpoint list (#33097)

Click to expand commit body
Release Notes:

- debugger: Breakpoint properties (log/hit condition/condition) can now
be set directly from breakpoint list.

Piotr Osiewicz created

41583fb Fix document colors issues with other inlays and multi buffers (#33598)

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

* Fixes inlay colors spoiled after document color displayed
* Optimizes the query pattern for large multi buffers

Release Notes:

- Fixed document colors issues with other inlays and multi buffers

Kirill Bulatov created

521a223 Add `editor::Rewrap` binding to Emacs keymaps (#33588)

Click to expand commit body
`M-q` is `fill-paragraph` which is like `editor::Rewrap`.

Release Notes:

- emacs: Bound `alt-q` to `editor::Rewrap` (like `M-q` or `M-x
fill-paragraph`)

Cole Miller created

c8c6468 vim: Non-interactive shell (#33568)

Click to expand commit body
Closes #33144

Release Notes:

- vim: Run r! in a non-interactive shell

Conrad Irwin created

3f4098e open_ai: Make OpenAI error message generic (#33383)

Click to expand commit body
Context: In this PR: https://github.com/zed-industries/zed/pull/33362,
we started to use underlying open_ai crate for making api calls for
vercel as well. Now whenever we get the error we get something like the
below. Where on part of the error mentions OpenAI but the rest of the
error returns the actual error from provider. This PR tries to make the
error generic for now so that people don't get confused seeing OpenAI in
their v0 integration.

```
Error interacting with language model
Failed to connect to OpenAI API: 403 Forbidden {"success":false,"error":"Premium or Team plan required to access the v0 API: https://v0.dev/chat/settings/billing"}
```

Release Notes:

- N/A

Umesh Yadav created

1d684c8 Add shadow back for blurred/transparent window on macOS (#27403)

Click to expand commit body
Closes #15383
Closes #10993

`NSVisualEffectView` is an official API for implementing blur effects
and, by traversing the layers, we **can remove the background color**
that comes with the view. This avoids using private APIs and aligns
better with macOS’s native design.

Currently, `GPUIView` serves as the content view of the window. To add
the blurred view, `GPUIView` is downgraded to a subview of the content
view, placed at the same level as the blurred view.

Release Notes:

- Fixed the missing shadow for blurred-background windows on macOS.

---------

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

alphaArgon and Peter Tripp created

97c5c5a vim: Respect count for paragraphs (#33489)

Click to expand commit body
Closes #32462 

Release Notes:

- vim: Paragraph objects now support counts (`d2ap`, `v2ap`, etc.)

---------

Co-authored-by: Rift <no@e.mail>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Rift , Rift , and Conrad Irwin created

ba4fc1b vim: Add debug panel ex command (#33560)

Click to expand commit body
Added :Debug to open debug panel, also added
[:display](https://neovim.io/doc/user/change.html#%3Adisplay), alias to
:reg

Release Notes:

- N/A

5brian created

bbf16bd editor: Improve rewrap to respect indent and prefix boundaries (#33566)

Click to expand commit body
1. Fixes bug where this would not rewrap:

```rs
// This is the first long comment block to be wrapped.
fn my_func(a: u32);
// This is the second long comment block to be wrapped.
```
2. Comment prefix boundaries (Notice now they don't merge between
different comment prefix):

Initial text:
```rs
// A regular long long comment to be wrapped.
// A second regular long comment to be wrapped.
/// A documentation long comment to be wrapped.
```
Upon rewrap:
```rs
// A regular long long comment to be
// wrapped. A second regular long
// comment to be wrapped.
/// A documentation long comment to be
/// wrapped.
```
3. Indent boundaries (Notice now they don't merge between different
indentation):

Initial text:
```rs
fn foo() {
      // This is a long comment at the base indent.
      // This is a long comment at the base indent.
                 // This is a long comment at the next indent.
                 // This is a long comment at the next indent.
      // This is a long comment at the base indent.
}
```
Upon rewrap:
```rs
fn foo() {
      // This is a long comment at the base
      // indent. This is a long comment at the
      // base indent.
                 // This is a long comment at the 
                 // next indent. This is a long 
                 // comment at the next indent.
      // This is a long comment at the base
      // indent.
}
```

Release Notes:

- Fixed an issue where rewrap would not work with selection when two
comment blocks are separated with line of code.
- Improved rewrap to respect changes in indentation or comment prefix
(e.g. `//` vs `///`) as boundaries so that it doesn't merge them into
one mangled text.

Smit Barmase created

c56b890 Prevent branch name overflow in git panel selection (#33529)

Click to expand commit body
Closes #33527

Release Notes:

- Fixed long branch names overflowing to multiple lines in git panel
branch selector

---------

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

ddoemonn and Danilo Leal created

695118d agent: Show provider icon in model selectors (#30595)

Click to expand commit body
I often switch between models, and I believe many people do. Currently,
it is difficult to determine which provider offers the selected model
because the same models are available from different providers. I
propose a simple change to the selector so that users can distinguish
between providers from the model they have chosen.

As a side note, I would actually prefer to have a text label with the
provider’s name next to the model name in the selector. However, I
understand that this is too opinionated and takes up too much space.

| Before | After |
| ------ | ------ |
|
![before_inline_assist](https://github.com/user-attachments/assets/35617ba5-e8d4-4dab-a997-f7286f73f2bf)
|
![after_inline_assist](https://github.com/user-attachments/assets/c37c81b4-73e4-49e2-955d-b8543b2855ad)
|
|
![before_text_thread](https://github.com/user-attachments/assets/af90303b-12d6-402c-90a5-8b36cd97396e)
|
![after_text_thread](https://github.com/user-attachments/assets/bca5b423-f12b-4eaf-a82e-424d09b7f447)
|
|
![before_thread](https://github.com/user-attachments/assets/0946775f-1d52-437b-a217-9708ee2e789a)
|
![after_thread](https://github.com/user-attachments/assets/f5e53968-9020-446f-9d5e-653ae9fdea3e)
|

Release Notes:

- The model selector has been improved with a provider icon, making it
easier to distinguish between providers.

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Artem Loenko , Danilo Leal , and Danilo Leal created

a675ca7 Remove `into SelectionEffects` from .change_selections (#33554)

Click to expand commit body
In #32656 I generalized the argument to change selections to allow
controling both the scroll and the nav history (and the completion
trigger).

To avoid conflicting with ongoing debugger cherry-picks I left the
argument as an `impl Into<>`, but I think it's clearer to make callers
specify what they want here.

I converted a lot of `None` arguments to `SelectionEffects::no_scroll()`
to be exactly compatible; but I think many people used none as an "i
don't care" value in which case Default::default() might be more
appropraite

Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

6e762d9 Revert "Remove `into SelectionEffects` from .change_selections"

Click to expand commit body
This reverts commit 28380d714d6dd32f5d7e242d690483714fa3f969.

Conrad Irwin created

28380d7 Remove `into SelectionEffects` from .change_selections

Click to expand commit body
In #32656 I generalized the argument to change selections to allow
controling both the scroll and the nav history (and the completion
trigger).

To avoid conflicting with ongoing debugger cherry-picks I left the
argument as an `impl Into<>`, but I think it's clearer to make callers
specify what they want here.

I converted a lot of `None` arguments to `SelectionEffects::no_scroll()`
to be exactly compatible; but I think many people used none as an "i
don't care" value in which case Default::default() might be more
appropraite

Conrad Irwin created

f338c46 Fix line indices when using a selection in the context (#33549)

Click to expand commit body
Closes #33152.

The label for a file selection context had an off-by-one error on line
indices. This PR adjusts that.

Before:

<img width="1072" alt="Screenshot 2025-06-27 at 20 55 28"
src="https://github.com/user-attachments/assets/da0be503-056b-442b-9a79-38cf504d8a44"
/>

After:

<img width="1090" alt="Screenshot 2025-06-27 at 20 49 35"
src="https://github.com/user-attachments/assets/f98df57a-8f07-4ea5-a06b-a4b6fb8c2e4e"
/>


Release Notes:

- Fixed a off-by-one error on the line indices when using a selection as
context for the agent,

Alejandro Fernández Gómez created

5fbb7b0 copilot: Only set Copilot-Vision-Request header for vision requests (#33552)

Click to expand commit body
Closes #31951

The fix is copied and translated from copilot chat actual implementation
code:
https://github.com/microsoft/vscode-copilot-chat/blob/ad7cbcae9a964e8efb869bf1426999e56ea63cf0/src/platform/openai/node/fetch.ts#L493C1-L495C3

Release Notes:

- Fix copilot failing due to missing `Copilot-Vision-Request` from
request.

Umesh Yadav created

f12b0dd Touch up extension DAP schemas fix (#33548)

Click to expand commit body
Updates #33546 

Release Notes:

- N/A

Co-authored-by: Piotr <piotr@zed.dev>

Cole Miller and Piotr created

14bb10d Don't panic on vintage files (#33543)

Click to expand commit body
Release Notes:

- remoting: Fix a crash on the remote side when encountering files from
before 1970.

Conrad Irwin created

c9ce4ae Fix debug adapters from extensions not being picked up (#33546)

Click to expand commit body
Copy the debug adapter schemas so that they're available to the
extension host, like we do for other extension assets.

Release Notes:

- N/A

Cole Miller created

01dfb6f Respect server capabilities on queries (#33538)

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

Turns out a bunch of Zed requests were not checking their capabilities
correctly, due to odd copy-paste and due to default that assumed that
the capabilities are met.

Adjust the code, which includes the document colors, add the test on the
colors case.

Release Notes:

- Fixed excessive document colors requests for unrelated files

Kirill Bulatov created

f9987a1 vim: Grep in visual line (#33414)

Click to expand commit body
From
https://github.com/zed-industries/zed/pull/10831#issuecomment-2078523272

> I agree with not prefilling the search bar with a multiline query.

Not sure if it's a bug that a one-line visual line selection does not
get pre filled, this PR corrects the query to use the visual line
selection instead of the 'normal' selection

Release Notes:

- N/A

5brian created

7432e94 Add `element_selection_background` highlight to theme (#32388)

Click to expand commit body
Closes #32354

The issue is that we render selections over the text in the agent panel,
but under the text in editor, so themes that have no alpha for the
selection background color (defaults to 0xff) will just occlude the
selected region. Making the selection render under the text in markdown
would be a significant (and complicated) refactor, as selections can
cross element boundaries (i.e. spanning code block and a header after
the code block).

The solution is to add a new highlight to themes
`element_selection_background` that defaults to the local players
selection background with an alpha of 0.25 (roughly equal to 0x3D which
is the alpha we use for selection backgrounds in default themes) if the
alpha of the local players selection is 1.0. The idea here is to give
theme authors more control over how the selections look outside of
editor, as in the agent panel specifically, the background color is
different, so while an alpha of 0.25 looks acceptable, a different color
would likely be better.

CC: @iamnbutler. Would appreciate your thoughts on this. 

> Note: Before and after using Everforest theme

| Before | After | 
|-------| -----|
| <img width="618" alt="Screenshot 2025-06-09 at 5 23 10 PM"
src="https://github.com/user-attachments/assets/41c7aa02-5b3f-45c6-981c-646ab9e2a1f3"
/> | <img width="618" alt="Screenshot 2025-06-09 at 5 25 03 PM"
src="https://github.com/user-attachments/assets/dfb13ffc-1559-4f01-98f1-a7aea68079b7"
/> |

Clearly, the selection in the after doesn't look _that_ great, but it is
better than the before, and this PR makes the color of the selection
configurable by the theme so that this theme author could make it a
lighter color for better contrast.




Release Notes:

- agent panel: Fixed an issue with some themes where selections inside
the agent panel would occlude the selected text completely

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

Ben Kunkle and Antonio created

157199b Replace newlines in search bar (#33504)

Click to expand commit body
Release Notes:

- search: Pasted newlines are now rendered as "\n" (with an underline),
instead of line-wrapping. This should make it much clearer what you're
searching for.
 
<img width="675" alt="Screenshot 2025-06-27 at 00 34 52"
src="https://github.com/user-attachments/assets/67275bc6-bec1-463f-b351-6b9ed0a6df81"
/>

Conrad Irwin created