9697177
node_runtime: Bump minimum version for system node to match copilot's requirement (#39632)
Click to expand commit body
Copilot now requires 22.x. See the last min node version bump:
https://github.com/zed-industries/zed/pull/27912
Closes #39461
<img width="1040" height="97" alt="image"
src="https://github.com/user-attachments/assets/8f0490e3-b9b5-45fd-b7f1-321691b862f0"
/>
Release Notes:
- Zed will no longer use `node` from your `$PATH` if it's older than
22.x (previously, the minimum version was 20.x). Instead, it will fall
back to its bundled `node`. This fixes being unable to use Copilot if an
older `node` was installed system-wide.
b444b7f
python: Fix user settings not getting passed on for Ty (#39174)
Click to expand commit body
Closes #39144
Release Notes:
- python: Fixed user settings not being respected with Ty language
server.
Piotr Osiewicz
created
598ba64
x_ai: Add support for Grok 4 Fast (#39492)
Click to expand commit body
This PR adds support for Grok 4 Fast.
Release Notes:
- Added support for Grok 4 Fast models.
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Marshall Bowers
and
David Kleingeld
created
667ff5b
x_ai: Add support for tools and images with custom models (#38792)
Click to expand commit body
After the change, we can add "supports_images", "supports_tools" and
"parallel_tool_calls" properties to set up new models. Our
`settings.json` will be as follows:
```json
"language_models": {
"x_ai": {
"api_url": "https://api.x.ai/v1",
"available_models": [
{
"name": "grok-4-fast-reasoning",
"display_name": "Grok 4 Fast Reasoning",
"max_tokens": 2000000,
"max_output_tokens": 64000,
"supports_tools": true,
"parallel_tool_calls": true,
},
{
"name": "grok-4-fast-non-reasoning",
"display_name": "Grok 4 Fast Non-Reasoning",
"max_tokens": 2000000,
"max_output_tokens": 64000,
"supports_images": true,
}
]
}
}
```
Closes https://github.com/zed-industries/zed/issues/38752
Release Notes:
- xAI: Added support for for configuring tool and image support for
custom model configurations
Jowell Young
created
c97a750
language_models: Send a header indicating that the client supports xAI models (#38931)
Click to expand commit body
This PR adds an `x-zed-client-supports-x-ai` header to the `GET /models`
request sent to Cloud to indicate that the client supports xAI models.
Release Notes:
- N/A
Marshall Bowers
created
67566ad
x_ai: Fix `Model::from_id` for Grok 4 (#38930)
Click to expand commit body
This PR fixes `x_ai::Model::from_id`, which was not properly handling
`grok-4`.
Release Notes:
- N/A
Marshall Bowers
created
8afabc1
language_models: Add xAI support to Zed Cloud provider (#38928)
Click to expand commit body
This PR adds xAI support to the Zed Cloud provider.
Release Notes:
- N/A
da48536
copilot: Ensure minimum Node version (#38945)
Click to expand commit body
Closes #38918
Release Notes:
- N/A
Smit Barmase
created
7eacefd
worktree: Remove unwrap in BackgroundScanner::update_ignore_status (#39191)
Click to expand commit body
We've seen this panic come up in the last two weeks, which might be
caused by #33592. However, we are not sure what paths can cause this
`unwrap()` to fail. Therefore adding some logging around this, so that
the next time someone opens a bug report we can further diagnose the
issue.
Fixes ZED-1F6
Release Notes:
- Fixed an issue where Zed could crash when including specific paths in
a global `.gitignore` files
Bennet Bo Fenner
created
cd9eb77
Fix bug in code action formatter handling (#39246)
Click to expand commit body
Closes #39112
Release Notes:
- Fixed an issue when using code actions on format where specifying
multiple code actions in the same code actions block that resolved to
code actions from different language servers could result in conflicting
edits being applied and mangled buffer text.
6412621
debugger: Fix python debug scenario not showing up in code actions (#39224)
Click to expand commit body
The bug happened because the Python locator was checking for a quote
before the ZED task variable. Removing that part of the check fixed the
issue.
Closes #39179
Release Notes:
- Fix Python debug tasks not showing up in code actions or debug picker
Anthony Eid
created
bc42327
terminals: Remove (now) incorrect alacritty workaround for task spawning
Lukas Wirth
created
fa163e7
gpui: Respect font smoothing on macOS (#39197)
Click to expand commit body
- Closes #38847
- See also: #37622 and #38467
Release Notes:
- Fonts are now rendered in accordance with the `AppleFontSmoothing`
setting.
Sergei Zharinov
created
5041b51
acp: Notify of latest agent version only after successful download (#39201)
Click to expand commit body
Before we would notify the user even if the download failed. We also
we're overwriting the directory, which means a user could be stuck in a
loop if a previous download failed
Release Notes:
- acp: Fix user seeing update prompt in a loop because of a previous
failed download
<img width="381" height="204" alt="Screenshot 2025-09-29 at 2 29 58 PM"
src="https://github.com/user-attachments/assets/c7aaf0b0-b09b-4ed9-8113-8d7b18eefc2f"
/>
Release Notes:
- Claude Sonnet 4.5 and 4.5 Thinking are now the recommended Anthropic
models
c81b4c8
acp: Add NO_PROXY if not set otherwise to not proxy localhost urls (#39100)
Click to expand commit body
Since we might run MCP servers locally for an agent, we don't want to
use the proxy for those.
We set this if the user has set a proxy, but not a custom NO_PROXY env
var.
Closes #38839
Release Notes:
- acp: Don't run local mcp servers through proxy, if set
Ben Brandt
created
d54783b
acp_thread: Fix terminal tool incorrectly redirecting stdin to `/dev/null`
Lukas Wirth
created
8baaea6
auto_update: Unmount update disk image in the background (#38867)
Click to expand commit body
Release Notes:
- Fixed potentially temporarily hanging on macOS when updating the app
2828705
Revert "Fix arrow function detection in TypeScript/JavaScript outline (#38411)" (#38982)
Click to expand commit body
This reverts commit 1bbf98aea6f335e791f19d8f76ba8a5f0510937f.
We found that #38411 caused problems where anonymous functions are
included too many times in the outline. We'd like to figure out a better
fix before shipping this to stable.
Fixes #38956
Release Notes:
- (preview only) revert changes to outline view
Conrad Irwin
created
a3f2838
editor: Fix predict edit at cursor action when show_edit_predictions is false (#38821)
Click to expand commit body
Closes #37601
Regressed in https://github.com/zed-industries/zed/pull/36469.
Edit: Original issue https://github.com/zed-industries/zed/issues/25744
is fixed for Zeta in this PR. For Copilot, it will be covered in a
follow-up. In the case of Copilot, even after discarding, we still get a
prediction on suggest, which is a bug.
Release Notes:
- Fixed issue where predict edit at cursor didn't work when
`show_edit_predictions` is `false`.
Smit Barmase
created
aeddd51
python: Fix ty archive extraction on Linux (#38917)
Click to expand commit body
Closes #38553
Release Notes:
- Fixed wrong AssetKind specified on linux for ty
As discussed in the linked issue. All of the non windows assets for ty
are `tar.gz` files. This change applies that fix.
0f0f9c9
acp: Use ACP error types in read_text_file (#38863)
Click to expand commit body
- Map path lookup and internal failures to acp::Error
- Return INVALID_PARAMS for reads beyond EOF
Release Notes:
- acp: Return more informative error types from `read_text_file` to
agents
Ben Brandt
created
4ee165d
acp: Fix `read_text_file` erroring on empty files (#38856)
Click to expand commit body
The previous validation was too strict and didn't permit reading empty
files.
Addresses: https://github.com/google-gemini/gemini-cli/issues/9280
Release Notes:
- acp: Fix `read_text_file` returning errors for empty files
72007a0
editor: Prevent panics in `BlockChunks` if the block spans more than 128 lines (#38763)
Click to expand commit body
Not an ideal fix, but a proper one will require restructuring the
iterator state (which would be easier if Rust had first class
generators)
Fixes ZED-1MB
Release Notes:
- N/A *or* Added/Fixed/Improved ...
831de8e
zeta2: Include edits in prompt and add `max_prompt_bytes` param (#38737)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Agus Zubiaga
and
Michael Sloan
created
bc52841
Preserve trailing newline in `TerminalOutput::full_text` (#38061)
Click to expand commit body
Closes #30678
This is caused by `TerminalOutput::full_text` triming trailing newline
when creating the "REPL Output" buffer.
Release Notes:
- fix: Preserve trailing newline in `TerminalOutput::full_text`
Release Notes:
- N/A
---------
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Marshall Bowers
and
David Kleingeld
created
3646aa6
language_models: Actually override Ollama model from settings (#38628)
Click to expand commit body
The current problem is that if I specify model parameters, like
`max_tokens`, in `settings.json` for an Ollama model, they do not
override the values coming from the Ollama API. Instead, the parameters
from the API are used. For example, in the settings below, even though I
have overridden `max_tokens`, Zed will still use the API's default
`context_length` of 4k.
```
"language_models": {
"ollama": {
"available_models": [
{
"name": "qwen3-coder:latest",
"display_name": "Qwen 3 Coder",
"max_tokens": 64000,
"supports_tools": true,
"keep_alive": "15m",
"supports_thinking": false,
"supports_images": false
}
]
}
},
```
Release Notes:
- Fixed an issue where Ollama model parameters were not being correctly
overridden by user settings.
Umesh Yadav
created
dc20a41
windows: Encrypt SSH passwords stored in memory (#38427)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Julia <julia@zed.dev>
Mostly just breaking a massive wall of text in small paragraphs for ease
of reading/parsing.
Release Notes:
- N/A
Danilo Leal
created
3cf6fa8
agent: Make the panel's textarea font size be controlled by `buffer_font_size` (#38726)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/37882
Previously, every piece of text in the agent panel was controlled by
`agent_font_size`. Although it is nice to only have one setting to tweak
that, it could be a bit misleading particularly because we use
monospaced and sans-serif fonts for different elements in the panel. Any
editor/textarea in the panel, whehter it is the main message editor or
the previous message editor, uses the buffer font. Therefore, I think it
is reasonable to expect that tweaking `buffer_font_size` would also
change the agent panel's usage of buffer fonts.
With this change, regular buffers and the agent panel's message editor
will always have the same size.
Release Notes:
- agent: Made the agent panel's textarea font size follow the font size
of regular buffers. They're now both controlled by the
`buffer_font_size` setting.
Danilo Leal
created
2759f54
vim: Fix cursor position being set to end of line in normal mode (#38161)
Click to expand commit body
Address an issue where, in Vim mode, clicking past the end of a line
after selecting the entire line would place the cursor on the newline
character instead of the last character of the line, which is
inconsistent with Vim's normal mode expectations.
I believe the root cause was that the cursor’s position was updated to
the end of the line before the mode switch from Visual to Normal, at
which point `DisplayMap.clip_at_line_ends` was still set to `false`. As
a result, the cursor could end up in an invalid position for Normal
mode. The fix ensures that when switching between these two modes, and
if the selection is empty, the selection point is properly clipped,
preventing the cursor from being placed past the end of the line.
Related #38049
Release Notes:
- Fixed issue in Vim mode where switching from any mode to normal mode
could end up with the cursor in the newline character
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>