Commit log

dd7fce3 workspace: Remove excess clones (#35664)

Click to expand commit body
Removes a few excess clones I found. Minor formatting change by
utilizing `map_or`

Release Notes:

- N/A

tidely created

c957f5b Unpin agent thread controls (#35661)

Click to expand commit body
This PR moves the new agent thread controls so they're attached to the
last message and scroll with the thread history, instead of always being
shown above the message editor.

Release Notes:

- N/A

Cole Miller created

c595ed1 languages: Remove a eager conversion from `LanguageName` to `String` (#35667)

Click to expand commit body
This PR changes the signature of `language_names` from

```rust
pub fn language_names(&self) -> Vec<String>
// Into
pub fn language_names(&self) -> Vec<LanguageName>
```

The function previously eagerly converted `LanguageName`'s to
`String`'s, which requires the reallocation of all of the elements. The
functions get called in many places in the code base, but only one of
which actually requires the conversion to a `String`. In one case it
would do a `SharedString` -> `String` -> `SharedString` conversion,
which is now totally bypassed.

Release Notes:

- N/A

tidely created

a508a95 Handle startup failure for gemini-cli (#35624)

Click to expand commit body
This PR adds handling for the case where the user's gemini-cli binary
fails to start up because it's too old to support the
`--experimental-acp` flag. We previously had such handling, but it got
lost as part of #35578.

This doesn't yet handle the case where the server binary exits
unexpectedly after the connection is established; that'll be dealt with
in a follow-up PR since it needs different handling and isn't specific
to gemini-cli.

Release Notes:

- N/A

Co-authored-by: Agus <agus@zed.dev>

Cole Miller and Agus created

cf23f93 language: Fix no diagnostics are shown for CSS (#35663)

Click to expand commit body
Closes #30499

`vscode-css-language-server` throws a null reference error if no
workspace configuration is provided from the client.

Release Notes:

- Fixed issue where no diagnostics were shown for CSS, LESS, and SCSS.

Smit Barmase created

6b77654 onboarding: Wire up tab index (#35659)

Click to expand commit body
Closes #ISSUE

Allows tabbing through everything in all three pages. Until #35075 is
merged it is not possible to actually "click" tab focused buttons with
the keyboard.

Additionally adds an action `onboarding::Finish` and displays the
keybind. The action corresponds to both the "Skip all" and "Start
Building" buttons, with the keybind displayed similar to how it is for
the page nav buttons

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: MrSubidubi <finn@zed.dev>

Ben Kunkle and MrSubidubi created

0b5592d Add Claude Opus 4.1 (#35653)

Click to expand commit body
<img width="348" height="427" alt="Screenshot 2025-08-05 at 1 55 35 PM"
src="https://github.com/user-attachments/assets/52af17a5-0095-4ad9-9afe-ff27aab90e03"
/>

Release Notes:

- Added support for Claude Opus 4.1

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Richard Feldman and Marshall Bowers created

307d709 ci: Double Buildjet ARM runner size (24GB to 48GB ram) (#35654)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

fc2ba82 debugpy: Fetch a wheel into Zed's work dir and use that with users venv (#35640)

Click to expand commit body
Another stab at #35388
cc @Sansui233

Closes #35388

Release Notes:

- debugger: Fixed Python debug sessions failing to launch due to a
missing debugpy installation.

Piotr Osiewicz created

844ea3d Fix open with zed not focusing window (#35645)

localcc created

f017ffd Fix minidump endpoint configuration (#35646)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

19c1504 ui: Wire up tab indices within buttons (#35368)

Click to expand commit body
This change adds the current tab index functionality to buttons and
implements a proof of concept for the new welcome page.

Primarily blocked on https://github.com/zed-industries/zed/pull/34804,
secondarily on https://github.com/zed-industries/zed/pull/35075 so we
can ensure navigation always works as intended.

Another thing to consider here is whether we want to assign the tab
order more implicitly / "automatically" based on the current layout
ordering. This would generally enable us to add a default order to
focusable elements if we want this. See [the
specification](https://html.spec.whatwg.org/multipage/interaction.html#flattened-tabindex-ordered-focus-navigation-scope)
on some more context on how the web usually handles this for focusable
elements.

Release Notes:

- N/A

Finn Evers created

5940ed9 onboarding: Use a picker for the font dropdowns (#35638)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

351e8c4 Fix LiveKit audio for devices with different sample formats (#35604)

Click to expand commit body
Release Notes:

- N/A

localcc created

064c5da docs: Fix incorrect reference to JSX language (#35639)

Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/35633

Release Notes:

- N/A

Peter Tripp created

22473fc Stop sending redundant LSP proto requests (#35581)

Click to expand commit body
Before, each time any LSP feature was used on client remote, it always
produced a `proto::` request that always had been sent to the host, from
where returned as an empty response.

Instead, propagate more language server-related data to the client,
`lsp::ServerCapability`, so Zed client can omit certain requests if
those are not supported.

On top of that, rework the approach Zed uses to query for the data
refreshes: before, editors tried to fetch the data when the server start
was reported (locally and remotely).
Now, a later event is selected: on each `textDocument/didOpen` for the
buffer contained in this editor, we will query for new LSP data, reusing
the cache if needed.

Before, servers could reject unregistered files' LSP queries, or process
them slowly when starting up.
Now, such refreshes are happening later and should be cached.

This requires a collab DB change, to restore server data on rejoin.

Release Notes:

- Fixed excessive LSP requests sent during remote sessions

Kirill Bulatov created

5b40b36 Add `workspace::ToggleEditPrediction` for toggling inline completions globally (#35418)

Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/23704

Existing action is `editor::ToggleEditPrediction` ("This Buffer").
This action is `workspace::ToggleEditPredction` ("All Files").

You can add a custom keybind wi shortcut with:
```json
  { "context": "Workspace", "bindings": { "ctrl-alt-cmd-e": "workspace::ToggleEditPrediction" } },
```

<img width="212" height="439" alt="Screenshot 2025-07-31 at 12 52 19"
src="https://github.com/user-attachments/assets/15879daa-7d4d-4308-ab2b-5e78507f2fa5"
/>


Release Notes:

- Added `workspace::ToggleEditPrediction` action for toggling
`show_edit_predictions` in settings (Edit Predictions menu -> All
Files).

Peter Tripp created

4972524 agent: Update link to OpenAI compatible docs (#35620)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

919b888 ruff: Bump to 0.1.1 (#35635)

Click to expand commit body
We want Ruff to be built with newer Rust version (as it was built
pre-1.84 where we've fixed a bug in std).

Closes #35627

Release Notes:

- N/A

Piotr Osiewicz created

efba436 Ensure client reconnects if an error occurs during authentication (#35629)

Click to expand commit body
In #35471, we added a new `AuthenticationError` variant to the client
enum `Status`, but the reconnection logic was ignoring it when
determining whether to reconnect.

This pull request fixes that regression and introduces test coverage for
this case.

Release Notes:

- N/A

Antonio Scandurra created

6c83a3b Add more information to our logs (#35557)

Click to expand commit body
Add more logging to collab in order to help diagnose throughput issues.

IMPORTANT: Do not deploy this PR without pinging me.

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Mikayla Maki and Max Brunsfeld created

669c57b Add minidump crash reporting (#35263)

Click to expand commit body
- [x] Handle uploading minidumps from the remote_server
- [x] Associate minidumps with panics with some sort of ID (we don't use
session_id on the remote)
  - [x] Update the protobufs and client/server code to request panics
- [x] Upload minidumps with no corresponding panic
- [x] Fill in panic info when there _is_ a corresponding panic
- [x] Use an env var for the sentry endpoint instead of hardcoding it

Release Notes:

- Zed now generates minidumps for crash reporting

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Julia Ryan and Max Brunsfeld created

07e3d53 sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482)

Click to expand commit body
This is a bit of a readability improvement IMHO; I often find myself
confused when dealing when dimension pairs, as there's no easy way to
jump to the implementation of a dimension for tuples to remind myself
for the n-th time how exactly that impl works. Now it should be possible
to jump directly to that impl.

Another bonus is that Dimension supports 3-ary tuples as well - by using
a () as a default value of a 3rd dimension.


Release Notes:

- N/A

Piotr Osiewicz created

be2f54b agent: Update pieces of copy in the settings view (#35621)

Click to expand commit body
Some tiny updates to make the agent panel's copywriting sharper.

Release Notes:

- N/A

Danilo Leal created

a9c44ac assistant_tool: Fix rejecting edits deletes newly created and accepted files (#35622)

Click to expand commit body
Closes #34108
Closes #33234

This PR fixes a bug where a file remained in a Created state after
accept, causing following reject actions to incorrectly delete the file
instead of reverting back to previous state. Now it changes it to
Modified state upon "Accept All" and "Accept Hunk" (when all edits are
accepted).

- [x] Tests

Release Notes:

- Fixed issue where rejecting AI edits on newly created files would
delete the file instead of reverting to previous accepted state.

Smit Barmase created

06226e1 onboarding: Show indication that settings have already been imported (#35615)

Click to expand commit body
Co-Authored-By: Danilo <danilo@zed.dev>
Co-Authored-By: Anthony <anthony@zed.dev>

Release Notes:

- N/A

Ben Kunkle created

e1d0e3f onboarding: Add explainer tooltips for the editing and AI section (#35619)

Click to expand commit body
Includes the ability to add a tooltip for both the badge and switch
field components.

Release Notes:

- N/A

Danilo Leal created

afc4f50 debugger: Ensure that Python's adapter work dir exists (#35618)

Click to expand commit body
Closes #ISSUE

cc @Sansui233 who triaged this in
https://github.com/zed-industries/zed/issues/35388#issuecomment-3146977431
Release Notes:

- debugger: Fixed an issue where a Python debug adapter could not be
installed when debugging Python projects for the first time.

Piotr Osiewicz created

91bbdb7 debugger: Install debugpy into user's venv if there's one selected (#35617)

Click to expand commit body
Closes #35388


Release Notes:

- debugger: Fixed Python debug sessions failing to launch due to a
missing debugpy installation. Debugpy is now installed into user's venv
if there's one available.

Piotr Osiewicz created

182edbf git_panel: Improve toast messages for push/pull/fetch (#35092)

Click to expand commit body
On GitLab, when pushing a branch and a MR already existing the remote
log contains "View merge request" and the link to the MR.

Fixed `Already up to date` stdout check on pull (was `Everything up to
date` on stderr)
Fixed `Everything up-to-date` check on push (was `Everything up to
date`)
Improved messaging for up-to-date for fetch/push/pull
Fixed tests introduced in
https://github.com/zed-industries/zed/pull/33833.

<img width="470" height="111" alt="Screenshot 2025-07-31 at 18 37 05"
src="https://github.com/user-attachments/assets/2a5dcc4c-6f53-4a85-b983-8e25149efcc0"
/>

Release Notes:

- Git UI: Add "View Pull Request" when pushing to Gitlab remotes
- git: Improved toast messages on fetch/push/pull

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Guillaume Launay and Peter Tripp created

24e7f86 onboarding: Go back to not having system be separate (#35499)

Click to expand commit body
Going back to having system be mutually exclusive with light/dark to
simplify the system. We instead just show both light and dark when
system is selected

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Ben Kunkle , Danilo Leal , and Anthony Eid created

68c2465 zeta: Collect git sha / remote urls when data collection from OSS is enabled (#35514)

Click to expand commit body
Release Notes:

- Edit Prediction: Added Git info to edit predictions requests (only
sent for opensource projects when data collection is enabled). The sent
Git info is the SHA of the current commit and the URLs for the `origin`
and `upstream` remotes.

Michael Sloan created

3df5394 linux: Make desktop file executable (#35597)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/35545

Release Notes:

- linux: Improved support for `zed://` urls on Linux

Peter Tripp created

6e77c6a onboarding: Adjust the welcome page a bit (#35600)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

1325bf1 Update to acp 0.0.18 (#35595)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

f3f2dba Minor stylistic cleanup in Windows platform (#35503)

Click to expand commit body
This PR doesn't change any logic, it just cleans up some naming and
style in the windows platform layer.

* Rename `WindowsWindowStatePtr` to `WindowsWindowInner`, since it isn't
a pointer type.
* Move window event handler methods into an impl on this type, so that
all of the `state_ptr: &Rc<WindowsWindowInner>` parameters can just be
replaced with `&self`.
* In window creation, use a `match` instead of a conditional followed by
an unwrap

There's a lot of whitespace in the diff, so view it with `w=1`.

Release Notes:

- N/A

Max Brunsfeld created

0ea4016 onboarding: Adjust skip button as flow progresses (#35596)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

9fa634f git: Add option to branch from default branch in branch picker (#34663)

Click to expand commit body
Closes #33700

The option shows up as an icon that appears on entries that would create
a new branch. You can also branch from the default by secondary
confirming, which the icon has a tooltip for as well.

We based the default branch on the results from this command: `git
symbolic-ref refs/remotes/upstream/HEAD` and fallback to `git
symbolic-ref refs/remotes/origin/HEAD`

Release Notes:

- Add option to create a branch from a default branch in git branch
picker

---------

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

Anthony Eid and Cole Miller created

fa8dd1c agent: Adjust full screen menu item label and background color (#35592)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

2c8f144 workspace: Fix not able to close tab when buffer save fails (#35589)

Click to expand commit body
Closes #26216, Closes #35517

Now we prompt user if buffer save failed, asking them to close without
saving or cancel the action.

Release Notes:

- Fixed issue where closing read-only or deleted buffer would not close
that tab.

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Smit Barmase and Lukas Wirth created

bf361c3 search: Update results multi-buffer before search is finished (#35470)

Click to expand commit body
I'm not sure when we've lost that notify, but it's causing the time to
first search result equal to the time to run the whole search, which is
not great.

Co-authored-by: Remco <djsmits12@gmail.com>

This discussion has originally started in #35444

Release Notes:

- Improved project search speed.

Co-authored-by: Remco <djsmits12@gmail.com>

Piotr Osiewicz and Remco created

65018c2 Rename remaining mentions of "inline completion" to "edit prediction" (#35512)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

8588572 agent: Fix scrolling in the "Add LLM Provider" modal (#35584)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/35402

Release Notes:

- agent: Fix scrolling in the "Add LLM Provider" modal

Danilo Leal created

899bc8a Fix edit prediction disablement with `"disable_ai": true` setting (#35513)

Click to expand commit body
Even after #35327 edit predictions were still being queried and shown
after setting `"disable_ai": true`

Also moves `DisableAiSettings` to the `project` crate so that it gets
included in tests via existing use of `Project::init_settings(cx)`.

Release Notes:

- Fixed `"disable_ai": true` setting disabling edit predictions.

Michael Sloan created

d577ef5 thread view: Scroll to the bottom when sending new messages + adjust controls display (#35586)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

bb5af6f Fix escape in terminal with JetBrains keymap (#35585)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/35429
Closes https://github.com/zed-industries/zed/issues/35091
Follow-up to: https://github.com/zed-industries/zed/pull/35230

Release Notes:

- Fix `escape` in Terminal broken in JetBrains compatability keymaps

Peter Tripp created

a6a34da Fix gemini e2e tests (#35583)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

5f77c6a docs: Rewrite the OpenAI compatible API section (#35558)

Click to expand commit body
This PR updates the OpenAI compatible API section clarifying that API
keys aren't stored in the `settings.json`. It also updates the JSON as
some fields are not available anymore.

Release Notes:

- docs: Updated the OpenAI compatible API section to clarify API keys
aren't stored in your `settings.json`.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Joshua Byrd and Danilo Leal created

0609c8b Revise and clean up some icons (#35582)

Click to expand commit body
This is really just a small beginning, as there are many other icons to
be revised and cleaned up. Our current set is a bit of a mess in terms
of dimension, spacing, stroke width, and terminology. I'm sure there are
more non-used icons I'm not covering here, too. We'll hopefully tackle
it all soon leading up to 1.0.

Closes https://github.com/zed-industries/zed/issues/35576

Release Notes:

- N/A

Danilo Leal created

8b573d4 evals: Retry on Anthropic's internal and transient I/O errors (#35395)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created