fab9da0
zed 0.196.5
Peter Tripp created
fab9da0
zed 0.196.5
Peter Tripp created
4494623
agent: Fix Mistral tool use error message (#34692)
Closes #32675 Exactly the same changes as in #33640 by @sviande The PR has been in WIP state for 3 weeks with no activity, and the issue basically makes Mistral models unusable. I have tested the changes locally, and it does indeed work. Full credit goes to @sviande, I just want this feature to be finished. Release Notes: - agent: Fixed an issue with tool calling with the Mistral provider (thanks [@sviande](https://github.com/sviande) and [@armyhaylenko](https://github.com/armyhaylenko)) Co-authored-by: sviande <sviande@gmail.com>
Oleksandr Mykhailenko and sviande created
8da6604
keymap_ui: Auto complete action arguments (cherry-pick #34785) (#34790)
Cherry-picked keymap_ui: Auto complete action arguments (#34785) Supersedes: #34242 Creates an `ActionArgumentsEditor` that implements the required logic to have a JSON language server run when editing keybinds so that there is auto-complete for action arguments. This is the first time action argument schemas are required by themselves rather than inlined in the keymap schema. Rather than add all action schemas to the configuration options we send to the JSON LSP on startup, this PR implements support for the `vscode-json-language-server` extension to the LSP whereby the server will request the client (Zed) to resolve URLs with URI schemes it does not recognize, in our case `zed://`. This limits the impact on the size of the configuration options to ~1KB as we send URLs for the language server to resolve on demand rather than the schema itself. My understanding is that this is how VSCode handles JSON schemas as well. I plan to investigate converting the rest of our schema generation logic to this method in a follow up PR. Co-Authored-By: Cole <cole@zed.dev> Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] and Ben Kunkle created
1c95a2c
Fix Tailwind support for HTML/ERB files (#34743)
Closes #27118 Closes #34165 Fix a small issue after we landed https://github.com/zed-extensions/ruby/pull/113+ where we introduced `HTML/ERB` and `YAML/ERB` language IDs to improve user experience. Sorry about that. Thanks! Release Notes: - N/A
Vitaly Slobodin created
234a4f8
keymap ui: Fix remove key mapping bug (cherry-pick #34683) (#34730)
Cherry-picked keymap ui: Fix remove key mapping bug (#34683) Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] , Anthony Eid , and Ben Kunkle created
3f305fa
ci: Skip generating Windows release artifacts (#34704)
Release Notes: - N/A
Peter Tripp created
b839652
editor: Ensure topmost buffer header can be properly folded (#34721)
This PR fixes an issue where the topmost header in a multibuffer would jump when the corresponding buffer was folded. The issue arose because for the topmost header, the offset within the scroll anchor is negative, as the corresponding buffer only starts below the header itself and thus the offset for the scroll position has to be negative. However, upon collapsing that buffer, we end up with a negative vertical scroll position, which causes all kinds of different problems. The issue has been present for a long time, but became more visible after https://github.com/zed-industries/zed/pull/34295 landed, as that change removed the case distinction for buffers scrolled all the way to the top. This PR fixes this by clamping just the vertical scroll position upon return, which ensures the negative offset works as expected when the buffer is expanded, but the vertical scroll position does not turn negative once the buffer is folded. Release Notes: - Fixed an issue where folding the topmost buffer in a multibuffer would cause the header to jump slightly.
Finn Evers created
0acd108
keymap_ui: Add some design refinements (#34673)
Mostly small stuff over here. Release Notes: - N/A
Danilo Leal created
5deb404
zed 0.196.4
Joseph T. Lyons created
619282a
Revert "gpui: Improve path rendering & global multisample anti-aliasing" (#34722)
Reverts zed-industries/zed#29718 We've noticed some issues with Zed on Intel-based Macs where typing has become sluggish, and git bisect has seemed to point towards this PR. Reverting for now, until we can understand why it is causing this issue.
Joseph T. Lyons created
3f32020
keymap_ui: Don't panic on `KeybindSource::from_meta` (cherry-pick #34652) (#34677)
Cherry-picked keymap_ui: Don't panic on `KeybindSource::from_meta` (#34652) Closes #ISSUE Log error instead of panicking when `from_meta` is passed an invalid value Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] and Ben Kunkle created
ce0de10
keymap_ui: Fix various keymap editor issues (cherry-pick #34647) (#34670)
Cherry-picked keymap_ui: Fix various keymap editor issues (#34647) This PR tackles miscellaneous nits for the new keymap editor UI. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Finn Evers <finn@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] , Finn Evers , and Ben Kunkle created
c9b9b31
zed 0.196.3
Richard Feldman created
eeb9e24
Retry on burn mode (#34669)
Now we only auto-retry if burn mode is enabled. We also show a "Retry" button (so you don't have to type "continue") if you think that's the right remedy, and additionally we show a "Retry and Enable Burn Mode" button if you don't have it enabled. <img width="484" height="260" alt="Screenshot 2025-07-17 at 6 25 27 PM" src="https://github.com/user-attachments/assets/dc5bf1f6-8b11-4041-87aa-4f37c95ea9f0" /> <img width="478" height="307" alt="Screenshot 2025-07-17 at 6 22 36 PM" src="https://github.com/user-attachments/assets/1ed6578a-1696-449d-96d1-e447d11959fa" /> Release Notes: - Only auto-retry Agent requests when Burn Mode is enabled
Richard Feldman created
f9c4983
Improve upstream error reporting (#34668)
Now we handle more upstream error cases using the same auto-retry logic. Release Notes: - N/A
Richard Feldman created
cb40bb7
keymap ui: Fix keymap editor search bugs (cherry-pick #34579) (#34588)
Cherry-picked keymap ui: Fix keymap editor search bugs (#34579) Keystroke input now gets cleared when toggling to normal search mode Main search bar is focused when toggling to normal search mode This also gets rid of highlight on focus from keystroke_editor because it also matched the search bool field and was redundant Release Notes: - N/A Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
gcp-cherry-pick-bot[bot] and Anthony Eid created
991887a
keymap_ui: Open Keymap editor from settings dropdown (#34576)
@probably-neb I guess we should be opening the keymap editor from title bar and menu as well. I believe this got missed in this: #34568. Release Notes: - Open Keymap editor from settings from menu and title bar.
Umesh Yadav created
f249ee4
keymap ui: Fix keymap editor search bugs (#34579)
Keystroke input now gets cleared when toggling to normal search mode Main search bar is focused when toggling to normal search mode This also gets rid of highlight on focus from keystroke_editor because it also matched the search bool field and was redundant Release Notes: - N/A
Anthony Eid created
484e39d
keymap_ui: Show edit icon on hovered and selected row (cherry-pick #34630) (#34635)
Cherry-picked keymap_ui: Show edit icon on hovered and selected row (#34630) Closes #ISSUE Improves the behavior of the edit icon in the far left column of the keymap UI table. It is now shown in both the selected and the hovered row as an indicator that the row is editable in this configuration. When hovered a row can be double clicked or the edit icon can be clicked, and when selected it can be edited via keyboard shortcuts. Additionally, the edit icon and all other hover tooltips will now disappear when the table is navigated via keyboard shortcuts. <details><summary>Video</summary> https://github.com/user-attachments/assets/6584810f-4c6d-4e6f-bdca-25b16c920cfc </details> Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] and Ben Kunkle created
ec7d663
Add keymap editor UI telemetry events (cherry-pick #34571) (#34589)
Cherry-picked Add keymap editor UI telemetry events (#34571) - Search queries - Keybinding update or removed - Copy action name - Copy context name cc @katie-z-geer Release Notes: - N/A Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
gcp-cherry-pick-bot[bot] , Anthony Eid , and Ben Kunkle created
2769161
keymap_ui: Improve keybind display in menus (cherry-pick #34587) (#34632)
Cherry-picked keymap_ui: Improve keybind display in menus (#34587) Closes #ISSUE Defines keybindings for `keymap_editor::EditBinding` and `keymap_editor::CreateBinding`, making sure those actions are used in tooltips. Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Finn <dev@bahn.sh> Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Finn <dev@bahn.sh>
gcp-cherry-pick-bot[bot] , Ben Kunkle , and Finn created
5f11e09
Bump to 0.196.2 for @osyvokon
Zed Bot created
34e63f9
agent: Disable `project_notifications` by default (cherry-pick #34615) (#34619)
Cherry-picked agent: Disable `project_notifications` by default (#34615) This tool needs more polishing before being generally available. Release Notes: - agent: Disabled `project_notifications` tool by default for the time being Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
gcp-cherry-pick-bot[bot] and Oleksiy Syvokon created
cbdca4e
Fix shortcuts with `Shift` (cherry-pick #34614) (#34616)
Cherry-picked Fix shortcuts with `Shift` (#34614) Closes #34605, #34606, #34609 Release Notes: - (Preview only) Fixed shortcuts involving Shift Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
gcp-cherry-pick-bot[bot] and Oleksiy Syvokon created
92105e9
Fix ctrl-q on AZERTY on Linux (#34597)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
632f09e
Bump to 0.196.1 for @ConradIrwin
Zed Bot created
192e0e3
Don't override ascii graphical shortcuts (cherry-pick #34592) (#34595)
Cherry-picked Don't override ascii graphical shortcuts (#34592) Closes #34536 Release Notes: - (preview only) Fix shortcuts on Extended Latin keyboards on Linux Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
30cc8bd
v0.196.x preview
Joseph T. Lyons created
a6a7a1c
keymap_ui: Remove feature flag (#34568)
Closes #ISSUE Release Notes: - Rebound the keystroke to open the keymap file, to open the new keymap editor
Ben Kunkle created
13f4a09
Improve keystroke search in keymap editor (#34567)
This PR improves Keystroke search by: 1. Allow searching by modifiers without additional keys. 2. Take match count into consideration when deciding if we should show an action as a search match. 3. Take order into consideration as well. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
573836a
keymap_ui: Replace `zed::NoAction` with `null` (#34562)
Closes #ISSUE This change applies both to the UI (we render `<null>` as muted text instead of `zed::NoAction`) as well as how we update the keymap file (the duplicated binding is bound to `null` instead of `"zed::NoAction"`) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
048dc47
collab: Remove `GET /billing/preferences` endpoint (#34566)
This PR removes the `GET /billing/preferences` endpoint, as it has been moved to `cloud.zed.dev`. Release Notes: - N/A
Marshall Bowers created
ffc69b0
editor: Fix sometimes green (+) cursor style appearing when cmd-clicking to navigate and back (#34557)
Regressed in https://github.com/zed-industries/zed/pull/33928 This PR clears the selection drag state when the editor focus is out. To reproduce: 1. Select some item in buffer that has a go to definition. 2. Cmd+Click mouse down on it, but don't let go. 3. Wait for 300ms+. 4. Now cursor changed to green + (valid state, this is for selection drag-n-drop). 5. Now let go of your mouse down, we switched to a different file. Cursor looks normal. 6. Come back to the previous buffer, see green + cursor style (BUG!). Release Notes: - Fixed the issue where the green (+) cursor style sometimes appears when navigating to the definition and then back to the previous buffer.
Smit Barmase created
dc8d086
project: Fix up documentation for Path Trie and add a test for having multiple present nodes (#34560)
cc @cole-miller I was worried with https://github.com/zed-industries/zed/pull/34460#discussion_r2210814806 that PathTrie would not be able to support nested .git repositories, but it seems fine. Release Notes: - N/A
Piotr Osiewicz created
58807f0
keymap_ui: Create language for Zed keybind context (#34558)
Closes #ISSUE Creates a new language in the languages crate for the DSL used in Zed keybinding context. Previously, keybind context was highlighted as Rust in the keymap UI due to the expression syntax of Rust matching that of the context DSL, however, this had the side effect of highlighting upper case contexts (e.g. `Editor`) however Rust types would be highlighted based on the theme. By extracting only the necessary pieces of the Rust language `highlights.scm`, `brackets.scm`, and `config.toml`, and continuing to use the Rust grammar, we get a better result across different themes Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
313f596
Improve the `read_file` tool prompt for long files (#34542)
Closes [#ISSUE](https://github.com/zed-industries/zed/issues/31780) Release Notes: - Enhanced `read_file` tool call result message for long files.
Adam created
9ab3d55
Add exact matching option to keymap editor search (#34497)
We know have the ability to filter matches in the keymap editor search by exact keystroke matches. This allows user's to have the same behavior as vscode when they toggle all actions with the same bindings We also fixed a bug where conflicts weren't counted correctly when saving a keymapping. This cause issues where warnings wouldn't appear when they were supposed to. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
e339566
agent: Limit the size of patches generated from user edits (#34548)
Gradually remove details from a patch to keep it within the size limit. This helps avoid using too much context when the user pastes large files, generates files, or just makes many changes between agent notifications. Release Notes: - N/A
Oleksiy Syvokon created
8ee5bf2
open_router: Fix tool_choice getting serialized to null (#34532)
Closes #34314 This PR resolves an issue where serde(untagged) caused Rust None values to serialize as null, which OpenRouter's Mistral API (when tool_choice is present) incorrectly interprets as a defined value, leading to a 400 error. By replacing serde(untagged) with serde(snake_case), None values are now correctly omitted from the serialized JSON, fixing the problem. P.S. A separate PR will address serde(untagged) usage for other providers, as null is not expected for them either. Release Notes: - Fix ToolChoice getting serialized to null on OpenRouter
Umesh Yadav created
b0e0485
docs: Add redirects for language pages (#34544)
This PR adds some more docs redirects for language pages. Release Notes: - N/A
Marshall Bowers created
2a49f40
docs: Add some improvements to the agent panel page (#34543)
Release Notes: - N/A
Danilo Leal created
21b4a2e
keymap_ui: Infer use key equivalents (#34498)
Closes #ISSUE This PR attempts to add workarounds for `use_key_equivalents` in the keymap UI. First of all it makes it so that `use_key_equivalents` is ignored when searching for a binding to replace so that replacing a keybind with `use_key_equivalents` set to true does not result in a new binding. Second, it attempts to infer the value of `use_key_equivalents` off of a base binding when adding a binding by adding an optional `from` parameter to the `KeymapUpdateOperation::Add` variant. Neither workaround will work when the `from` binding for an add or the `target` binding for a replace are not in the user keymap. cc: @Anthony-Eid Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
2a9a82d
macos: Add mappings for alt-delete and cmd-delete (#34493)
Closes https://github.com/zed-industries/zed/issues/34484 Release Notes: - macos: Add default mappings for `alt-delete` and `cmd-delete` in Terminal (delete word to right; delete to end of line)
Peter Tripp created
6e147b3
docs: Organize redirects (#34541)
This PR organizes the docs redirects and adds some instructions for them. Release Notes: - N/A
Marshall Bowers created
875c86e
agent_ui: Fix token count not getting shown in the TextThread (#34485)
Closes #34319 In this pr: https://github.com/zed-industries/zed/pull/33462 there was check added for early return for active_thread and message_editor as those are not present in the TextThread and only available in the Thread the token count was not getting triggered for TextThread this pr fixes that regression by moving the logic specific to Thread inside of thread view match. <img width="3024" height="1886" alt="CleanShot 2025-07-15 at 23 50 18@2x" src="https://github.com/user-attachments/assets/bd74ae8b-6c37-4cdd-ab95-d3c253b8a948" /> Release Notes: - Fix token count not getting shown in the TextThread
Umesh Yadav created
406ffb1
agent: Push diffs of user edits to the agent (#34487)
This change improves user/agent collaborative editing. When the user edits files that are used by the agent, the `project_notification` tool now pushes *diffs* of the changes, not just file names. This helps the agent to stay up to date without needing to re-read files. Release Notes: - Improved user/agent collaborative editing: agent now receives diffs of user edits
Oleksiy Syvokon created
257bedf
docs: Add missing extensions to redirects (#34539)
Fixes the redirects added in https://github.com/zed-industries/zed/pull/34537. Release Notes: - N/A
Marshall Bowers created
37927a5
docs: Add some more redirects (#34537)
This PR adds some more redirects for the docs. Release Notes: - N/A
Marshall Bowers created
d4110fd
linux: Fix spacebar not working with multiple keyboard layouts (#34514)
Closes #26468 #16667 This PR fixes the spacebar not working with multiple keyboard layouts on Linux X11. I have tested this with Czech, Russian, German, German Neo 2, etc. It seems to work correctly. `XkbStateNotify` events correctly update XKB state with complete modifier info (depressed/latched/locked), but `KeyPress/KeyRelease` events immediately overwrite that state using `update_mask()` with only raw X11 modifier bits. This breaks xkb state as we reset `latched_mods` and `locked_mods` to 0, as well as we might not correctly handle cases where this new xkb state needs to change. Previous logic is flawed because `KeyPress/KeyRelease` event only gives you depressed modifiers (`event.state`) and not others, which we try to fill in from `previous_xkb_state`. This patch was introduced to fix capitalization issue with Neo 2 (https://github.com/zed-industries/zed/pull/14466) and later to fix wrong keys with German layout (https://github.com/zed-industries/zed/pull/31193), both of which I have tested this PR with. Now, instead of manually managing XKB state, we use the `update_key` method, which internally handles modifier states and other cases we might have missed. From `update_key` docs: > Update the keyboard state to reflect a given key being pressed or released. > > This entry point is intended for programs which track the keyboard state explictly (like an evdev client). If the state is serialized to you by a master process (like a Wayland compositor) using functions like `xkb_state_serialize_mods()`, you should use `xkb_state_update_mask()` instead. **_The two functins should not generally be used together._** > > A series of calls to this function should be consistent; that is, a call with `xkb::KEY_DOWN` for a key should be matched by an `xkb::KEY_UP`; if a key is pressed twice, it should be released twice; etc. Otherwise (e.g. due to missed input events), situations like "stuck modifiers" may occur. > > This function is often used in conjunction with the function `xkb_state_key_get_syms()` (or `xkb_state_key_get_one_sym()`), for example, when handling a key event. In this case, you should prefer to get the keysyms *before* updating the key, such that the keysyms reported for the key event are not affected by the event itself. This is the conventional behavior. Release Notes: - Fix the issue where the spacebar doesn’t work with multiple keyboard layouts on Linux X11.
Smit Barmase created
3d160a6
Don't highlight partial indent guide backgrounds (#34433)
Closes https://github.com/zed-industries/zed/issues/33665
Previously if a line was indented something that was not a multiple of
`tab_size` with `"ident_guides": { "background_coloring": "indent_aware"
} }` the background of characters would be highlighted. E.g. indent of 6
with tab_size 4.
| Before / After |
| - |
| <img width="497" height="77" alt="Screenshot 2025-07-14 at 14 43 46"
src="https://github.com/user-attachments/assets/93923117-047d-4d21-9a4f-488345f1ab89"
/>
| <img width="481" height="84" alt="Screenshot 2025-07-14 at 14 43 09"
src="https://github.com/user-attachments/assets/a5d383cb-50c3-4239-ae8c-f72765ae7287"
/> |
CC: @bennetbo Any idea why this partial indent was enabled in your
initial implementation
[here](https://github.com/zed-industries/zed/pull/11503/files#diff-1781b7848dd9630f3c4f62df322c08af9a2de74af736e7eba031ebaeb4a0e2f4R3156-R3160)?
This looks to be intentional.
Release Notes:
- N/A
Peter Tripp created