Commit log

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

b25c333 Detect decorated pytest methods as runnable (#28652)

Click to expand commit body
Closes #28096

Release Notes:

- Fixed decorated pytest methods not being picked up as runnable

hrou0003 created

77544f4 snippets: Fix plaintext snippets not working (#28655)

Click to expand commit body
This PR fixes a minor regression introduced in #27718, where snippets
stopped working when the language was set to plaintext because
`languages_at` doesn't include plaintext, while `language_at` does.

Release Notes:

- Fixed plaintext snippets not working

loczek created

b864a9b hover_popover: Fix markdown selection for info and diagnostic popovers (#28642)

Click to expand commit body
Closes #28638

This PR fixes markdown selection for the info and diagnostic popovers.

In the editor popover, after the changes in
https://github.com/zed-industries/zed/pull/28255, the markdown selection
state updates correctly, but it no longer triggers the editor element to
repaint like it used to. This is fixed by adding a subscription to
listen for markdown entity changes and triggering a repaint for the
editor.

I assume markdown selection works elsewhere because:

1. Either the `Markdown` entity is directly part of a struct that
implements the `Render` trait, causing it to repaint whenever the
markdown state changes. See
[here](https://github.com/zed-industries/zed/blob/d1ffda9bfeccfdf9bea3f76251350bf9cf7f6e1b/crates/ui_prompt/src/ui_prompt.rs#L65).
2. OR it's wrapped around component like Popover which implements
`RenderOnce` trait. See
[here](https://github.com/zed-industries/zed/blob/d1ffda9bfeccfdf9bea3f76251350bf9cf7f6e1b/crates/editor/src/code_context_menus.rs#L645).

Whereas info and diagnostic popovers does not do both. I do think we can
change it to use `Popover` component, but for now this works as quick
fix.

Extras:
- Remove unnecessary struct cloning.
- Refactor rendering logic to use `when_some`.

Release Notes:

- Fixed issue where selection wasn't working for info and diagnostic
popovers.

Smit Barmase created

e4844b2 Keep .vscode folder included during initialization even if it's in .gitignore (#28631)

Click to expand commit body
This fixes an issue where tasks in `.vscode/tasks.json` weren't being
loaded at startup of a project

Closes #28494

Release Notes:

- Tasks are now loaded from local `.vscode/tasks.json` files even if
they are `.gitignore`d

hrou0003 created

d1ffda9 agent: Display keybindings for "Reject All" and "Keep All" (#28620)

Click to expand commit body
<img
src="https://github.com/user-attachments/assets/2cdc5121-dd7b-4f46-8d43-88d5152c77ea"
width="550" />


Release Notes:

- N/A

Danilo Leal created

8ffa584 agent: Increase message editor height (#28618)

Click to expand commit body
It was too tiny, felt like we could use more breathing room.

Release Notes:

- N/A

Danilo Leal created

fb78cbb agent: Adjust MCP section in the settings view (#28615)

Click to expand commit body
Mentioning "MCP" more prominently, adding tool descriptions in the icon
button tooltip, and other UI adjustments.

<img
src="https://github.com/user-attachments/assets/e021b3be-99b8-454c-b5fd-0221a7947a35"
width="600" />

Release Notes:

- N/A

Danilo Leal created

17719f9 agent: Add "Install MCPs" to panel menu (#28616)

Click to expand commit body
Also took the opportunity to rename the "Continue in New Thread" item to
a potentially clearer name.

<img
src="https://github.com/user-attachments/assets/024de07d-f215-4c41-8fbe-652a216b61d9"
width="300"/>

Release Notes:

- N/A

Danilo Leal created

055df30 Directly parse .git when it's a file instead of using libgit2 (#27885)

Click to expand commit body
Avoids building a whole git2 repository object at the worktree layer
just to watch some additional paths.

- [x] Tidy up names of the various paths
- [x] Tests for worktrees and submodules

Release Notes:

- N/A

Cole Miller created