013ae11
mcp over acp
Conrad Irwin created
013ae11
mcp over acp
Conrad Irwin created
70bde54
ci: Lint GitHub Actions workflows with actionlint (#34729)
Added [rhysd/actionlint](https://github.com/rhysd/actionlint/) a static
checker for GitHub Actions workflow files.
Install locally with `brew install actionlint` the run with
`actionlint`.
Inspired by: https://github.com/zed-industries/zed/pull/34704 which
yielded this observation:
> In github actions:
> 1. strings are truthy
> 2. `${{ }}` will become a string if it doesn't wrap the whole value.
>
> So `if: false && true` becomes `false`
> and `if: ${{ false && true }}` becomes `false`
> but `if: false && ${{ true }}` becomes `"false && true"` which
evaluates true
> The reason you sometimes need `${{ }}` is because YAML doesn't like
`!`
> so `if: !false` is invalid yaml
> and `if: ${{ !false }}` works just fine.
Changes:
- Add `actionlint` job
- Refactor `job_spec` job to be more readable
- Fix all `actionlint` and `shellcheck` errors in Actions workflows (62
in all)
- Add `self-mini-macos` and `self-32vcpu-windows-2022` labels to
self-hosted runners. Not strictly related, but useful if you need to
take a runner out of the rotation (since `macOS`, `self-hosted`, and
`ARM64` are auto-set and cannot be added/removed).
- Change ci.yml macos_relase to target `self-mini-macos` instead of
`bundle` which was previously deprecated.
This would've caught the error fixed in
https://github.com/zed-industries/zed/pull/34704. Here's what that [job
failure](https://github.com/zed-industries/zed/actions/runs/16376993944/job/46279281842?pr=34729)
would've looked like.
Release Notes:
- N/A
Peter Tripp created
43486c4
Fix enter in branch view (#34731)
Broken by #34664 Release Notes: - N/A
Conrad Irwin created
d197c96
Add stripe-mock to docker compose configuration (#34732)
Release Notes: - N/A
Michael Sloan created
7b6b75b
ci: Skip generating Windows release artifacts (#34704)
Release Notes: - N/A
Peter Tripp created
fd64ee1
keymap ui: Fix remove key mapping bug (#34683)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
e1d28ff
agent: Add `use_modifier_to_send` setting (#34709)
When `use_modifier_to_send` is turned on, holding `cmd`/`ctrl` is necessary to send a message in the agent panel. Text threads already use `cmd-enter` by default to submit a message, and it was done this way to have the usual text editing bindings not taken over when writing a prompt, sort of stimulating more thoughtful writing. While `enter` to send is still somewhat a huge pattern in chat-like LLM UIs, it still makes sense to allow this for the new agent panel... hence the existence of this setting now! Release Notes: - agent: Added the `use_modifier_to_send` setting, which makes holding a modifier (`cmd`/`ctrl`), together with `enter`, required to send a new message.
Danilo Leal created
64ce696
ui: Add the `SwitchField` component (#34713)
This will be useful for both the current agent panel and some other onboarding stuff we're working on. Also ended up removing the `SwitchWithLabel` as it was unused. Release Notes: - N/A
Danilo Leal created
87555d3
project: Remove clones from git blame serialization (#34727)
Release Notes: - N/A
tidely created
5b18ce7
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
1dd470c
editor: Fix double $ sign on completion accept in PHP (#34726)
Closes #33510 https://github.com/zed-extensions/php/issues/29 If certain language servers do not provide an insert/replace range, we use `surrounding_word` as a fallback for that range, which internally uses `word_characters`. It makes sense to use `completion_query_characters` instead of `word_characters` to get that range, because we use `completion_query_characters` to query completions in the first place. That means, for some hypothetical reason (e.g., if the Tailwind server stops providing insert/replace ranges), we would correctly fall back to the range "bg-blue-200^" instead of "200^", because `completion_query_characters` includes "-" in this case. For this particular fix, right now the default PHP language server `phpactor` does not provide an insert/replace range, and hence completion query character is used, which is `$` in this case. Note that `$` isn't in word characters for reasons mentioned here: https://github.com/zed-extensions/php/issues/14 Release Notes: - Fixed an issue where accepting variable completion in PHP would result in a double $ sign in the prefix.
Smit Barmase created
8bc8d61
theme_importer: Add missing color imports for the minimap thumb (#34724)
These should have been part of https://github.com/zed-industries/zed/pull/30785 but I forgot to add them there. Release Notes: - N/A
Finn Evers created
750ceeb
collab: Don't use `screen-capture` feature from `gpui` (#34725)
This PR removes the `screen-capture` feature from `gpui` when depending on it in `collab`. Release Notes: - N/A
Marshall Bowers created
4476860
Add refinements to the AI onboarding flow (#33738)
This includes making sure that both the agent panel and Zed's edit prediction have a consistent narrative when it comes to onboarding users into the AI features, considering the possible different plans and conditions (such as being signed in/out, account age, etc.) Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com> Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal , Bennet Bo Fenner , and Bennet Bo Fenner created
9a20843
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
e421fc7
Update keymap context binding behavior of > and ! (#34664)
Now ! means "no ancestors matches this", and > means "any descendent" not "any child". Updates #34570 Co-authored-by: Ben Kunkle <ben@zed.dev> Release Notes: - *Breaking change*. The context predicates in the keymap file now handle ! and > differently. Before this change ! meant "this node does not match", now it means "none of these nodes match". Before this change > meant "child of", now it means "descendent of". We do not expect these changes to break many keymaps, but they may cause subtle changes for complex context queries. --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Conrad Irwin and Ben Kunkle created
f461290
collab: Add `POST /users/:id/refresh_llm_tokens` endpoint (#34714)
This PR adds a new `POST /users/:id/refresh_llm_tokens` endpoint to Collab so that we can refresh LLM tokens from Cloud. Release Notes: - N/A
Marshall Bowers created
6a24b24
Redact license keys in environment variables from log output (#34711)
Release Notes: - N/A
Peter Tripp created
2ac99e7
debugger: Fix attaching with DebugPy (#34706)
@cole-miller found a root cause of our struggles with attach scenarios; we did not fetch .so files necessary for attaching to work, as we were downloading DebugPy source tarballs from GitHub. This PR does away with it by setting up a virtualenv instead that has debugpy installed. Closes #34660 Closes #34575 Release Notes: - debugger: Fixed attaching with DebugPy. DebugPy is now installed automatically from pip (instead of GitHub), unless it is present in active virtual environment. Additionally this should resolve any startup issues with missing .so on Linux.
Piotr Osiewicz created
d604b3b
Fix incorrect minimum_contrast comment (#34710)
Actual default is 45 https://github.com/zed-industries/zed/blob/fd05f17fa7e0253bc98698e84a1f8939bcb6616f/assets/settings/default.json#L1402 Release Notes: - N/A
Peter Tripp created
4002801
agent: Fix new thread model selection when starting new thread (#34708)
Release Notes: - agent: Fixed an issue where clicking on "Start New Thread" in the agent configuration would not always switch to the correct provider/model
Bennet Bo Fenner created
fd8480a
Document terminal.cursor_shape (#34707)
Release Notes: - N/A
Peter Tripp created
1070de4
component preview: Add separators between sections in sidebar (#34701)
Small improvement for navigating inside the component preview. Release Notes: - N/A
Danilo Leal created
cfe1adc
E2E Claude tests (#34702)
- **Fix cancellation of tool calls** - **Make tool_call test more resilient** - **Fix tool call confirmation test** Release Notes: - N/A
Ben Brandt created
fd05f17
go: Support raw string subtest names (#34636)
Currently, we're not able to run Go sub-tests that have a raw string (e.g. we're using multi-line names a lot) via the UI. I added the changes that are needed, plus a handful of tests to cover the basics. Quick comparison: Before: <img width="901" height="370" alt="before" src="https://github.com/user-attachments/assets/4e5cadeb-9a0c-49e2-b976-2223e1010f85" /> After: <img width="901" height="505" alt="after" src="https://github.com/user-attachments/assets/994fc69b-f720-488c-a14b-853a3ca2f53c" /> Release Notes: - Added support for Go subtest runner with raw string names
Lukas Spiss created
7e3fd7b
gpui: Use static keyword with `LazyLock` when loading system fonts (#34555)
Use the `static` keyword to actually make the `LazyLock` static, which previously would reinitialize on every call to `SvgRenderer::new`. Related: #26335 Release Notes: - N/A
tidely created
00097df
Improve C/C++ indentation flow for single statement blocks (#34549)
Before this, indentation did not automatically increase after if/for/while/do/else statements in C++, and only increased after if/for in C. This led to Zed using last line logic when inserting lines *after* the indented statement, as well as not indenting the statement itself, resulting in irregular indentation during typing. Just adding indentation (similar to C) creates a new problem: now if a scope is started with a brace on a new line, that brace is indented. Thus we need to deindent it. Using else_clause in the indent guide results in the else statement being indented forward as well, so we need to deindent that too. Note: the most significant issue for me is the one where indentation jumps forward when inserting lines after indented lines. Unfortunately, it appears that fixing that issue requires all of these other changes. I would have preferred a simpler fix, but I'm not sure if disabling last line behavior for C/C++ is appropriate as it probably breaks something else, like cases where the file is incomplete and the statements can't be parsed properly. Editing flow before this change: [Screencast From 2025-07-16 08-31-36.webm](https://github.com/user-attachments/assets/3dea86c5-47bd-47c2-aee8-b0aa613948e6) Editing flow after this change: [Screencast From 2025-07-16 08-35-36.webm](https://github.com/user-attachments/assets/7ef23e60-1ee3-49fd-90f9-d53f909ca674) (note: the "else" snippet is completely breaking the flow here, but I think that comes from clangd by default? Unfortunately I haven't found a way to disable it cleanly but that is a separate problem that happens right now too.) Release Notes: - Improve indentation during typing for C/C++ around if/for/while/do blocks
Arseny Kapoulkine created
c133223
docs: Document pull diagnostics support for Ruby (#34028)
This is now supported. Release Notes: - N/A
Andy Waite created
c1307ce
Add `;` key binding for Helix mode (#34315)
Closes #34111 In Helix mode, the `;` key should collapse the current selection without moving the cursor. I've added a new action `vim::HelixCollapseSelection` to support this behavior. https://github.com/user-attachments/assets/1a40821a-f56f-456e-9d37-532500bef17b Release Notes: - Added `;` key binding to collapse the current text selection in Helix mode
Daniel Sauble created
8a7bd5f
agent: Adjust retry on Burn Mode layout (#34680)
Quick follow-up to https://github.com/zed-industries/zed/pull/34669 so that the buttons don't look so big in comparison to the callout. Release Notes: - N/A
Danilo Leal created
c287397
Rename "CloseInactiveItems" action to "CloseOtherItems" (#34676)
This is following feedback from folks that were searching the "close others" action, available in the tab's context menu, and not finding it because it was actually named "close inactive", which was confusing. So, this PR makes sure the tab's menu item and the action have consistent naming. Release Notes: - Rename "CloseInactiveItems" action to "CloseOtherItems" for naming consistency.
Danilo Leal created
a7284ad
editor: Fix cursor doesn’t move up and down on arrow keys when no completions are shown (#34678)
Closes #34338 After https://github.com/zed-industries/zed/pull/31872, to avoid re-querying language servers, we keep the context menu around, which stores initial query, completions items, etc., even though it may not contain any items and hence not be rendered on screen. In this state, up/down arrows try to switch focus in the context menu instead of propagating it to the editor. Hence blocking buffer movement. This PR fixes it by changing the context for `menu`, `showing_completions`, and `showing_code_actions` to only be added when the menu is actually being rendered (i.e., not empty). Release Notes: - Fix an issue where the cursor doesn’t move up and down on arrow keys when no completions are shown.
Smit Barmase created
4314b35
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 ...
Ben Kunkle created
ed4deaa
agent: Remove layout shift due to the "waiting for confirmation" label (#34674)
Take 2 on https://github.com/zed-industries/zed/pull/33046. Release Notes: - N/A
Danilo Leal created
f0a9150
keymap_ui: Add some design refinements (#34673)
Mostly small stuff over here. Release Notes: - N/A
Danilo Leal created
1ab659c
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
d470411
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
6c74129
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>
Finn Evers and Ben Kunkle created
29030a2
docs: Add instructions about how to use MCP servers (#34656)
Release Notes: - N/A
Danilo Leal created
237ce5c
Report build SHA to Slack for Zed Nightly panics (#34665)
There can be a bunch of nightlies with the same version number and it's helpful to know exactly which one reported a panic. Release Notes: - N/A
Cole Miller created
0c88189
Refine JetBrains keymaps (#34658)
Follow-up to: https://github.com/zed-industries/zed/pull/34641 Release Notes: - N/A
Peter Tripp created
1e60ebb
collab: Remove `GET /billing/usage` endpoint (#34651)
This PR removes the `GET /billing/usage` endpoint, as it has been moved to `cloud.zed.dev`. Release Notes: - N/A
Marshall Bowers created
9efe9df
Harmonize `buffer_font_size` between default.json and initial_settings.json (#34650)
Release Notes: - N/A
Peter Tripp created
dab0b35
Unify agent server settings and extract e2e tests out (#34642)
Release Notes: - N/A
Agus Zubiaga created
0f72d7e
editor: Fix sometimes green (+) cursor style appearing when cmd-clicking in same buffer (#34638)
Follow-up for https://github.com/zed-industries/zed/pull/34557 This PR clears the selection drag state on click, because mouse up doesn't trigger on click event because of `cx.stop_propagation`. The issue occurs with similar repro steps as mentioned in the attached PR. Release Notes: - Fixed the issue where the green (+) cursor style sometimes appears when navigating to the definition in buffer.
Smit Barmase created
1ceda2b
JetBrains keymap improvements (July 2025) (#34641)
Closes: https://github.com/zed-industries/zed/issues/14639 Closes: https://github.com/zed-industries/zed/issues/33020 If would have ideas for future enhancements, please see: - https://github.com/zed-industries/zed/discussions/34643 Various Jetbrains keymaps improvements for macOS and Linux/Windows: | Area | Action | macOS | Linux | | ------------- | -------------------------- | --------------------------------- | --------------------------------- | | Workspace | Toggle Git Panel | `cmd-0` | `ctrl-0` | | Workspace | Toggle Project Panel | `cmd-1` | `alt-0` | | Workspace | Toggle Debug Panel | `cmd-5` | `alt-1` | | Workspace | Toggle Diagnostics | `cmd-6` | `alt-6` | | Workspace | Toggle Outline Panel | `cmd-7` | `alt-7` | | Workspace | Toggle Terminal Panel | `alt-f12` | `alt-f12` | | Workspace | File Finder | `cmd-e` | `ctrl-e` | | Workspace | Task Spawn | `ctrl-alt-r` | `alt-shift-f10` | | Workspace | Close All Docks | `ctrl-shift-f12` | `ctrl-shift-f12` | | Project Panel | Search in Directory | `cmd-shift-f` | `ctrl-shift-f` | | Search | Replace in Files | `cmd-shift-r` | `ctrl-shift-r` | | Search | Replace in Buffer | `cmd-r` | `ctrl-r` | | Search | Toggle Case Sensitive | `ctrl-alt-c` / `alt-c` | `ctrl-alt-c` | | Search | Toggle Search in Selection | `ctrl-alt-s` / `alt-s` | `ctrl-alt-s` | | Search | Toggle Regex | `ctrl-alt-x` / `alt-x` | `ctrl-alt-x` | | Search | Toggle Whole Word | `ctrl-alt-w` / `alt-w` | `ctrl-alt-w` | | Terminal | New Terminal Tab | `cmd-t` | `ctrl-shift-t` | | Terminal | Scroll Line | `cmd-up` / `cmd-down` | `ctrl-up` / `ctrl-down` | | Terminal | Scroll Page | `shift-pageup` / `shift-pagedown` | `shift-pageup` / `shift-pagedown` | | Git | Git Panel | `cmd-k` | `ctrl-k` | | Git | Git Push | `cmd-shift-k` | `ctrl-shift-k` | In addition, with the help of the recently merged https://github.com/zed-industries/zed/pull/34495, no matter where you are mashing `escape` will refocus you back to your most recent editor buffer similar to the behavior of JetBrains. Release Notes: - jetbrains: Added 25+ keybinds to the macOS and Linux/Windows JetBrains compatibility keymaps
Peter Tripp created
ae0d4f6
debugger: Add data breakpoint access type support (#34639)
Release Notes: - Support specifying a data breakpoint's access type - Read, Write, Read & Write
Anthony Eid created
8980526
chore: Bump lsp-types rev (#34345)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
b4dc7f8
debugger: Add support for running test methods with function receiver in Go (#34613)
 Closes #33759 Release Notes: - debugger: Add support for running test methods with function receiver in Go Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
b94649c
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 ...
Ben Kunkle created