537f678
zed 0.200.5
Joseph T. Lyons created
537f678
zed 0.200.5
Joseph T. Lyons created
f74281b
themes: Implement Bright Black and Bright White colors (#36761)
Before: <img width="356" height="50" alt="image" src="https://github.com/user-attachments/assets/c4f4ae53-8820-4f22-b306-2e5062cfe552" /> After: <img width="340" height="41" alt="image" src="https://github.com/user-attachments/assets/8e69d9dc-5640-4e41-845d-f299fc5954e3" /> Release Notes: - Fixed ANSI Bright Black and Bright White colors
Oleksiy Syvokon created
608495e
Use Tokio::spawn instead of getting an executor handle (#36701)
This was causing panics due to the handles being dropped out of order. It doesn't seem possible to guarantee the correct drop ordering given that we're holding them over await points, so lets just spawn on the tokio executor itself which gives us access to the state we needed those handles for in the first place. Fixes: ZED-1R Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Julia Ryan , Conrad Irwin , and Marshall Bowers created
55ffbb4
v0.200.x stable
Joseph T. Lyons created
e22c759
project: Register dynamic capabilities even when registerOptions doesn't exist (#36554)
Closes #36482 Looks like we accidentally referenced [common/formatting.ts#L67-L70](https://github.com/microsoft/vscode-languageserver-node/blob/d90a87f9557a0df9142cfb33e251cfa6fe27d970/client/src/common/formatting.ts#L67-L70) instead of [common/client.ts#L2133](https://github.com/microsoft/vscode-languageserver-node/blob/d90a87f9557a0df9142cfb33e251cfa6fe27d970/client/src/common/client.ts#L2133). Release Notes: - Fixed code not formatting on save in language servers like Biome. (Preview Only)
Smit Barmase created
2715627
lsp: Enable dynamic registration for TextDocumentSyncClientCapabilities post revert (#36494)
Follow up: https://github.com/zed-industries/zed/pull/36485 Release Notes: - N/A
Smit Barmase created
6f69698
project: Take 2 on Handle textDocument/didSave and textDocument/didChange (un)registration and usage correctly (#36485)
Relands https://github.com/zed-industries/zed/pull/36441 with a
deserialization fix.
Previously, deserializing `"includeText"` into
`lsp::TextDocumentSyncSaveOptions` resulted in a `Supported(false)` type
instead of `SaveOptions(SaveOptions { include_text: Option<bool> })`.
```rs
impl From<bool> for TextDocumentSyncSaveOptions {
fn from(from: bool) -> Self {
Self::Supported(from)
}
}
```
Looks like, while dynamic registartion we only get `SaveOptions` type
and never `Supported` type.
(https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentSaveRegistrationOptions)
Release Notes:
- N/A
---------
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Smit Barmase and Lukas Wirth created
76afc0d
Revert "project: Handle `textDocument/didSave` and `textDocument/didChange` (un)registration and usage correctly (#36441)" (#36480)
This reverts commit c5991e74bb6f305c299684dc7ac3f6ee9055efcd. This PR broke rust-analyzer's check on save function, so reverting for now Release Notes: - N/A
Lukas Wirth created
320d706
project: Handle `textDocument/didSave` and `textDocument/didChange` (un)registration and usage correctly (#36441)
Follow-up of https://github.com/zed-industries/zed/pull/35306
This PR contains two changes:
Both changes are inspired from:
https://github.com/microsoft/vscode-languageserver-node/blob/d90a87f9557a0df9142cfb33e251cfa6fe27d970/client/src/common/textSynchronization.ts
1. Handling `textDocument/didSave` and `textDocument/didChange`
registration and unregistration correctly:
```rs
#[derive(Debug, Eq, PartialEq, Clone, Deserialize, Serialize)]
#[serde(untagged)]
pub enum TextDocumentSyncCapability {
Kind(TextDocumentSyncKind),
Options(TextDocumentSyncOptions),
}
```
- `textDocument/didSave` dynamic registration contains "includeText"
- `textDocument/didChange` dynamic registration contains "syncKind"
While storing this to Language Server, we use
`TextDocumentSyncCapability::Options` instead of
`TextDocumentSyncCapability::Kind` since it also include
[change](https://github.com/gluon-lang/lsp-types/blob/be7336e92a6ad23f214df19bcdceab17f39531a9/src/lib.rs#L1714-L1717)
field as `TextDocumentSyncCapability::Kind` as well as
[save](https://github.com/gluon-lang/lsp-types/blob/be7336e92a6ad23f214df19bcdceab17f39531a9/src/lib.rs#L1727-L1729)
field as `TextDocumentSyncSaveOptions`. This way while registering or
unregistering both of them, we don't accidentaly mess with other data.
So, if at intialization we end up getting
`TextDocumentSyncCapability::Kind` and we receive any above kind of
dynamic registration, we change `TextDocumentSyncCapability::Kind` to
`TextDocumentSyncCapability::Options` so we can store more data anyway.
2. Modify `include_text` method to only depend on
`TextDocumentSyncSaveOptions`, instead of depending on
`TextDocumentSyncKind`. Idea behind this is,
`TextDocumentSyncSaveOptions` should be responsible for
"textDocument/didSave" notification, and `TextDocumentSyncKind` should
be responsible for "textDocument/didChange", which it already is:
https://github.com/zed-industries/zed/blob/4b79eade1da2f5f7dfa18208cf882c8e6ca8a97f/crates/project/src/lsp_store.rs#L7324-L7331
Release Notes:
- N/A
Smit Barmase created
1adbbfc
editor: Fix panic in inlay hint while padding (#36405)
Closes #36247 Fix a panic when padding inlay hints if the last character is a multi-byte character. Regressed in https://github.com/zed-industries/zed/pull/35786. Release Notes: - Fixed a crash that could occur when an inlay hint ended with `...`.
Smit Barmase created
7703cdb
gpui: Fix crash when starting Zed on macOS during texture creation (#36382)
Closes #36229 Fix zero-sized texture creation that triggers a SIGABRT in the Metal renderer. Not sure why this happens yet, but it likely occurs when `native_window.contentView()` returns a zero `NSSize` during initial window creation, before the view size is computed. Release Notes: - Fixed a rare startup crash on macOS.
Smit Barmase created
3593691
Bump to 0.200.4 for @maxdeviant
Zed Bot created
66e6649
client: Parse auth callback query parameters before showing sign-in success page (#36440)
This PR fixes an issue where we would redirect the user's browser to the sign-in success page even if the OAuth callback was malformed. We now parse the OAuth callback parameters from the query string and only redirect to the sign-in success page when they are valid. Release Notes: - Updated the sign-in flow to not show the sign-in success page prematurely.
Marshall Bowers created
6c0eaf6
zed 0.200.3
Julia Ryan created
e9e376d
Separate minidump crashes from panics (#36267)
The minidump-based crash reporting is now entirely separate from our legacy panic_hook-based reporting. This should improve the association of minidumps with their metadata and give us more consistent crash reports. Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Julia Ryan and Max Brunsfeld created
78e56ce
keymap_ui: Ensure keybind with empty arguments can be saved (#36393)
Follow up to #36278 to ensure this bug is actually fixed. Also fixes this on two layers and adds a test for the lower layer, as we cannot properly test it in the UI. Furthermore, this improves the error message to show some more context and ensures the status toast is actually only shown when the keybind was successfully updated: Before, we would show the success toast whilst also showing an error in the editor. Lastly, this also fixes some issues with the status toast (and animations) where no status toast or no animation would show in certain scenarios. Release Notes: - N/A
Finn Evers created
0367e93
onboarding: Fix minimap typo on editing page (#36143)
This PR fixes a small typo on the onboarding editing page where it should be "Minimap" instead of "Mini Map" Release Notes: - N/A
Finn Evers created
e2dec85
agent: Create checkpoint before/after every edit operation (#36253)
1. Previously, checkpoints only appeared when an agent's edit happened immediately after a user message. This is rare (agent usually collects some context first), so they were almost never shown. This is now fixed. 2. After this change, a checkpoint is created after every edit operation. So when the agent edits files five times in a single dialog turn, we will now display five checkpoints. As a bonus, it's now possible to undo only a part of a long agent response. Closes #36092, #32917 Release Notes: - Create agent checkpoints more frequently (before every edit)
Oleksiy Syvokon created
4a0e8f0
agent_ui: Ensure that all configuration views get rendered with full width (#36362)
Closes #36097 Release Notes: - Fixed API key input fields getting shrunk in Agent Panel settings view on low panel widths paired with high UI font sizes.
Piotr Osiewicz created
c2f0df9
Add capabilities to OpenAI-compatible model settings (#36370)
### TL;DR
* Adds `capabilities` configuration for OpenAI-compatible models
* Relates to
https://github.com/zed-industries/zed/issues/36215#issuecomment-3193920491
### Summary
This PR introduces support for configuring model capabilities for
OpenAI-compatible language models. The implementation addresses the
issue that not all OpenAI-compatible APIs support the same features -
for example, Cerebras' API explicitly does not support
`parallel_tool_calls` as documented in their [OpenAI compatibility
guide](https://inference-docs.cerebras.ai/resources/openai#currently-unsupported-openai-features).
### Changes
1. **Model Capabilities Structure**:
- Added `ModelCapabilityToggles` struct for UI representation with
boolean toggle states
- Implemented proper parsing of capability toggles into
`ModelCapabilities`
2. **UI Updates**:
- Modified the "Add LLM Provider" modal to include checkboxes for each
capability
- Each OpenAI-compatible model can now be configured with its specific
capabilities through the UI
3. **Configuration File Structure**:
- Updated the settings schema to support a `capabilities` object for
each `openai_compatible` model
- Each capability (`tools`, `images`, `parallel_tool_calls`,
`prompt_cache_key`) can be individually specified per model
### Example Configuration
```json
{
"openai_compatible": {
"Cerebras": {
"api_url": "https://api.cerebras.ai/v1",
"available_models": [
{
"name": "gpt-oss-120b",
"max_tokens": 131000,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": false,
"prompt_cache_key": false
}
}
]
}
}
}
```
### Tests Added
- Added tests to verify default capability values are correctly applied
- Added tests to verify that deselected toggles are properly parsed as
`false`
- Added tests to verify that mixed capability selections work correctly
Thanks to @osyvokon for the desired `capabilities` configuration
structure!
Release Notes:
- OpenAI-compatible models now have configurable capabilities (#36370;
thanks @calesennett)
---------
Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Cale Sennett and Oleksiy Syvokon created
2bd6166
keymap_ui: Don't try to parse empty action arguments as JSON (#36278)
Closes #ISSUE Release Notes: - Keymap Editor: Fixed an issue where leaving the arguments field empty would result in an error even if arguments were optional
Ben Kunkle created
2ab445d
zed 0.200.2
Joseph T. Lyons created
b96f76f
openai: Don't send prompt_cache_key for OpenAI-compatible models (#36231)
Some APIs fail when they get this parameter Closes #36215 Release Notes: - Fixed OpenAI-compatible providers that don't support prompt caching and/or reasoning
Oleksiy Syvokon created
e9a4f67
openai: Don't send reasoning_effort if it's not set (#36228)
Release Notes: - N/A
Oleksiy Syvokon created
177cf12
project: Fix LSP TextDocumentSyncCapability dynamic registration (#36234)
Closes #36213 Use `textDocument/didChange` ([docs](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization)) instead of `textDocument/synchronization`. Release Notes: - Fixed an issue where Dart projects were being formatted incorrectly by the language server.
smit created
fda9369
Emit a `BreadcrumbsChanged` event when associated settings changed (#36177)
Closes https://github.com/zed-industries/zed/issues/36149 Release Notes: - Fixed a bug where changing the `toolbar.breadcrumbs` setting didn't immediately update the UI when saving the `settings.json` file.
Joseph T. Lyons created
08351cb
Bump to 0.200.1 for @smitbarmase
Zed Bot created
ab41359
ci: Disable FreeBSD builds (#36140)
Revert accidental change introduced in [#35880](https://github.com/zed-industries/zed/pull/35880/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fL706) Release Notes: - N/A
smit created
d29341b
copilot: Fix Copilot fails to sign in (#36138)
Closes #36093 Pin copilot version to 1.354 for now until further investigation. Release Notes: - Fixes issue where Copilot failed to sign in. Co-authored-by: MrSubidubi <dev@bahn.sh>
smit and MrSubidubi created
189ea49
v0.200.x preview
Joseph T. Lyons created
0b9c9f5
onboarding: Make Welcome page persistent (#36127)
Release Notes: - N/A
Anthony Eid created
2da80e4
emmet: Use `index.js` directly to launch language server (#36126)
This PR updates the Emmet extension to use the `index.js` file directly to launch the language server. This provides better cross-platform support, as we're not relying on platform-specific `.bin` wrappers. Release Notes: - N/A
Marshall Bowers created
d9a94a5
onboarding: Remove feature flag and old welcome crate (#36110)
Release Notes: - N/A --------- Co-authored-by: MrSubidubi <dev@bahn.sh> Co-authored-by: Anthony <anthony@zed.dev>
Danilo Leal , MrSubidubi , and Anthony created
a7442d8
onboarding: Add more telemetry (#36121)
1. Welcome Page Open 2. Welcome Nav clicked 3. Skip clicked 4. Font changed 5. Import settings clicked 6. Inlay Hints 7. Git Blame 8. Format on Save 9. Font Ligature 10. Ai Enabled 11. Ai Provider Modal open Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Anthony Eid and Marshall Bowers created
6c1f195
Enhance icon detection for files with custom suffixes (#34170)
Fixes custom file suffixes (module.ts) of some icon themes like: - **Symbols Icon Theme** <img width="212" alt="image" src="https://github.com/user-attachments/assets/419ba1b4-9d8e-46cd-891b-62fb63a8c5ae" /> - **Bearded Icon Theme** <img width="209" alt="image" src="https://github.com/user-attachments/assets/72974fce-fa72-4368-8d96-7feea7b59b7a" /> Release Notes: - Fixed icon detection for files with custom suffixes like `module.ts` that are overwritten by the language's icon `.ts`
Gilmar Sales created
23cd5b5
agent2: Initial infra for checkpoints and message editing (#36120)
Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
Ben Brandt and Antonio Scandurra created
f4b0332
Hoist `rodio` to workspace level (#36113)
This PR hoists `rodio` up to a workspace dependency. Release Notes: - N/A
Marshall Bowers created
abde730
onboarding: Adjust page layout (#36112)
Fix max-height and make it scrollable as well, if needed. Release Notes: - N/A
Danilo Leal created
2b3dbe8
agent2: Allow tools to be provider specific (#36111)
Our WebSearch tool requires access to a Zed provider Release Notes: - N/A
Ben Brandt created
7f1a5c6
ui: Make toggle button group responsive (#36100)
This PR improves the toggle button group to be more responsive across different layouts. This is accomplished by ensuring each button takes up the same amount of space in the parent containers layout. Ideally, this should be done with grids instead of a flexbox container, as this would be much better suited for this purpose. Yet, since we lack support for this, we go with this route for now. | Before | After | | --- | --- | | <img width="1608" height="1094" alt="Bildschirmfoto 2025-08-13 um 11 24 26" src="https://github.com/user-attachments/assets/2a4b5a59-6483-4f79-8fcb-e26e22071795" /> | <img width="1608" height="1094" alt="Bildschirmfoto 2025-08-13 um 11 29 36" src="https://github.com/user-attachments/assets/e6402729-6a8f-4a44-b79e-a569406edfff" /> | Release Notes: - N/A
Finn Evers created
6307105
Don't show default shell breadcrumbs (#36070)
Release Notes: - N/A
localcc created
8d63312
Small worktree scan style fixes (#36104)
Part of https://github.com/zed-industries/zed/issues/35780 Release Notes: - N/A
Kirill Bulatov created
81474a3
Change default pane split directions (#36101)
Closes #32538 This PR adjusts the defaults for splitting panes along the horizontal and vertical actions. Based upon user feedback, the adjusted values seem more reasonable as default settings, hence, go with these instead. Release Notes: - Changed the default split directions for the `pane: split horizontal` and `pane: split vertical` actions. You can restore the old behavior by modifying the `pane_split_direction_horizontal` and `pane_split_direction_vertical` values in your settings.
Finn Evers created
db497ac
Agent2 Model Selector (#36028)
Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Ben Brandt and Bennet Bo Fenner created
8ff2e3e
language_models: Add reasoning_effort for custom models (#35929)
Release Notes:
- Added `reasoning_effort` support to custom models
Tested using the following config:
```json5
"language_models": {
"openai": {
"available_models": [
{
"name": "gpt-5-mini",
"display_name": "GPT 5 Mini (custom reasoning)",
"max_output_tokens": 128000,
"max_tokens": 272000,
"reasoning_effort": "high" // Can be minimal, low, medium (default), and high
}
],
"version": "1"
}
}
```
Docs:
https://platform.openai.com/docs/api-reference/chat/create#chat_create-reasoning_effort
This work could be used to split the GPT 5/5-mini/5-nano into each of
it's reasoning effort variant. E.g. `gpt-5`, `gpt-5 low`, `gpt-5
minimal`, `gpt-5 high`, and same for mini/nano.
Release Notes:
* Added a setting to control `reasoning_effort` in OpenAI models
Cretezy created
96093aa
onboarding: Link git clone button with action (#35999)
Release Notes: - N/A
Anthony Eid created
dc87f4b
Add 4.1 to models page (#36086)
Adds opus 4.1 to models page in docs Release Notes: - N/A
morgankrey created
1957e1f
Add locations to native agent tool calls, and wire them up to UI (#36058)
Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Cole Miller and Conrad created
d78bd8f
Fix external agent still being marked as generating after error response (#35992)
Release Notes: - N/A
Cole Miller created
32975c4
windows: Fix auto update failure when launching from the cli (#34303)
Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
张小白 and Max Brunsfeld created