747471c
zed 0.184.6
Joseph T. Lyons created
747471c
zed 0.184.6
Joseph T. Lyons created
8acd8a2
Fix gemini model token limits (#29584)
Release Notes: - N/A
Michael Sloan created
13854b4
agent: Improve MCP tools compatibility with Gemini models (#29411)
Release Notes: - agent: Improve MCP tools compatibility with Gemini models
Bennet Bo Fenner created
f50dc72
Fix context_stack race in KeyContextView (#29324)
cc @notpeter Before this change we used our own copy of `cx.key_context()` when matching. This led to races where the context queried could be either before (or after) the context used in dispatching. To avoid the race, gpui now passes out the context stack actually used instead. Release Notes: - Fixed a bug where the Key Context View could show the incorrect context, causing confusing results.
Conrad Irwin created
9e03eac
ollama: Add Qwen3 and Gemma3 (default to 16K context) (#29580)
If you have the VRAM you can increase the context by adding this to your
settings.json:
```json
"language_models": {
"ollama": {
"available_models": [
{ "max_tokens": 65536, "name": "qwen3", "display_name": "Qwen3-64k" }
]
}
},
```
Release Notes:
- ollama: Add support for Qwen3. Defaults to 16K token context. See:
[Assistant Configuration
Docs](https://zed.dev/docs/assistant/configuration#ollama-context) to
increase.
Peter Tripp created
34bb705
ollama: Add DeepSeek v3 max token length (#29156)
Add deepseek-v3 max token length for ollama Release Notes: - N/A
shenjack created
b2d49fb
Refactor markdown formatting utilities to avoid building intermediate strings (#29511)
These were nearly always used when using `format!` / `write!` etc, so it makes sense to not have an intermediate `String`. Release Notes: - N/A
Michael Sloan created
5721089
Fix agent rules files for remote project by loading via buffer (#29440)
When using the agent with a project shared by a collaborator, rules file loading didn't work as it was trying to read from the client's filesystem Release Notes: - Fixed rules file loading when using the agent with a project shared by a collaborator.
Michael Sloan created
39483b3
title_bar: Put plan behind `new-billing` feature flag (#29540)
This PR puts the displaying of the plan in the user menu behind the `new-billing` feature flag instead of the old `zed-pro` feature flag. Release Notes: - N/A
Marshall Bowers created
aff5ac5
feature_flags: Add `FeatureFlag` suffix to feature flag types (#29392)
This PR adds the `FeatureFlag` suffix to the feature flag types that were missing them. This makes the names easier to search in the codebase. Release Notes: - N/A
Marshall Bowers created
bf915e9
feature_flags: Remove `remoting` feature flag (#29390)
This PR removes the `remoting` feature flag. The feature is shipped, and we aren't referencing the flag anywhere anymore. Release Notes: - N/A
Marshall Bowers created
cc8fe25
Agent: Include partial output if terminal tool fails (#29115)
This PR addresses the behavior of the agent's terminal tool when the executed command is interrupted or fails after producing some output. Currently, if the command doesn't finish successfully, any partial output captured before the interruption/failure is discarded, and only an error message (or a generic cancellation message) is returned to the LLM. This change modifies the `run_command_limited` function in the terminal tool to catch errors when awaiting the command's status (which includes interruptions). In the case of such an error, it now includes any partial stdout/stderr captured up to that point within the error message returned to the `ToolUseState`. This ensures the LLM receives the partial context even when the command doesn't complete cleanly, framed appropriately as part of an error/interruption message. Closes #29101 Release Notes: - N/A
Mani Rash Ahmadi created
6476700
language_models: Count Google AI tokens through LLM service (#29319)
This PR wires the counting of Google AI tokens back up. It now goes through the LLM service instead of collab's RPC. Still only available for Zed staff. Release Notes: - N/A
Marshall Bowers created
0a656c2
language_models: Pass up `mode` for completion requests through Zed (#29294)
This PR makes it so we pass up the `mode` for completion requests through the Zed provider. Release Notes: - N/A
Marshall Bowers created
93cf95f
collab: Remove `CountLanguageModelTokens` RPC message (#29314)
This PR removes the `CountLanguageModelTokens` RPC message from collab. We were only using this for Google AI models through the Zed provider (which is only available to Zed staff). For now we're returning `0`, but will bring back soon. Release Notes: - N/A
Marshall Bowers created
8a68fad
collab: Remove code for embeddings (#29310)
This PR removes the embeddings-related code from collab and the protocol, as we weren't using it anywhere. Release Notes: - N/A
Marshall Bowers created
b39f9e9
agent: Include grep-related instructions in the prompt only if the tool is available (#29536)
This change updates the system prompt to conditionally include
`grep`-related instructions based on whether the `grep` tool is enabled.
Implementation details:
1. Add a `has_tool` handlebars helper.
2. Pass the `model` to all locations where the prompt is built.
3. Use `{{#if has_tool "grep"}}` in the system prompt to gate
`grep`-specific instructions.
Testing:
- Unit tests for the `hasTool` helper.
- Unit tests to verify that `grep`-related instructions are included /
omitted from the prompt as appropriate.
- Manual agent evaluation:
- Setup: Asked the Agent "List all impls of MyTrait in the project"
using a custom "No tools" profile (all tools disabled).
- Before the change: The Agent attempted to call `grep`, encountered an
error, then realized the tool was unavailable.
- After the change: The Agent immediately asked to enable a search tool.
Note: in principle, `grep`/`read_file` tool descriptions alone might be
enough, but to confirm this we need more evaluation. If it turns out to
be true, we'll be able to remove grep-specific instructions from the
system prompt and undo this change.
Release Notes:
- N/A
Oleksiy Syvokon created
7eeed54
agent: Add "max mode" toggle (#29549)
This PR adds a "max mode" toggle to the Agent panel, for models that support it. Only visible to folks in the `new-billing` feature flag. Icon is just a placeholder. Release Notes: - N/A
Marshall Bowers created
af292ed
agent: Improve attached context display and show hovers for symbol / selection / rules / thread (#29551)
* Brings back hover popover of selection context. * Adds hover popover for symbol, rules, and thread context. * Makes context attached to messages display the names / content at attachment time. * Adds the file name as the displayed parent of symbol context. * Brings back `impl Component for AddedContext` Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Michael Sloan and Bennet Bo Fenner created
b1aa15f
Use `u64` instead of `usize` in `ElementId` (#29493)
Truncation to a 32 bit `usize` could cause two distinct IDs to be considered the same element. Release Notes: - N/A
Michael Sloan created
2bfac79
zed 0.184.5
Joseph T. Lyons created
a62a6c4
askpass: Shell escape Zed path in askpass script (cherry-pick #29447) (#29449)
Cherry-picked askpass: Shell escape Zed path in askpass script (#29447) Closes #29439 Add shell escaping as well as additional sanity check for Zed path when used in askpass. This caused issues on preview and nightly as the standard paths for those releases contain spaces which were not escaped appropriately leading to erroneous "Permission denied" errors from SSH when the askpass script failed Release Notes: - Fixed a missing shell-escape in askpass resulting in erroneous "Permission denied" errors when trying to connect to a remote server over ssh (effecting preview release v0.184.1 and nightly only) Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] and Ben Kunkle created
d68df74
agent: Simplify elements of the thread design (#29533)
Namely, this PR removes the layout shift when you click on a user message to edit it and displays the feedback disclaimer only upon hovering the thumbs up/down button container. Release Notes: - N/A
Danilo Leal created
17e2746
agent: Bring title editing back to text threads (#29425)
This also fixes a little UI bug where the text thread title would push the buttons away from the UI when there was still space. Release Notes: - agent: Made text thread titles editable again. --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Danilo Leal and Michael Sloan created
45ebaac
agent tools: Make `read_file.end_line` inclusive (#29524)
One motivation is that the outlines returned by `read_file` for large files list line numbers assuming an inclusive `end_line`. As a result, when the agent uses these outlines for `read_line` calls, it would otherwise miss the last line. Release Notes: - N/A
Oleksiy Syvokon created
0f051dd
Fix error when deserializing Gemini streams (#29470)
Sometimes Gemini would report `Content` without a `parts` field. Release Notes: - Fixed a bug that would sometimes cause Gemini models to fail streaming their response.
Antonio Scandurra created
18c2137
zed 0.184.4
Joseph T. Lyons created
d92de5e
editor: Improve fuzzy match bucket logic for code completions (#29442)
Add new test and improve fuzzy match bucket logic which results into far better balance between LSP and fuzzy search. Before: <img width="500" alt="before" src="https://github.com/user-attachments/assets/3e8900a6-c0ff-4f37-b88e-b0e3783b7e9a" /> After: <img width="500" alt="after" src="https://github.com/user-attachments/assets/738c074c-d446-4697-aac6-9814362e88db" /> Release Notes: - N/A
Smit Barmase created
0078f67
editor: Add setting for snippet sorting behavior for code completion (#29429)
Added `snippet_sort_order`, which determines how snippets are sorted relative to other completion items. It can have the values `top`, `bottom`, or `inline`, with `inline` being the default. This mimics VS Code’s setting: https://code.visualstudio.com/docs/editing/intellisense#_snippets-in-suggestions Release Notes: - Added support for `snippet_sort_order` to control snippet sorting behavior in code completion menus.
Smit Barmase created
77f1609
ui: Add `inline_code` method to label (#29306)
This makes it easy to have a label that looks like Markdown inline code via the `inline_code(cx)` method. Release Notes: - N/A
Danilo Leal created
93302ab
Fix inclusion of message when counting tokens from message editor (#29443)
Accidentally omitted this in #29233 Release Notes: - N/A
Michael Sloan created
7c93c8e
agent: Render path search results with `ToolCard` (#28894)
Implementing the `ToolCard` for the path_search tool. It also adds the "jump to file" functionality if you expand the results. Release Notes: - N/A --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com> Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal , Richard Feldman , and Agus Zubiaga created
01d2066
agent: Make markdown code blocks uncollapsed by default (#29424)
Seeing the markdown code stream in is actually more helpful than hiding parts of it; parts that you may be interested in. Release Notes: - N/A
Danilo Leal created
dfea962
agent: Allow to explictly disable tools when using `enable_all_context_servers` (#29414)
Previously, all MCP tools would be completed regardless if they were disabled/enabled for the profile. This meant that the "Write" profile was always using all MCP tools, even if you disabled them in the settings. Now, when `enable_all_context_servers` is set to `true`, we will enable all tools from all MCP servers by default but disable the ones that are explicitly disabled for the profile. Also fixes an issue where the tools would not show up as enabled when using `enable_all_context_servers: true` Release Notes: - agent: Fix an issue where MCP tools could not be enabled/disabled
Bennet Bo Fenner created
0f3c56f
Bump to 0.184.3 for @bennetbo
Zed Bot created
1cbdce4
assistant: Fix issue when using inline assistant with Gemini models (cherry-pick #29407) (#29409)
Cherry-picked assistant: Fix issue when using inline assistant with Gemini models (#29407) Closes #29020 Release Notes: - assistant: Fix issue when using inline assistant with Gemini models Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
gcp-cherry-pick-bot[bot] and Bennet Bo Fenner created
745e7d6
language_models: Use `POST /completions` endpoint for Zed provider (#29389)
This PR updates the Zed provider to use the `POST /completions` endpoint. There is no functional difference from `POST /completion`, but the pluralized version reads better. Release Notes: - N/A
Marshall Bowers created
19de45c
Bring back reload of agent context before sending message (#29385)
Realized after merging #29233 that this behavior is desired Release Notes: - N/A
Michael Sloan created
f8c3a01
Remove unnecessary fields from the tool schemas (#29381)
This PR removes two fields from JSON schemas (`$schema` and `title`),
which are not expected by any model provider, but were spuriously
included by our JSON schema library, `schemars`.
These added noise to requests and cost wasted input tokens.
### Old
```json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "FetchToolInput",
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"description": "The URL to fetch.",
"type": "string"
}
}
}
```
### New:
```json
{
"properties": {
"url": {
"description": "The URL to fetch.",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
}
```
- N/A
Max Brunsfeld created
08cb703
Restructure agent context (#29233)
Simplifies the data structures involved in agent context by removing caching and limiting the use of ContextId: * `AssistantContext` enum is now like an ID / handle to context that does not need to be updated. `ContextId` still exists but is only used for generating unique `ElementId`. * `ContextStore` has a `IndexMap<ContextSetEntry>`. Only need to keep a `HashSet<ThreadId>` consistent with it. `ContextSetEntry` is a newtype wrapper around `AssistantContext` which implements eq / hash on a subset of fields. * Thread `Message` directly stores its context. Fixes the following bugs: * If a context entry is removed from the strip and added again, it was reincluded in the next message. * Clicking file context in the thread that has been removed from the context strip didn't jump to the file. * Refresh of directory context didn't reflect added / removed files. * Deleted directories would remain in the message editor context strip. * Token counting requests didn't include image context. * File, directory, and symbol context deduplication relied on `ProjectPath` for identity, and so didn't handle renames. * Symbol context line numbers didn't update when shifted Known bugs (not fixed): * Deleting a directory causes it to disappear from messages in threads. Fixing this in a nice way is tricky. One easy fix is to store the original path and show that on deletion. It's weird that deletion would cause the name to "revert", though. Another possibility would be to snapshot context metadata on add (ala `AddedContext`), and keep that around despite deletion. Release Notes: - N/A
Michael Sloan created
43a04dc
Treat invalid JSON in tool calls as failed tool calls (#29375)
Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Richard Feldman , Max , and Max Brunsfeld created
00e92e3
Rename "Prompt Library" to "Rules Library" (#29349)
There's probably more to do to fully make the transition, and we'll still debate a bit internally whether this is the name, but just opening this PR up now for visibility. Release Notes: - N/A
Danilo Leal created
9e703ac
gemini: Fix issue when deserializing tool call (#29363)
Fixes a regression introduced in #29322 Release Notes: - N/A Co-authored-by: Agus Zubiaga <hi@aguz.me>
Bennet Bo Fenner and Agus Zubiaga created
44d5976
Introduce LanguageModelToolUse::raw_input (#29322)
This is to enable alternative streaming solutions at the application layer. I'm not sure we really should have performed parsing of the input at this layer. Either way I want to experiment with streaming approaches in a separate crate on a branch, and this will help. /cc @maxdeviant @bennetbo @rtfeldman Closes #ISSUE Release Notes: - N/A
Nathan Sobo created
44fc004
agent: Do not reuse assistant message across generations (#29360)
#29354 introduced a bug where we would append tool uses to the last assistant message even if it was from a previous request. Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
c60b731
zed 0.184.2
Joseph T. Lyons created
b85bfba
agent: Do not create user messages for tool results in thread (#29354)
We used to insert empty user messages into the `Thread::messages` `Vec` when tools finished running and then we would attach the results when creating the request. This approach was very easy to mess up during state handling, leading to empty user messages displayed in the conversation and API failures. Instead, we will no longer insert actual user messages for tool results to the `Thread`, and will only do this on the fly when creating the model request. This simplifies a lot of code and show fix the mentioned errors. Release Notes: - agent: Improve reliability of LLM requests when including tool results --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Agus Zubiaga , Bennet Bo Fenner , and Oleksiy Syvokon created
f743cdc
agent: Simplify user message design more (#29326)
Follow-up to https://github.com/zed-industries/zed/pull/29165 where the user message design is simplified even more. The edit button is not visible anymore, and you can click on the whole message block to edit a message. Release Notes: - N/A
Danilo Leal created
808d9c9
Fix ctrl-enter opening inline-assistant in assistant text threads (#29313)
Closes: https://github.com/zed-industries/zed/issues/24501 This has been broken for a while on linux (at least since Feb 8th!) for Assistant1. It is also broken for Text Threads in Assitant2 (on macos and linux). This should fix both. Potentially related: - https://github.com/zed-industries/zed/pull/29107 Release Notes: - Fix for `ctrl-enter` shortcut in Assistant text threads incorrectly opening inline assist instead of triggering Send. Co-authored-by: Conrad Irwin <conrad@zed.dev>
Peter Tripp and Conrad Irwin created
a53e561
agent: Improve initial file search quality (#29317)
This PR significantly improves the quality of the initial file search that occurs when the model doesn't yet know the full path to a file it needs to read/edit. Previously, the assertions in file_search often failed on main as the model attempted to guess full file paths. On this branch, it reliably calls `find_path` (previously `path_search`) before reading files. After getting the model to find paths first, I noticed it would try using `grep` instead of `path_search`. This motivated renaming `path_search` to `find_path` (continuing the analogy to unix commands) and adding system prompt instructions about proper tool selection. Note: I know the command is just called `find`, but that seemed too general. In my eval runs, the `file_search` example improved from 40% ± 10% to 98% ± 2%. The only assertion I'm seeing occasionally fail is "glob starts with `**` or project". We can probably add some instructions in that regard. Release Notes: - N/A
Agus Zubiaga created