55e4258
agent: Workaround for Sonnet inserting </parameter> tag (#42634)
Click to expand commit body
Release Notes: - N/A
Oleksiy Syvokon created
55e4258
agent: Workaround for Sonnet inserting </parameter> tag (#42634)
Release Notes: - N/A
Oleksiy Syvokon created
8467a1b
zeta eval: Improve output (#42629)
Hides the aggregated scores if only one example/repetition ran. It also fixes an issue with the expected context scoring. Release Notes: - N/A
Agus Zubiaga created
fb90b12
Add retry support for OpenAI-compatible LLM providers (#37891)
Automatically retry the agent's LLM completion requests when the provider returns 429 Too Many Requests. Uses the Retry-After header to determine the retry delay if it is available. Many providers are frequently overloaded or have low rate limits. These providers are essentially unusable without automatic retries. Tested with Cerebras configured via openai_compatible. Related: #31531 Release Notes: - Added automatic retries for OpenAI-compatible LLM providers --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Tim McLean and Bennet Bo Fenner created
92e64f9
settings: Add tilde expansion support for LSP binary path (#41715)
Closes #38227 Release Notes: - Added tilde expansion support for LSP binary path in `settings.json`
Mayank Verma created
f318bb5
markdown: Add support for `HTML` href elements (#42265)
This PR adds support for `HTML` href elements. It also refactored the way we stored the regions, this was done because otherwise I had to add 2 extra arguments to each `HTML` parser method. It's now also more inline with how we have done it for the highlights. **Small note**: the markdown parser only supports HTML href tags inside a paragraph tag. So adding them as a root node will result in just showing the inner text. This is a limitation of the markdown parser we use itself. **Before** <img width="935" height="174" alt="Screenshot 2025-11-08 at 15 40 28" src="https://github.com/user-attachments/assets/42172222-ed49-4a4b-8957-a46330e54c69" /> **After** <img width="1026" height="180" alt="Screenshot 2025-11-08 at 15 29 55" src="https://github.com/user-attachments/assets/9e139c2d-d43a-4952-8d1f-15eb92966241" /> **Example code** ```markdown <p>asd <a href="https://example.com">Link Text</a> more text</p> <p><a href="https://example.com">Link Text</a></p> [Duck Duck Go](https://duckduckgo.com) ``` **TODO**: - [x] Add tests cc @bennetbo Release Notes: - Markdown Preview: Add support for `HTML` href elements. --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Remco Smits and Bennet Bo Fenner created
430b554
search: New recent old search implementation (#40835)
This is an in-progress work on changing how task scheduler affects performance of project search. Instead of relying on tasks being executed at a discretion of the task scheduler, we want to experiment with having a set of "agents" that prioritize driving in-progress project search matches to completion over pushing the whole thing to completion. This should hopefully significantly improve throughput & latency of project search. This PR has been reverted previously in #40831. Release Notes: - Improved project search performance in local projects. --------- Co-authored-by: Smit Barmase <smit@zed.dev> Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Piotr Osiewicz , Smit Barmase , and Smit Barmase created
27f700e
askpass: Quote paths in generated askpass script (#42622)
Closes https://github.com/zed-industries/zed/issues/42618 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
b5633f5
editor: Improve multi-buffer header filename click to jump to the latest selection from that buffer - take 2 (#42613)
Relands https://github.com/zed-industries/zed/pull/42480 Release Notes: - Clicking the multi-buffer header file name or the "Open file" button now jumps to the most recent selection in that buffer, if one exists. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Smit Barmase and Piotr Osiewicz created
b9ce52d
agent_ui: Fix scrolling in context server configuration modal (#42502)
## Summary Fixes #42342 When installing a dev extension with long installation instructions, the configuration modal would overflow and users couldn't scroll to see the full content or interact with buttons at the bottom. ## Solution This PR adds a `ScrollHandle` to the `ConfigureContextServerModal` and passes it to the `Modal` component, enabling the built-in modal scrolling capability. This ensures all content remains accessible regardless of length. ## Changes - Added `ScrollHandle` import to the ui imports - Added `scroll_handle: ScrollHandle` field to `ConfigureContextServerModal` struct - Initialize `scroll_handle` with `ScrollHandle::new()` when creating the modal - Pass the scroll handle to `Modal::new()` instead of `None` ## Testing - Built the changes locally - Tested with extensions that have long installation instructions - Verified scrolling works and all content is accessible - Confirmed no regression for extensions with short descriptions Release Notes: - Fixed scrolling issue in extension configuration modal when installation instructions overflow the viewport --------- Co-authored-by: Finn Evers <finn.evers@outlook.de>
R.Amogh and Finn Evers created
34a7cfb
Update cargo.rs to allow debugging of integration test annotated with the ignore attribute (#42574)
Address #40429 If an integration test is annotated with the ignore attribute, allow the "debug: Test" option of the debug scenario or Code Action to run with "--include-ignored" Closes #40429 Release Notes: - N/A
mikeHag created
99016e3
Update outdated dependencies (#42611)
New rustc starts to output a few warnings, fix them by updating the
corresponding packages.
<details>
<summary>Incompatibility notes</summary>
```
The following warnings were discovered during the build. These warnings
are an
indication that the packages contain code that will become an error in a
future release of Rust. These warnings typically cover changes to close
soundness problems, unintended or undocumented behavior, or critical
problems
that cannot be fixed in a backwards-compatible fashion, and are not
expected
to be in wide use.
Each warning should contain a link for more information on what the
warning
means and how to resolve it.
To solve this problem, you can try the following approaches:
- Some affected dependencies have newer versions available.
You may want to consider updating them to a newer version to see if the
issue has been fixed.
num-bigint-dig v0.8.4 has the following newer versions available: 0.8.5,
0.9.0, 0.9.1
- If the issue is not solved by updating the dependencies, a fix has to
be
implemented by those dependencies. You can help with that by notifying
the
maintainers of this problem (e.g. by creating a bug report) or by
proposing a
fix to the maintainers (e.g. by creating a pull request):
- num-bigint-dig@0.8.4
- Repository: https://github.com/dignifiedquire/num-bigint
- Detailed warning command: `cargo report future-incompatibilities --id
1 --package num-bigint-dig@0.8.4`
- If waiting for an upstream fix is not an option, you can use the
`[patch]`
section in `Cargo.toml` to use your own version of the dependency. For
more
information, see:
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section
The package `num-bigint-dig v0.8.4` currently triggers the following
future incompatibility lints:
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:490:22
> |
> 490 | BigUint::new(vec![1])
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2005:9
> |
> 2005 | vec![0]
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2027:16
> |
> 2027 | return vec![b'0'];
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2313:13
> |
> 2313 | vec![0]
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/prime.rs:138:22
> |
> 138 | let mut moduli = vec![BigUint::zero(); prime_limit];
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
> -->
/Users/someonetoignore/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/bigrand.rs:319:25
> |
> 319 | let mut bytes = vec![0u8; bytes_len];
> | ^^^
> |
> = warning: this was previously accepted by the compiler but is being
phased out; it will become a hard error in a future release!
> = note: for more information, see issue #120192
<https://github.com/rust-lang/rust/issues/120192>
>
```
</details>
Release Notes:
- N/A
Kirill Bulatov created
dea3c8c
remote: More nushell fixes (#42608)
Closes https://github.com/zed-industries/zed/issues/42594 Release Notes: - Fixed remote server installation failing with nutshell
Lukas Wirth created
7eac6d2
diagnostics: Workaround weird panic in `update_path_excerpts` (#42602)
Fixes ZED-36P Patching this over for now until I can figure out the cause of this Release Notes: - Fixed panic in diagnostics pane
Lukas Wirth created
b92b283
Replace {floor/ceil}_char_boundary polyfills with std (#42599)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1fc0642
vim: Make each vim repeat its own transaction (#41735)
Release Notes: - Pressing `u` after multiple `.` in rapid succession will now only undo the latest repeat instead of all repeats. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
AidanV and Conrad Irwin created
045ac6d
Release failure visibility (#42572)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
1936f16
editor: Use a single newline between each copied line from a multi-cursor selection (#41204)
Closes #40923 Release Notes: - Fixed the amount of newlines between copied lines from a multi-cursor selection of multiple full-line copies. --- https://github.com/user-attachments/assets/ab7474d6-0e49-4c29-9700-7692cd019cef
Sean Hagstrom created
b32559f
Avoid re-creating releases when re-running workflows (#42573)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
28adedf
Disable env clearing for npm subcommands (#42587)
Fixes #39448 Several node version managers such as [volta](https://volta.sh) use thin wrappers that locate the "real" node/npm binary with an env var that points at their install root. When it finds this, it prepends the correct directory to PATH, otherwise it'll check a hardcoded default location and prepend that to PATH if it exists. We were clearing env for npm subcommands, which meant that volta and co. failed to locate the install root, and because they were installed via scoop they don't use the default install path either so it simply doesn't prepend anything to PATH (winget on the other hand installs volta to the right place, which is why it worked when using that instead of scoop to install volta @IllusionaryX). So volta's npm wrapper executes a subcommand `npm`, but when that doesn't prepend a different directory to PATH the first `npm` found in PATH is that same wrapper itself, which horrifyingly causes itself to re-exec continuously. I think they might have some logic to try to prevent this using, you'll never guess, another env var that they set whenever a volta wrapper execs something. Of course since we clear the env that var also fails to propagate. Removing env clearing (but keeping the prepending of npm path from your settings) fixes these issues. Release Notes: - Fixed issues with scoop installations of mise/volta Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
c9e2310
Report discarded zeta predictions and indicate whether they were shown (#42403)
Release Notes: - N/A --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com> Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Agus Zubiaga <agus@zed.dev>
Max Brunsfeld , Michael Sloan , Ben Kunkle , and Agus Zubiaga created
ede3b1d
Allow running concurrent unit evals (#42578)
Right now only one unit eval GitHub Action can be run at a time. This permits them to run concurrently. Release Notes: - N/A
Richard Feldman created
b0700a4
zeta eval: `--repeat` flag (#42569)
Adds a `--repeat` flag to the zeta eval that runs each example as many times as specified. Also makes the output nicer in a few ways. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Michael <michael@zed.dev>
Agus Zubiaga , Ben Kunkle , and Michael created
f2a1eb9
Make check-licenses script check that AGPL crates are not included in release binaries (#42571)
See discussion in #24657. Recalled that I had a stashed change for this, so polished it up Release Notes: - N/A
Michael Sloan created
0c1ca2a
Improve `pane: reopen closed item` to not reopen closed tabs (#42568)
Closes #42134 Release Notes: - Improved `pane: reopen closed item` to not reopen closed tabs.
Andrew Farkas created
8fd8b98
Use powershell for winget job steps (#42565)
Co-Authored-By: Claude Release Notes: - N/A
Conrad Irwin created
fd837b3
project_panel: Make natural sort ordering consistent with other apps (#41080)
The existing sorting approach when faced with `Dir1`, `dir2`, `Dir3`, would only get as far as comparing the stems without numbers (`dir` and `Dir`), and then the lowercase-first tie breaker in that function would determine that `dir2` should come first, resulting in an undesirable order of `dir2`, `Dir1`, `Dir3`. This patch defers tie-breaking until it's determined that there's no other difference in the strings outside of case to order on, at which point we tie-break to provide a stable sort. Natural number sorting is still preserved, and mixing different cases alphabetically (as opposed to all lowercase alpha, followed by all uppercase alpha) is preserved. Closes #41080 Release Notes: - Fixed: ProjectPanel sorting bug Screenshots: Before | After ----|--- <img width="237" height="325" alt="image" src="https://github.com/user-attachments/assets/6e92e8c0-2172-4a8f-a058-484749da047b" /> | <img width="239" height="325" alt="image" src="https://github.com/user-attachments/assets/874ad29f-7238-4bfc-b89b-fd64f9b8889a" /> I'm having trouble reasoning through what was previously going wrong with `docs` in the before screenshot, but it also seems to now appear alphabetically where you'd expect it with this patch --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Lucas Parry and Smit Barmase created
6b239c3
Bump Rust to 1.91.1 (#42561)
Release Notes: - N/A --------- Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Piotr Osiewicz and Julia Ryan created
73e5df6
ci: Install pre-built cargo nextest instead of rolling our own (#42556)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
b403c19
Add additional comment for context in Tyepscript highlights (#42564)
This adds additional comments which were left out from #42494 by accident. Namely, it describes why we have additional custom highlighting in `highlights.scm` for the Typescript grammar. Release Notes: - N/A
KyleBarton created
cb40677
Fix typo (#42559)
Fixed a typo in the docs Release Notes: - N/A
Konstantinos Lyrakis created
1c625f8
Fix JSON Schema documentation for `code_actions_on_format` (#42128)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
4adec27
Implement pretty TypeScript errors (#42494)
Closes #7844
This change uses tree-sitter highlights as a method of showing
typescript errors prettily, keeping regex as simple as possible:
<img width="832" height="446" alt="Screenshot 2025-11-11 at 3 40 24 PM"
src="https://github.com/user-attachments/assets/0b3b6cf1-4d4d-4398-b89b-ef5ec0df87ec"
/>
It covers three main areas:
1. Diagnostics
Diagnostics are now rendered with language-aware typescript, by
providing the project's language registry.
2. Vtsls
The LSP provider for typescript now implements the
`diagnostic_message_to_markdown` function in the `LspAdapter` trait, so
as to provide Diagnostics with \`\`\`typescript...\`\`\`-style code
blocks for any selection of typescript longer than one word. In the
single-word case, it simply wraps with \`\`
3. Typescript's `highlights.scm`
`vtsls` doesn't provide strictly valid typescript in much of its
messaging. Rather, it returns a message with snippets of typescript
values which are invalid. Tree-sitter was not properly highlighting
these snippets because it was expecting key-value formats. For instance:
```
type foo = { foo: string; bar: string; baz: number[] }
```
is valid, whereas simply
```
{ foo: string; bar: string; baz: number[] }
```
is not.
Therefore, highlights.scm needed to be adjusted in order to
pattern-match on literal values that might be returned from the vtsls
diagnostics messages. This was done by a) identifying arrow functions on
their own, and b) augmenting the `statment_block` pattern matching in
order to match on values which were clearly object literals.
This approach may not be exhaustive - I'm happy to work on any
additional cases we might identify from `vtsls` here - but hopefully
demonstrates an extensible approach to making these messages look nice,
without taking on the technical burden of extensive regex.
Release Notes:
- Show pretty TypeScript errors with language-aware Markdown.
KyleBarton created
e8daab1
debugger: Fix prevent creating breakpoints inside breakpoint editor (#42475)
Closes #38057 This PR fixes that you can no longer create breakpoints inside the breakpoint editor in code called `BreakpointPromptEditor`. As you can see, inside the after video, there is no breakpoint editor created anymore. **Before** https://github.com/user-attachments/assets/c4e02684-ac40-4176-bd19-f8f08e831dde **After** https://github.com/user-attachments/assets/f5b1176f-9545-4629-be12-05c64697a3de Release Notes: - Debugger: Prevent breakpoints from being created inside the breakpoint editor
Remco Smits created
6501b0c
zeta eval: Improve determinism and debugging ergonomics (#42478)
- Improves the determinism of the search step for better cache reusability - Adds a `--cache force` mode that refuses to make any requests or searches that aren't cached - The structure of the `zeta-*` directories under `target` has been rethought for convenience Release Notes: - N/A --------- Co-authored-by: Agus <agus@zed.dev>
Ben Kunkle and Agus created
6c0069c
zeta2: Improve error reporting and eval purity (#42470)
Closes #ISSUE
Improves error reporting for various failure modes of zeta2, including
failing to parse the `<old_text>`/`<new_text>` pattern, and the contents
of `<old_text>` failing to match.
Additionally, makes it so that evals are checked out into a worktree
with the _repo_ name instead of the _example_ name, in order to make
sure that the eval name has no influence on the models prediction. The
repo name worktrees are still namespaced by the example name like
`{example_name}/{repo_name}` to ensure evals pointing to the same repo
do not conflict.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Agus <agus@zed.dev>
Ben Kunkle and Agus created
c8930e0
Allow multiple parked threads in tests (#42551)
Closes #ISSUE Release Notes: - N/A Co-Authored-By: Piotr <piotr@zed.dev>
Conrad Irwin and Piotr created
ab352f6
Gracefully handle `@mention`-ing large files with no outlines (#42543)
Closes #32098 Release Notes: - In the Agent panel, when `@mention`-ing large files with no outline, their first 1KB is now added to context
Richard Feldman created
e791882
fs: Fix wrong watcher trace log on Linux (#42544)
Follow-up to #40200 Release Notes: - N/A
Finn Evers created
ab62739
collab: Remove unused methods from `User` model (#42536)
This PR removes some unused methods from the `User` model. Release Notes: - N/A
Marshall Bowers created
cfbde91
terminal: Add setting for scroll multiplier (#39463)
Closes #5130 Release Notes: - Added setting option for scroll multiplier of the terminal --------- Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Marco Mihai Condrache and MrSubidubi created
80b32dd
gpui: Add 'Nearest' scrolling strategy to 'UniformList' (#41844)
This PR introduces `Nearest` scrolling strategy to `UniformList`. This is now used in completions menu and the picker to choose the appropriate scrolling strategy depending on movement direction. Previously, selecting the next element after the last visible item caused the menu to scroll with `ScrollStrategy::Top`, which scrolled the whole page and placed the next element at the top. This behavior is inconsistent, because using `ScrollStrategy::Top` when moving up only scrolls one element, not the whole page. https://github.com/user-attachments/assets/ccfb238f-8f76-4a18-a18d-bbcb63340c5a The solution is to introduce the `Nearest` scrolling strategy which will internally choose the scrolling strategy depending on whether the new selected item is below or above currently visible items. This ensures a single-item scroll regardless of movement direction. https://github.com/user-attachments/assets/8502efb8-e2c0-4ab1-bd8d-93103841a9c4 I also noticed that some functions in the file have different logic depending on `y_flipped`. This appears related to reversing the order of elements in the list when the completion menu appears above the cursor. This was a feature suggested in #11200 and implemented in #23446. It looks like this feature was reverted in #27765 and there currently seem to be no way to have `y_flipped` to be set to `true`. My understanding is that the opposite scroll strategy should be used if `y_flipped`, but since there is no way to enable this feature to test it and I don't know if the feature is ever going to be reintroduced I decided not to include it in this PR. Release Notes: - gpui: Add 'Nearest' scrolling strategy to 'UniformList'
Vasyl Protsiv created
53652cd
Bump Zed to v0.214 (#42539)
Release Notes: - N/A
Joseph T. Lyons created
1d75a9c
Reverts "add OpenExcerptsSplit and dispatches on click" (#42538)
Partially reverts https://github.com/zed-industries/zed/pull/42283 to restore the old behavior of excerpt clicking. Release Notes: - N/A
Smit Barmase created
c5ab1d4
Stop thread on Restore Checkpoint (#42537)
Closes #35142 In addition to cleaning up the terminals, also stops the conversation. Release Notes: - Restoring a checkpoint now stops the agent conversation.
Richard Feldman created
1fdd95a
Revert "editor: Improve multi-buffer header filename click to jump to the latest selection from that buffer" (#42534)
Reverts zed-industries/zed#42480 This panics on Nightly in cases where anchor might not be valid for that snapshot. Taking it back before the cutoff. Release Notes: - N/A
Smit Barmase created
49634f6
Miniprofiler (#42385)
Release Notes: - Added hang detection and a built in performance profiler
localcc created
2119ac4
git_panel: Fix partially staged changes not showing up (#42530)
Release Notes: - N/A
Jakub Konka created
e833d1a
vim: Fix change surround adding unwanted spaces with quotes (#42431)
Update `Vim.change_surround` in order to ensure that there's no overlapping edits by keeping track of where the open string range ends and ensuring that the closing string range start does not go lower than the open string range end. Closes #42316 Release Notes: - Fix vim's change surrounds `cs` inserting spaces with quotes by preventing overlapping edits --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Hans and dino created
7be76c7
Use `set -x` in `script/clear-target-dir-if-larger-than` (#42525)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
c2980cb
remote_server: Bump fork to 0.4.0 (#42520)
Release Notes: - N/A
Piotr Osiewicz created