Until we land #28128, we're disabling the nightly nix builds so they're
not constantly failing.
Release Notes:
- N/A
Julia Ryan
created
24e47de
collab: Add `has_extended_trial` to `LlmTokenClaims` (#29622)
Click to expand commit body
This PR adds the `has_extended_trial` field to the LLM token claims.
Release Notes:
- N/A
Marshall Bowers
created
15a83b5
Stop routing session events via the DAP store (#29588)
Click to expand commit body
This cleans up a bunch of indirection and will make it easier to
show the session building state in the debugger terminal
Closes #ISSUE
Release Notes:
- N/A
Loosen trait bounds from `std::error::Error` to `std::fmt::Display`,
since it's not required for the `log::error!` macro or any other bounds.
Specify that `AssetLogger` specifically logs errors in its
documentation.
Use the `futures::TryFutureExt` trait extension to use `inspect_err`
directly on a future.
Release Notes:
- N/A
tidely
created
f2813f6
vim: Fix end of paragraph deletion when there's no blank lines (#29490)
Click to expand commit body
This Pull Request attempts to fix an issue where using `d}` in vim mode
would not delete all characters in case there's no blank lines at the
end of the buffer.
When calculating the end point for this motion, if there's no blank
lines at the end of the buffer, Zed was calculating it to be the last
character in the last line. However, if there's a newline at the end of
the buffer, it calculates the end point to be the point at the right of
the last character.
Here's an example, for the following buffer contents:
```
Hello!
Hello!
```
If the `d}` command is run at `(0, 0)`, the end point will be set to
`(1, 5)`. However, fi the same command is run for this buffer instead:
```
Hello!
Hello!
```
The end point will be set to `(1, 6)`, there's a 1 unit difference in
the column, which leads to all characters actually being deleted.
Closes #29393
Release Notes:
- Fixed deleting to the end of paragraph when there's no blank lines
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino
and
Conrad Irwin
created
4758173
Use image cache to stop leaking images (#29452)
Click to expand commit body
This PR fixes several possible memory leaks due to loading images in
markdown files and the image viewer, using the new image cache APIs
TODO:
- [x] Ensure this didn't break rendering in any of the affected
components.
Release Notes:
- Fixed several image related memory leaks
cf6b051
keymap: Make F10 toggle the menu on Linux (#29607)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/27271
Release Notes:
- Added support for F10 toggling menus on Linux
Peter Tripp
created
a376038
agent: Add icon for Zed's max mode (#29610)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
2973bf1
bash: Don't treat `raw_string` as bracket (#29617)
Click to expand commit body
Closes #29222
Release Notes:
- Fixed a crash when inputting `ciq` in vim mode inside of a raw string
in a bash file
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Anthony <anthony@zed.dev>
Ben Kunkle
,
Conrad
, and
Anthony
created
386970c
collab: Add support for extended Zed Pro trial (#29612)
Click to expand commit body
This PR adds support for an extended Zed Pro trial, applied based on the
presence of the `agent-extended-trial` feature flag.
Release Notes:
- N/A
Marshall Bowers
created
f7f44bf
Fix channel notes searching in buffer picker (#29611)
Click to expand commit body
Previously they all used the name "Channels" for searching, now it uses
the actual content of the channel name and status.
Release Notes:
- N/A
Julia Ryan
created
fd17f2d
agent: Enrich `grep` tool output with syntax information (#29601)
Click to expand commit body
The `grep` tool used to include 4 lines of context around the match, but
the lines included would often be unhelpful. This PR improves this
behavior by using the range of the parent syntax node that contains the
full line(s) matched.
The match headers will also now include symbol breadcrumbs so that the
model can already gather code structure before/without reading files.
````md
### impl GitRepository for RealGitRepository βΊ fn compare_checkpoints βΊ L1278-1284
```rust
let result = git
.run(&[
"diff-tree",
"--quiet",
&left.commit_sha.to_string(),
&right.commit_sha.to_string(),
])
```
````
This positively impacts the `add_arg_to_trait_method` eval example with
better diff output, fewer tool failures, and reduced total turns.
Note: We have some plans to use a an "elision" approach where we would
combine all matches for a given file, skipping lines between them while
keeping symbol declaration lines. The theory is that this would be map
more closely to the expected input for edits. For now, this PR is a
significant improvement.
Release Notes:
- Agent: Enrich `grep` tool output with syntax information
Agus Zubiaga
created
5507958
debugger: Transition to path! macro to create paths in debugger tests (#29605)
Click to expand commit body
This should prevent some cases where a test passes on one platform and
not another
Release Notes:
- N/A
Co-authored-by: Zed AI <ai@zed.dev>
Anthony Eid
and
Zed AI
created
fa40353
bedrock: Preserve thinking blocks for Bedrock (#29602)
Click to expand commit body
Fixes a regression from #29055, resolves #29290
Release Notes:
- agent: Fixed a regression that rendered Claude 3.7 Thinking unusable
on Bedrock.
Shardul Vaidya
created
83b8530
agent: Create `TerminalToolCard` and display shell output while it's running (#29546)
Click to expand commit body
Also, don't require a worktree to run the terminal tool.
Release Notes:
- N/A
JoΓ£o Marcos
created
5afb89c
collab: Take the mode into account when syncing usage to Stripe (#29606)
Click to expand commit body
This PR makes it so we take the mode that was used into account when
syncing usage over to Stripe.
Release Notes:
- N/A
Marshall Bowers
created
6386336
debugger: Fix bug where active debug line highlights weren't cleared (#29562)
Click to expand commit body
## Context
The bug occurred because we stopped propagating the
`BreakpointStoreEvent::SetDebugLine` whenever a new debug line highlight
had been set. This was done to prevent multiple panes from having
editors focus on the debug line. However, it stopped the event from
propagating to editors that needed to clear their debug line highlights.
I fixed this by introducing two phases
1. Clear all debug line highlights
2. Set active debug line highlight in singular editor
I also added a test to prevent regressions from occurring
Release Notes:
- N/A
Anthony Eid
created
c168fc3
collab: Add `mode` column to `subscription_usage_meters` table (#29603)
Click to expand commit body
This PR adds a `mode` column to the `subscription_usage_meters` table in
the LLM database.
Release Notes:
- N/A
Marshall Bowers
created
b2df395
language_models: Change default fast model for Zed provider (#29600)
Click to expand commit body
This PR changes the default fast model for the Zed provider from Claude
3.5 Haiku to Claude 3.5 Sonnet.
We don't offer Claude 3.5 Haiku to users.
Closes https://github.com/zed-industries/zed/issues/29505.
Release Notes:
- agent: Changed the default fast model for the Zed provider to Claude
3.5 Sonnet.
4812c90
agent: Support images via @file and the file context picker (#29596)
Click to expand commit body
Release Notes:
- agent: Add support for @mentioning images
- agent: Add support for including images via file context picker
---------
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Bennet Bo Fenner
and
Oleksiy Syvokon
created
fcef101
agent: Only show expand message editor when focused on it (#29595)
Click to expand commit body
Simplifying the UI as much as possible.
Release Notes:
- N/A
Probably the most relevant change in this PR is the commented out (still
pending) line number diffs. Aside from this, commits are pretty
descriptive.
Release Notes:
- N/A
Danilo Leal
created
9b37206
extensions_ui: Add design changes to expose the filters more (#29582)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/28086
The main motivator for this change is to have the "MCP Servers" filter
more clearly visible. And because of this, all other filters end up more
visible, as they're not in a dropdown menu anymore. Ended up pushing
some other small changes here and there as well. This is our final
product:
<img
src="https://github.com/user-attachments/assets/16ac78b6-72d9-4a8a-801b-b4b992221331"
width="700"/>
Release Notes:
- N/A
Release Notes:
- git: Add a `git_panel.sort_by_path` setting to mix untracked/tracked
files in the diff list.
- git: Remove the "β’" placeholder for "Tracked". The commit button says
"Commit Tracked" still by default, and this was misinterpreted to mean
"partially staged". Hovering over the button will show you which files
are tracked (in addition to the yellow square-with-a-dot-in-it).
- Increase the default value of `expand_excerpt_lines` from 3 to 5. This
makes it faster to see more context in the git diff view.
---------
Co-authored-by: Birk Skyum <birk.skyum@pm.me>
Co-authored-by: Peter Tripp <peter@zed.dev>
Conrad Irwin
,
Birk Skyum
, and
Peter Tripp
created
main was failing to build on FreeBSD.
[joblink](https://github.com/zed-industries/zed/actions/runs/14721383651/job/41315738893)
```
error[E0425]: cannot find value `platform` in this scope
--> crates/terminal/src/terminal_settings.rs:298:36
|
298 | let shell_name = format!("{platform}Exec");
| ^^^^^^^^ not found in this scope
error[E0425]: cannot find value `platform` in this scope
--> crates/terminal/src/terminal_settings.rs:304:46
|
304 | .read_value(&name(&format!("env.{platform}")))
| ^^^^^^^^ not found in this scope
```
CC: @P1n3appl3
Release Notes:
- N/A
5092f0f
collab: Sync model request overages to Stripe (#29583)
Click to expand commit body
This PR adds syncing of model request overages to Stripe.
Release Notes:
- N/A
Marshall Bowers
created
3a212e7
Fix data loss when project settings opened with ".zed" in `file_scan_exclusions` (#29578)
Click to expand commit body
Closes #28640
Before creating an entry for a file opened with `open_local_file`, make
sure it doesn't exist, in addition to checking that it isn't already
tracked in the workspace
Release Notes:
- Fixed an issue where the project settings file would be truncated when
opened with `zed: open project settings` if the ".zed" directory was
excluded from the files scanned in a workspace (in
"file_scan_exclusions")
Ben Kunkle
created
4dc8ce8
ollama: Add Qwen3 and Gemma3 (default to 16K context) (#29580)
Click to expand commit body
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
2cc5a0d
zed_extension_api: Fork new version of extension API (#29579)
Click to expand commit body
This PR forks a new version of the `zed_extension_api` in preparation
for new changes.
Release Notes:
- N/A
Marshall Bowers
created
bc665b2
Ensure thread's model is initialized once settings are loaded
Click to expand commit body
Also, avoid showing token threshold warning when thread has no model.
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld
and
Michael Sloan
created
17903a0
Associate each thread with a model (#29573)
Click to expand commit body
This PR makes it possible to use different LLM models in the agent
panels of two different projects, simultaneously. It also properly
restores a thread's original model when restoring it from the history,
rather than having it use the default model. As before, newly-created
threads will use the current default model.
Release Notes:
- Enabled different project windows to use different models in the agent
panel
- Enhanced the agent panel so that when revisiting old threads, their
original model will be used.
---------
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Max Brunsfeld
and
Richard Feldman
created
5102c4c
gpui: Fix markdown wrapped background not correctly rendering (#29571)
Click to expand commit body
Closes #29532
Fixes case where the markdown background was not rendering correctly.
This regression was introduced in
https://github.com/zed-industries/zed/pull/26454.
<img
src="https://github.com/user-attachments/assets/1e64930f-c98e-4042-a20e-46eed03293d6"
alt="image" width="400" />
Release Notes:
- Fixed an issue where markdown code blocks did not wrap correctly.
Smit Barmase
created
2139219
editor: Fix selection and bracket pair highlight not appearing on collab updates (#29558)
Click to expand commit body
This PR fixes bug where selection and bracket pair highlights would not
update when new text was added via collab.
Release Notes:
- Fixed an issue where selection and bracket pair highlights would not
update when new text was added via collab.
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
Smit Barmase
and
Ben Kunkle
created
9abeedf
collab: Rename symbols for existing Stripe synchronization (#29570)
Click to expand commit body
This PR renames the symbols for the existing Stripe synchronization.
This will make things clearer once the new synchronization job for the
new billing is added.
Release Notes:
- N/A
Marshall Bowers
created
1d7c86b
Simplify the SerializableItem::cleanup implementation (#29567)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
This PR makes it so we check for an existing Stripe customer by email
address before attempting to create a new one.
This should avoid the case where we end up creating multiple Stripe
customers for the same user.
Release Notes:
- N/A
Marshall Bowers
created
bbe8d6a
agent: Cancel pending in-edit user message upon new message submit (#29565)
Click to expand commit body
Previously, if you clicked on a user message to edit it, and then, while
the user message has the editor pending, sent a new message via the
textarea, the whole thread would be grayed out because we hadn't
dismissed the to-be-edited pending user message. That's now fixed.
Release Notes:
- agent: Fixed a bug that would make the whole thread be grayed out upon
sending a new message while a user message had a pending edit.
Danilo Leal
created
bbc6674
Make thread context wait on detailed summary + remove "Summarizing context..." (#29564)
Click to expand commit body
This moves summarization task management out of `context_store`. The
code there was draining a Vec of tasks to block on, but this is no
longer a good fit for message_editor's context loading. It needs to be
able to repeatedly await on the thread summarization tasks involved in
the context.
Discussed with Danilo, and he thinks it'd be good to remove the current
"Summarizing context" anyway since it causes layout shift. If message
send is blocked on summarizing, the pulsing context pill is sufficient
for now. This UI change made this overall change more straightforward.
Release Notes:
- N/A
Michael Sloan
created
99df119
agent: Include grep-related instructions in the prompt only if the tool is available (#29536)
Click to expand commit body
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
0e477e7
Less log spam (non git worktrees; saving with no LSP) (#29557)
Click to expand commit body
- See: https://github.com/zed-industries/zed/discussions/29541
- `failed to get git blame data:` occurred whenever opening a file that
does not have git blame data and with `git.inline_blame.enabled` = true
(the default). Notably this would be triggered whenever you opened your
settings or keymap (unless ~/.config/zed was git managed).
- `No language server found to format buffer` triggered whenever you
saved a buffer with `format_on_save` (the default for most languages)
but had no LSP configured for this file type (e.g. Plain Text).
Release Notes:
- N/A
Peter Tripp
created
0afb980
Move Show Code Actions lower in editor context menu (#29556)
Click to expand commit body
The 'Go to Definition' action is more commonly used.
Release Notes:
- N/A
Max Brunsfeld
created
d360f77
debugger: Fix bug where args from debug config weren't sent to adapters (#29445)
Click to expand commit body
I added some tests to ensure that this regression doesn't happen again.
This also fixes the cargo test locators, debugging all tests in a module
instead of just the singular test a user selects.
Release Notes:
- N/A
Anthony Eid
created
92b9bc5
format: Minor logging improvements (#29554)
Update the keymap to include:
https://neovim.io/doc/user/news-0.11.html#_defaults
This does conflict with `gr` replace with register though, is `gR` a
good alternative?
Release Notes:
- vim: Update the keymap to include: https://neovim.io/doc/user/news-0.11.html#_defaults
- vim: Replace with register has been remapped from `gr` to `gR`.
5brian
created
b41ffae
Method renaming intended to be included in #29551 (#29553)
ef33666
linux(x11): Add support for pasting images from clipboard (#29387)
Click to expand commit body
Closes:
https://github.com/zed-industries/zed/pull/29177#issuecomment-2823359242
Removes dependency on
[quininer/x11-clipboard](https://github.com/quininer/x11-clipboard) as
it is in [maintenance
mode](https://github.com/quininer/x11-clipboard/issues/19).
X11 clipboard functionality is now built-in to GPUI which was
accomplished by stripping the non-x11-related code/abstractions from
[1Password/arboard](https://github.com/1Password/arboard) and extending
it to support all image formats already supported by GPUI on wayland and
macos.
A benefit of switching over to the `arboard` implementation, is that we
now make an attempt to have an X11 "clipboard manager" (if available -
something the user has to setup themselves) save the contents of
clipboard (if the last copy operation was within Zed) so that the copied
contents can still be pasted once Zed has completely stopped.
Release Notes:
- Linux(X11): Add support for pasting images from clipboard