Commit log

94102e9 Update global ai setting

Nate Butler created

adb2e95 Update focus outline styles

Nate Butler created

7e22e57 Introduce global ai setting

Nate Butler created

d30664d Merge branch 'main' into onboarding-ui

Nate Butler created

c99e42a windows: Properly handle surrogates (#34006)

Click to expand commit body
Closes #33791

Surrogate pairs are now handled correctly, so input from tools like
`WinCompose` is properly received.

Release Notes:

- N/A

张小白 created

018dbfb agent: Show line numbers of symbols when using `@symbol` (#34004)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Bennet Bo Fenner created

30a441b agent_ui: Fix disabled context servers not showing in agent setting (#33856)

Click to expand commit body
Previously if I set enabled: false for one the context servers in
settings.json it will not show up in the settings in agent panel when I
start zed. But if I enabled it from settings it properly showed up. We
were filtering the configuration to only get the enabled context servers
from settings.json. This PR adds fetching all of them.

Release Notes:

- agent: Show context servers which are disabled in settings in agent
panel settings.

Umesh Yadav created

83562fc copilot: Indicate whether a request is initiated by an agent to Copilot API (#33895)

Click to expand commit body
Per [GitHub's documentation for VSCode's agent
mode](https://docs.github.com/en/copilot/how-tos/chat/asking-github-copilot-questions-in-your-ide#agent-mode),
a premium request is charged per user-submitted prompt. rather than per
individual request the agent makes to an LLM. This PR matches Zed's
functionality to VSCode's, accurately indicating to GitHub's API whether
a given request is initiated by the user or by an agent, allowing a user
to be metered only for prompts they send.

See also: #31068

Release Notes:

- Improve Copilot premium request tracking

Liam created

6b456ed languages: Fix string override to match just `string_fragment` part of `template_string` (#33997)

Click to expand commit body
Closes #33703

`template_string` consists of `template_substitution` and
`string_fragment` chunks. `template_substitution` should not be
considered a string.

```ts
const variable = `this is a string_fragment but ${this.is.template_substitution}`;
```

Release Notes:

- Fixed auto-complete not showing on typing `.` character in template
literal string in JavaScript and TypeScript files.

Smit Barmase created

6efc5ec project_panel: Add Sticky Scroll (#33994)

Click to expand commit body
Closes #7243

- Adds `top_slot_items` to `uniform_list` component to offset list
items.
- Adds `ToPosition` scroll strategy to `uniform_list` to scroll list to
specified index.
- Adds `sticky_items` component which can be used along with
`uniform_list` to add sticky functionality to any view that implements
uniform list.


https://github.com/user-attachments/assets/eb508fa4-167e-4595-911b-52651537284c

Release Notes:

- Added sticky scroll to the project panel, which keeps parent
directories visible while scrolling. This feature is enabled by default.
To disable it, toggle `sticky_scroll` in settings.

Smit Barmase created

2246b01 Allow remote loading for DAP-only extensions (#33981)

Click to expand commit body
Closes #ISSUE


![image](https://github.com/user-attachments/assets/8e1766e4-5d89-4263-875d-ad0dff5c55c2)


Release Notes:

- Allow remote loading for DAP-only extensions

feeiyu created

01295aa debugger: Fix the JavaScript debug terminal scenario (#33924)

Click to expand commit body
There were a couple of things preventing this from working:

- our hack to stop the node REPL from appearing broke in recent versions
of the JS DAP that started passing `--experimental-network-inspection`
by default
- we had lost the ability to create a debug terminal without specifying
a program

This PR fixes those issues. We also fixed environment variables from the
**runInTerminal** request not getting passed to the spawned program.

Release Notes:

- Debugger: Fix RunInTerminal not working for JavaScript debugger.

---------

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

Remco Smits and Cole Miller created

66e4581 debugger: Improve debug console autocompletions (#33868)

Click to expand commit body
Partially fixes:
https://github.com/zed-industries/zed/discussions/33777#discussioncomment-13646294

### Improves debug console autocompletion behavior

This PR fixes a regression in completion trigger support for the debug
console, as we only looked if a completion trigger, was in the beginning
of the search text, but we also had to check if the current text is a
word so we also show completions for variables/input that doesn't start
with any of the completion triggers.

We now also leverage DAP provided information to sort completion items
more effectively. This results in improved prioritization, showing
variable completions above classes and global scope types.

I also added for completion the documentation field, that directly comes
from the DAP server. NOTE: I haven't found an adapter that returns this,
but it needs to have.

**Before**
<img width="1200" alt="Screenshot 2025-07-03 at 21 00 19"
src="https://github.com/user-attachments/assets/611e8d38-e302-4995-a425-ce2c0a1843d4"
/>

**After**
<img width="1200" alt="Screenshot 2025-07-03 at 20 59 38"
src="https://github.com/user-attachments/assets/ab1312db-bbad-49b7-872d-712d6ec708d7"
/>

Release Notes:

- Debugger: Improve autocompletion sorting for debug console
- Debugger: Fix autocompletion menu now shown when you type
- Debugger: Fix completion item showing up twice for some adapters

Remco Smits created

5b2874b WIP use components

Nate Butler created

ffb557c Add additional row components

Nate Butler created

76fe332 project_panel: Fix indent guide collapse on secondary click for multiple worktrees (#33939)

Click to expand commit body
Release Notes:

- Fixed issue where `cmd`/`ctrl` click on indent guide would not
collapse directory in case of multiple projects.

Smit Barmase created

44d1f51 Use /usr/bin/env to run bash restart script (#33936)

Click to expand commit body
Closes #33935

Release Notes:

- Use `/usr/bin/env` to launch the bash restart script

Alvaro Parker created

6e6e6d8 Update selectable_tile.rs

Nate Butler created

69fd23e Fix path parsing for goto syntax provided by Haskell language server (#33697)

Click to expand commit body
path parsing for multiline errors provided by haskell language server
where not working correctly

<img width="875" alt="image"
src="https://github.com/user-attachments/assets/967d2e03-e167-4055-9c8e-31531cca1471"
/>

while its being parsed correctly in vscode

<img width="934" alt="image"
src="https://github.com/user-attachments/assets/a881cf0e-f06e-4b44-8363-6295bcc825fd"
/>

Release Notes:

- Fixed path parsing paths in the format of the Haskell language server

abhimanyu maurya created

e32e1ba Add SelectableTile

Nate Butler created

4ad47fc emmet: Enable in `HTML/ERB` files (#33865)

Click to expand commit body
Closes [#133](https://github.com/zed-extensions/ruby/issues/133)

This PR enables the Emmet LS in `HTML/ERB` files that we added in the
https://github.com/zed-extensions/ruby/pull/113. Let me know if I picked
the right approach here.

Thanks!

Release Notes:

- N/A

Vitaly Slobodin created

0555bbd ruby: Document how to use `erb-formatter` for ERB files (#33872)

Click to expand commit body
Hi! This is a small pull request that adds a new section about
configuring the `erb-formatter` for formatting ERB files. Thanks.

Release Notes:

- N/A

Vitaly Slobodin created

d3da0a8 Update documentation for tailwindcss language server now that HTML/ERB is it's own file. (#33684)

Click to expand commit body
Hello,

Recently my tailwind auto completion broke in ERB files. I noticed that
HTML/ERB is it's own file type now. It used to be ERB. This broke the
previous tailwindcss ERB configuration. I made the attached change to my
configuration and it works now.

Jacob Duba created

31ec7ef Debugger: check for `supports_single_thread_execution_requests` in continue (#33937)

Click to expand commit body
i found this to break my ability to continue with an lldb fork i use

Release Notes:

- N/A

xdBronch created

75928f4 Sync extension debuggers to remote host (#33876)

Click to expand commit body
Closes #33835

Release Notes:

- Fixed debugger extensions not working in remote projects.

Ryan Hawkins created

543a7b1 debugger: Fix errors in JavaScript DAP schema (#33884)

Click to expand commit body
`program` isn't required, and in fact our built-in `JavaScript debug
terminal` configuration doesn't have it.

Also add `node-terminal` to the list of allowed types.

Co-authored-by: Michael <michael@zed.dev>

Release Notes:

- N/A

Cole Miller created

8fecacf settings: Remove version keys from default settings (#33921)

Click to expand commit body
Follow up to #33372

Release Notes:

- N/A

Bennet Bo Fenner created

59cdea0 agent: Fix context server restart when settings unchanged (#33920)

Click to expand commit body
Closes #33891

Release Notes:

- agent: Fix an issue where configuring an MCP server would not restart
the underlying server correctly

Bennet Bo Fenner created

3d7e012 gemini: Fix issue with builtin tool schemas (#33917)

Click to expand commit body
Closes #33894

After #33635 Gemini Integration was broken because we now produce
`const` fields for enums, which are not supported.
Changing this to `openapi3` fixes the issue.

Release Notes:

- Fixed an issue where Gemini Models would not work because of
incompatible tool schemas

Bennet Bo Fenner created

8ebea17 debugger: Add history to console's query bar (#33914)

Click to expand commit body
Closes #[33457](https://github.com/zed-industries/zed/discussions/33457)

Release Notes:

- debugger: Added query history to the console

Piotr Osiewicz created

5253702 Move the `LoadingLabel` component to the UI crate (#33893)

Click to expand commit body
So we can use it in other places and don't require them to depend on the
`agent_ui`. This PR also renames it from `AnimatedLabel` to
`LoadingLabel`.

Release Notes:

- N/A

Danilo Leal created

ed7552d Default `#[schemars(deny_unknown_fields)] for json-language-server schemas (#33883)

Click to expand commit body
Followup to #33678, doing the same thing for all JSON Schema files
provided to json-language-server

Release Notes:

* Added warnings for unknown fields when editing `tasks.json` /
`snippets.json`.

Michael Sloan created

38544e5 debugger: Use debugpy's suggested names for child sessions (#33885)

Click to expand commit body
Just like vscode-js-debug, debugpy uses the `name` key in
StartDebuggingRequestArguments for this:


https://github.com/microsoft/debugpy/blob/0d65353cc6e519292296bf567bdc6dfa5bcd4ffc/src/debugpy/adapter/clients.py#L753

Release Notes:

- debugger: Made the names of Python subprocesses in the session list
more helpful.

Cole Miller created

03ca2f4 Fix yaml comment indent (#33882)

Click to expand commit body
Closes #33761

The problem was that in the indentation regex we were treating lines
that had `:` in them as requiring an indent on the next line, even if
that `:` was inside a comment.

Release Notes:

- Fixed YAML indentation for lines containing comments with `:` in them

Richard Feldman created

91bfe6f debugger: Improve performance with large # of output (#33874)

Click to expand commit body
Closes #33820

Release Notes:

- Improved performance of debug console when there are lots of output
events.

---------

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

Piotr Osiewicz and Cole Miller created

0ebf7f5 Fix Shift+Enter to send newline instead of carriage return in terminal (#33859)

Click to expand commit body
Closes #33858

Changes Shift+Enter in the built-in terminal to send line feed (`\x0a`)
instead of carriage return (`\x0d`), enabling multi-line input in Claude
Code and other terminal applications.

Release Notes:

- Fixed the issue where Claude Code and other multi-line terminal
applications couldn't use Shift+Enter for newlines.

Taras Martyniuk created

7a2593e Fix JSON Schema definitions path used for debug task (#33873)

Click to expand commit body
Regression in #33678

Release Notes:

- (Preview Only) Fixed invalid json schema for `debug.json`.

Michael Sloan created

fcd9da6 Fix panic on inlay split (#33676)

Click to expand commit body
Closes #33641

Release Notes:

- Fixed panic when trying to split on multibyte UTF-8 sequences.

Richard Feldman created

bdabdbb Use existing welcome page

Nate Butler created

fe9ef20 Start scaffolding out ai section

Nate Butler created

b31af62 Refinement

Nate Butler created

fcdd99e keymap_ui: Syntax highlight context (#33864)

Click to expand commit body
Closes #ISSUE

Uses Rust for syntax highlighting of context in the keymap editor.
Future pass will improve color choice to make colors less abrasive

Release Notes:

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

Ben Kunkle created

4e6b7ee keymap_ui: Hover tooltip for action documentation (#33862)

Click to expand commit body
Closes #ISSUE

Show the documentation for an action when hovered. As a bonus, also show
the humanized command palette name!

Release Notes:

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

Ben Kunkle created

34322ef agent: Fix bug that prevented MCP servers to appear in the settings view (#33857)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/33827

After #33644 was merged, we would not start MCP servers coming from
extensions correctly anymore. The optimization uncovered a bug in the
implementation of `ContextServerDescriptorRegistry`, because we never
called `cx.notify()` when adding/removing context servers.
`ContextServerStore` listens for these events, and before #33644 this
was just working because of aace condition.

Release Notes:

- agent: Fixed bug that prevented MCP servers to appear in the settings
view.

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Danilo Leal and Bennet Bo Fenner created

cc0d8a4 Add Danger check for changes to eval fixtures (#33852)

Click to expand commit body
Also, revert unintentional changes to fixtures.

Changes to test fixtures are intentional and necessary.

Release Notes:

- N/A

Oleksiy Syvokon created

12ab53b Fix documentation of view release notes actions (#33851)

Click to expand commit body
Follow up for: #33809 

Release Notes:

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

Ben Kunkle created

8fde323 Stub out KeyboardNavigation

Nate Butler created

b46e961 agent_ui: Clear error message callout when message is edited or added in same thread (#33768)

Click to expand commit body
Currently if error occurs in the agent thread and user updates the same
messages or sends a new message the error callout is still present and
is not cleared. In this PR we are clearing the last error in case user
sends a new messages or resend the previous message after editing.

Before:


https://github.com/user-attachments/assets/44994004-4cf0-45bc-8b69-88546f037372

After:


https://github.com/user-attachments/assets/993a2a63-8295-47d3-bbda-a2669dee2d5f

Release Notes:

- Fix bug in agent panel error callout not getting removed when a
message is edited or new a message is send.

Umesh Yadav created

bff1f1c Remove unused welcome ui module

Nate Butler created

42aca41 agent: Improve provider section spacing in settings view (#33850)

Click to expand commit body
Some design polish here as a follow-up to making the provider accordion
header entirely clickable.

Release Notes:

- agent: Improved design in the provider section by refining spacing.

Danilo Leal created