(and any other LSP server in theory, if it exposes any LSP-ext endpoint
for the same)
Closes https://github.com/zed-industries/zed/issues/16160
* adds a way to disable tree-sitter tasks (the ones from the plugins,
enabled by default) with
```json5
"languages": {
"Rust": "tasks": {
"enabled": false
}
}
}
```
language settings
* adds a way to disable LSP tasks (the ones from the rust-analyzer
language server, enabled by default) with
```json5
"lsp": {
"rust-analyzer": {
"enable_lsp_tasks": false,
}
}
```
* adds rust-analyzer tasks into tasks modal and gutter:
<img width="1728" alt="modal"
src="https://github.com/user-attachments/assets/22b9cee1-4ffb-4c9e-b1f1-d01e80e72508"
/>
<img width="396" alt="gutter"
src="https://github.com/user-attachments/assets/bd818079-e247-4332-bdb5-1b7cb1cce768"
/>
Release Notes:
- Added tasks from rust-analyzer
Kirill Bulatov
created
763cc6d
Tell the model not to act on TODO type comments (#28358)
Click to expand commit body
Release Notes:
- Adjusted system prompt to direct it to never act on TODO-type comments
it encounters, unless the user directly asked it to do so or they relate
to the current task at hand.
Joseph T. Lyons
created
0b75c13
chore: Replace as_any functions with trait upcasting (#28221)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
38ec450
project: Workaround invalid code action edits from pyright (#28354)
Click to expand commit body
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
fixes issue where:
In a two line python file like so
```
Path()
```
If the user asks for code actions on `Path` and they select (`From
pathlib import path`)
the result they get is
```
Pathfrom pathlib import Path
Path()
```
Instead of
```
from pathlib import Path
Path()
```
This is due to a non-lsp-spec-compliant response from pyright below
```json
{"jsonrpc":"2.0","id":40,"result":[{"title":"from pathlib import Path","edit":{"changes":{"file:///Users/neb/Zed/example-project/pyright-project/main.py":[{"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":4}},"newText":"Path"},{"range":{"start":{"line":2,"character":0},"end":{"line":2,"character":0}},"newText":"from pathlib import Path\n\n\n"}]}},"kind":"quickfix"}]}
```
Release Notes:
- Fixed an issue when using auto-import code actions provided by pyright
(or basedpyright) where the import would be jumbled with the scoped
import resulting in an invalid result
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Ben Kunkle
,
Max Brunsfeld
, and
Anthony Eid
created
97641c3
Use tree-sitter when returning symbols to the model for a given file (#28352)
Click to expand commit body
This also increases the threshold for when we return an outline during
`read_file`.
Release Notes:
- Fixed an issue that caused the agent to fail reading large files if
the LSP hadn't started yet.
Antonio Scandurra
created
ca8f6e8
Tell the model not to remove tests (#28349)
Click to expand commit body
Release Notes:
- Adjusted system prompt to direct it to never remove tests as a way to
have the test suite pass, unless the user directly asks for test
removal.
Joseph T. Lyons
created
db53da4
debugger: Respect initialize_args from user profiles (#28347)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Piotr Osiewicz
and
Ben Kunkle
created
df94dcd
ci: Only run workspace_hack when tests run (#28346)
Click to expand commit body
Skip `workspace_hack` for PRs that don't trigger tests (docs-only,
.github issue templates, etc).
Release Notes:
- N/A
Peter Tripp
created
1c85901
Tell the model not to create .bak files (#28244)
Click to expand commit body
Release Notes:
- Adjusted system prompt to avoid having the agent create backup files
unnecessarily.
Make various improvements to our github issue templates.
- Adjust line lengths to not wrap in constrained new issue view (85
cols) not just full screen view (95 columns)
- Remove reference to drag/drop logs to upload (recently multiple issues
with dead upload links)
- Cleanup list view
Release Notes:
- N/A
Peter Tripp
created
feafad2
Improve comments on shader code for dashed borders (#28341)
Click to expand commit body
Improvements from going over the code with @as-cii
Release Notes:
- N/A
Michael Sloan
created
86ef000
pylsp: Upgrade existing installation if possible (#28338)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Zed-managed pylsp installations will now correctly upgrade themselves
Piotr Osiewicz
created
9e8afa8
Fix local task dropped on the wrong thread (#28290)
Click to expand commit body
Release Notes:
- Fixed a panic during shutdown of the remote server
Conrad Irwin
created
698cdc4
agent: Display "generating" label in the active thread (#28297)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
The bash tool will now truncate its output to 8192 bytes (or the last
newline before that).
We also added a global limit for any tool that produces a clearly large
output that wouldn't fit the context window.
Release Notes:
- agent: Truncate bash tool output
---------
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Agus Zubiaga
and
Michael Sloan
created
1774cad
debugger: Add close button and coloring to debug panel session's menu (#28310)
Click to expand commit body
This PR adds colors to debug panel's session menu that indicate the
state of each respective session. It also adds a close button to each
entry.
green - running
yellow - stopped
red - terminated/ended
Release Notes:
- N/A
Release Notes:
- Fixed an issue where new participants were not muted when the room was
deafened
Conrad Irwin
created
14b43d5
agent: Navigate to line when clicking on filepath in markdown codeblock (#28329)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
d39e1e0
Demote buffer-diff to a dev dependency of collab (#28295)
Click to expand commit body
This will speed up our collab deployments a little
Release Notes:
- N/A
Max Brunsfeld
created
9e504a1
git: Fix logging FromUtf8Error when diffing (#28276)
Click to expand commit body
If you attempt to load a git diff which includes a non utf-8 file,
previously
(1) the entire contents of the file was logged as ordinals and
(2) a second spurious error was logged
```
2025-04-07T16:21:28.392845-04:00 [ERROR] FromUtf8Error { bytes: [0, 1, 0, 0, 0, 19, 1, 0, 0, 4, 0, 48, 68, 83, 73, 71, 0, 0, 0, 1, 0, 2, 241, 204, 0, 0, 0, 8, 71, 68, 69, 70, 164, 172, 164, ...
[2025-04-07T17:12:16-04:00 ERROR git::repository] Error loading index text: invalid utf-8 sequence of 1 bytes from index 35
```
Having 1MB binary file in a commit would generate ~3MB-5MB of log
output.
Discovered while investigating
https://github.com/zed-industries/zed/issues/28241
Release Notes:
- git: Fixed an issue where non-UTF8 files in a git diff would generate
log spam.
Peter Tripp
created
ca4cc47
Upgrade async-tungstenite to tokio (#26193)
Click to expand commit body
We're seeing panics caused by a buggy implementation of AsyncWrite
that is being passed to rustls:
https://github.com/rustls/rustls/issues/2316#issuecomment-2662838186
One hypothesis was that we're using (comparatively) non-standard async
tools for connecting over websockets; so this attempts to make us be
(comparitvely) more standard.
Release Notes:
- N/A
Conrad Irwin
created
ea33d78
vim: Fix visual line yank on newline char (#28005)
Click to expand commit body
Problem:
When yanking in visual line on the newline char, the next line gets
yanked as well:
https://github.com/user-attachments/assets/40f332dd-19f5-445f-a30f-39d50167c46f
Changes:
Similar to visual delete, exclude the newline char from the selection in
line mode.
Release Notes:
- vim: Fixed visual line yank while on the newline character yanking
following line
Taken from:
https://github.com/jeetsukumaran/vim-indentwise?tab=readme-ov-file#movements-by-relative-indent-depth
> [- : Move to previous line of lesser indent than the current line.
> [+ : Move to previous line of greater indent than the current line.
> [= : Move to previous line of same indent as the current line that is
separated from the current line by lines of different indents.
> ]- : Move to next line of lesser indent than the current line.
> ]+ : Move to next line of greater indent than the current line.
> ]= : Move to next line of same indent as the current line that is
separated from the current line by lines of different indents.
Release Notes:
- vim: Added indent-wise motions `] -/+/=`
5brian
created
cbd9b4c
Switch back to the default mode after paste (#28304)
Click to expand commit body
Now that the flaky tests are disabled, this should work...
Release Notes:
- Fixed vim paste action to switch back to the configured default mode.
jneem
created
64f8b1e
docs: Add missing comma in the Tasks page (#28324)
Click to expand commit body
Added a missing command in the same tasks.json file
Release Notes:
- N/A
James Falade
created
4f936d8
vim: Fix exchange showing `ccx` in pending keys (#28303)
Click to expand commit body
|Before|After|
|--|--|
|||
Changes:
Add vim exchange to the clear stack
Release Notes:
- N/A
5brian
created
97abf21
agent: Add support for Google Gemini 2.5 preview (#28326)
Click to expand commit body
Adds support for the new `gemini-2.5-pro-preview-03-25`
Release Notes:
- Added support for `gemini-2.5-pro-preview-03-25` in the assistant
Bennet Bo Fenner
created
5fb1411
debugger: Add scrollbars, fix papercuts with completions menu and jumps (#28321)
7ee9109
project_panel: Do not allow creating empty file/dir or file/dir with only whitespaces (#28240)
Click to expand commit body
- Do not allow creating empty file or empty directory.
- Do not allow creating file or directory with just whitespace.
- Show error only in case whitespace.
<img width="352" alt="image"
src="https://github.com/user-attachments/assets/f6040332-59a6-4d09-bf07-2b4b1b8b9e03"
/>
Release Notes:
- N/A
a289295
gpui: Depend on workspace image crate (#28313)
Click to expand commit body
Make gpui depend on the image crate on the workspace level
Release Notes:
- N/A
tidely
created
3b787e8
Fix scrolling too fast on selection for editor and terminal (#28309)
Smit Barmase
created
1264e7a
Properly store editor restoration data (#28296)
Click to expand commit body
We cannot compare versions and anchors between different `Buffer`s with
different `BufferId`s.
Release Notes:
- Fixed Zed panicking on editor reopen
Co-authored-by: Conrad Irwin <conrad@zed.dev>
Kirill Bulatov
and
Conrad Irwin
created
bfe08e4
Tell the system prompt not to write incomplete code (#28245)
Click to expand commit body
Sometimes agents do this. I've had some success responding by telling it
not to do this, so trying out having it in the system prompt.
Release Notes:
- Adjusted the system prompt to avoid incomplete code generation.
Richard Feldman
created
df3c7a7
debugger: Pick best candidate binary for debugging cargo-located tasks (#28289)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
0dc3dff
Use insert_id as partition key for crash events (#28293)
Click to expand commit body
Release Notes:
- N/A
Max Brunsfeld
created
b306a02
agent: Add headers for code blocks (#28253)
6220b86
Write panics and crashes to snowflake (#28284)
Click to expand commit body
This will let us create a better crashes dashboard, using Hex.
Release Notes:
- N/A
Max Brunsfeld
created
448db20
Fix bad unicode calculations in do_completion (#28259)
Click to expand commit body
Co-authored-by: João Marcos <marcospb19@hotmail.com>
Release Notes:
- Fixed a panic with completions around non-ASCII code
---------
Co-authored-by: João Marcos <marcospb19@hotmail.com>
Conrad Irwin
and
João Marcos
created
e4a6943
Update Rust crate tokio to v1.44.2 [SECURITY] (#28277)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) | dependencies |
patch | `1.44.1` -> `1.44.2` |
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) |
workspace.dependencies | patch | `1.44.1` -> `1.44.2` |
### GitHub Vulnerability Alerts
####
[GHSA-rr8g-9fpq-6wmg](https://redirect.github.com/tokio-rs/tokio/pull/7232)
The broadcast channel internally calls `clone` on the stored value when
receiving it, and only requires `T:Send`. This means that using the
broadcast channel with values that are `Send` but not `Sync` can trigger
unsoundness if the `clone` implementation makes use of the value being
`!Sync`.
Thank you to Austin Bonander for finding and reporting this issue.
---
### Release Notes
<details>
<summary>tokio-rs/tokio (tokio)</summary>
###
[`v1.44.2`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2):
Tokio v1.44.2
[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)
This release fixes a soundness issue in the broadcast channel. The
channel
accepts values that are `Send` but `!Sync`. Previously, the channel
called
`clone()` on these values without synchronizing. This release fixes the
channel
by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding
and
reporting the issue).
##### Fixed
- sync: synchronize `clone()` call in broadcast channel ([#​7232])
[#​7232]: https://redirect.github.com/tokio-rs/tokio/pull/7232
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
f03efed
Try to identify dSYMs by UUID not channel (#28268)
Click to expand commit body
This should make it possible to more reliably symbolicate crash reports
from nightly, and from users with pending auto-updates.
Release Notes:
- N/A
---------
Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Conrad Irwin
and
Ben Kunkle
created
862d0c0
debugger: Fix gdb adapter and logger (#28280)
Click to expand commit body
There were two bugs that caused the gdb adapter not to work properly,
one on our end and one their end.
The bug on our end was sending `stopOnEntry: null` in our launch request
when stop on entry had no value. I fixed that bug across all dap
adapters
The other bug had to do with python's "great" type system and how we
serialized our unit structs to json; mainly,
`ConfigurationDoneArguments` and `ThreadsArguments`. Gdb seems to follow
a pattern for handling requests where they pass `**args` to a function,
this errors out when the equivalent json is `"arguments": null`.
```py
@capability("supportsConfigurationDoneRequest")
@request("configurationDone", on_dap_thread=True)
def config_done(**args): ### BUG!!
...
```
Release Notes:
- N/A
Anthony Eid
created
56ed5dc
agent: Add the history button back in the toolbar and make it a toggle (#28275)
Click to expand commit body
Release Notes:
- agent: The history view is now more easily accessible via the icon
button in the Agent Panel toolbar.
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>