Commit log

5f8610f Update windows.md

Cole Miller created

faca128 debugger: Fix zoomed panel size regression (#33746)

Click to expand commit body
Co-authored-by: Cole <cole@zed.dev>

Release Notes:

- N/A

Co-authored-by: Cole <cole@zed.dev>

Piotr Osiewicz and Cole created

3f0f316 Fix windows manifest inclusion (#33745)

Click to expand commit body
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)

Click to expand commit body
Closes #33114

Release Notes:

- debugger: Ensure Cargo locator only targets relevant executables.

Cathal created

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 "|=")

Peter Tripp created

31b7786 Fix IndentGuides story (#32781)

Click to expand commit body
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.

maan2003 created

9a4bcd1 Remove callout for hiring (#33674)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

mslzed created

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>

Mikayla Maki , Ben Kunkle , and Anthony created

32906bf Update Cargo.lock (#33667)

Click to expand commit body
Followup to: https://github.com/zed-industries/zed/pull/32208

Release Notes:

- N/A

Umesh Yadav created

5fafab6 Migrate to schemars version 1.0 (#33635)

Click to expand commit body
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

Michael Sloan created

a2e786e Allow repeat in visual mode (#33569)

Click to expand commit body
Release Notes:

- vim: Allow `.` in visual mode.

Conrad Irwin created

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.

Alejandro Fernández Gómez created

d10cc13 helix: Add more tests (#33582)

Click to expand commit body
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.

Alvaro Parker created

1978289 Properly register initialized default prettier (#33669)

Click to expand commit body
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

Conrad Taylor created

ce164f5 Remove ruby debug adapter (#33541)

Click to expand commit body
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