Commit log

11c7b49 Fix panic feature flag detection (#35245)

Click to expand commit body
The flag was being checked before feature flags were resolved.

Release Notes:

- N/A

Julia Ryan created

ca34ead onboarding: Add proper icon for action (#35241)

Click to expand commit body
This change updates one icon within the onboarding flow to the indended
icon for that entry.

Release Notes:

- N/A

Finn Evers created

158f65f gpui: Ensure tab index handles are properly reused across frames (#35235)

Click to expand commit body
This fixes an issue where focus handles with a tab index would get lost
between rendered frames because the focus handles were not reused for
the following paint cycle.

Release Notes:

- N/A

Finn Evers created

fa6b1a0 keymap_ui: Fix bug introduced in #35208 (#35237)

Click to expand commit body
Closes #ISSUE

Fixes a bug that was cherry picked onto stable and preview branches
introduced in #35208 whereby modifier keys would show up and not be
removable when editing a keybind

Release Notes:

- (preview only) Keymap Editor: Fixed an issue introduced in v0.197.2
whereby modifier keys would show up and not be removable while recording
keystrokes in the keybind edit modal

Ben Kunkle created

f3dc842 keymap editor: Make table denser (#35236)

Click to expand commit body
Hopefully, this will make it a bit easier to parse as a whole.

Release Notes:

- Made the keymap editor denser, improving how easy you can parse it at
a glance.

Danilo Leal created

7ccf8c2 onboarding: Continue work on new flow (#35233)

Click to expand commit body
This PR continues the work on the new and revamped onboarding flow.


Release Notes:

- N/A

Finn Evers created

8207621 Improve JetBrains keymap for dock toggling (#35234)

Click to expand commit body
Follow-up to: 
- https://github.com/zed-industries/zed/pull/34641
- https://github.com/zed-industries/zed/pull/35230

This improves Zed's behavior with the Jetbrains keymap for toggling
specific docks/sidebars with cmd-0 thru cmd-9 (macos) and alt-0 thru
alt-9 (linux). Added in
https://github.com/zed-industries/zed/pull/34641. Additionally, this
also maps `ctrl-b` / `ctrl-alt-`b to their JetBrains equivalents
(`editor::GoToDefinition` and `editor::GoToDefinitionSplit`) instead of
the default vscode-compatable behavior (toggle left / right dock). This
is because we those specific toggles and a default Hide keyboard
shortcut (`shift-escape`) added in
https://github.com/zed-industries/zed/pull/35230.

Thanks to @thomaseizinger for raising this in:
-
https://github.com/zed-industries/zed/discussions/34643#discussioncomment-13856746

Release Notes:

- Improve support keyboard-based dock show/hide in Jetbrains keymap.

Peter Tripp created

ab90ed4 collab: Remove `POST /billing/subscriptions/sync` endpoint (#35232)

Click to expand commit body
This PR removes the `POST /billing/subscriptions/sync` endpoint, as it
has been moved to `cloud.zed.dev`.

Release Notes:

- N/A

Marshall Bowers created

994d400 Map shift-escape in the Jetbrains keymaps (#35230)

Click to expand commit body
Release Notes:

- Added support for closing docks (sidebars) with `shift-escape` in the
Jetbrains keymaps.

Peter Tripp created

cf13a76 editor: Prioritize fuzzy score over sort positions in code completion sort (#35229)

Click to expand commit body
We already prioritize matches that come after separators like `_`: 


https://github.com/zed-industries/zed/blob/cef7d53607381975ea00d6302d8a9aab3c40eb1f/crates/fuzzy/src/matcher.rs#L274

and deprioritize non-consecutive matches using distance penalty:


https://github.com/zed-industries/zed/blob/cef7d53607381975ea00d6302d8a9aab3c40eb1f/crates/fuzzy/src/matcher.rs#L281

In completion sort, letting fuzzy score be the primary sort factor and
sort positions be secondary yields better results upon testing. We still
need sort positions because of this kind of test case:


https://github.com/zed-industries/zed/blob/cef7d53607381975ea00d6302d8a9aab3c40eb1f/crates/editor/src/code_completion_tests.rs#L195-L217

Before/After:

<img height="250" alt="image"
src="https://github.com/user-attachments/assets/38495576-add6-4435-93f0-891f48ec9263"
/>
<img height="250" alt="image"
src="https://github.com/user-attachments/assets/0c73b835-0e23-4e30-a3ff-28bb56294239"
/>


Release Notes:

- N/A

Smit Barmase created

b64977f Use zed settings to detect `.zed` folders (#35224)

Click to expand commit body
Behind-the-scenes enhancement of
https://github.com/zed-industries/zed/pull/35221

Release Notes:

- N/A

Richard Feldman created

c3920b8 editor: Ensure code actions menu doesn't grow beyond its max size (#35211)

Click to expand commit body
This resolves the same issue as fixed by
https://github.com/zed-industries/zed/pull/34939/commits/d295409f0fc9c1ccd5e06e91c1c5365e96f16486
for the code actions menu.

No release notes since this only occurs on Nightly.

Release Notes:

- N/A

Finn Evers created

055a9f2 Fix keybinds and 'No default binding' shown in docs (#35227)

Click to expand commit body
Previously:
<img width="724" height="234" alt="Screenshot 2025-07-28 at 14 49 50"
src="https://github.com/user-attachments/assets/b5203316-221d-4af5-8190-124f9b2b4cdf"
/>


Release Notes:

- N/A

Peter Tripp created

a55bd49 Allow edit tool to access files outside project (with confirmation) (#35221)

Click to expand commit body
Now the edit tool can access files outside the current project (just
like the terminal tool can), but it's behind a prompt (unlike other edit
tool actions).

Release Notes:

- The edit tool can now access files outside the current project, but
only if the user grants it permission to.

Richard Feldman created

a57e4dc Upload debug info to sentry.io in nightly builds (#35089)

Click to expand commit body
This is a preparatory change which will allow us to use sentry for crash
reporting once we start uploading minidumps.

Release Notes:

- N/A

Julia Ryan created

eef15ab keymap_ui: Additional keystroke input polish (#35208)

Click to expand commit body
Closes #ISSUE

Fixed various issues and improved UX around the keystroke input
primarily when used for keystroke search.

Release Notes:

- Keymap Editor: FIxed an issue where the modifiers used to activate
keystroke search would appear in the keystroke search
- Keymap Editor: Made it possible to search for repeat modifiers, such
as a binding with `cmd-shift cmd`
- Keymap Editor: Made keystroke search matches match based on ordered
(not necessarily contiguous) runs. For example, searching for `cmd
shift-j` will match `cmd-k cmd-shift-j alt-q` and `cmd-i g shift-j` but
not `alt-k shift-j` or `cmd-k alt-j`
- Keymap Editor: Fixed the clear keystrokes binding (`delete` by
default) not working in the keystroke input

Ben Kunkle created

5aa8425 Update Nightly app icon (#35215)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/35119.

Release Notes:

- N/A

Danilo Leal created

05d3473 Fix Nushell environment variables (#35166)

Click to expand commit body
- Fixes environment variable ingestion for Nushell.

Closes #35056

Release Notes:

- N/A

Todd L Smith created

3dc36dc git: Touch up amend UX (#35114)

Click to expand commit body
Follow-up to #26114

- Ensure that the previous commit message is filled in when toggling on
amend mode from the context menu
- Fix keybinding flicker in context menu

Release Notes:

- N/A

Cole Miller created

fd68265 Fix integration tests for claude (#35212)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

5e2da04 debugger: Fix the terminal popping up when the Rust debugger starts on Windows (#35125)

Click to expand commit body
This PR fixs a terminal popping up when debugging Rust on Windows.


Release Notes:

- N/A

---------

Co-authored-by: 张小白 <364772080@qq.com>

devjasperwang and 张小白 created

c2fc70e ACP over MCP server impl (#35196)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Agus Zubiaga and Ben Brandt created

b02ae77 ai onboarding: Add first-open upsell card (#35199)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

3a1b184 Fix debugger on Windows (#35180)

Click to expand commit body
Closes #33429

Release Notes:

- N/A

张小白 created

4aae7ae debugger: Fix not being able to stop a Go debug session when no breakpoints were ever hit (#35190)

Click to expand commit body
Fixes #35030

Release Notes:

- debugger: Fixed a bug where a Go debug session could not be stopped if
no breakpoint was ever hit.

Piotr Osiewicz created

cef7d53 collab: Refine call buttons design (#35007)

Click to expand commit body
Making icons consistent, adjusting spacing, and moving the "Leave Call"
button to be the very last, which makes more sense to me than the
"Share" button being the last. Sharing your project is still part of the
call, so in the left edge of the button strip is where, conceptually,
the option to end the call should be, I think!

Release Notes:

- N/A

Danilo Leal created

3ad0546 Re-add `TestScreenCaptureStream` implementation for `mock_client` to fix FreeBSD and MinGW builds (#35191)

Click to expand commit body
The implementation was removed in #31506. re-added it to match the
current implementation from `gpui::test`

Closes #35189

Release Notes:

- N/A

Maksim Bondarenkov created

e38f575 ci: Use cargo update --locked instead of --frozen (#35192)

Click to expand commit body
This fixes false positives when e.g. bumping git deps

Release Notes:

- N/A

Piotr Osiewicz created

2566acc go: Support benchmarks named "Benchmark" (#35167)

Click to expand commit body
The regular expression for benchmarks was enforcing using a suffix
(e.g., `BenchmarkFoo`), but `Benchmark` is a valid benchmark name, just
as `Test` is a valid test name, and `Fuzz` is a valid fuzz test name.

Release Notes:

- Add support for running Go benchmarks named "Benchmark"

Robert Fratto created

45b3af7 doc: Add docs for Forcing X11 scale factor (#35181)

Click to expand commit body
Associated PR: https://github.com/zed-industries/zed/pull/34265
Recent Discussion:
https://github.com/zed-industries/zed/issues/33987#issuecomment-3125936302

Release Notes:

- N/A

Smit Barmase created

ee9b60e gpui: Fix inset being used in SSD on Wayland (#35151)

Click to expand commit body
Closes #31330

Second parts of https://github.com/zed-industries/zed/pull/31335

While the initial fix set the inset during drawing, that was after the
window was resized, resulting in needing to manually resize the window
for the change to properly take effect.

I updated the code to not make the Wayland renderer rely on
`client_inset` being updated by the API user to match with the
decoration mode (given it is supposed to only be used when using CSD).

I might later try to generalize that, and eventually make the
client_inset only defined on window creation (instead of inside
`client_side_decorations`, that would need testing on X) (and maybe also
allow configuration for shadow, but it’s not something I need).

Release Notes:

- Fixed switching from client side decoration to server side decoration
on Wayland

marius851000 created

2a0aad0 Docs: Fix invalid JSON syntax in Visual Customizations - Editor Scrollbar and Minimap (#35159)

Click to expand commit body
I was on the [Visual Customiztions - Editor
Scrollbar](https://zed.dev/docs/visual-customization#editor-scrollbar)
section of the docs, and copy and pasted the code block into my personal
Zed settings and saw there was a syntax error.

This is a PR to add a missing comma and fix the syntax error in the
docs.

First time contributing, please let me know if I missed any
steps/important info.

Release Notes:

- N/A

lowlandghost created

e7b5d93 docs: Add more improvements to the AI docs (#35160)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/35133 with some
more findings upon re-reviewing it again.

Release Notes:

- N/A

Danilo Leal created

c995d45 agent_servers: Include result text in Claude error messages (#35156)

Click to expand commit body
This will better surfaces issues that are classified as "success" but
actually have a more meaningful error message attached.

Release Notes:

- N/A

Ben Brandt created

a5b7cfd agent_servers: Use built-in interrupt handling for Claude sessions (#35154)

Click to expand commit body
We no longer have to stop and restart the entire process. 
I left in the Start/Resume mode handling since we will likely need to
handle restarting Claude in other situations.

Release Notes:

- N/A

Ben Brandt created

89e88c2 extension_host: Add `npm:install` capability (#35144)

Click to expand commit body
This PR adds a new `npm:install` capability for installing npm packges
in extensions.

Currently all npm packages are allowed.

Release Notes:

- N/A

Marshall Bowers created

2a0170d extension: Reorganize capabilities (#35143)

Click to expand commit body
This PR reorganizes the capabilities within the `extension` crate to
make it easier to add more.

Release Notes:

- N/A

Marshall Bowers created

6a9a539 extension_host: Add capability for downloading files (#35141)

Click to expand commit body
This PR adds a new capability for downloading files in extensions.

Currently all file downloads are allowed.

Release Notes:

- N/A

Marshall Bowers created

d7b403e extension_host: Refactor capability checks (#35139)

Click to expand commit body
This PR refactors the extension capability checks to be centralized in
the `CapabilityGranter`.

Release Notes:

- N/A

Marshall Bowers created

290f84a docs: Restructure and improve AI configuration docs (#35133)

Click to expand commit body
Adding a number of settings that weren't documented, restructuring
things a bit to separate what is model-related settings from agent panel
usage-related settings, adding the recently introduced `disable_ai` key,
and more.

Release Notes:

- Improved docs around configuring and using AI in Zed

Danilo Leal created

08402e2 ui: Fix scrollbar mouse down handler (#35131)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/35121 - in the
process of adding the check for the left mouse button to the guard
(which was practically already there before, just not in the mouse-down
listener), I accidentally removed the negation for the bounds check.
This PR fixes this.

Release Notes:

- N/A

Finn Evers created

e911364 ui: Clean up scrollbar component (#35121)

Click to expand commit body
This PR does some minor cleanup to the scrollbar component. Namely, it
removes some clones, reduces the amount of unnecessary notifies and
ensures the scrollbar hover state is more accurately updated.

Release Notes:

- N/A

Finn Evers created

4854f83 agent: Fix settings view switch field about permissions for running commands (#35120)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/34866, where I
mistakenly didn't update the copy and id for this item.

Closes https://github.com/zed-industries/zed/issues/34850 — that's
because the edit tool runs by default, but the terminal tool does not. I
updated the original copy to reflect this, which should be enough to
close the issue, given that in terms of behavior, it is working
correctly.

Release Notes:

- agent: Fixed duplicated settings item in the agent panel as well as
improve copy for the setting to allow running commands without
permission.

Danilo Leal created

6a79c4e ui: Add `ToggleButtonGroup` component (#35118)

Click to expand commit body
<img width="600" height="704" alt="CleanShot 2025-07-25 at 8  03 04@2x"
src="https://github.com/user-attachments/assets/3d2b29ba-e0fd-4231-bb80-746903d61481"
/>

Release Notes:

- N/A

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>

Danilo Leal and MrSubidubi created

aea3091 Update the new Nightly app icon (#35119)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/35104, with some
tiny design updates.

Release Notes:

- N/A

Danilo Leal created

43d0aae languages: Fix Bash indentation issues with multi-cursors, newlines, and keyword outdenting (#35116)

Click to expand commit body
Closes #34390

This PR fixes several Bash indentation issues:

- Adding indentation or comment using multi cursors no longer breaks
relative indentation
- Adding newline now places the cursor at the correct indent
- Typing a valid keyword triggers context-aware auto outdent

It also adds tests for all of them.

Release Notes:

- Fixed various issues with handling indentation in Bash.

Smit Barmase created

07252c3 git: Enable git stash in git panel (#32821)

Click to expand commit body
Related discussion #31484

Release Notes:

- Added a menu entry on the git panel to git stash and git pop stash. 

Preview: 


![Screenshot-2025-06-17_08:26:36](https://github.com/user-attachments/assets/d3699ba4-511f-4c7b-a7cc-00a295d01f64)

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Alvaro Parker and Cole Miller created

4d00d07 Render paths to a single fixed-size MSAA texture (#34992)

Click to expand commit body
This is another attempt to solve the same problem as
https://github.com/zed-industries/zed/pull/29718, while avoiding the
regression on Intel GPUs.

###  Background

Currently, on main, all paths are first rendered to an intermediate
"atlas" texture, similar to what we use for rendering glyphs, but with
multi-sample antialiasing enabled. They are then drawn into our actual
frame buffer in a separate pass, via the "path sprite" shaders.

Notably, the intermediate texture acts as an "atlas" - the paths are
laid out in a non-overlapping way, so that each path could be copied to
an arbitrary position in the final scene. This non-overlapping approach
makes a lot sense for Glyphs (which are frequently re-used in multiple
places within a frame, and even across frames), but paths do not have
these properties.
* we clear the atlas every frame
* we rasterize each path separately. there is no deduping.

The problem with our current approach is that the path atlas textures
can end up using lots of VRAM if the scene contains many paths. This is
more of a problem in other apps that use GPUI than it is in Zed, but I
do think it's an issue for Zed as well. On Windows, I have hit some
crashes related to GPU memory.

In https://github.com/zed-industries/zed/pull/29718, @sunli829
simplified path rendering to just draw directly to the frame buffer, and
enabled msaa for the whole frame buffer. But apparently this doesn't
work well on Intel GPUs because MSAA is slow on those GPUs. So we
reverted that PR.

### Solution

With this PR, we rasterize paths to an intermediate texture with MSAA.
But rather than treating this intermediate texture like an *atlas*
(growing it in order to allocate non-overlapping rectangles for every
path), we simply use a single fixed-size, color texture that is the same
size as thew viewport. In this texture, we rasterize the paths in their
final screen position, allowing them to overlap. Then we simply blit
them from the resolved texture to the frame buffer.

### To do

* [x] Implement for Metal
* [x] Implement for Blade
* [x] Fix content masking for paths
* [x] Fix rendering of partially transparent paths
* [x] Verify that this performs well on Intel GPUs (help @notpeter 🙏 )
* [ ] Profile and optimize

Release Notes:

- N/A

---------

Co-authored-by: Junkui Zhang <364772080@qq.com>

Max Brunsfeld and Junkui Zhang created

bf8e427 Add a CI check that Cargo.lock is up to date (#35111)

Click to expand commit body
Should catch cases like #33667 where a dependency was bumped in
Cargo.toml without a corresponding lockfile update. (This can happen
when committing from outside of Zed or if rust-analyzer isn't running.)
Passing `--frozen --workspace` should ensure this doesn't fail just
because there's a newer patch version of some third-party dependency,
and prevent it from taking long.

We only need to run this on macOS because Cargo.lock is
platform-independent.

Release Notes:

- N/A

Cole Miller created

f787f7d Update `Cargo.lock` (#35106)

Click to expand commit body
This PR updates the `Cargo.lock` file, as it seems like it wasn't fully
updated in https://github.com/zed-industries/zed/pull/35103.

Release Notes:

- N/A

Marshall Bowers created