fb24f1b
Fallback to default_model
Peter Tripp created
fb24f1b
Fallback to default_model
Peter Tripp created
a943acc
Use `thread_summary_model` for Text Threads too
Peter Tripp created
13de400
editor: Do not correct text contrast on non-opaque editor (#37471)
We don’t know the background color behind a non-opaque editor, so we should skip contrast correction in that case. This prevents single-editor mode (which is always transparent) from showing weird text colors when text is selected. We can’t account for the actual background during contrast correction because we compute contrast outside gpui, while the actual color blending happens inside gpui during drawing. <img width="522" height="145" alt="image" src="https://github.com/user-attachments/assets/6ee71475-f666-482d-87e6-15cf4c4fceef" /> Release Notes: - Fixed an issue where Command Palette text looked faded when selected.
Smit Barmase created
c3480c3
docs: Update external agents content (#37413)
Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal and Bennet Bo Fenner created
0cbacb8
Make word deletions less greedy (#37352)
Closes https://github.com/zed-industries/zed/issues/37144 Adjusts `editor::DeleteToPreviousWordStart`, `editor::DeleteToNextWordEnd`, `editor::DeleteToNextSubwordEnd` and `editor::DeleteToPreviousSubwordStart` actions to * take whitespace sequences with length >= 2 into account and stop after removing them (whilst movement would also include the word after such sequences) * take current language's brackets into account and stop after removing the text before them The latter is configurable and can be disabled with `"ignore_brackets": true` parameter in the action. Release Notes: - Improved word deletions to consider whitespace sequences and brackets by default
Kirill Bulatov created
7327ef6
terminal_view: Fix focusing of center-pane terminals (#37359)
With `reveal_stragegy=always` + `reveal_target=center`, `TerminalPanel::spawn_task` activates & focuses the pane of the task. This works fine in the terminal pane but doesn't for `reveal_target=center`. Please note: I'm not verified familiar with the architecture and internal APIs of zed. If there's a better way or if this fix is a bad idea, I'm fine with adapting this 😃 Closes #35908 Release Notes: - Fixed task focus when re-spawning a task with `reveal_target=center` --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Moritz von Göwels and Marshall Bowers created
c1ca730
editor: Make blame and inline blame work for multibuffers (#37366)
Release Notes: - Added blame view and inline blame support for multi buffer editors --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Lukas Wirth and Kirill Bulatov created
9228328
Fix rendering on devices that don't support MapOnDefaultTextures (#37456)
Closes #37231 Release Notes: - N/A
localcc created
d80f9dd
languages: Fix python tasks failing when binary contains whitespaces (#37454)
Fixes https://github.com/zed-industries/zed/issues/33459 Release Notes: - Fixed python tasks failing when the python binary path contains whitespaces
Lukas Wirth created
ebc22c2
gpui: Don't risk accidentally panicking during tests (#37457)
See the failure in https://github.com/zed-industries/zed/actions/runs/17413839503/job/49437345296 Release Notes: - N/A
Nia created
7633bbf
acp: Fix issue with claude code /logout command (#37452)
### First issue In the scenario where you have an API key configured in Zed and you run `/logout`, clicking on `Use Anthropic API Key` would show `Method not implemented`. This happened because we were only intercepting the `Use Anthropic API Key` click if the provider was NOT authenticated, which would not be the case when the user has an API key set. ### Second issue When clicking on `Reset API Key` the modal would be dismissed even though you picked no Authentication Method (which means you still would be unauthenticated) --- This PR fixes both of these issues Release Notes: - N/A
Bennet Bo Fenner created
91cbb2e
Add onboarding banner for claude code support (#37443)
Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Bennet Bo Fenner and Danilo Leal created
4019926
gpui: Fix overflow_hidden to support clip with border radius (#35083)
Release Notes:
- N/A
---
Same case in HTML example:
https://developer.mozilla.org/en-US/play?id=p7FhB3JAhiVfLHAXnsbrn7JYYX%2Byq1gje%2B%2BTZarnXvvjmaAx3NlrXqMAoI35s4zeakShKee6lydHYeHr
```html
<div style="padding: 50px; text-align: center;">
<div style="overflow: hidden; border-radius: 24px">
<div style="background: #000; border: 3px solid red; color: #fff; padding: 8px 28px;">
Let build applications with GPUI.
</div>
<div style="background: #333; border: 3px dashed black; color: #fff; padding: 8px 28px;">
Let build applications with GPUI.
</div>
</div>
<div style="margin-top: 20px; border-radius: 24px">
<div style="background: #000; color: #fff; padding: 8px 28px;">
This is not overflow: hidden.
</div>
</div>
</div>
```
<img width="610" height="213" alt="image"
src="https://github.com/user-attachments/assets/5f95e263-e52c-414f-8f0c-e6aa04ceb802"
/>
### Before
<img width="912" height="740" alt="image"
src="https://github.com/user-attachments/assets/f09c1936-52fc-4381-9a50-93977e9d64a6"
/>
### After
```bash
cargo run -p gpui --example content_mask
```
<img width="912" height="740" alt="image"
src="https://github.com/user-attachments/assets/4bde58f3-c850-418d-9dc7-d2245852e7d7"
/> |
- [x] Metal
- [x] Blade
- [x] DirectX
- [x] ContentMask radius must reduce the container border widths.
- [x] The dash border render not correct, when not all side have
borders.
Jason Lee created
9a8c505
agent: Update message editor placeholder (#37441)
Release Notes: - N/A
Danilo Leal created
c446662
Fix font rendering at very large scales (#37440)
Release Notes: - Fixed fonts disappearing at very large scales on windows
localcc created
6feae92
rust: Improve highlighting in derive macros (#37439)
Follow-up to https://github.com/zed-industries/zed/pull/37049 This fixes an issue where we would lose highlighting in derive macros if one of the names was qualified. | Before | After | | --- | --- | | <img width="886" height="398" alt="Bildschirmfoto 2025-09-03 um 10 39 25" src="https://github.com/user-attachments/assets/dbc680e3-6ce3-4059-9934-9daa4c59d4a0" /> | <img width="886" height="398" alt="Bildschirmfoto 2025-09-03 um 10 38 14" src="https://github.com/user-attachments/assets/6e10df6f-5158-4bfd-81ab-8f2b384f1e99" /> | Release Notes: - N/A
Finn Evers created
ae840c6
acp: Fix handling of single-file worktrees (#37412)
When the first visible worktree is a single-file worktree, we would previously try to use the absolute path of that file as the root directory for external agents, causing an error. This PR changes how we handle this situation: we'll use the root of the first non-single-file visible worktree if there are any, and if there are none, the parent directory of the first single-file visible worktree. Related to #37213 Release Notes: - acp: Fixed being unable to run external agents when a single file (not part of a project) was opened in Zed.
Cole Miller created
d7fd591
Use slice from Rope chunk when possible while iterating lines (#37430)
Release Notes: - N/A
Michael Sloan created
8d58613
Allow wrapping markdown text into `*` by selecting text and writing the `*` (#37426)
Release Notes: - Allowed wrapping markdown text into `*` by selecting text and writing the `*`
Kirill Bulatov created
5a9e186
gpui: Fix intra rustdoc links (#37320)
The only warnings remaining are links to private modules/items, but I lack knowledge to work out if the referenced modules/items should be made public, or if the links should be rewritten into exposed traits/items. Links to associated items such as trait implementations have to be written using full markdown format such as: ... [[ `App::update_global` ]](( BorrowAppContext::update_global )) This is due to https://github.com/rust-lang/rust/issues/74563 which sadly prohibits fully-qualified syntax: ... [[ `<App as BorrowAppContext>::update_global` ]] Release Notes: - N/A Probably related to https://github.com/zed-industries/zed/pull/37072
Jakub Konka created
2a7761f
Instruct macOS users to run `xcodebuild -downloadComponent MetalToolchain` (#37411)
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Closes #ISSUE Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
chris and Conrad Irwin created
f230960
Remove wsl command line args on non-windows platforms (#37422)
Release Notes: - N/A
Max Brunsfeld created
1ed17fd
Bump Zed to v0.204 (#37415)
Release Notes: -N/A
Peter Tripp created
7ea7f4e
reqwest_client: Remove example (#37410)
This PR removes the example from the `reqwest_client` crate, as it doesn't seem worth maintaining. Release Notes: - N/A
Marshall Bowers created
035d7dd
ci: Skip Nix for commits on release branches and tags (#37407)
When doing stable/preview releases simultaneously there are two tags and two branches pushed. Previously nix was attempting 1 job for each. Our current mac parallelism is 4. Can't easily test this. 🤷 Release Notes: - N/A
Peter Tripp created
9d67276
agent: Fix cut off slash command descriptions (#37408)
Release Notes: - N/A
Danilo Leal created
161d128
Handle model refusal in ACP threads (#37383)
If the model refuses a prompt, we now: * Show an error if it was a user prompt (and truncate it out of the history) * Respond with a failed tool call if the refusal was for a tool call <img width="607" height="260" alt="Screenshot 2025-09-02 at 5 11 45 PM" src="https://github.com/user-attachments/assets/070b5ee7-6ad6-4a63-8395-f9a5093cc40e" /> <img width="607" height="265" alt="Screenshot 2025-09-02 at 5 11 38 PM" src="https://github.com/user-attachments/assets/98862586-390b-494e-b1f8-71d8341c8d9d" /> Release Notes: - Improve handling of model refusals in ACP threads
Richard Feldman created
e1b0a98
ci: Remove Windows crash analysis CI scripts (#36694)
We'll just SSH into the Windows runners and look for crashes there. Reverts #35926 Release Notes: - N/A --------- Co-authored-by: Peter Tripp <petertripp@gmail.com>
Cole Miller and Peter Tripp created
ae0ee70
Add configurable timeout for context server tool calls (#33348)
Closes: #32668 - Add [tool_call_timeout_millis](https://github.com/cline/cline/pull/1904) field to ContextServerCommand, like in Cline - Update ModelContextServerBinary to include timeout configuration - Modify Client to store and use configurable request timeout - Replace hardcoded REQUEST_TIMEOUT with self.request_timeout - Rename REQUEST_TIMEOUT to DEFAULT_REQUEST_TIMEOUT for clarity - Maintain backward compatibility with 60-second default Release Notes: - context_server: Add support for configurable timeout for MCP tool calls --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Rafał Krzyważnia and Ben Brandt created
893eb92
docs: Note edge case for macOS 26 (#37392)
- I believe this is caused by metal not being found due to it being on the XcodeBeta path, not sure if there's a better fix for this but it'll work until 26 is the latest release Release Notes: - N/A
versecafe created
45fa6d8
tailwind: Add `HTML+ERB` to the list of supported languages (#36797)
Hi! As part of https://github.com/zed-extensions/ruby/issues/162 we would like to rename HTML/ERB to HTML+ERB since it is more syntactically correct to treat such language as ERB on top of HTML rather than HTML or ERB. To keep the user experience intact, we outlined the prerequisites in the linked issue. This is the first PR that adds the HTML+ERB language name to the list of enabled languages for the Emmet extension. We will do the same for the Tailwind configuration in the Zed codebase. Once the new versions of Emmet and Zed are released, we will merge the pull request in the Ruby extension repository and release the updated version. After that, we will remove the old HTML/ERB and YAML/ERB languages. Let me know if that sounds good. Thanks! Release Notes: - N/A Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Vitaly Slobodin and Marshall Bowers created
60ad82c
Fix typo in clippy lint name (#37405)
Release Notes: - N/A
Ben Brandt created
564ded7
acp: Disable external agents over SSH (#37402)
Follow-up to #37377 Show a clearer error here until SSH support is implemented. Release Notes: - N/A
Cole Miller created
63b3839
language_models: Prevent sending the tools object to unsupported models for Ollama (#37221)
Closes #32758 Release Notes: - Resolved an issue with the Ollama provider that caused requests to fail with a 400 error for models that don't support tools. The tools object is now only sent to compatible models to ensure successful requests.
Umesh Yadav created
9f74988
language_models: Fix tool_choice null issue for other providers (#34554)
Follow up: #34532 Closes #35434 Mostly fixes a issue were when the tool_choice is none it was getting serialised as null. This was fixed for openrouter just wanted to follow up and cleanup for other providers which might have this issue as this is against the spec. Release Notes: - N/A
Umesh Yadav created
946efb0
Add option for code context menu items to have dynamic width (#37404)
Follow up to https://github.com/zed-industries/zed/pull/30598 This PR introduces the `display_options` field in the `CompletionResponse`, allowing a code context menu width to be dynamically dictated based on its larger item. This will allow us to have the @-mentions and slash commands completion menus in the agent panel not be bigger than it needs to be. It may also be relevant/useful in the future for other use cases. For now, we set all instances of code context menus to use a fixed width, as defined in the PR linked above, which means this PR shouldn't cause any visual change. Release Notes: - N/A Co-authored-by: Michael Sloan <mgsloan+github@gmail.com>
Danilo Leal and Michael Sloan created
4b96ad3
gpui: Remove `http_client` feature (#37401)
This PR removes the `http_client` feature from the `gpui` crate, as it wasn't really doing anything. It only controlled whether we depend on the `http_client` crate, but from what I can tell we always depended on it anyways. Obviates https://github.com/zed-industries/zed/pull/36615. Release Notes: - N/A
Marshall Bowers created
4368c1b
language_models: Add OpenRouterError and map OpenRouter errors to LanguageModelCompletionError (#34227)
Improves the error handling for openrouter and adds automatic retry like anthropic for few of the status codes. Release Notes: - Improves error messages for Openrouter provider - Automatic retry when rate limited or Server error from Openrouter
Umesh Yadav created
e5a968b
vim: Fix change surround with any brackets text object (#37386)
This commit fixes an issue with how the `AnyBrackets` object was handled
with change surrounds (`cs`). With the keymap below, if one was to use
`csb{` with the text `(bracketed)` and the cursor inside the
parentheses, the text would not change.
```json
{
"context": "vim_operator == a || vim_operator == i || vim_operator == cs",
"bindings": {
"b": "vim::AnyBrackets"
}
}
```
Unfortunately there was no implementation for finding a corresponding
`BracketPair` for the `AnyBrackets` object, meaning that, when using
`cs` (change surrounds) the code would simply do nothing.
This commit updates this logic so as to try and find the nearest
surrounding bracket (parentheses, curly brackets, square brackets or
angle brackets), ensuring that `cs` also works with `AnyBrackets`.
Closes #24439
Release Notes:
- Fixed handling of `AnyBrackets` in vim's change surrounds (`cs`)
Dino created
7aecab8
agent2: Only setup real client for real models (#37403)
Before we were setting up lots of test setup regardless of if we were actually going to be making real requests or not. This will hopefully help with intermittent test errors we're seeing on Windows in CI. Release Notes: - N/A
Ben Brandt created
e4df866
editor: Do not show edit prediction during in-progress IME composition (#37400)
Closes #37249 We no longer show edit prediction when composing IME since it isn't useful for unfinished alphabet. Release Notes: - Fixed edit predictions showing up during partial IME composition.
Smit Barmase created
8770fcc
acp: Enable claude code feature flag for everyone (#37390)
Release Notes: - N/A
Bennet Bo Fenner created
6dcae27
terminal: Fix not able to select text during continuous output (#37395)
Closes #37211 Regressed in https://github.com/zed-industries/zed/pull/33305 Every time the terminal updates, we emit `SearchEvent::MatchesInvalidated` to trigger a re-run of the buffer search, which calls `clear_matches` to drop stale results. https://github.com/zed-industries/zed/pull/33305 PR also cleared the selection when clearing matches, which caused this issue. We could fix it by only clearing matches and selection when they’re non-empty, but it’s better to not clear the selection at all. This matches how the editor behaves and keeps it consistent. This PR reverts that part of code. Release Notes: - Fixed an issue where text selection was lost during continuous terminal output.
Smit Barmase created
5e01fb8
Nice errors for unsupported ACP slash commands (#37393)
If we get back slash-commands that aren't supported, tell the user that this is the problem. Release Notes: - Improve error messages for unsupported ACP slash-commands --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Richard Feldman and Conrad Irwin created
88a7975
Disable external agents over collab (#37377)
Release Notes: - Disable UI to boot external agents in collab projects (as they don't work)
Conrad Irwin created
4c411b9
language_models: Make `JsonSchemaSubset` the default `tool_input_format` for the OpenAI-compatible provider (#34921)
Closes #30188 Closes #34911 Closes #34906 Many OpenAI-compatible providers do not automatically filter the tool schema to comply with the underlying model's requirements; they simply proxy the request. This creates issues, as models like **Gemini**, **Grok**, and **Claude** (when accessed via LiteLLM on Bedrock) are incompatible with Zed's default tool schema. This PR addresses this by defaulting to a more compatible schema subset instead of the full schema. ### Why this approach? * **Avoids Poor User Experience:** One alternative was to add an option for users to manually set the JSON schema for models that return a `400 Bad Request` due to an invalid tool schema. This was discarded as it provides a poor user experience. * **Simplifies Complex Logic:** Another option was to filter the schema based on the model ID. However, as demonstrated in the attached issues, this is unreliable. For instance, `claude-4-sonnet` fails when proxied through LiteLLM on Bedrock. Reliably determining behavior would require a non-trivial implementation to manage provider-and-model combinations. * **Better Default Behavior:** The current approach ensures that tool usage works out-of-the-box for the majority of cases by default, providing the most robust and user-friendly solution. Release Notes: - Improved tool compatibility with OpenAI API-compatible providers Signed-off-by: Umesh Yadav <git@umesh.dev> Co-authored-by: Peter Tripp <peter@zed.dev>
Umesh Yadav and Peter Tripp created
5ac6ae5
docs: Link glossary (#37387)
Follow-up to: https://github.com/zed-industries/zed/pull/37360 Add glossary.md to SUMMARY.md so it's linked to the public documentation. Release Notes: - N/A
Peter Tripp created
c01f12b
zeta: Small refactoring in license detection check - rfind instead of iterated ends_with (#37329)
Release Notes: - N/A
Michael Sloan created
dfa066d
acp: Display slash command hints (#37376)
Displays the slash command's argument hint while it hasn't been provided: https://github.com/user-attachments/assets/f3bb148c-247d-43bc-810d-92055a313514 Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
ac8c653
Fix race condition between feature flag and deserialization (#37381)
Right now if you open Zed, and we deserialize an agent that's behind a feature flag (e.g. CC), we don't restore it because the feature flag check hasn't happened yet at the time we're deserializing (due to auth not having finished yet). This is a simple fix: assume that if you had serialized it in the first place, you must have had the feature flag enabled, so go ahead and reopen it for you. Release Notes: - N/A
Richard Feldman created