Commit log

2cde6da Redesign and clean up all icons across Zed (#35856)

Click to expand commit body
- [x] Clean up unused and old icons
- [x] Swap SVG for all in-use icons with the redesigned version
- [x] Document guidelines

Release Notes:

- N/A

Danilo Leal created

530f507 ui: Fix switch field info tooltip (#35882)

Click to expand commit body
Passing an empty on_click handler so that clicking on the info icon
doesn't actually trigger the switch itself, which happens if you click
anywhere in the general switch field surface area.

Release Notes:

- N/A

Danilo Leal created

315a920 Ensure Edit Prediction provider is properly assigned on sign-in (#35885)

Click to expand commit body
This PR fixes an issue where Edit Predictions would not be available in
buffers that were opened when the workspace loaded.

The issue was that there was a race condition between fetching/setting
the authenticated user state and when we assigned the Edit Prediction
provider to buffers that were already opened.

We now wait for the event that we emit when we have successfully loaded
the user in order to assign the Edit Prediction provider, as we'll know
the user has been loaded into the `UserStore` by that point.

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

Release Notes:

- Fixed an issue where Edit Predictions were not working in buffers that
were open when the workspace initially loaded.

Co-authored-by: Richard Feldman <oss@rtfeldman.com>

Marshall Bowers and Richard Feldman created

f2435f7 onboarding: Fix a double lease panic caused by Onboarding::clone_on_split (#35815)

Click to expand commit body
Release Notes:

- N/A

Anthony Eid created

327456d context menu: Fix go to first element on context menu (#35875)

Click to expand commit body
Closes #35873

Release Notes:

- Fixed bug where context menu doesn't circle back to the first item
when the last item is not selectable

Alvaro Parker created

2a310d7 windows: Fix the issue where `ags.dll` couldn’t be replaced during update (#35877)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

张小白 and Kirill Bulatov created

db90127 Lay the groundwork to create terminals in `AcpThread` (#35872)

Click to expand commit body
This just prepares the types so that it will be easy later to update a
tool call with a terminal entity. We paused because we realized we want
to simplify how terminals are created in zed, and so that warrants a
dedicated pull request that can be reviewed in isolation.

Release Notes:

- N/A

---------

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

Antonio Scandurra and Ben Brandt created

51298b6 Use `Project`'s EntityId as the "window id" for Alacritty PTYs (#35876)

Click to expand commit body
It's unfortunate to need to have access to a GPUI window in order to
create a terminal, because it forces to take a `Window` parameter in
entities that otherwise would have been pure models.

This pull request changes it so that we pass the `Project`'s entity id,
which is equally stable as the window id.

Release Notes:

- N/A

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

Antonio Scandurra and Ben Brandt created

95547f0 Add release_channel data to request child spans (#35874)

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

Release Notes:

- N/A

Kirill Bulatov created

f0782aa agent: Don't error when the agent navigation history hasn't been persisted (#35863)

Click to expand commit body
This causes us to log an unrecognizable error on every startup otherwise

Release Notes:

- N/A

Lukas Wirth created

8430197 Restore accidentally deleted `EditFileTool::still_streaming_ui_text` (#35871)

Click to expand commit body
This was accidentally removed in #35844.

Release Notes:

- N/A

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

Antonio Scandurra and Ben Brandt created

d5c4e4b languages: Fix digest check on downloaded artifact for clangd (#35870)

Click to expand commit body
Closes 35864

Release Notes:

- N/A

Lukas Wirth created

2526dcb agent2: Port `edit_file` tool (#35844)

Click to expand commit body
TODO:
- [x] Authorization
- [x] Restore tests

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Agus Zubiaga , Antonio Scandurra , and Ben Brandt created

d705585 Fix file unlocking after closing the workspace (#35865)

Click to expand commit body
Release Notes:

- Fixed folders being locked after closing them in zed

localcc created

bc32b5a Project panel faster (#35634)

Click to expand commit body
- **Use a struct instead of a thruple for visible worktree entries**
- **Try some telemetry**

Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Conrad Irwin and Piotr Osiewicz created

0097d89 language: Fix rust completion labels with `fullFunctionSignature` config (#35823)

Click to expand commit body
Release Notes:

- N/A

Lukas Wirth created

eb22639 cli: Use existing release channel name (#34771)

Click to expand commit body
Remove the local `RELEASE_CHANNEL` source that seems to be used only for
Linux as opposed to `channel_release::CHANNEL_RELEASE_NAME` for other
platform
Windows:
https://github.com/zed-industries/zed/blob/eee1b1f8a8ba47a14efc524a21b63d896b03feff/crates/cli/src/main.rs#L681-L685

Release Notes:

- N/A

Jakub Panek created

738968e editor: Consider mixed hover link kinds when navigating to multibuffer (#35828)

Click to expand commit body
Previously when handling multiple hover links we filtered non-location
links out which may end up with a single location entry only, resulting
in us opening a multi buffer for a single location. This changes the
logic to do the filtering first, then deciding on whether to open a
single buffer or multi buffer.

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

Release Notes:

- N/A

Lukas Wirth created

edef1f1 Fix acp generating status after stop (#35852)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

3bee803 Use TMPDIR environment variable in install script (#35636)

Click to expand commit body
## Summary
This PR updates the install script to respect the `TMPDIR` environment
variable when creating temporary directories.

## Motivation
Some environments have non-standard temporary directory locations or
restrictions on `/tmp`. This change allows users to specify an
alternative temporary directory by setting the `TMPDIR` environment
variable.

## Changes
- Check if `TMPDIR` is set and points to a valid directory
- Use `$TMPDIR` for temporary files if available
- Fall back to `/tmp` if `TMPDIR` is not set or invalid

## Testing
Tested the script with:
- `TMPDIR` unset (uses `/tmp` as before)
- `TMPDIR` set to a valid directory (uses specified directory)
- `TMPDIR` set to an invalid path (falls back to `/tmp`)

This change maintains backward compatibility while adding flexibility
for environments with non-standard temporary directory requirements.

Release Notes:

- N/A

Anne Schuth created

2c7251e Add setting to hide active language button in the status bar (#33977)

Click to expand commit body
Release Notes:

- Added settings status_bar.show_active_language_button to show/hide the
language button in the status bar.

The motivation for this is visual, I have had zero issues with its
functionality.

The language switcher can still be accessed by the command palette,
menu, or a keyboard shortcut.

------

This is my first Zed and first Rust PR, so criticism is very welcome. 

I know there has been discussion around how the status bar settings are
structured and named, and I am happy to change it to whatever is best. I
was also not sure what order to put it in in the settings default.json.
Feedback welcome.

Here is a picture of it in action:


![image](https://github.com/user-attachments/assets/c50131e2-71aa-4fab-8db0-8b2aae586e71)

---------

Co-authored-by: zumbalogy <3770982+zumbalogy@users.noreply.github.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>

zumbalogy , zumbalogy , and Kirill Bulatov created

0169bdd project panel: Add setting to disable auto opening project panel (#34752)

Click to expand commit body
Release Notes:

- Add `project_panel.starts_open` to control opening project panel in
new projects.

maan2003 created

9edc01d Update nightly icon on windows (#35812)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d6022dc emmet: Enable in Vue.js files (#35599)

Click to expand commit body
Resolves part of #34337

Actually I need also to add:

```
"languages": {
    "Vue.js": {
      "language_servers": [
        "vue-language-server",
        "emmet-language-server",
        "..."
      ]
    }
  },
```

not sure how to resolve fully, happy to continue only little guidance
needed.

Release Notes:

- allow emmet in Vue.js files

---------

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

Samuel and Marshall Bowers created

0dd480d Add spread operator to the @operator list for ECMAScript languages (#35360)

Click to expand commit body
Previously, this was the one thing that could not be styled properly in
ecmascript languages in the zed config, because it was not able to be
targeted.

Now, it is added alongside other operators. This has been tested and
works as expected.

Release Notes:

- N/A

Dan Wood created

34fc2fd Treat Arduino files as C++ (#35467)

Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/35466

Release Notes:

- N/A

Phoenix Himself created

00701b5 git_hosting_providers: Extract Bitbucket pull request number (#34584)

Click to expand commit body
git: Extract Bitbucket pull request number

Release Notes:

- git: Extract Bitbucket pull request number

---------

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

Neo Nie and Peter Tripp created

cdfb334 git: Make inline blame padding configurable (#33631)

Click to expand commit body
Just like with diagnostics, adding a configurable padding to inline
blame

Release Notes:

- Added configurable padding to inline blame

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Peter Tripp <petertripp@gmail.com>

Abdelhakim Qbaich , Cole Miller , and Peter Tripp created

35cd1b9 filter out comments in deploy helper env vars (#35847)

Click to expand commit body
Turns out a `.sh` file isn't actually a shell script :(

Release Notes:

- N/A

Mikayla Maki created

bd402fd editor: Fix Follow Agent unexpectedly stopping during edits (#35845)

Click to expand commit body
Closes #34881

For horizontal scroll, we weren't keeping track of the `local` bool, so
whenever the agent tries to autoscroll horizontally, it would be seen as
a user scroll event resulting in unfollow.

Release Notes:

- Fixed an issue where the Follow Agent could unexpectedly stop
following during edits.

smit created

c7d641e Revert "chore: Bump Rust to 1.89 (#35788)" (#35843)

Click to expand commit body
This reverts commit efba2cbfd371bdd85dc3bfdd6b98d1d405ad9a89.

Unfortunately, the Docker image for 1.89 has not shown up yet. Once it
has, we should re-land this.

Release Notes:

- N/A

Mikayla Maki created

3d662ee agent2: Port read_file tool (#35840)

Click to expand commit body
Ports the read_file tool from `assistant_tools` to `agent2`. 

Note: Image support not implemented.

Release Notes:

- N/A

Agus Zubiaga created

7d4d8b8 Add GPT-5 support through OpenAI API (#35822)

Click to expand commit body
(This PR does not add GPT-5 to Zed Pro, but rather adds access if you're
using your own OpenAI API key.)

<img width="772" height="333" alt="Screenshot 2025-08-07 at 2 23 18 PM"
src="https://github.com/user-attachments/assets/42e75082-118a-4737-89b6-a740ae33b169"
/>

---

**NOTE:** If your API key is not through a verified organization, you
may see this error:

<img width="549" height="253" alt="Screenshot 2025-08-07 at 2 04 54 PM"
src="https://github.com/user-attachments/assets/d0b6d739-9c39-4af3-88d7-0c9609b0e6ba"
/>

Even if your org is verified, you still may not have access to GPT-5, in
which case you could see this error:

<img width="543" height="98" alt="Screenshot 2025-08-07 at 2 09 18 PM"
src="https://github.com/user-attachments/assets/e3ed31e3-2a11-4f07-8f3c-5b410fbe4540"
/>

One way to test if you're in this situation is to visit
https://platform.openai.com/chat/edit?models=gpt-5 and see if you get
the same "you don't have access to GPT-5" error on OpenAI's official
playground. It looks like this:

<img width="581" height="196" alt="Screenshot 2025-08-07 at 2 15 25 PM"
src="https://github.com/user-attachments/assets/ea1454ca-3c10-4703-8126-c02cb92a34f2"
/>

Release Notes:

- Added GPT-5, as well as its mini and nano variants. To use this, you
need to have an OpenAI API key configured via the `OPENAI_API_KEY`
environment variable.

Richard Feldman created

6912dc8 Fix CC tool state on cancel (#35763)

Click to expand commit body
When we stop the generation, CC tells us the tool completed, but it was
actually cancelled.

Release Notes:

- N/A

Agus Zubiaga created

952e371 ci: Switch to Namespace (#35835)

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

Release Notes:

- N/A

Peter Tripp created

913e9ad Move timing fields into span (#35833)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

50482a6 language_model: Refresh the LLM token upon receiving a `UserUpdated` message from Cloud (#35839)

Click to expand commit body
This PR makes it so we refresh the LLM token upon receiving a
`UserUpdated` message from Cloud over the WebSocket connection.

Release Notes:

- N/A

Marshall Bowers created

d110459 collab_ui: Show signed-out state when not connected to Collab (#35832)

Click to expand commit body
This PR updates signed-out state of the Collab panel to show when not
connected to Collab, as opposed to just when the user is signed-out.

Release Notes:

- N/A

Marshall Bowers created

d693f02 Settings: fix release channel settings not being respected (#35838)

Click to expand commit body
Typo in #35756 

Release Notes:

- N/A

Cole Miller created

90fa921 Wire up find_path tool in agent2 (#35799)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Ben Brandt and Antonio Scandurra created

11efa32 client: Only connect to Collab automatically for Zed staff (#35827)

Click to expand commit body
This PR makes it so that only Zed staff connect to Collab automatically.

Anyone else can connect to Collab manually when they want to collaborate
(but this is not required for using Zed's LLM features).

Release Notes:

- N/A

---------

Co-authored-by: Richard <richard@zed.dev>

Marshall Bowers and Richard created

e6dc6fa Don't insert resource links for @mentions that have been removed from the message editor (#35831)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

070f7db onboarding: Add fast-follow adjustments (#35814)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

106d4cf client: Re-fetch the authenticated user when receiving a `UserUpdated` message from Cloud (#35807)

Click to expand commit body
This PR wires up handling for the new `UserUpdated` message coming from
Cloud over the WebSocket connection.

When we receive this message we will refresh the authenticated user.

Release Notes:

- N/A

Co-authored-by: Richard <richard@zed.dev>

Marshall Bowers and Richard created

a1080a0 Update diff editor font size when agent_font_size setting changes (#35834)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

7679db9 ci: Switch from BuildJet to GitHub runners (#35826)

Click to expand commit body
In response to an ongoing BuildJet outage, consider migrating CI to
GitHub hosted runners.

Also includes revert of (causing flaky tests):
- https://github.com/zed-industries/zed/pull/35741

Downsides:
- Cost (2x)
- Force migration to Ubuntu 22.04 from 20.04 will bump our glibc minimum
from 2.31 to 2.35. Which would break RHEL 9.x (glibc 2.34), Ubuntu 20.04
(EOL) and derivatives.

Release Notes:

- N/A

Peter Tripp created

9ade399 workspace: Don't update platform window title if title has not changed (#34753)

Click to expand commit body
Closes #34749 #34715

Release Notes:

- Fixed window title X event spam

Fabian Bergström created

e8db429 project_panel: Add file comparison function, supports selecting files for comparison (#35255)

Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/35010
Closes https://github.com/zed-industries/zed/issues/17100
Closes https://github.com/zed-industries/zed/issues/4523

Release Notes:

- Added file comparison function in project panel

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

mcwindy and Kirill Bulatov created

53b69d2 Actually update remote collab capabilities (#35809)

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

Release Notes:

- N/A

Kirill Bulatov created

e2e147a Add OS specific settings (#35756)

Click to expand commit body
Release Notes:

- Settings can now be configured per operating system with the new
top-level fields: `"macos"`/`"windows"`/`"linux"`. These will override
user level settings, but are lower precedence than _release channel_
settings.

Julia Ryan created