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
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
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
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.
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
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
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

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.
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)