Commit log

ccf9aef debugger: Remove LLDB adapter, switch Rust tasks to CodeLLDB (#28773)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

aef78dc Tidy up DAP initialization (#28730)

Click to expand commit body
To make DAP work over SSH we want to create the binary
at the project level (so we can wrap it in an `ssh` invocation
transparently).

This means not pushing the adapter down into the session, and resolving
more information ahead-of-time.

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

Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Piotr <piotr@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Anthony <anthony@zed.dev>

Conrad Irwin , Anthony Eid , Piotr , Piotr Osiewicz , and Anthony created

6f0951f debugger_ui: Move `DEBUGGER_PANEL_PREFIX` out of `db` (#28768)

Click to expand commit body
This PR moves the `DEBUGGER_PANEL_PREFIX` constant out of the `db` crate
and into `debugger_ui`, since it is specific to that.

Release Notes:

- N/A

Marshall Bowers created

5e09455 agent: Return `ToolResult` from `run` inside `Tool` (#28763)

Click to expand commit body
This is just a refactor which adds no functionality.
We now return a `ToolResult` from `Tool > run(...)`. For now this just
wraps the output task in a struct. We'll use this to implement custom
rendering of tools, see #28621.

Release Notes:

- N/A

Bennet Bo Fenner created

32829d9 Use proper codenames for macOS versions (#28766)

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

Release Notes:

- N/A

Kirill Bulatov created

e4cf7fe eval: Improve readability with colors and alignment (#28761)

Click to expand commit body
![CleanShot 2025-04-15 at 10 35
39@2x](https://github.com/user-attachments/assets/495d96fb-fe2f-478b-a9d6-678c1184db9a)


Release Notes:

- N/A

Agus Zubiaga created

2b89b97 agent: Adjust markdown heading sizes (#28759)

Click to expand commit body
Adjust the heading sizes for the Agent Panel so they're not aggressively
huge.

Release Notes:

- N/A

Danilo Leal created

e26f0a3 agent: Make `ToolWorkingSet` an `Entity` (#28757)

Click to expand commit body
Motivation is to emit events when enabled tools change, want to use this
in #28755

Release Notes:

- N/A

Bennet Bo Fenner created

7e1b419 markdown: Add ability to customize individual heading level (#28733)

Click to expand commit body
This PR adds a new field in the `MarkdownStyle` struct,
`heading_level_styles`, allowing, via the newly added function
`apply_heading_style` and struct `HeadingLevelStyles` to customize each
individual heading level in Markdown rendering/styling function.

Things like this should now be possible:

```rust
    MarkdownStyle {
        heading_level_styles: Some(HeadingLevelStyles {
            h1: Some(TextStyleRefinement {
                font_size: Some(rems(1.15).into()),
                ..Default::default()
            }),
        }),
        ..Default::default()
    }
```

Release Notes:

- N/A

Danilo Leal created

98d001b debugger: Always show process list in attach (#28685)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

d4a985a Case Insensitive Unicode Text Search: Fallback To Regex (#28752)

Click to expand commit body
Closes #9980

Release Notes:

- Fixed: case insensitive text search with unicode characters

François Mockers created

616d17f git_ui: Force commit modal mode from command palette (#28745)

Click to expand commit body
Depending on `git::commit` or `git::amend` action triggered, commit
modal opens up in appropriate mode, handling edge cases like if you are
already in amend mode, etc.

Release Notes:

- N/A

Smit Barmase created

e1c4231 gemini: Fix "invalid argument" error when request contains no tools (#28747)

Click to expand commit body
When we do not have any tools, we want to set the `tools` field to
`None`

Release Notes:

- Fixed an issue where Gemini requests would sometimes return a Bad
Request ("Invalid argument...")

Bennet Bo Fenner created

cfc848d git_ui: Fix commit modal dismiss on commit menu click (#28744)

Click to expand commit body
Release Notes:

- N/A

Smit Barmase created

d4761ce debugger: Remember pane layout from previous debugger session (#28692)

Click to expand commit body
This PR makes a debugger's pane layout persistent across session's that
use the same debug adapter.

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Cole Miller <m@cole-miller.net>

Anthony Eid , Piotr Osiewicz , and Cole Miller created

b794919 Add contents_tool (#28738)

Click to expand commit body
This is a combination of the "read file" and "list directory contents"
tools as part of a push to reduce our quantity of builtin tools by
combining some of them.

The functionality is all there for this tool, although there's room for
improvement on the visuals side: it currently always shows the same icon
and always says "Read" - so you can't tell at a glance when it's reading
a directory vs an individual file. Changing this will require a change
to the `Tool` trait, which can be in a separate PR. (FYI @danilo-leal!)

<img width="606" alt="Screenshot 2025-04-14 at 11 56 27 PM"
src="https://github.com/user-attachments/assets/bded72af-6476-4469-97c6-2f344629b0e4"
/>

Release Notes:

- Added `contents` tool

Richard Feldman created

fc1252b collab: Remove LLM service (#28728)

Click to expand commit body
This PR removes the LLM service from collab, as it has been moved to
Cloudflare.

Release Notes:

- N/A

Marshall Bowers created

12b012e language: Further optimize `language_for_file` (#28694)

Click to expand commit body
Follow-up to #28671

This primarily follows two ideas:
1. We currently take the element with the highest score which appears
last in the iterator (see
[`last_by_key`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.max_by_key)),
so we can also just reverse the iterator and take the first highest
match instead.
2. Once we have a match with a given precedence, we are not interested
in any matches with a lower or even the same priority, given what was
established in 1. Thus, we also only have to check whether any language
checked afterwards has a higher priority match.

Furthermore, once we have a match with the highest possible precedence,
there is no need to look for any more possible matches. Thus, this PR
also adds short-circuiting for that scenario.

Lastly, I also cleaned-up the custom suffix match (an empty glob-set
will never match so no need to iterate there) as well reorder the
zip-call in the content matches, as we never need the content if there
is no first line pattern present for the checked languages.

Release Notes:

- N/A

Finn Evers created

77f3258 agent: Add some design tweaks (#28726)

Click to expand commit body
Fine-tuning some areas of the Agent Panel design.

Release Notes:

- N/A

Danilo Leal created

0d6e455 Agent eval: output paths to log files at the end (#28724)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

5f897b0 Agent Eval: Fail example when there are no events in 2 minutes (#28725)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

d74f073 Add more eval examples + filtering examples by language + fix git concurrent usage (#28719)

Click to expand commit body
Release Notes:

- N/A

---------

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

Thomas Mickley-Doyle , michael , and agus created

a8b1ef3 google_ai: Remove unused `extract_text_from_events` function (#28723)

Click to expand commit body
This PR removes the `extract_text_from_events` function from
`google_ai`, as it was not used anywhere.

Release Notes:

- N/A

Marshall Bowers created

c8ccc47 Track tool use counts (#28722)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

26b9c32 python: Auto-close f-strings (#28709)

Click to expand commit body
Closes #28707

Release Notes:

- Added support for auto-closing `f`, `b`, `u`, `r`, `rb` and the newly
released `t` strings in Python

Ben Kunkle created

db56254 agent: Apply soft-wrap when message editor is expanded (#28716)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

9d91908 Bump Zed to v0.183 (#28718)

Click to expand commit body
Version was bumped to `v0.183.0` last Wednesday here:
https://github.com/zed-industries/zed/pull/28419
But was accidentally downgraded here:
https://github.com/zed-industries/zed/pull/27964

Release Notes:

- N/A

Joseph T. Lyons created

6b80eb5 Add judge to new eval + provide LSP diagnostics (#28713)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Co-authored-by: agus <agus@zed.dev>

Michael Sloan , Antonio Scandurra , and agus created

2603f36 agent: Improve compatibility when using MCP servers with Gemini models (#28700)

Click to expand commit body
WIP

Release Notes:

- agent: Improve compatibility when using MCPs with Gemini models

Bennet Bo Fenner created

6c93d10 zlog: Ansi styling of zlog output to stdout (#28711)

Click to expand commit body
Co-Authored-By: Zed AI <ai@zed.dev>

Closes #ISSUE

Release Notes:

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

Co-authored-by: Zed AI <ai@zed.dev>

Ben Kunkle and Zed AI created

5b6efa4 copilot_chat: Add Gemini 2.5 Pro support to Copilot Chat (#28660)

Richard Hao created

84aa480 Add support for OpenAI GPT-4.1 models (#28708)

Click to expand commit body
Release Notes:

- Add support for OpenAI GPT-4.1 via Copilot Chat and OpenAI API

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Umesh Yadav , Danilo Leal , and Bennet Bo Fenner created

6db29eb Remove debug assertions in git_store.rs (#28706)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Cole Miller created

ff41be3 Fix bugs with multicursor completions (#28586)

Click to expand commit body
Release Notes:

- Fixed completions with multiple cursors leaving duplicated prefixes.
- Fixed crash when accepting a completion in a multibuffer with multiple
cursors.
- Vim: improved `single-repeat` after accepting a completion, now
pressing `.` to replay the completion will re-insert the completion text
at the cursor position.

João Marcos created

47b663a github: Add Staff-Only 'Other' Issue template (#28703)

Click to expand commit body
This is because
[issues/new](https://github.com/zed-industries/zed/issues/new) now
redirects to
[issues/new/choose](https://github.com/zed-industries/zed/issues/new/choose)
(good!) so you can no longer create issues skipping templates.

Release Notes:

- N/A

Peter Tripp created

1d9915f windows: Implement `AutoUpdater` (#25734)

Click to expand commit body
Part of #24800



https://github.com/user-attachments/assets/e70d594e-3635-4f93-9073-5abf7e9d2b20



Release Notes:

- N/A

张小白 created

584fa3d docs: Add Yara language extension (#28693)

Click to expand commit body
This PR adds a quick overview of the Yara language extension in order to
display the language on the Zed [site](https://zed.dev/docs/languages).

Release Notes:

- N/A

---------

Signed-off-by: egibs <20933572+egibs@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Evan Gibler and Marshall Bowers created

a051194 agent: Check built-in tools schema compatibility in tests (#28691)

Click to expand commit body
This ensures that we respect the `LanguageModelToolSchemaFormat` value
when we call `tool.input_schema`. This prevents us from breaking Gemini
compatibility when adding/changing built-in tools. See #28634.

The test suite will now fail with an error message like this, when
providing an incompatible input_schema:

```
thread 'tests::test_tool_schema_compatibility' panicked at crates/assistant_tools/src/assistant_tools.rs:108:17:
Tool schema for `code_actions` is not compatible with `language_model::LanguageModelToolSchemaFormat::JsonSchemaSubset` (Gemini Models).
Are you using `schema::json_schema_for<T>(format)` to generate the schema?
```


Release Notes:

- N/A

Bennet Bo Fenner created

78ecc3c git: Amend (#28187)

Click to expand commit body
Adds git amend support.

- [x] Turn existing commit button into split button
- [x] Clean up + Handle shortcuts/focus cases
- [x] Test remote

Release Notes:

- Added git amend support.

---------

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

Smit Barmase and Cole Miller created

ac8a4ba agent: Add scrollbar to the history view (#28690)

Click to expand commit body
Ended up not making this one visible only upon hover or something
because the layout alignment would be weird given the list item spans
the full width. So, experimenting with this design here:

<img
src="https://github.com/user-attachments/assets/62bf661e-1aae-4644-8a89-49cefb3e8130"
width="700" />

Release Notes:

- agent: Add scrollbar to the history view.

Danilo Leal created

9863b48 project/perf: Optimize BufferStore::get_by_path with an additional index (#28670)

Click to expand commit body
Closes #27270

Release Notes:

- Improved performance of git panel with large # of untracked files

Piotr Osiewicz created

fddaa31 assistant_tools: Fix code_action and rename schemas for Gemini (#28634)

Click to expand commit body
Closes #28475

Updates `rename` and `code_action` `input_schema` methods to use
`json_schema_for<T>()` which transforms standard JSONSchema into the
subset required by Gemini.
Also makes `input_schema` implementations consistent.
Tested tools against Gemini 2.5 Pro Preview, Zed Claude 3.7 Sonnet
Thinking, o3-mini

Release Notes:

- Agent Beta: Fixed error 400 `INVALID_ARGUMENT` when using Gemini with
`code_actions` or `rename` tools enabled.

duvetfall created

b452307 agent: Handle context window exceeded errors from Anthropic (#28688)

Click to expand commit body
![CleanShot 2025-04-14 at 11 15
38@2x](https://github.com/user-attachments/assets/9e803ffb-74fd-486b-bebc-2155a407a9fa)

Release Notes:

- agent: Handle context window exceeded errors from Anthropic

Agus Zubiaga created

4a57664 zlog: Use zlog as default log implementation (#28612)

Click to expand commit body
Still TODO:

- [x] Remove old log implementations
- [x] More cleanup
- [x] Verify atomic/lock logic
- [x] More tests
- [ ] ??? Ansi coloring when logging to stdout

Release Notes:

- N/A

Ben Kunkle created

0eb0a3c agent: Move focus to the message editor after going back (#28686)

Click to expand commit body
When you hit the back button in the agent panel toolbar, we were
returning the focus to the buffer instead to the panel's message editor,
which is likely where you want to be after quickly checking history or
settings.

Release Notes:

- N/A

Danilo Leal created

6278761 agent: Fix expand message editor while not focused (#28650)

Click to expand commit body
Allow expanding the message editor while the agent panel is not focused,
right now there is no effect when you use the button from another focus

Release Notes:

- N/A

5brian created

f2ce183 editor: Show code actions in mouse context menu (#28677)

Click to expand commit body
Closes #27989

Asynchronous fetch of code actions on right-click, and shows them in
context menu.


https://github.com/user-attachments/assets/413eb0dd-cd1c-4628-a6f1-84eac813da32

Release Notes:

- Improved visibility of code actions by showing them in right-click
context menu.

Smit Barmase created

98891e4 language: Optimize language_for_file (#28671)

Click to expand commit body
While working on #28670 this function showed up in my profiles; this PR
makes it evaluate some of it's conditions lazily + prevent constant
rebuilding of globset::Candidates.

Release Notes:

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

Piotr Osiewicz created

5e57f14 nix: Bump rust-overlay for Rust 1.86 (#28181)

Click to expand commit body
otherwise nix develop doesn't work, complains about not knowing about
rust 1.86

Release Notes:

- N/A

maan2003 created

128779f docs: Improve Lua language documentation (#28662)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created