0852912
language_models: Add image support to OpenRouter models (#32012)
Click to expand commit body
- [x] Manual Testing(Tested this with Qwen2.5 VL 32B Instruct (free) and
Llama 4 Scout (free), Llama 4 Maverick (free). Llama models have some
issues in write profile due to one of the in built tools schema, so I
tested it with minimal profile.
Closes #ISSUE
Release Notes:
- Add image support to OpenRouter models
---------
Signed-off-by: Umesh Yadav <umesh4257@gmail.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
5b22994
Log error instead of panics in `InlineAssistant::scroll_to_assist` (#32519)
Click to expand commit body
Leaving release notes blank as it's not very actionable to know that a
rare crash might be fixed.
Release Notes:
- N/A
Michael Sloan
created
6c0ea88
debugger: Make sure debuggees are killed when quitting Zed (#32186)
Click to expand commit body
Closes #31373
We kill the DAP process in our `on_app_quit` handler, but the debuggee
might not be killed. Try to make this more reliable by making the DAP
process its own process group leader, and killing that entire process
group when quitting Zed.
I also considered going through the normal DAP shutdown sequence here,
but that seems dicey in a quit handler. There's also the DAP
`ProcessEvent` but it seems we can't rely on that as e.g. the JS DAP
doesn't send it.
Release Notes:
- Debugger Beta: Fixed debuggee processes not getting cleaned up when
quitting Zed.
Cole Miller
created
fc4ca34
editor: Adjust scope for prefer label for snippet workaround (#32515)
Click to expand commit body
Closes #32159
This PR refines the scope to match just the function name with **the
type argument** instead of the whole call expression.
Matching to whole call expression prevented methods from expanding
inside the function argument. For example, `const foo =
bar(someMethod(2)^);` instead of `const foo = bar(someMethod^)`;
Follow-up for https://github.com/zed-industries/zed/pull/30312,
https://github.com/zed-industries/zed/pull/30351. Mistakenly regressed
since https://github.com/zed-industries/zed/pull/31872 when we stopped
receiving `insert_range` for this particular case and fallback to
`replace_range`.
Release Notes:
- Fixed issue where code completion in TypeScript function arguments
sometimes omitted the dot separator, for example resulting in
`NumberparseInt` instead of `Number.parseInt(string)`.
---------
Co-authored-by: Michael Sloan <michael@zed.dev>
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Smit Barmase
,
Michael Sloan
, and
Michael Sloan
created
Release Notes:
- debugger: Fix stopping on a panic
Conrad Irwin
created
72de314
Add a test demonstrating ERB language loading bug (#32278)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/12174
Release Notes:
- Fixed a bug where ERB files were not parsed correctly when the
languages were initially loaded.
Max Brunsfeld
created
ad206a6
Recenter current stack frame on click (#32508)
Click to expand commit body
Release Notes:
- debugger: Recenter current stack frame on click
As part of this I refactored the logic that enabled/disabled actions in
the debugger to happen at action registration time instead of using
command palette filters. This allows the menu to grey out actions correctly.
Release Notes:
- Add a "Run" menu to contain tasks and debugger
When no locator or valid config is found we expose the invalid config
error message to the user now.
Closes #32067
Release Notes:
- debugger beta: Improve error message when starting a debugger session
with an invalid configuration
Anthony Eid
created
7a14987
debugger beta: Fix inline value provider panic (#32502)
Click to expand commit body
Closes #32143
Release Notes:
- debugger beta: Fix panic that could occur when generating inline
values
Anthony Eid
created
5eb68f0
debugger: Fix panic when handling invalid `RunInTerminal` request (#32500)
Click to expand commit body
The new dap-types version has a default to cwd for the
RunInTerminalRequest
Closes #31695
Release Notes:
- debugger beta: Fix panic that occurred when a debug adapter sent an
invalid `RunInTerminal` request
Now, every JS/TS-related file will get their package.json script
contents added as tasks:
<img width="1020" alt="image"
src="https://github.com/user-attachments/assets/5bf80f80-fd72-4ba8-8ccf-418872895a25"
/>
To achieve that, `fn associated_tasks` from the `ContextProvider` was
made asynchronous and the related code adjusted.
Release Notes:
- Added initial `package.json` scripts task autodetection
---------
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Kirill Bulatov
and
Piotr Osiewicz
created
0c0933d
debugger: Ungate locator for JS tasks (#32495)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Cole Miller
and
Anthony Eid
created
a4c5a2d
debugger: Add 'open docs' button in the panel and mention onboarding in the docs (#32496)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
311e136
debugger: Reuse parent's debug terminal for child sessions (#32493)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Debugger Beta: fixed an issue where the terminal pane of the debug
panel would be empty when debugging JavaScript.
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Cole Miller
,
Conrad Irwin
, and
Anthony Eid
created
4f5433a
Filter language server completions even when `is_incomplete: true` (#32491)
Click to expand commit body
In #31872 I changed the behavior of completions to not filter instead of
requerying completions when `is_incomplete: false`. Unfortunately this
also stopped filtering completions when `is_incomplete: true` - we still
want to filter the incomplete completions so that the menu updates
quickly even when completions are slow. This does mean that the
completions menu will display partial results, hopefully only briefly
while waiting for fresh completions.
Thanks to @mikayla-maki for noticing the regression. Thankfully just in
time to fix it before this makes it into a stable release. Leaving off
release notes since I will cherry-pick this to the current preview
version, 190.x, and there probably won't be a preview release before the
next stable.
Release Notes:
- N/A
JavaScript debugger is using a phantom stack frame to delineate await
points; that frame reuses a frame ID of 0, which collides with other
frames returned from that adapter.
https://github.com/microsoft/vscode-js-debug/blob/934075df8c3c9726ead99aa8ee6815b36d835c34/src/adapter/stackTrace.ts#L287
The bug has since been fixed in
https://github.com/microsoft/vscode-js-debug/issues/2234, but we'll need
to wait for a new release of node debugger for that to make a
difference. Until then..
Release Notes:
- Fixed a bug with JavaScript debugging which led to stack trace list
containing excessive amount of `await` entries.
---------
Co-authored-by: Conrad Irwin <conrad@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Piotr Osiewicz
,
Conrad Irwin
, and
Conrad Irwin
created
71d5c57
debugger: Specify runtimeExecutable in output of node locator (#32464)
Click to expand commit body
This appears to fix some cases where we fail to launch JS tests under
the debugger.
Release Notes:
- N/A (node locator is still gated)
---------
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cole Miller
,
Anthony Eid
, and
Conrad Irwin
created
dd17fd3
debug: Launch custom commands from start modal (#32484)
Click to expand commit body
Release Notes:
- Add custom command launching from the `debug: start` modal
---------
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Julia Ryan
and
Anthony Eid
created
e4f8c4f
debugger: Don't spin forever when adapter disconnects unexpectedly (#32489)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Debugger Beta: made the debug panel UI more helpful when an invalid
configuration is sent to the debug adapter.
---------
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cole Miller
,
Anthony Eid
, and
Conrad Irwin
created
e62e9fa
docs: Condense Ruby test framework docs (#32472)
Click to expand commit body
Since `tldr` and `quickdraw` use the same kind of task syntax as RSpec,
I don't think it's necessary to have separate examples.
cc @joeldrapper @vitallium
Release Notes:
- N/A
Andy Waite
created
3f419b3
docs: Update Ruby docs about `args` syntax in tasks (#32471)
Click to expand commit body
Due to https://github.com/zed-industries/zed/pull/32345
cc @vitallium
Release Notes:
- N/A
Andy Waite
created
5270844
Revert "Preserve selection direction when running `editor: open selections in multibuffer`" (#32483)
Click to expand commit body
Reverts zed-industries/zed#31399
I found that in some cases, Zed will panic when using `editor: open
selections in multibuffer` if the selection is reversed. It doesn't
happen in most cases that I've tested, but in some strange edge cases
(that I dont fully understand ATM), it does. I'm reverting for now, as
the previous behavior is better than a panic, but will re-implement this
fix to preserving selection directions in a new PR with comprehensive
testing
Release Notes:
- N/A
Joseph T. Lyons
created
f567bb5
gpui: Simplify uniform list API by removing entity param (#32480)
Click to expand commit body
This PR also introduces `Context::processor`, a sibling of
`Context::listener` that takes a strong pointer to entity and allows for
a return result.
Release Notes:
- N/A
Co-authored-by: Mikayla <mikayla@zed.dev>
Ben Kunkle
and
Mikayla
created
c556308
debugger: Run jest tests serially (#32473)
Click to expand commit body
Pass `--runInBand` to jest when debugging. This prevents jest from
creating a bunch of child processes that clutter the session list.
It might be a bit more natural to add this argument in the test
templates themselves, but I don't think we want to give up parallelism
when running via `task: spawn`.
Release Notes:
- N/A (JS locator is still gated)
Cole Miller
created
e0ca427
debugger: Use JS adapter's suggested names for child sessions (#32474)
Click to expand commit body
Also introduces an extension point for other adapters to do this if it
turns out they also send this information.
Release Notes:
- N/A (JS locator is still gated)
Be kind to those with Zed forks.
Example [action run on
fork](https://github.com/G36maid/freebsd-ports-zed/actions/runs/15525942275)
where [this
job](https://github.com/G36maid/freebsd-ports-zed/actions/runs/15549650437/job/43777665341)
will wait forever. Sorry @G36maid
Release Notes:
- N/A
Peter Tripp
created
c9972ca
docs: Consolidate and improve organization of Linux GPU issue documentation (#32468)
9334e15
Allow identifiers in TypeScript/JavaScript test names (#32467)
Click to expand commit body
Current behavior (not detected as runnable):
<img width="1105" alt="image"
src="https://github.com/user-attachments/assets/7d3b7936-43d8-4645-bbbb-e81ed5f9b35a"
/>
New behavior:
https://github.com/user-attachments/assets/524e2a56-cb30-4dc0-98ec-b34b510015e0
Release Notes:
- Improved detection of runnable TypeScript/JavaScript test cases when
they contain identifier
Alexander
created
9c47c52
ci: Restore lychee link check. Only validate internal links (#32463)
Click to expand commit body
Follow-up to: https://github.com/zed-industries/zed/pull/32460
Follow-up to: https://github.com/zed-industries/zed/pull/30844
Release Notes:
- N/A
Peter Tripp
created
286b97c
agent: Fix agent panel model selector layout pushing send button off screen (#32251)
Click to expand commit body
| Before | After |
|--------|-------|
| <video
src="https://github.com/user-attachments/assets/db4dcc91-9a32-4621-be78-87fe9d80b801"
controls width="400"></video> | <video
src="https://github.com/user-attachments/assets/8ee31d6d-5150-4239-a4af-eeca112d56d5"
controls width="400"></video> |
While working on something else I found this weird behaviour in message
editor of agent panel. When model names are too long, the model selector
would expand and push the send button outside the visible area. This
change fixes the flex layout to ensure the send button always remains
accessible while properly truncating long model names.
Closes #ISSUE
Release Notes:
- Fix agent panel model selector layout pushing send button off screen
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Umesh Yadav
,
Danilo Leal
, and
Danilo Leal
created
415d482
agent: Only show the MCP configuration modal in the active window (#32450)
Click to expand commit body
We were previously displaying this modal in all open Zed windows if
triggered. That was a bit annoying because I had to go to each window
individually to close it, which meant doing it multiple times. 😅
Release Notes:
- agent: Fixed the MCP configuration modal to show only in the active
window.
Danilo Leal
created
a9d0eee
docs: Add link to MCP extensions in the overview page (#32458)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/32422. Missed
this one in this latest round of MCP-related docs changes.
Release Notes:
- N/A
Co-authored-by: Peter Tripp <peter@zed.dev>
Danilo Leal
and
Peter Tripp
created
e4e3409
extension_host: Fix SSH reconnect breaks language server (#32457)
Click to expand commit body
Closes #29032
This PR fixes an issue where reconnecting to SSH Remote would result in
a broken language server.
This was caused by SSH clients not registering because the `ssh_clients`
map would still contain an entry from a previously killed SSH server.
For fix, now we also check if its value has been dropped.
Release Notes:
- Fixed issue where reconnecting to SSH Remote would result in broken
code completions and diagnostics.
Smit Barmase
created
46f98b6
ci: Move lychee link check to script/check-links (#32460)
Click to expand commit body
Follow-up to: https://github.com/zed-industries/zed/pull/30844
Transient link failure was blocking PR tests passing. [Example
run](https://github.com/zed-industries/zed/actions/runs/15560960788/job/43812878693?pr=32458).
Release Notes:
- N/A
Peter Tripp
created
c1a4a24
Ensure pull diagnostics do not happen for non-full mode editors (#32449)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/19230
Release Notes:
- N/A
Kirill Bulatov
created
eb5f595
editor: Dismiss drag selection when dropped outside editor (#32382)
Click to expand commit body
This PR fixes two issues:
1. On macOS, using Alt to copy the selection instead of cutting it.
2. Dropping the drag selection outside the editor dismisses it.
https://github.com/user-attachments/assets/341e21c3-3eca-4e58-9bcc-8ec1de18e999
Release Notes:
- N/A
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
CharlesChen0823
and
Smit Barmase
created
2dad48d
windows: Fix panic when deleting the last pre-edit char using Pinyin IME (#32442)
Click to expand commit body
Release Notes:
- N/A
张小白
created
16853ac
Enable cross-region inference for Claude 4 family models on Amazon Bedrock provider (#32235)
Click to expand commit body
These models require cross-region inference, and it currently fails if
you try to use them:
```
Invocation of model ID anthropic.claude-sonnet-4-20250514-v1:0 with on-demand throughput isn’t supported.
```
Release Notes:
- Enable cross-region inference for Claude 4 family models on Amazon
Bedrock provider
Signed-off-by: Burak Varlı <burakvar@amazon.co.uk>
Burak Varlı
created
64d6492
Add missing `#[track_caller]` meant to be in #32433 (#32434)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
08210b5
Don't push to selection history if selections are empty (#32433)
Click to expand commit body
I got a panic during undo but haven't been able to repro it. Potentially
a consequence of my changes in #31731
> Thread "main" panicked with "There must be at least one selection" at
crates/editor/src/selections_collection.rs
Leaving release notes blank as I'm not sure this actually fixes the
panic
Release Notes:
- N/A
Michael Sloan
created
6070aea
Skip adding initial `1:1` cursor position to selection history (#32432)
Click to expand commit body
Also improves some minor corner cases in `undo_selection` and
`redo_selection` related to the use of `end_selection`. If the pending
selection was ended, this would separately get pushed to the redo or
undo stack and redundantly run all the other effects of selection
change.
Release Notes:
- N/A
Michael Sloan
created
16b44d5
debugger: Use Delve to build Go binaries (#32221)
Click to expand commit body
Release Notes:
- debugger: Use delve to build go debug executables, and pass arguments
through.
---------
Co-authored-by: sysradium <sysradium@users.noreply.github.com>
Co-authored-by: Zed AI <ai@zed.dev>
Conrad Irwin
,
sysradium
, and
Zed AI
created
3bed830
Use unix pipe to capture environment variables (#32136)
Click to expand commit body
The use of `NamedTempFile` in #31799 was not secure and could
potentially cause write permission issues (see [this
comment](https://github.com/zed-industries/zed/issues/29528#issuecomment-2939672433)).
Therefore, it has been replaced with a Unix pipe.
Release Notes:
- N/A
We believe that collab deploys currently cause outages because:
* All clients try to reconnect simultaneously
* This causes very high CPU usage on collab (and to some extent, the
database)
* This means that collab is slow to respond to clients
* So clients timeout and retry, over and over again.
We hope by letting clients in in buckets of 512, we can accept some
minor slowness to avoid
complete downtime, while we rewrite the system.
Release Notes:
- N/A
After integrating pinned tabs into my workflow, I've come to the
conclusion that it is painfully slow to unpin all tabs by hand.
https://github.com/user-attachments/assets/ad087b8e-4595-4c4d-827f-188e36170c25
Release Notes:
- Added a `pane: unpin all tabs` action