Commit log

9d2b7c8 agent: Dismiss the agent panel notification if window is closed (#34230)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/32951

Release Notes:

- agent: Fixed an issue where the agent panel notification would linger
on even after you closed the window.

Danilo Leal created

c6603e4 Stop extensions' servers and message loops before removing their files (#34208)

Click to expand commit body
Fixes an issue that caused Windows to fail when removing extension's
directories, as Zed had never stop any related processes.

Now:

* Zed shuts down and waits until the end when the language servers are
shut down

* Adds `impl Drop for WasmExtension` where does
`self.tx.close_channel();` to stop a receiver loop that holds the "lock"
on the extension's work dir.
The extension was dropped, but the channel was not closed for some
reason.

* Does more unregistration to ensure `Arc<WasmExtension>` with the `tx`
does not leak further

* Tidies up the related errors which had never reported a problematic
path before

Release Notes:

- N/A

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Smit <smit@zed.dev>

Kirill Bulatov , Smit Barmase , and Smit created

c549b71 Just Zed instead of Zed Editor (#34146)

Click to expand commit body
Release Notes:

- N/A

localcc created

d6bff27 settings_ui: Ensure selected keymap entry is properly updated (#34229)

Click to expand commit body
This change ensures that we more reliably deploy the context menu in the
keymap editor as well as highlight the selected row quicker.

Release Notes:

- N/A

Finn Evers created

cfc9cfa language_models: Refresh the list of models when the LLM token is refreshed (#34222)

Click to expand commit body
This PR makes it so we refresh the list of models whenever the LLM token
is refreshed.

This allows us to add or remove models based on the plan in the new
token.

Release Notes:

- Fixed model list not refreshing when subscribing to Zed Pro.

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Marshall Bowers and Bennet Bo Fenner created

e2e529b Remove redundant `autoscroll_horizontally` during editor prepaint (#34218)

Click to expand commit body
* Experimentally `scroll_manager.anchor()` appears to be the same before
and after this 2nd call of `autoscroll_horizontally`

* Nothing these depend on seem to be mutated between the calls (and
since this is prepaint, stuff within editor also shouldn't be mutated)

Release Notes:

- N/A

Co-authored-by: Finn <finn@zed.dev>

Michael Sloan and Finn created

e6c41b5 Add more admin to seed script (#34220)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

f8f8275 Remove default shell breadcrumbs on windows (#34198)

Click to expand commit body
Release Notes:

- N/A

localcc created

36c325b docs: Add GitHub Copilot Enterprise configuration example (#33902)

Click to expand commit body
### Context

This PR adds documentation for setting up GitHub Copilot Enterprise as
an edit prediction provider in Zed.
There was previously no documentation for this feature, which was
implemented in [PR
#32296](https://github.com/zed-industries/zed/pull/32296).

This follows up on [my
comment](https://github.com/zed-industries/zed/issues/22901#issuecomment-3034817471)
and the response from the[ Zed
team](https://github.com/zed-industries/zed/issues/22901#issuecomment-3034837282),
which clarified the required settings.

### What’s included

- Documents the `enterprise_uri` setting for Copilot Enterprise in
`edit-prediction.md`.
- Explains how to configure the setting and what to expect from the
sign-in flow.

### Notes

- This is a documentation-only change.
- No code or tests are affected.

Release Notes:

- N/A

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Nathan Brodin and Peter Tripp created

f4106ad collab: Send down new usage limits even when the user does not have any usage (#34217)

Click to expand commit body
This PR fixes an issue where the plan usage limits in Zed would not get
updated immediately after the plan has changed.

Previously we were only sending down the usage—which contains the
limits—if there was a usage record in the database. This would be absent
if the user had just changed their plan.

We now always send down the usage in order to update the limits on the
client side.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Marshall Bowers and Bennet Bo Fenner created

1583dd2 settings_ui: Ensure context menu is properly populated (#34213)

Click to expand commit body
This change fixes a small issue where the right-click context menu would
not be populdated on the first right click in the keymap editor and the
selection of the corresponding entry would be slightly delayed.

Release Notes:

- N/A

Finn Evers created

d7fd924 settings_ui: Open keybinding editing modal on mouse double click (#34193)

Click to expand commit body
Whilst working on the keymap editor, I regularly find myself
double-clicking an entry just to find that nothing happens besides
selecting the given entry. This feels really unintuitive to me. I
checked back with VSCode and they also open the modal when
double-clicking an entry in the list.

Thus, this PR enables double-clicking an entry in the list to open the
editing modal.

Release Notes:

- N/A

Finn Evers created

5f21a9b Uncomment default settings values (#34179)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/34178

Release Notes:

- N/A

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Justin Su and Peter Tripp created

c30e281 Preserve agent message editor unsent text (#34150)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/33687

Release Notes:

- agent: Preserve unsent chat message text when creating a new thread

Peter Tripp created

8bc1396 Suggest powershell extension (#34211)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

51c24e2 Reorder items in the quick action bar (#34203)

Click to expand commit body
Namely, putting the diagnostics items in their own little section,
divider from the other "inline" and minimap/edit prediction items. I
feel like this is an easier to parse organization, even though all the
"inlines" made sense to be somewhat close together.

Release Notes:

- N/A

Danilo Leal created

3169f06 windows: Don't show cmd window when remoting (#34187)

Click to expand commit body
Release Notes:

- N/A

张小白 created

76e52ea ci: Improve windows_tests description (#34123)

Click to expand commit body
We're running clippy and tests in our ci

Release Notes:

- N/A

张小白 created

ca0f0cc vim: Fix panic when scrolling beyond last line (#34172)

Click to expand commit body
cc @dinocosta

Release Notes:

- (preview only) vim: Fix panic when scrolling down at end of file

Conrad Irwin created

a133c13 windows: Fix `ctrl-r` showing the control character (#34171)

Click to expand commit body
Release Notes:

- N/A

张小白 created

08ffd98 Update to acp 0.0.6 (#34159)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Agus Zubiaga and Conrad Irwin created

dc591fe Hide unused extension types from the extension UI (#34166)

Click to expand commit body
This PR hides "slash commands" and "indexed docs providers" from the
extensions UI as these are virtually completely unused types of
extensions.

Release Notes:

- N/A

Danilo Leal created

95784d5 agent: Fix edit bar's background color when zoomed in (#34163)

Click to expand commit body
When the panel was zoomed in, the edit bar's background color would have
a different color than the rest of the panel. This PR fixes it by using
the `panel_background` color token.

Release Notes:

- N/A

Danilo Leal created

9b63ba6 gpui: Add `cx.intercept_keystrokes` API to intercept keystrokes before action dispatch (#34084)

Click to expand commit body
Closes #ISSUE

`cx.intercept_keystrokes` functions as a sibling API to
`cx.observe_keystrokes`. Under the hood the two API's are basically
identical, however, `cx.observe_keystrokes` runs _after_ all event
dispatch handling (including action dispatch) while
`cx.intercept_keystrokes` runs _before_. This allows for
`cx.stop_propagation()` calls within the `cx.intercept_keystrokes`
callback to prevent action dispatch.

The motivating example usage behind this API is also included in this
PR. It is used as part of a keystroke input component that needs to
intercept keystrokes before action dispatch to display them.

cc: @mikayla-maki 

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

862e733 agent: Make all icons used for tool calls consistent (#34160)

Click to expand commit body
Starting to use the `Tool...` family of icons dedicated & designed for
the agent panel.

Release Notes:

- N/A

Danilo Leal created

66dda8e editor: Fix block comment with same prefix as line comment incorrectly extending on new line (#34156)

Click to expand commit body
Closes #33930

Release Notes:

- Fixed `--[[` incorrectly extending `--` upon a new line in Lua.

Smit Barmase created

16d02cf agent: Allow thinking in edit file tool (#34155)

Click to expand commit body
Follow up to #34141. As pointed out by @maan2003 changing the thinking
parameters invalidates the message cache
([Docs](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching#what-invalidates-the-cache)).

All the other places where `thinking_allowed ` is set to `false` should
be fine since we do not do any caching there.

Release Notes:

- N/A

Bennet Bo Fenner created

2c41e10 Add button to view dap logs (#34153)

Click to expand commit body
Release Notes:

- N/A

Julia Ryan created

9ab5e78 Add some UI adjustments to the keymap editor (#34152)

Click to expand commit body
Mostly simple things like spacing and colors.

Release Notes:

- N/A

Danilo Leal created

e30e438 Add chevron icons to the dropdown menus in the LSP log pane (#34149)

Click to expand commit body
A bunch of dropdown menus in this pane that weren't clear that were
menus without chevrons in it. :)

<img
src="https://github.com/user-attachments/assets/fc701a5d-ed89-4de3-a76e-06d22ad9e366"
width="600"/>

Release Notes:

- N/A

Danilo Leal created

de627ba git_ui: Support "Open Pull Request" for more platforms (#33833)

Click to expand commit body
Hello! It would be great to be able to use the "Open Pull Request"
button that appears after pushing a branch via the git UI on more
platforms (I use Gitlab day to day). Would you be open to adding more
variations of the PR hint text?

I've added the text that Gitlab and Bitbucket use in their push logs
here.

Release Notes:

- Git UI: Support "Open Pull Request" for more platforms

Steve Hillier created

80eed63 agent: Add menu in the plus icon button for creating a new thread (#34143)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Danilo Leal and Agus Zubiaga created

974bc40 agent: Don't always render the markdown/scroll buttons (#34145)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Danilo Leal and Agus Zubiaga created

642d8bb Don't upload windows installer to preview releases for now (#34147)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

41fe2a2 agent: Disable thinking when using inline assistant/edit file tool (#34141)

Click to expand commit body
This introduces a new field `thinking_allowed` on `LanguageModelRequest`
which lets us control whether thinking should be enabled if the model
supports it.
We permit thinking in the Inline Assistant, Edit File tool and the Git
Commit message generator, this should make generation faster when using
a thinking model, e.g. `claude-sonnet-4-thinking`

Release Notes:

- N/A

Bennet Bo Fenner created

96ff6d8 Fix autocomplete on settings.json after reload (#34142)

Click to expand commit body
Closes #31850


https://github.com/user-attachments/assets/6182ef64-3ce6-49ed-a91b-770c51cb6e94

Release Notes:

- Fixed autocomplete on settings.json after restarting Zed

Richard Feldman created

6e57632 Simplify installer by removing a couple pages (#34144)

Click to expand commit body
Release Notes:

- N/A

localcc created

de0e6f7 Fix inno dir (#34116)

Click to expand commit body
Fix inno dir for nightly builds

Release Notes:

- N/A

localcc created

93bfae7 Show conflicts in the keymap editor (#34137)

Click to expand commit body
This PR shows conflicts in a user's keymap editor by adding an error
background to a conflicting row and allows users to filter the keymap
editor by conflicts.

A key binding is determined to have a conflict if any other binding has
the same context and key strokes. In the future, this could be further
improved upon by normalizing bindings’ context so it's not just a string
comparison.


Release Notes:

- N/A

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>

Anthony Eid and MrSubidubi created

171be7e keymap_ui: Render `<no arguments>` for bindings that take arguments where none are provided (#34140)

Click to expand commit body
Closes #ISSUE

Adds a visual indicator to the `Arguments` column of the keymap table to
help distinguish between actions that don't take arguments, and actions
that take arguments but none were provided.

Currently, the `<no arguments>` indicator is rendered only in the latter
case, when no arguments are provided to an action that could take
arguments, as the inverse results in almost every row containing the
indicator which is quite noisy.

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

d5cc1cb title_bar: Add setting to always show menu for Linux and Windows (#34139)

Click to expand commit body
Closes #22869

Release Notes:

- Added `show_menus` setting to always show menu bar for Linux and
Windows.

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Smit Barmase , Cole Miller , and Danilo Leal created

6d26f10 keymap_ui: Creating keybinds (#34138)

Click to expand commit body
Adds support for creating new keybinds in the keymap UI. "Create" means
two different things for existing bindings, and unbound actions.
- For existing bindings, it is essentially a duplicate + edit
- For unbound actions, it is the creation of a binding

Release Notes:

- N/A

Ben Kunkle created

e2b9dfa editor: Add CollapseAllDiffHunks docs (#34124)

Click to expand commit body
## Summary

This PR improves the documentation for diff hunk keyboard shortcuts to
make existing functionality more discoverable to users.

### Problem

Users were unaware that pressing **ESC** already collapses all expanded
diff hunks through the existing `Cancel` action. The functionality
exists but lacks discoverability:

- The `Cancel` action description was too generic: "Cancels the current
operation"
- No documentation existed for diff hunk keyboard shortcuts in the Git
docs
- Users would naturally expect a dedicated keybinding for collapsing
diff hunks

Release Notes:

- N/A

Kristian Gosvig created

495ec7a ACP (#34030)

Click to expand commit body
Implements an ACP client that can be used from the agent panel

Conrad Irwin created

b9b42be evals: Fix bug that prevented multiple turns from displaying (#34128)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

a9b82e1 Bump Zed to v0.196 (#34127)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

81cc1e8 project_panel: Improve last sticky item drifting logic (#34119)

Click to expand commit body
- Now instead of drifting directory along with last item of that
directory, it waits till last item is completely consumed.

Release Notes:

- N/A

Smit Barmase created

7114a5c Fix panic in context server configuration (#34118)

Click to expand commit body
Release Notes:

- Fixed a panic that could occur when configuring MCP servers

Bennet Bo Fenner created

45d200f Wrap back around in context menu properly (#34112)

Click to expand commit body
When navigating back in the context menu, it was not possible to get
past first element, if it was not selectable.
The other way around works, hence the fix.

Release Notes:

- N/A

Kirill Bulatov created

1569b66 editor: Change `drag_and_drop_selection` cursor on delay elapsed + Add `drag_and_drop_selection` delay setting (#33928)

Click to expand commit body
When [`drag_and_drop_selection` is
true](https://zed.dev/docs/configuring-zed#drag-and-drop-selection),
users can make a selection in the buffer and then drag and drop it to a
new location. However, the editor forces users to wait 300ms after mouse
down before dragging. If users try to drag before this delay has
elapsed, they will create a new text selection instead, which can create
the impression that drag and drop does not work.

I made two changes to improve the UX of this feature:

* If users do not want a delay before drag and drop is enabled, they can
set the `drag_and_drop_selection.delay_ms` setting to 0.
* If the user has done a mouse down on a text selection, the cursor
changes to a copy affordance as soon as the configured delay has
elapsed, rather than waiting for them to start dragging. This way they
don't need to guess at when the delay has elapsed.

The default settings for this feature are now:

```
"drag_and_drop_selection": {
  "enabled": true,
  "delay_ms": 300
}
```

Closes #33915 

Before:


https://github.com/user-attachments/assets/7b2f986f-9c67-4b2b-a10e-757c3e9c934b

After:


https://github.com/user-attachments/assets/726d0dbf-e58b-41ad-93d2-1a758640b422

Release Notes:

- Migrate `drag_and_drop_selection` setting to
`drag_and_drop_selection.enabled`.
- Add `drag_and_drop_selection.delay_ms` setting to configure the delay
that must elapse before drag and drop is allowed.
- Show a ready to drag cursor affordance as soon as the delay has
elapsed

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Daniel Sauble and Smit Barmase created