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.
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)
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)
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
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
fa2ff3c
collab: Increase `DATABASE_MAX_CONNECTIONS` for Collab server (#35818)
Click to expand commit body
This PR increases the `DATABASE_MAX_CONNECTIONS` limit for the Collab
server to 850 (up from 250).
Release Notes:
- N/A
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Release Notes:
- N/A
---------
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Piotr Osiewicz
and
Julia Ryan
created
2234220
completions: Add subtle/eager behavior to Supermaven and Copilot (#35548)
Click to expand commit body
This pull request introduces changes to improve the behavior and
consistency of multiple completion providers
(`CopilotCompletionProvider`, `SupermavenCompletionProvider`) and their
integration with UI elements like menus and inline completion buttons.
It now allows to see the prediction with the completion menu open whilst
pressing `opt` and also enables the subtle/eager setting that was
introduced with zeta.
Edit: I managed to get the preview working with correct icons!
<img width="909" height="232" alt="image"
src="https://github.com/user-attachments/assets/65800e67-4bc4-40f8-be78-806fcfe74ad9"
/>
<img width="1460" height="318" alt="CleanShot 2025-08-04 at 01 36 31@2x"
src="https://github.com/user-attachments/assets/15651405-720f-465f-a13c-c7470817810a"
/>
Correct icons are also displayed:
<img width="244" height="96" alt="image"
src="https://github.com/user-attachments/assets/0b8a687f-73e3-452d-aefb-784c52831b73"
/>
Edit2: I added some comments, would be very happy to receive feedback
(still learning rust)
Release Notes:
- Added Subtle and Eager edit prediction modes to Copilot and Supermaven
Raphael Lüthy
created
dd840e4
editor: Fix multi-buffer headers spilling over at narrow widths (#35800)
Click to expand commit body
Release Notes:
- N/A
Piotr Osiewicz
created
262365c
keymap editor: Refine how we display matching keystrokes (#35796)
Click to expand commit body
| Before | After |
|--------|--------|
| <img width="1092" height="528" alt="CleanShot 2025-08-07 at 10 54
42@2x"
src="https://github.com/user-attachments/assets/8b0a3b50-e1d1-4763-824c-2b419df430fc"
/> | <img width="1096" height="580" alt="CleanShot 2025-08-07 at 11 29
47@2x"
src="https://github.com/user-attachments/assets/bd484655-90a6-46fe-91ef-c9c8d2ab93bc"
/> |
Release Notes:
- N/A
Danilo Leal
created
90fa06d
Fix file unlocking after closing the workspace (#35741)
Click to expand commit body
Release Notes:
- Fixed folders being locked after closing them in zed
Diagnostics updates were programmed in Zed based off the r-a LSP push
diagnostics, with all related updates happening per file.
https://github.com/zed-industries/zed/pull/19230 and especially
https://github.com/zed-industries/zed/pull/32269 brought in pull
diagnostics that could produce results for thousands files
simultaneously.
It was noted and addressed on the local side in
https://github.com/zed-industries/zed/pull/34022 but the remote side was
still not adjusted properly.
This PR
* removes redundant diagnostics pull updates on remote clients, as
buffer diagnostics are updated via buffer sync operations separately
* batches all diagnostics-related updates and proto messages, so
multiple diagnostic summaries (per file) could be sent at once,
specifically, 1 (potentially large) diagnostics summary update instead
of N*10^3 small ones.
Buffer updates are still sent per buffer and not updated, as happening
separately and not offending the collab traffic that much.
Release Notes:
- Improved diagnostics performance in the collaborative mode
Kirill Bulatov
created
a5c25e0
agent: Improve end of trial card display (#35789)
Click to expand commit body
Now rendering the backdrop behind the card to clean up the UI, bring
focus to the card's content, and direct the user to act on it, either by
ignoring it or upgrading.
<img width="500" height="1242" alt="CleanShot 2025-08-07 at 10 30
58@2x"
src="https://github.com/user-attachments/assets/8c6b9c34-eb22-4f01-b3fa-158ac78b7439"
/>
Release Notes:
- N/A
Release Notes:
- Added icon for Puppet (.pp) files
Actually puppet icons are available in the extension here :
<https://github.com/AlexandarY/zed-puppet/tree/main/icon_themes>
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Tongue_chaude
and
Danilo Leal
created
e227b5a
onboarding: Add young account treatment to AI upsell card (#35785)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
03876d0
Add system prompt and tool permission to agent2 (#35781)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Antonio Scandurra
,
Ben Brandt
, and
Max Brunsfeld
created
4dbd24d
Reduce amount of allocations in RustLsp label handling (#35786)
Click to expand commit body
There can be a lot of completions after all
Release Notes:
- N/A
Lukas Wirth
created
c397027
Add `release_channel` into the span fields list (#35783)
f5f837d
languages: Fix rust completions not having proper detail labels (#35772)
Click to expand commit body
rust-analyzer changed the format here a bit some months ago which
partially broke our nice detailed highlighted completion labels. The
brings that back while also cleaning up the code a bit.
Also fixes a bug where disabling rust-analyzers snippet callable
completions would fully break them.
Release Notes:
- N/A
Lukas Wirth
created
5b1b3c5
language_models: Fix high memory consumption while using Agent Panel (#35764)
Click to expand commit body
Closes #31108
The `num_tokens_from_messages` method we use from `tiktoken-rs` creates
new BPE every time that method is called. This creation of BPE is
expensive as well as has some underlying issue that keeps memory from
releasing once the method is finished, specifically noticeable on Linux.
This leads to a gradual increase in memory every time that method is
called in my case around +50MB on each call. We call this method with
debounce every time user types in Agent Panel to calculate tokens. This
can add up really fast.
This PR lands quick fix, while I/maintainers figure out underlying
issue. See upstream discussion:
https://github.com/zurawiki/tiktoken-rs/issues/39.
Here on fork https://github.com/zed-industries/tiktoken-rs/pull/1,
instead of creating BPE instances every time that method is called, we
use singleton BPE instances instead. So, whatever memory it is holding
on to, at least that is only once per model.
Before: Increase of 700MB+ on extensive use
On init:
<img width="500" alt="prev-init"
src="https://github.com/user-attachments/assets/70da7c44-60cb-477b-84aa-7dd579baa3da"
/>
First message:
<img width="500" alt="prev-first-call"
src="https://github.com/user-attachments/assets/599ffc48-3ad3-4729-b94c-6d88493afdbf"
/>
Extensive use:
<img width="500" alt="prev-extensive-use"
src="https://github.com/user-attachments/assets/e0e6b688-6412-486d-8b2e-7216c6b62470"
/>
After: Increase of 50MB+ on extensive use
On init:
<img width="500" alt="now-init"
src="https://github.com/user-attachments/assets/11a2cd9c-20b0-47ae-be02-07ff876e68ad"
/>
First message:
<img width="500" alt="now-first-call"
src="https://github.com/user-attachments/assets/ef505f8d-cd31-49cd-b6bb-7da3f0838fa7"
/>
Extensive use:
<img width="500" alt="now-extensive-use"
src="https://github.com/user-attachments/assets/513cb85a-a00b-4f11-8666-69103a9eb2b8"
/>
Release Notes:
- Fixed issue where Agent Panel would cause high memory consumption over
prolonged use.
Remake of #8967
> Hey there,
>
> I have started relying on this action, that I've also put into VSCode
as [an extension](https://github.com/Gregoor/soy). On some level I don't
know how people code (cope?) without it:
>
> Release Notes:
>
> * Added UnwrapSyntaxNode action
>
>
https://github.com/zed-industries/zed/assets/4051932/d74c98c0-96d8-4075-9b63-cea55bea42f6
>
> Since I had to put it into Zed anyway to make it my daily driver, I
thought I'd also check here if there's an interest in shipping it by
default (that would ofc also personally make my life better, not having
to maintain my personal fork and all).
>
> If there is interest, I'd be happy to make any changes to make this
more mergeable. Two TODOs on my mind are:
>
> * unwrap multiple into single (e.g. `fn(≤a≥, b)` to `fn(≤a≥)`)
> * multi-cursor
> * syntax awareness, i.e. only unwrap if it does not break syntax (I
added [a coarse version of that for my VSC
extension](https://github.com/Gregoor/soy/blob/main/src/actions/unwrap.ts#L29))
>
> Somewhat off-topic: I was happy to see that you're
[also](https://github.com/Gregoor/soy/blob/main/src/actions/unwrap.test.ts)
using rare special chars in test code to denote cursor positions.
Release Notes:
- Added UnwrapSyntaxNode action
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Gregor
and
Peter Tripp
created
f1e69f6
gpui: Impl Default for ClickEvent (#35751)
Click to expand commit body
While default for ClickEvent shouldn't be used much this is helpful for
other projects using gpui besides Zed. Mainly because the orphan rule
prevents those projects from implementing their own default trait
cc: @huacnlee
Release Notes:
- N/A
Anthony Eid
created
bd1c26c
Fix interrupting ACP threads and CC cancellation (#35752)
Click to expand commit body
Fixes a bug where generation wouldn't continue after interrupting the
agent, and improves CC cancellation so we don't display "[Request
interrupted by user]"
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Agus Zubiaga
and
Cole Miller
created
1907b16
Establish WebSocket connection to Cloud (#35734)
Click to expand commit body
This PR adds a new WebSocket connection to Cloud.
This connection will be used to push down notifications from the server
to the client.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
More notably around how we render tool calls. Nothing too drastic,
though.
Release Notes:
- N/A
Danilo Leal
created
58392b9
cloud_api_types: Add types for WebSocket protocol (#35753)
Click to expand commit body
This PR adds types for the Cloud WebSocket protocol to the
`cloud_api_types` crate.
Release Notes:
- N/A
Marshall Bowers
created
9358690
Fix flicker when agent plan updates (#35739)
Click to expand commit body
Currently, when the agent updates its plan, there are a few frames where
the text after `Current:` in the plan summary is blank, causing a
flicker. This is because we treat that field as markdown, and the
`MarkdownElement` renders as blank until the raw text has finished
parsing in the background.
This PR fixes the flicker by changing `Markdown::new_text` to
optimistically render the source as a single `MarkdownEvent::Text` span
until background parsing has finished.
Release Notes:
- N/A
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Cole Miller
and
Agus Zubiaga
created
3ea90e3
debugger: Filter out debug scenarios with invalid Adapters from debug picker (#35744)
Click to expand commit body
I also removed a debug assertion that wasn't true when a debug session
was restarting through a request, because there wasn't a booting task
Zed needed to run before the session.
I renamed SessionState::Building to SessionState::Booting as well,
because building implies that we're building code while booting the
session covers more cases and is more accurate.
Release Notes:
- debugger: Filter out more invalid debug configurations from the debug
picker
Co-authored-by: Remco Smits <djsmits12@gmail.com>
250c51b
Fix syntax highlighting in ACP diffs (#35748)
Click to expand commit body
Release Notes:
- N/A
Agus Zubiaga
created
010441e
debugger: Show run to cursor in editor's context menu (#35745)
Click to expand commit body
This also fixed a bug where evaluate selected text was an available
option when the selected debug session was terminated.
Release Notes:
- debugger: add Run to Cursor back to Editor's context menu
Co-authored-by: Remco Smits <djsmits12@gmail.com>
a80da78
lsp: Advertise support for markdown in completion documentation (#35727)
Click to expand commit body
Release Notes:
- N/A
xdBronch
created
fb1f9d1
lsp: Correctly serialize errors for LSP requests + improve handling of unrecognized methods (#35738)
Click to expand commit body
We used to not respond at all to requests that we didn't have a handler
for, which is yuck. It may have left the language server waiting for the
response for no good reason. The other (worse) finding is that we did
not have a full definition of an Error type for LSP, which made it so
that a spec-compliant language server would fail to deserialize our
response (with an error). This then could lead to all sorts of
funkiness, including hangs and crashes on the language server's part.
Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Closes #ISSUE
Release Notes:
- Improved reporting of errors to language servers, which should improve
the stability of LSPs ran by Zed.
---------
Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz
,
Lukas
,
Remco Smits
, and
Anthony Eid
created
794098e
Update instructions for local collaboration (#35689)