Fixes a regression which prevented zed from starting on windows due to
the lack of the embedded manifest. Caused by #bff5d85
Release Notes:
- N/A
localcc
created
9d6b2e8
debugger: Don't take JS adapter's suggested child session name if it's empty (#33739)
Click to expand commit body
Related to #33072
We use the JS adapter's suggested names for child sessions, but
sometimes it sends us `""`, so don't use that one.
Release Notes:
- debugger: Fixed nameless child sessions appearing with the JavaScript
adapter.
Cole Miller
created
1d74fdc
debugger: Filter test executables by metadata profile in Cargo locator (#33126)
b7bfdd3
Move language-specific debugging docs to the page for each language (#33692)
Click to expand commit body
Release Notes:
- N/A
Cole Miller
created
0e2e5b8
debugger: Debug sessions rerun build tasks by default when restarting (#33724)
Click to expand commit body
We reworked the debug modal spawning to use the task context from past
debug sessions when spawning a debug scenario based on task inventory
history.
We changed restart session keybinding to rerun session too.
Closes #31369
Release Notes:
- Restarting a debug session now reruns build tasks that are associated
with the session
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Anthony Eid
and
Cole Miller
created
6b06685
Revert "settings: Remove `version` field migration" (#33729)
Click to expand commit body
- Reverts zed-industries/zed#33711
I think we should just make this a breaking change with v0.194.x.
Forwards compatibility is hard, we should build abstractions that make
this easier (next time).
See also:
- https://github.com/zed-industries/zed/pull/33372
Release Notes:
- N/A
Peter Tripp
created
8d894dd
collab: Add logs to Stripe usage sync job (#33731)
Click to expand commit body
This PR adds some additional logs to the Stripe usage sync job for
monitoring purposes.
Release Notes:
- N/A
Marshall Bowers
created
0eee768
keymap_ui: Separate action input into separate column and highlight as JSON (#33726)
Click to expand commit body
Closes #ISSUE
Separates the action input in the Keymap UI into it's own column, and
wraps the input in an `impl RenderOnce` element that highlights it as
JSON.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
f1f19a3
Use version equality constraint for `zed_llm_client` dependency (#33728)
Click to expand commit body
Closes #33578
Release Notes:
- N/A
Michael Sloan
created
2ff155d
Fix language settings formatter regression - formatter list can be a single formatter not wrapped in an array (#33721)
Click to expand commit body
Fixes a regression from #33635
Release Notes:
- N/A
Michael Sloan
created
eb74df6
debugger: Do not set exception breakpoints in initialization sequence in certain conditions (#33723)
Click to expand commit body
As pointed out in https://github.com/probe-rs/probe-rs/issues/3333, we
violate the spec by sending setExceptionBreakpoints even when the
adapter does not define any exceptions.
Release Notes:
- N/A
Piotr Osiewicz
created
0068de0
debugger: Handle the `envFile` setting for Go (#33666)
Click to expand commit body
Fixes #32984
Release Notes:
- The Go debugger now respects the `envFile` setting.
Julia Ryan
created
a11647d
ci: Block PRs on Nix build failures (#33688)
Click to expand commit body
Closes #17458
For now we're being conservative and only running CI on changes to the
following files:
- `flake.{nix,lock}`
- `Cargo.{lock,toml}`
- `nix/*`
- `.cargo/config.toml`
- `rust-toolchain.toml`
Release Notes:
- N/A
Julia Ryan
created
274f2e9
Add support for more python operators (#33720)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/33683
| Before | After |
| - | - |
| <img width="571" alt="Screenshot 2025-07-01 at 11 42 56"
src="https://github.com/user-attachments/assets/5ef79304-37bb-42a1-8891-d19a55a5095e"
/> | <img width="592" alt="Screenshot 2025-07-01 at 11 44 45"
src="https://github.com/user-attachments/assets/f28aa2a8-6306-4294-86e1-8f089f57b825"
/> |
Release Notes:
- python: Properly highlight additional operators ("&=", "<<=", ">>=",
"@=", "^=" and "|=")
This PR updates the `Model` to `Entity` also fixes the
`IndentGuidesStory`. In this
[commit](https://github.com/zed-industries/zed/commit/6fca1d2b0ba93cdbc3255657a990828a0f22b199),
`Entity<T>` replaces `View<T>`/`Model<T>`.
Other than this, I noticed the storybook fails on my MacOS and Ubuntu,
see error below
```
thread 'main' panicked at crates/gpui/src/colors.rs:99:15:
called `Result::unwrap()` on an `Err` value: no state of type gpui::colors::GlobalColors exists
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
This was resolved by explicitly specifying `GlobalColors` in Storybook.
Release Notes:
- N/A
Alex Shi
created
351ba50
docs: Add FreeBSD build instructions and current status (#33617)
Click to expand commit body
This adds documentation for building Zed on FreeBSD.
Notice WebRTC/LiveKit remains unsupported on this platform for now.
Follow-up to:
- #33162
- #30981
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
G36maid
and
Peter Tripp
created
3041de0
Suggest Typst extension for .typ files (#33632)
Click to expand commit body
Release Notes:
- N/A
Abdelhakim Qbaich
created
52c4212
language_models: Fix casing of `ZedAiConfiguration` (#33712)
Click to expand commit body
This PR fixes the casing of the `ZedAiConfiguration` identifier.
Release Notes:
- N/A
Marshall Bowers
created
62e8f45
settings: Remove `version` field migration (#33711)
Click to expand commit body
This reverts some parts of #33372, as it will break the settings for
users running stable and preview at the same time. We can add it back
once the changes make it to stable.
Release Notes:
- N/A
Bennet Bo Fenner
created
0fe73a9
ruby: Add basic documentation about debugging (#33572)
Click to expand commit body
Hi, this pull request adds basic documentation about debugging feature
available in the Ruby extension.
Release Notes:
- N/A
Vitaly Slobodin
created
6e9c6c5
git_ui: Fix list in git commit message (#33409)
Click to expand commit body
Follow up: #32114
Closes #33274
Use the new support for language-specific rewrap_prefixes added in
https://github.com/zed-industries/zed/pull/33702.
Release Notes:
- Fix git commit message line break getting stripped after committing.
---------
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav
created
42f7881
agent: Use callout for displaying errors instead of toasts (#33680)
Click to expand commit body
This PR makes all errors in the agent panel to use the `Callout`
component instead of toasts. Reason for that is because the toasts
obscured part of the panel's UI, which wasn't ideal. We can also be more
expressive here with a background color, which I think helps with
parsing the message.
Release Notes:
- agent: Improved how we display errors in the panel.
Danilo Leal
created
a5b2428
debugger: Fix Go locator for subtests (#33694)
Click to expand commit body
Closes #33054
Release Notes:
- Fixed debugging Go subtests.
Cole Miller
created
0629804
agent: Clarify upgrade path when starting trial (#33706)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
3151b5e
languages: Fix `(` wouldn’t autocomplete when `.` is preceded by it in Markdown (#33705)
Click to expand commit body
Closes #5092
Release Notes:
- Fixed issue where `(` wouldn’t autocomplete when `.` is preceded by it
in Markdown.
Smit Barmase
created
782fbfa
agent: Add component preview for Zed AI configuration (#33704)
Click to expand commit body
As we are in the process of improving our Onboarding UX for Zed AI, I
added component previews for the Zed AI Configuration section. This
should make it easier to inspect the different states we can run into.
<img width="1198" alt="image"
src="https://github.com/user-attachments/assets/eb774f27-9091-450d-bfae-c688d533c25e"
/>
Release Notes:
- N/A
Bennet Bo Fenner
created
2caa192
debugger: Do not include Rust in default value for `sourceLanguages` (CodeLLDB config) (#33670)
Click to expand commit body
- **debugger: Update exception breakpoints list on capability update**
- **Do not prefill codelldb sourcelanguages by default**
Release Notes:
- debugger: CodeLLDB no longer enables pretty-printers for Rust by
default. This fixes pretty-printers for C++. This is a breaking change
for user-defined debug scenarios from debug.json; in order to enable
Rust pretty printing when using CodeLLDB, add `"sourceLanguages":
["rust"]` to your debug configuration. This change does not affect
scenarios automatically inferred by Zed.
---------
Co-authored-by: Anthony Eid <anthony@zed.dev>
Piotr Osiewicz
and
Anthony Eid
created
bff5d85
gpui: Add the `windows-manifest` feature to embed manifest, enable by default (#32440)
Click to expand commit body
Gpui's build.rs will embed a manifest file into the Windows binary, but
sometimes we want to customize it, so I added a feature called
`no-windows-manifest` to disable this behavior.
Release Notes:
- N/A
Sunli
created
abe5d52
dap_adapters: Add attachSimplePort to JS DAP schema (#31412)
Click to expand commit body
taken from
https://github.com/microsoft/vscode-js-debug/blob/main/OPTIONS.md?plain=1
Release Notes:
- debugger: Added attachSimplePort to JavaScript DAP schema
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Bedis Nbiba
and
Piotr Osiewicz
created
8fb3199
editor: Improve rewrap of markdown lists, todos, and block quotes (#33702)
Click to expand commit body
Closes #19644 #18151
Now, rewrapping markdown lists (unordered, ordered, and to-do lists) and
block quotes wrap them separately, without merging them together.
Additionally, it correctly indents subsequent lines.
With this input:
```md
1. This is a list item that is short.
2. This list item is a bit longer because I want to see if it wraps correctly after a rewrap operation in Zed. What do you think?
3. another short item
```
Output would be:
```md
1. This is a list item that is short.
2. This list item is a bit longer because I want to see if it wraps correctly
after a rewrap operation in Zed. What do you think?
3. another short item
```
Instead of:
```md
1. This is a list item that is short. 2. This list item is a bit longer because
I want to see if it wraps correctly after a rewrap operation in Zed. What
do you think? 3. another short item
```
Release Notes:
- Improved rewrap for markdown lists, todos, and block quotes.
Smit Barmase
created
0d809c2
bedrock: Fix bedrock not streaming (#28281)
Click to expand commit body
Closes #26030
Release Notes:
- Fixed Bedrock bug causing streaming responses to return as one big
chunk
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Shardul Vaidya
and
Peter Tripp
created
93b1e95
agent: Make `AgentSettings::default_model` optional (#33695)
Click to expand commit body
It's already effectively optional and the the old default of gpt-4
doesn't really get used in practice
Release Notes:
- N/A
Michael Sloan
created
49bc2e6
gpui: Fix slow scrolling in lists (#33608)
Click to expand commit body
matches editor element's behavior
https://github.com/user-attachments/assets/f70912e1-5adb-403b-a98c-63e2e89929ac
- in first version editor scrolls like 1.5 pages, but agent panel only
scrolls half a page.
- in second version, agent panel also scrolls like 1.5 pages.
Release Notes:
- Fixed skipping of some scroll events in the non-uniform list UI element, which fixes slow scrolling of the agent panel.
2ee5bed
agent: Only consider zed provider authenticated if TOS is accepted (#33693)
Click to expand commit body
Also now auto-expands the zed provider section when TOS is not accepted
Release Notes:
- N/A
Michael Sloan
created
d497f52
agent: Improve error handling and retry for zed-provided models (#33565)
Click to expand commit body
* Updates to `zed_llm_client-0.8.5` which adds support for `retry_after`
when anthropic provides it.
* Distinguishes upstream provider errors and rate limits from errors
that originate from zed's servers
* Moves `LanguageModelCompletionError::BadInputJson` to
`LanguageModelCompletionEvent::ToolUseJsonParseError`. While arguably
this is an error case, the logic in thread is cleaner with this move.
There is also precedent for inclusion of errors in the event type -
`CompletionRequestStatus::Failed` is how cloud errors arrive.
* Updates `PROVIDER_ID` / `PROVIDER_NAME` constants to use proper types
instead of `&str`, since they can be constructed in a const fashion.
* Removes use of `CLIENT_SUPPORTS_EXA_WEB_SEARCH_PROVIDER_HEADER_NAME`
as the server no longer reads this header and just defaults to that
behavior.
Release notes for this is covered by #33275
Release Notes:
- N/A
---------
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Co-authored-by: Richard <richard@zed.dev>
Michael Sloan
,
Richard Feldman
, and
Richard
created
f022a13
Add `#[serde(deny_unknown_fields)]` to action structs that didn't have it (#33679)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
c74ecb4
Warn about unknown fields when editing settings json (#33678)
Click to expand commit body
Closes #30017
* While generating the settings JSON schema, defaults all schema
definitions to reject unknown fields via `additionalProperties: false`.
* Uses `unevaluatedProperties: false` at the top level to check fields
that remain after the settings field names + release stage override
field names.
* Changes json schema version from `draft07` to `draft_2019_09` to have
support for `unevaluatedProperties`.
Release Notes:
- Added warnings for unknown fields when editing `settings.json`.
Michael Sloan
created
7609ca7
Sketch in a table for the keybindings UI (#32436)
Click to expand commit body
Adds the initial semblance of a keymap UI. It is currently gated behind the `settings-ui` feature flag. Follow up PRs will add polish and missing features.
Release Notes:
- N/A
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Anthony <anthony@zed.dev>
The major change in schemars 1.0 is that now schemas are represented as
plain json values instead of specialized datatypes. This allows for more
concise construction and manipulation.
This change also improves how settings schemas are generated. Each top
level settings type was being generated as a full root schema including
the definitions it references, and then these were merged. This meant
generating all shared definitions multiple times, and might have bugs in
cases where there are two types with the same names.
Now instead the schemar generator's `definitions` are built up as they
normally are and the `Settings` trait no longer has a special
`json_schema` method. To handle types that have schema that vary at
runtime (`FontFamilyName`, `ThemeName`, etc), values of
`ParameterizedJsonSchema` are collected by `inventory`, and the schema
definitions for these types are replaced.
To help check that this doesn't break anything, I tried to minimize the
overall [schema
diff](https://gist.github.com/mgsloan/1de549def20399d6f37943a3c1583ee7)
with some patches to make the order more consistent + schemas also
sorted with `jq -S .`. A skim of the diff shows that the diffs come
from:
* `enum: ["value"]` turning into `const: "value"`
* Differences in handling of newlines for "description"
* Schemas for generic types no longer including the parameter name, now
all disambiguation is with numeric suffixes
* Enums now using `oneOf` instead of `anyOf`.
Release Notes:
- N/A
b0086b4
Fix an interaction between vim's linewise yank and editor's paste (#33555)
Click to expand commit body
Closes #32397
This PR fixes an issue when pasting text with the `editor::Paste`
command that was copied with `vim::Yank`'s linewise selection.
The change stops setting the `is_entire_line` setting when copying from
with vim linewise selections (<kbd>⇧v</kbd>) and motions (i.e.
<kbd>y2j</kbd>).
This flag is used when cutting/copying text without being selected (so,
place a cursor on line without selecting anything, and press
<kbd>⌘X</kbd>). When cutting/copying text in this manner, [the editor
pastes the text above the
cursor](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/editor/src/editor.rs#L11936-L11947).
However, this behaviour is not needed when cutting/copying with vim
motions.
Pasting with vim operations is not affected by this change. [They are
handled
elsewhere](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/vim/src/normal/paste.rs)
and they don't consider the `is_entire_line` flag at all.
Note for maintainers: I'm not familiar with this codebase 🙃. This change
fixes the issue. I don't see anything breaking... but let me know if
it's not the case and a more thorough change is needed.
**Before:**
The text is copied above the first line, before the cursor.
https://github.com/user-attachments/assets/0c2f111a-5da0-4775-a7a0-2e4fb6f78bfc
**After:**
The text is copied at the cursor location:
https://github.com/user-attachments/assets/60a17985-fe8b-4149-a77b-d72bf531bf85
Release Notes:
- Fixed an issue when pasting text that was yanked with vim's linewise
selections.
These tests cover more edge cases
Release Notes:
- N/A
fantacell
created
2680a78
Support vim-mode in git commit editor (#33222)
Click to expand commit body
Release Notes:
- Added support for vim-mode on git commit editor (modal included)
Side notes:
- Maybe in the future (or even on this PR) a config could be added to
let the user choose whether to enable vim-mode on this editor or not?
And on the agent message editor as well.
Stop doing useless prettier-related work when doing a project search.
Before, project search might cause
<img width="1728" alt="not_pretty"
src="https://github.com/user-attachments/assets/5f8b935f-962d-488e-984f-50dfbaee97ba"
/>
but now we debounce the prettier-related task first, and actually set
the "installed" state for the default prettier, when there's no install
needed.
Release Notes:
- N/A
Kirill Bulatov
created
7c4da37
emmet: Fix expansion for HEEx and H sigil files (#32208)
Click to expand commit body
Closes #14149
Release Notes:
- Added support for the Emmet LSP in Elixir heex files
Now that the extension version has been bumped we can remove our in-tree
one to avoid having duplicate debug adapters.
Release Notes:
- The ruby debug adapter has been moved to the [ruby
extension](https://github.com/zed-extensions/ruby), if you have any
saved debug scenarios you'll need to change `"adapter": "Ruby"` to
`"adapter": "rdbg"`.
Julia Ryan
created
42c5901
debugger: Fix global debug tasks not being picked up (#33664)
Click to expand commit body
Release Notes:
- Fixed a bug which caused global debug scenarios (from global
.zed/debug.json) to not be picked up.