To-dos:
- [x] Expose the command to defend against cases where that's just super
long
- [x] Tackle the vertical scroll conflict with panel scroll
- [x] Reduce default font-size
Release Notes:
- N/A
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal
,
Ben Brandt
,
Mikayla Maki
, and
Agus Zubiaga
created
The goal of this PR is to support tool calls using ollama. A lot of the
serialization work was done in
https://github.com/zed-industries/zed/pull/15803 however the abstraction
over language models always disables tools.
## Changelog:
- Use `serde_json::Value` inside `OllamaFunctionCall` just as it's used
in `OllamaFunctionCall`. This fixes deserialization of ollama tool
calls.
- Added deserialization tests using json from official ollama api docs.
- Fetch model capabilities during model enumeration from ollama provider
- Added `supports_tools` setting to manually configure if a model
supports tools
## TODO:
- [x] Fix tool call serialization/deserialization
- [x] Fetch model capabilities from ollama api
- [x] Add tests for parsing model capabilities
- [ ] Documentation for `supports_tools` field for ollama language model
config
- [ ] Convert between generic language model types
- [x] Pass tools to ollama
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
tidely
,
Antonio Scandurra
, and
Nathan Sobo
created
Completely subjective, but I just like it better.
Release Notes:
- N/A
---------
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Nathan Sobo
,
Danilo Leal
, and
Danilo Leal
created
7164124
agent panel: Bring back search within text threads (#29934)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
76c0ede
Add more documentation about ways to configure language servers and rust-analyzer (#29932)
Release Notes:
- `r enter` now maintains indentation, matching vim
Useful info for this implementation can be found here:
https://github.com/vim/vim/blob/c3f48e3a76c61884d7801171ced327b76965bf29/src/normal.c#L4865
The tool has been deleted, but the description remained.
Release Notes:
- N/A
Richard Feldman
created
10bdf39
collab: Pass down billing information in `UpdatePlan` message (#29929)
Click to expand commit body
This PR updates the `UpdatePlan` message to include some additional
information about the user's billing subscription usage.
Release Notes:
- N/A
Marshall Bowers
created
07b4480
editor: Handle more completions sort cases in Rust and Python (#29926)
Click to expand commit body
Closes #29725
Adds 3 more tests for Rust `into` and `await` cases, and Python
`__init__` case. Tweaks sort logic to accommodate them.
Release Notes:
- Improved code completion sort order, handling more cases with Rust and
Python.
Smit Barmase
created
b0414df
Simplify setting font size for EditToolCard (#29925)
Click to expand commit body
Release Notes:
- N/A
Antonio Scandurra
created
0246ec2
agent: Tweak MCP server configuration dialog (#29878)
Click to expand commit body
Tweaks the MCP configuration dialog a bit:
- Increase width of popover
- Disable soft
- Clear errors when hitting confirm
Release Notes:
- N/A
Bennet Bo Fenner
created
a72ade8
Show prompt usage in agent overflow menu (#29922)
Click to expand commit body
This PR adds prompt usage information, and easy access to managing your
account, to the agent overflow menu:

Currently this UI will only show after making a request. We'll work on
eagerly getting the usage info later.
Release Notes:
- Added current prompt usage information to the agent menu (`...`) for
Zed AI users
5674b5c
Don't show deleted hunks when agent overwrites file (#29918)
Click to expand commit body
Release Notes:
- Improved display of diffs when the agent rewrites a file from scratch.
Antonio Scandurra
created
4a7b3aa
zed: Fix migration message sometimes showing up on other tabs (#29917)
Click to expand commit body
<img width="1178" alt="image"
src="https://github.com/user-attachments/assets/6b76fe7d-0621-4d61-936e-bfe4f72cc614"
/>
Release Notes:
- Fixed an issue where the keymap/settings migration message sometimes
showing up on tabs other than `settings.json` and `keymap.json`.
Smit Barmase
created
c765da1
lsp: Don't log oneshot channel errors from notify (#29857)
Click to expand commit body
This is kind of noisy and not very informative.
Release Notes:
- N/A
Cole Miller
created
b404024
Get terminal tool working in evals (#29831)
Click to expand commit body
Bypass our terminal subsystem and just run a shell in a pty.
- [x] make sure we use the same working directory
- [x] strip control chars from the pty output (?)
- [x] tests
Release Notes:
- N/A
Cole Miller
created
ce053c9
Stop generating in the Agent panel when the user edits a previous message (#29915)
Click to expand commit body
Otherwise the panel keeps scrolling as the new token comes in and it is
almost impossible to keep the scroll position in the right place.
Also, if the user is editing, it is likely that the current generated
tokens will need to be regenerated anyway, so we may as well stop the
current progress.
Release Notes:
- Agent Beta: Stop generating tokens if previous messages are edited.
Ben Brandt
created
251f26d
copilot: Add support for tool_calls for gpt-4.1, gpt-4o, o4-mini (#29369)
Click to expand commit body
Github Copilot currently supports following models for agent mode with
tool calls. Currently we are only supporting anthropic models and not
openai and gemini. This PR add support for the openai models. I have
tested it and it works for all of them. For gemini models it seems there
is a issues from copilot side so not adding that in this PR as enabling
gemini model breaks it in the ask mode as well.
<img width="392" alt="image"
src="https://github.com/user-attachments/assets/fb7a4148-e48c-45c5-9ff9-c02f71217dfb"
/>
- [x] GPT-4.1
- [x] GPT-4.0
- [x] o4-mini
Release Notes:
- agent: Add tool calling support for gpt-4.1, gpt-4o, o4-mini when
using Copilot Chat as a provider
Signed-off-by: Umesh Yadav <umesh4257@gmail.com>
Umesh Yadav
created
7133699
Suggest nim extension for *.nim files (#29912)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
1adb4ec
Polish diff for the `edit_file` tool (#29911)
Click to expand commit body
I added some padding to the editor, and removed the border around each
hunk as it would overlap in weird ways with the card container.
## Before
<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/2018feaa-c847-4609-bc82-522660714b9a"
/>
## After
One Light:
<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/4da1a4b6-0af2-4479-afcc-02da50178fd6"
/>
One Dark:
<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/0168631d-7b76-4582-8174-c6e9c1297dc8"
/>
Release Notes:
- Improved displaying of diffs when the agent edits files.
Antonio Scandurra
created
0048e67
Properly restore window position for SSH projects (#29904)
Click to expand commit body
Release Notes:
- Fixed SSH projects not restoring their window position on reopen
Kirill Bulatov
created
0119b66
project_search: Ensure filter row aligns with other search rows (#29886)
Click to expand commit body
Closes #29858
This PR fixes the alignment-issue for the project saerch for cases where
the horizontally available space is large.
The issue arose because the two smaller editors within one line were
allowed to grow as much as the other editors on separate lines, up to
1200 pixels. However, these two editors should together only take up
1200 pixels at maximum, including the gap between them. To fix this, the
editors now live within one container element that grows at the same
rate as the other editors whilst allowing both editors to flex grow as
needed in the available space.
Current main:
https://github.com/user-attachments/assets/622016dc-70e5-455f-a7ba-5b69405d7e1e
This PR:
https://github.com/user-attachments/assets/5244abf7-f0c0-4781-acb7-b774638d8a17
Release Notes:
- Improved project search input field alignment.
This PR improves the `GET /billing/usage` endpoint.
We now return the usage with the default plan limits when there is no
usage record.
Release Notes:
- N/A
a19687a
agent: Sort profiles based on relevance (#29893)
Click to expand commit body
Kinda feel like the way that makes the most sense to sort profiles in
the dropdown is by relevance/impact. "Write" is the default profile and
contains all built-in tools turned on by default, thus it should be the
first. "Ask" contains read-only tools, one step down from Write. And
"Manual" is totally empty, the least "powerful" profile, thus the last.
Release Notes:
- N/A
Danilo Leal
created
eb15ed7
In the edit tool card, use the UI font size for the editor that we use to render the diff (#29882)
Click to expand commit body
I am currently setting the font size corrrectly by using a custom
EditorStyle and building an element. However I need to use the same
properties as a normal editor for everything but font size.
Release Notes:
- N/A
Nathan Sobo
created
52da375
agent: Add design adjustments to message editor (#29891)
Click to expand commit body
- Removed unused `MessageBubbleDashed` icon
- Polished `Crosshair` icon SVG
- Added dropdown toggle keybinding to the profile selector tooltip
- Repositioned buttons at the message editor footer
- Updated buttons to use `Button` instead of `ButtonLike`
Release Notes:
- N/A
Danilo Leal
created
3594a52
collab: Don't try to sync usage to Stripe for staff users (#29892)
Click to expand commit body
This PR makes it so we don't try to sync billing usage to Stripe for
staff users.
Release Notes:
- N/A
Marshall Bowers
created
76ad1a2
Add support for getting the token count for all parts of Gemini generation requests (#29630)
Click to expand commit body
* `CountTokensRequest` now takes a full `GenerateContentRequest` instead
of just content.
* Fixes use of `models/` prefix in `model` field of
`GenerateContentRequest`, since that's required for use in
`CountTokensRequest`. This didn't cause issues before because it was
always cleared and used in the path.
Release Notes:
- N/A
Michael Sloan
created
8648423
Replace `std::sync::Mutex` with `parking_lot::Mutex` in `languages/src/python.rs` (#29889)
Click to expand commit body
This appears to be the only place `std::sync::Mutex` is used, Zed always
prefers `parking_lot`.
Release Notes:
- N/A
Michael Sloan
created
f4e9ea3
In error text of cloud LLM API: `completion failed` -> `request failed` (#29888)
Click to expand commit body
This error is used for more requests than completion requests
Release Notes:
- N/A
Michael Sloan
created
161f6df
collab: Set billing-related fields for Zed staff (#29887)
Click to expand commit body
This PR sets the billing-related fields in the LLM token claims for Zed
staff.
Staff members are automatically in the Zed Pro plan with a subscription
periods that spans the entirety of each month.
Release Notes:
- N/A
Marshall Bowers
created
a0895a6
Only send `Stop` event at end of google completion request (#29885)
Click to expand commit body
I don't think this makes much of a difference in current use, but this
more closely matches other providers and cleans up the "Response"
section of eval markdown output
Release Notes:
- N/A
Michael Sloan
created
bb82d9c
agent eval: Fix `--model` arg and add `--provider` (#29883)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
007685f
docs: Add instructions for uninstalling Zed (#29840)
ZaraPhu
created
c3d9cde
Change cloud language model provider JSON protocol to surface errors and usage information (#29830)
Max Brunsfeld
,
Nathan Sobo
, and
Marshall Bowers
created
3984531
agent: Rename `@rules` to `@rule` (#29881)
Click to expand commit body
This is purely a cosmetic change, renamed `@rules` to `@rule` which
unifies the @mention experience (for files, threads etc. we also use
`@file`, `@thread` not `@files`, `@thread`). Would also make sense to
rename the rules picker to rule picker, but i do not wanna introduce
conflicts just for the purpose of re-naming.
Release Notes:
- N/A
Bennet Bo Fenner
created
cceb13b
collab: Add `use_llm_request_queue` to `LlmTokenClaims` (#29877)
Click to expand commit body
This PR adds a `use_llm_request_queue` field to the LLM token claims,
based on the `llm-request-queue` feature flag.
Release Notes:
- N/A
Marshall Bowers
created
427101b
collab: Drop legacy subscription usage and meter tables (#29876)
Click to expand commit body
This PR adds a migration to drop the `subscription_usages` and
`subscription_usage_meters` tables from the database.
We're now using `subscription_usages_v2` and
`subscription_usage_meters_v2` everywhere.
Release Notes:
- N/A
Marshall Bowers
created
4d51602
Encourage editing over re-creating a file from scratch (#29870)
Click to expand commit body
I also introduced a new eval to prove the encouragement actually makes a
difference.
Release Notes:
- Improved agent behavior when streaming edits, encouraging it to
editing files as opposed to creating them from scratch
Antonio Scandurra
created
ca1dc82
collab: Fix `subscription_usage_id` column type (#29871)
Click to expand commit body
This PR fixes the type of the `subscription_usage_id` column on the
`SubscriptionUsageMeter` model.
Release Notes:
- N/A
545ae27
Add the ability to follow the agent as it makes edits (#29839)
Click to expand commit body
Nathan here: I also tacked on a bunch of UI refinement.
Release Notes:
- Introduced the ability to follow the agent around as it reads and
edits files.
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Antonio Scandurra
,
Nathan Sobo
, and
Max Brunsfeld
created