f8c6173
Build Windows installer for all releases (#39414)
Click to expand commit body
Release Notes: - N/A
Max Brunsfeld created
f8c6173
Build Windows installer for all releases (#39414)
Release Notes: - N/A
Max Brunsfeld created
e5f05a2
settings ui: Improve numeric stepper component interface (#36513)
This is the first step to allowing users to type into a numeric stepper
to set its value. This PR makes the numeric stepper take in a generic
type `T` where T: `NumericStepperType`
```rust
pub trait NumericStepperType:
Display
+ Add<Output = Self>
+ Sub<Output = Self>
+ Copy
+ Clone
+ Sized
+ PartialOrd
+ FromStr
+ 'static
{
fn default_format(value: &Self) -> String {
format!("{}", value)
}
fn default_step() -> Self;
fn large_step() -> Self;
fn small_step() -> Self;
fn min_value() -> Self;
fn max_value() -> Self;
}
```
This allows setting of step sizes and min/max values as well as making
the component easier to use.
cc @danilo-leal
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Gaauwe Rombouts <mail@grombouts.nl>
Anthony Eid , Mikayla Maki , and Gaauwe Rombouts created
f499504
agent: Introduce `agent_buffer_font_size` setting (#39468)
Closes https://github.com/zed-industries/zed/issues/39406 Follow up to https://github.com/zed-industries/zed/pull/38726 This PR introduces the `agent_buffer_font_size` setting and renames `agent_font_size` to `agent_ui_font_size`. This allows whoever wants `buffer_font_size` and `agent_buffer_font_size` to match, as well as folks who want a slightly smaller size only in the agent panel (which... also looks just better by default!). Release Notes: - agent: Introduced the `agent_buffer_font_size` setting and renamed `agent_font_size` to `agent_ui_font_size`, allowing for granular buffer font size control in the agent panel vs. regular editors.
Danilo Leal created
504216c
settings: Fix JSON schema for `ExtensionCapabilityContent` (#39478)
This PR fixes the JSON schema for the `ExtensionCapabilityContent`. Having the nested structs in the variants caused the `kind` property to not be generated properly. Inlining the fields into the variants fixes this. Release Notes: - N/A
Marshall Bowers created
3bf71c6
extension_host: Load granted extension capabilities from settings (#39472)
This PR adds the ability to control the capabilities granted to
extensions by the extension host via the new
`granted_extension_capabilities` setting.
This setting is a list of the capabilities granted to any extension
running in Zed.
The currently available capabilities are:
- `process:exec` - Grants extensions the ability to invoke commands
using
[`zed_extension_api::process::Command`](https://docs.rs/zed_extension_api/latest/zed_extension_api/process/struct.Command.html)
- `download_file` - Grants extensions the ability to download files
using
[`zed_extension_api::download_file`](https://docs.rs/zed_extension_api/latest/zed_extension_api/fn.download_file.html)
- `npm:install` - Grants extensions the ability to install npm packages
using
[`zed_extension_api::npm_install_package`](https://docs.rs/zed_extension_api/latest/zed_extension_api/fn.npm_install_package.html)
Each of these capabilities has parameters that can be used to customize
the permissions.
For instance, to only allow downloads from GitHub, the `download_file`
capability can specify an allowed `host`:
```json
[
{ "kind": "download_file", "host": "github.com", "path": ["**"] }
]
```
The same capability can also be granted multiple times with different
parameters to build up an allowlist:
```json
[
{ "kind": "download_file", "host": "github.com", "path": ["**"] },
{ "kind": "download_file", "host": "gitlab.com", "path": ["**"] }
]
```
When an extension is not granted a capability, the associated extension
APIs protected by that capability will fail.
For instance, trying to use `zed_extension_api::download_file` when the
`download_file` capability is not granted will result in an error that
will be surfaced by the extension:
```
Language server phpactor:
from extension "PHP" version 0.4.3: failed to download file: capability for download_file https://github.com/phpactor/phpactor/releases/download/2025.07.25.0/phpactor.phar is not granted by the extension host
```
Release Notes:
- Added a `granted_extension_capabilities` setting to control the
capabilities granted to extensions.
Marshall Bowers created
456ba32
macOS: Fix keyboards shortcuts does not work until mouse clicked inside Zed (#39467)
Closes #38258 Regressed in https://github.com/zed-industries/zed/pull/33334 Release Notes: - Fixed an issue on macOS where keyboard shortcuts wouldn’t work until you clicked inside Zed.
Smit Barmase created
9aeb617
Keep folds at cursor open for "fold at level" (#39396)
Closes #39308 Also fixes a possible bug in `apply_selected_diff_hunks()` caused by reversed selections. Release Notes: - Fixed "editor: fold at level" closing regions containing selections Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Andrew Farkas and Conrad Irwin created
fd8bae9
docs: Document `ctrl-b` to toggle left dock not working in Vim mode on Linux and Windows (#39464)
Closes #39370 Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
f71c912
settings_ui: Write local settings files (#39408)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8441aa4
vim: Fix visual block handling of wrapped lines (#39355)
These changes fix an issue with vim's visual block mode when soft
wrapping is enabled. In this situation, if one was to move the cursor
either up or down, the selection would be updated to include visual
(wrapped) rows, instead of only the buffer rows. For example, take the
following contents:
```
1 | And here's a very long line that is wrapping
at this exact point.
2 | And another very long line that is will also
wrap at this exact point.
```
If one was to place the cursor at the start of the first line, character
`A`, trigger visual block mode with `ctrl-v` and then move down one line
with `j`, the selection would end up as (with [X] representing the
selected characters):
```
1 | [A]nd here's a very long line that is wrapping
[a]t this exact point.
2 | [A]nd another very long line that is will also
wrap at this exact point.
```
Instead of the expected:
```
1 | [A]nd here's a very long line that is wrapping
at this exact point.
2 | [A]nd another very long line that is will also
wrap at this exact point.
```
With the changes in this commit, `Vim.visual_block_motion` will now
leverage buffer rows in order to navigate to the next or previous row.
Release Notes:
- Fixed handling of soft wrapped lines in vim's visual block mode
Dino created
7b96e1c
agent: Add profile description in docs aside (#39412)
This improves the design of the profile picker a bit by making every item on it have the same height; it also makes it more consistent with the model selector. Release Notes: - N/A
Danilo Leal created
86322a1
worktree: Prevent background scanner from trying to scan file worktrees (#39277)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1b94d74
Clarify extension license detection in docs (#39456)
Release Notes: - N/A
Joseph T. Lyons created
db825c1
remote: Do not allocate pseudo terminal for ssh commands (#39451)
Closes https://github.com/zed-industries/zed/issues/25382 Release Notes: - Fixed ssh remote not working if the default shell profile prints to stdout
Lukas Wirth created
f3abd1d
Fix rust-analyzer startup issue in single-file worktrees (#39441)
I'm not sure about the exact conditions for reproducing this issue, but whenever I build Zed locally and have it open a single-file worktree on launch, the rust-analyzer language server fails to start up because Zed attempts to run `rust-analyzer --help` on a path that is not a directory. This fixes that by running the command on the parent path in the case of a single-file worktree. Release Notes: - Fixed rust-analyzer startup issue in single-file worktrees
Tim Vermeulen created
662ec99
Detect new releases of codex-acp (#39388)
Now we use GitHub Releases to detect when there's a new version of codex-acp out, and we notify the user in the same way we do for the other external agents. This also moves `github_download.rs` out of the `languages` crate and into `http_client`, because now we're not just using it for language servers anymore, we're also using it for external agents. Release Notes: - N/A --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Richard Feldman and Lukas Wirth created
3ab5103
multi_buffer: Fix `ExcerptId::max()` handling in `summaries_for_anchors` (#39436)
Closes https://github.com/zed-industries/zed/issues/39333 Release Notes: - Fixed IME inputs breaking when typing at the end of an editor Co-authored-by: Smit Barmase <smit@zed.dev>
Lukas Wirth and Smit Barmase created
39bd03b
file_icons: Add support for multiple file extensions (#36342)
Currently most icon theme extensions already support file types like stories.tsx and stories.svelte. However within Zed itself these file type overrides are not supported yet. This change adds support for those Release Notes: - Added support for icons on file extensions such as stories.tsx and stories.svelte
Jacob created
1fffcb9
docs: Remove outdated mention about Vulkan on Asahi Linux (#39423)
Vulkan is now supported running Linux on ARM Macs https://asahilinux.org/2024/10/aaa-gaming-on-asahi-linux/ Release Notes: - N/A
Be created
e4f90b5
Fix race-condition in autosave (#39409)
This removes a long-standing thing we've done, which is send a `DidSave` notification to the language server for the clean parts of a multi-buffer. However, it seems like the intent of that notification is to tell the language server to reload the file from disk. As we didn't actually write those files to disk, it seems clearer to not send this notification; and just remove this whole code-path. Release Notes: - Fixed a race where autosave in a multibuffer could cause unsaved buffers to appear saved
Conrad Irwin created
dc6fad9
Display-only ACP terminals (#39419)
Codex needs (and future projects are anticipated to need as well) a concept of display-only terminals. This refactors terminals to decouple the PTY part from the display part, so that we can render terminal changes based on a series of events - regardless of whether they're being driven from a PTY inside Zed or from an outside source (e.g. `codex-acp`). Release Notes: - N/A
Richard Feldman created
64c289a
Fix Claude Code login regression (#39413)
This was added for Codex, but had undesirable consequences for Claude Code (on Nightly, never made it to Preview). We're going to address this in `codex-acp` instead. Release Notes: - N/A
Richard Feldman created
a08897f
collab: Add `token_spend_in_cents` column to `billing_subscriptions` table (#39404)
This PR adds a `token_spend_in_cents` and associated `token_spend_in_cents_updated_at` column to the `billing_subscriptions` table. Release Notes: - N/A
Marshall Bowers created
d359a81
editor: Represent scroll offset with more precision (#39367)
Closes #5355 Release Notes: - Fixed rendering glitches with files with more than 16 million lines (that occured due to floating number rounding errors). --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Piotr Osiewicz and Smit Barmase created
4c35274
Don't allow formatters in format on save (#39400)
Closes #ISSUE Release Notes: - settings: Removed support for having format steps in both the `format_on_save` and `formatter` settings for languages. `format_on_save` is now restricted to the values of `"on"` and `"off"`, and all format steps should be set under the `formatter` key. If you were using `format_on_save` but not `formatter` this will be migrated for you, otherwise it will require a manual migration. --------- Co-authored-by: Smit <smit@zed.dev>
Ben Kunkle and Smit created
bf48a95
acp_thread: Respect terminal settings shell for terminal tool environment (#39349)
When sourcing the project environment for the terminal tool, we will now do so by spawning the shell specified by the users `terminal.shell` setting (or as usual fall back to the login shell). Closes #37687 Release Notes: - N/A
Lukas Wirth created
7c3a21f
JSON based migrations (#39398)
Closes #ISSUE Adds the ability to create settings and keymap migrations by mutating `serde_json::Value`s instead of using tree-sitter queries. This (hopefully) will make complicated migrations far simpler to implement. Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Smit <heysmitbarmase@gmail.com> Co-authored-by: Smit <smit@zed.dev>
Ben Kunkle , Smit , and Smit created
af630be
git: Use environment from login shell to search for system git binary, and prefer it to the bundled binary (#39302)
Closes #38571 Release Notes: - git: Fixed git features not working when git was installed in an unusual location. --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Cole Miller and Lukas Wirth created
dbd8efe
ui: Implement graceful autohiding for scrollbars (#39225)
How it looks: https://github.com/user-attachments/assets/9a355807-5461-4e8d-b7a8-9efb98cea67a Idea behind this is to reduce flickering in areas where nothing is happening - whenever these hide, the user is specifically not interacting with them, hence it can be distracting to have something flicker in the side of your eye. This PR tackles this. Release Notes: - Added graceful autohiding to scrollbars outside of the editor --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Finn Evers and Danilo Leal created
3afbe83
file_finder: Fix history items not using worktree path (#39304)
Closes #39283 Release Notes: - Fixed: In multi-repo workspaces, files with the same name are no longer hidden in the file picker after one is opened --------- Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Marco Mihai Condrache created
d8709f2
docs: Re-add context for `lsp_highlight_debounce` (#39391)
Release Notes: - N/A
Finn Evers created
df7bc82
docs: Add coverage for named directory icon support (#39387)
Also updates the link to the new schema version which now includes named directory icons. Release Notes: - N/A
Finn Evers created
8575972
Show display name in collab panel (#39384)
Release Notes: - Improved Collab panel by showing display names and github handles Co-authored-by: Cole Miller <cole@zed.dev>
David Kleingeld and Cole Miller created
40c417f
Subscribe to CodexAcpFeatureFlag (#39380)
Otherwise Codex doesn't work on first launch. Release Notes: - N/A
Richard Feldman created
7c2cf86
Revert "Add ability to hide status bar (#38974)"
This reverts commit 126ed6fbddf6370490133404734ed435a885bd06.
Conrad Irwin created
126ed6f
Add ability to hide status bar (#38974)
This pull request adds the ability to configure the setting to hide or show the status bar, as described in discussion: https://github.com/zed-industries/zed/discussions/38591 --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Mansoor Ahmed and Conrad Irwin created
6f4381b
remote(wsl): Execute commands on wsl without spawning a shell (#39357)
Closes https://github.com/zed-industries/zed/issues/39091 Release Notes: - Fixed wsl connection failing if user's shell prints to stdout on startup
Lukas Wirth created
6fbbdb3
settings: Flatten code actions formatters object (#39375)
Closes #ISSUE
Release Notes:
- settings: Changed code action format in `formatter` and
`format_on_save` settings.
**Previous format:**
```
{
"code_actions": {
"source.organizeImports": true,
"source.fixAll": true
}
}
```
**New format:**
```
[
{"code_action": "source.organizeImports"},
{"code_action": "source.fixAll"}
]
```
After #39246, code actions run sequentially in order. The structure now
reflects this and aligns with other formatter options (e.g., language
servers).
Both the `formatter` and `format_on_save` settings will be
auto-migrated.
Ben Kunkle created
179fb21
git_ui: Expand commit editor hitbox by setting min_lines = max_lines (#38587)
Closes #26527 The commit editor hitbox was too small since min_lines < max_lines, making it grow only when typing more lines. Release Notes: - N/A https://github.com/user-attachments/assets/e026d688-594f-40b6-a971-6c92e3fdb496
Nomad created
6584fb2
Add extension licensing documentation (#39373)
Release Notes: - N/A
Joseph T. Lyons created
d8698df
project: Change Git repo automatically with change in file buffer (#36796)
### Summary * Auto-activates the active repository when opening a buffer. * Prepares branching for future support of a user choice (e.g., `auto_activate_repo_on_open` flag). ### Release Notes * **Improved**: Opening a buffer now automatically updates the active repository.
rufevean created
bf44dc5
Add missing `GEMINI.md` rule file for `gemini-cli` (#38885)
This pull request adds the missing **`GEMINI.md`** file, which will serve as the rule/configuration file for **`gemini-cli`**. Currently, the repository includes several rule files such as **`.clinerules`**, **`.cursorrules`**, **`.rules`**, and **`.windsurfrules`**. Adding **`GEMINI.md`** standardizes the configuration structure and ensures that the specific rules for the `gemini-cli` are properly documented alongside the others. Release Notes: - N/A
Junseong Park created
d85b6a1
zeta2: Fix panic when running Zed without any worktrees (#39365)
Release Notes: - N/A
Bennet Bo Fenner created
702e618
Fix local to WSL path conversion (#39301)
Release Notes: - N/A
localcc created
1029d3c
acp: Alphabetize the external agents list (#39363)
Makes it a bit easier to find what you are looking for. Also makes sure all of them are available in the settings bar. Release Notes: - N/A
Ben Brandt created
97f5528
agent: Fix Claude Code terminal login on Windows (#39325)
Remove the ad-hoc quoting we were doing before, which only works for POSIX shells, in favor of using `Shell::WithArguments`. Release Notes: - N/A --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Cole Miller and Lukas Wirth created
63c081d
editor: Improve inlay color border (#39353)
Release Notes: - Improved inlay color border to more clearly. --- It was used `border_color`, that variable is often gray, which makes the border look blurred when mixed with other inlay color backgrounds. ## Before <img width="590" height="516" alt="SCR-20251002-qrkt" src="https://github.com/user-attachments/assets/733a9a49-55ac-49aa-83fa-ebcfeece8129" /> <img width="590" height="516" alt="SCR-20251002-qrlt" src="https://github.com/user-attachments/assets/34fa92bb-c754-4587-9e02-f3901dbc2fd6" /> <img width="590" height="516" alt="SCR-20251002-qrmw" src="https://github.com/user-attachments/assets/b7f7abd8-e2c9-415d-9522-0801575b41c7" /> <img width="590" height="516" alt="SCR-20251002-qroa" src="https://github.com/user-attachments/assets/8106d4c5-9bcd-4997-9644-ba680feadbce" /> <img width="590" height="516" alt="SCR-20251002-qrsf" src="https://github.com/user-attachments/assets/6c9f5e58-e3a5-4363-a2d3-d6e5c4f40d17" /> <img width="590" height="516" alt="SCR-20251002-qsaw" src="https://github.com/user-attachments/assets/706171be-af4f-4f19-ba97-ca2dab6ca15e" /> ## After <img width="663" height="541" alt="SCR-20251002-qqci" src="https://github.com/user-attachments/assets/d586b5c3-2a10-4c8d-8403-2707e1e6c8bd" /> <img width="663" height="541" alt="SCR-20251002-qqdl" src="https://github.com/user-attachments/assets/4adbc2a1-3763-4c6f-b1ef-61ef30652079" /> <img width="663" height="541" alt="SCR-20251002-qqev" src="https://github.com/user-attachments/assets/d7d9dcfa-82db-4e3d-ae99-add493b3ebc2" /> <img width="663" height="541" alt="SCR-20251002-qqfs" src="https://github.com/user-attachments/assets/4e910140-9de1-4a10-b2ca-aa0a8b335fad" /> <img width="663" height="541" alt="SCR-20251002-qqhb" src="https://github.com/user-attachments/assets/ea16baee-3015-4899-af99-afed2a5b1dd3" /> --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Jason Lee and Danilo Leal created
6970ab2
markdown_preview: Stylize links using accented text color (#39149)
# How Emphasize links in Markdown Preview text using accented text color. > [!note] > I have chosen the accent color for links since it was looking fine with all bundled by default themes, but I'm happy to alter the color to use different theme value, if you have better candidates. Release Notes: - Stylize links using accented text color in Markdown Preview # Preview ### Before <img width="1606" height="1066" alt="Screenshot 2025-09-29 at 22 19 38" src="https://github.com/user-attachments/assets/59b6ee72-4523-42fb-a468-9c694d30b5df" /> ### After <img width="1652" height="1066" alt="Screenshot 2025-09-29 at 22 18 20" src="https://github.com/user-attachments/assets/e00e3742-6435-4c1d-aaaa-e6332719db17" /> <img width="1652" height="1066" alt="Screenshot 2025-09-29 at 22 18 47" src="https://github.com/user-attachments/assets/a1b76f4a-c4d2-4ca8-ae3c-fc4dc5d55e01" /> **Release notes** <img width="2090" height="582" alt="Screenshot 2025-09-29 at 22 36 33" src="https://github.com/user-attachments/assets/81d6df12-83bd-4794-b71e-5a1fd40f0140" /> <img width="2090" height="582" alt="Screenshot 2025-09-29 at 22 40 41" src="https://github.com/user-attachments/assets/aa820767-b82b-42a5-aa5b-b0d3d22ac5e3" />
Bartosz Kaszubowski created
e42dfb4
Add more selection options to app menus (#39262)
## Summary The purpose of this pull request is to add new menu items for the menu bar as mentioned on this [discussion or feature request](https://github.com/zed-industries/zed/discussions/28153#discussion-8169826). The actions are already supported by the command palette, but not available on the `MenuBar`. ## Screenshot <img width="498" height="392" alt="image" src="https://github.com/user-attachments/assets/8ad0e836-8295-4b46-a67a-0edf1408ad59" /> Release Notes: - Added `SelectPrevious` and `SelectAllMatches` items to the `Selection` app menu.
Enger Jimenez created
ec202a2
settings ui: Add basic setting page fields to UI (#39343)
This PR starts the process of adding each setting field manually to their respective page in the UI and organizes user/project fields as well. The next major step is implementing a numeric stepper component, and handling discriminate union enums as well. I also did some minor polish in this PR as well - Switches now use accent color - Fixed text input rendering with zero width - Made setting pages scrollable - Set drop down context menu style to outline Release Notes: - N/A --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Anthony Eid and dino created