Commit log

1bbf98a Fix arrow function detection in TypeScript/JavaScript outline (#38411)

Click to expand commit body
Closes #35102 



https://github.com/user-attachments/assets/3c946d6c-0acd-4cfe-8cb3-61eb6d20f808


Release Notes:

- TypeScript/JavaScript: symbol outline now includes closures nested
within functions.

strygwyr created

8bac1be Disable subpixel shifting for y axis on Windows (#38440)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

localcc and Jakub Konka created

55dc9ff text: Implement `Rope::clip_offset` in terms of the new utf8 boundary methods (#38630)

Click to expand commit body
Release Notes:

- N/A

Lukas Wirth created

50bd8bc docs: Add instructions for setting up `fish_indent` for fish (#38414)

Click to expand commit body
Release Notes:

- N/A

Justin Su created

a2c71d3 text: Assert text anchor offset validity on construction (#38441)

Click to expand commit body
Attempt to aid debugging some utf8 indexing issues

Release Notes:

- N/A

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Lukas Wirth and Mikayla Maki created

7962045 Docs: change format_on_save value from false to "off" (#38615)

Click to expand commit body
Found this outdated piece of information in the docs while trying to
disable it myself, this PR simply changes `false` to `"off"`.

Release Notes:

- N/A

Matheus created

271771c editor: Prevent non‑boundary highlight indices in UTF‑8 (#38510)

Click to expand commit body
Closes #38359

Release Notes:

- Use byte offsets for highlights; fix UTF‑8 crash

Miao created

891a06c docs: Small grammar fix to use a possessive pronoun (#38610)

Click to expand commit body
> Your extension can define it's own debug locators
> Your extension can define it is own debug locators

The sentence above does not make sense after expanding "it's". We should
instead be using the possessive "its" in this scenario.

Release Notes:

- N/A

Signed-off-by: Remy Suen <remy.suen@docker.com>

Remy Suen created

11041ef perf: Greatly expand profiler (#38584)

Click to expand commit body
Expands on #38543 (notably allows setting importance categories and
weights on tests, and a lot of internal refactoring) because I couldn't
help myself. Also allows exporting runs to json and comparing across them. See code for docs.

Release Notes:

- N/A

Nia created

839c216 terminal: Re-add sanitizing trailing periods in URL detection (#38569)

Click to expand commit body
I accidentally regressed this when bumping alacritty in
https://github.com/zed-industries/zed/pull/38505

cc @davewa 

Release Notes:

- N/A

Jakub Konka created

18df6a8 acp: Fix spawning login task (#38567)

Click to expand commit body
Reverts #38175, which is not correct, since in fact we do need to
pre-quote the command and arguments for the shell when using
`SpawnInTerminal` (although we should probably change the API so that
this isn't necessary). Then, applies the same fix as #38565 to fix the
root cause of being unable to spawn the login task on macOS, or in any
case where the command/args contain spaces.

Release Notes:

- Fixed being unable to login with Claude Code or Gemini using the
terminal.

Cole Miller created

f5c2e4b vim: Remove duplicate bracket pair (#38560)

Click to expand commit body
remove depulicate code, this same with line: 556-562

Release Notes:

- N/A

CharlesChen0823 created

1d1bbf0 docs: Mention `herb` LSP for Ruby language (#38351)

Click to expand commit body
Hi! This pull request mentions [the `herb` LSP](https://herb-tools.dev)
for `HTML/ERB` language that the Ruby extension supports. Thanks!

Release Notes:

- N/A

---------

Co-authored-by: Finn Evers <finn.evers@outlook.de>

Vitaly Slobodin and Finn Evers created

ffa23d2 Fix formatting in workspace `Cargo.toml` (#38563)

Click to expand commit body
This PR fixes some formatting issues in the workspace `Cargo.toml`.

Release Notes:

- N/A

Marshall Bowers created

7820586 tests: Add an automatic perf profiler (#38543)

Click to expand commit body
Add an auto-profiler for our tests, to hopefully allow better triage of
performance impacts resulting from code changes. Comprehensive usage
docs are in the code.

Currently, it uses hyperfine under the hood and prints markdown to the
command line for all crates with relevant tests enabled. We may want to
expand this to allow outputting json in the future to allow e.g.
automatically comparing the difference between two runs on different
commits, and in general a lot of functionality could be added (maybe
measuring memory usage?).

It's enabled (mostly as an example) on two tests inside `gpui` and a
bunch of those inside `vim`. I'd have happily used `cargo bench`, but that's nightly-only.

Release Notes:

- N/A

Nia created

be77682 editor: Fix adding extraneous closing tags within TSX (#38534)

Smit Barmase created

8df616e Suppress the 'Agent Thread Started' event when initializing the panel (#38535)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

89520ea chore: Bump alacritty_terminal to 0.25.1-rc1 (#38505)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Dave Waggoner <waggoner.dave@gmail.com>

Jakub Konka and Dave Waggoner created

de75e2d extension_host: Expand supported extension API range to include v0.7.0 (#38529)

Click to expand commit body
This PR updates the version range for v0.6.0 of the extension API to
include v0.7.0.

Since we bumped the `zed_extension_api` crate's version to v0.7.0, we
need to expand this range in order for Zed clients to be able to install
extensions built against v0.7.0 of `zed_extension_api`.

Currently no extensions that target `zed_extension_api@0.7.0` can be
installed.

Release Notes:

- N/A

Marshall Bowers created

4e316c6 macos: Fix panic when `NSWindow::screen` returns `nil` (#38524)

Click to expand commit body
Closes #ISSUE

Release Notes:

- mac: Fixed an issue where Zed would panic if the workspace window was
previously off screen

Ben Kunkle created

1afbfcb git: Docs-based workaround for GitHub/git auth confusion (#38479)

Click to expand commit body
Closes #ISSUE

Release Notes:

- git: Added a link to Github's authentication help if you end up in Zed
trying to type a password in for https auth

Conrad Irwin created

be75755 Fix theme overrides (#38512)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

30a29ab Fix server settings (#38477)

Click to expand commit body
In the settings refactor I'd assumed server settings were like project
settings. This is not the case, they are in fact the normal user
settings;
but just read from the server.

Release Notes:

- N/A

Conrad Irwin created

b9188e0 collab: Fix screen share aspect ratio on non-Mac platforms (#38517)

Click to expand commit body
It was just a bunch of finnickery around UI layout. It affected Linux
too.



Release Notes:

* Fixed aspect ratio of peer screen share when using Linux/Windows
builds.

Piotr Osiewicz created

df6f0bc Fix markdown list in `bump-zed-minor-versions` (#38515)

Click to expand commit body
This fixes a small markdown issue in the `bump-zed-minor-versions`
script that bugged me for too long 😅

Release Notes:

- N/A

Finn Evers created

4743fe8 vim: Fix regression in surround behavior (#38344)

Click to expand commit body
Fix an issue introduced in
https://github.com/zed-industries/zed/pull/37321 where vim's surround
wouldn't work as expected when replacing quotes with non-quotes, with
whitespace always being added, regardless of whether the opening or
closing bracket was used. This is not the intended, or previous,
behavior, where only the opening bracket would trigger whitespace to be
added.

Closes #38169 

Release Notes:

- Fixed regression in vim's surround plugin that ignored whether the
opening or closing bracket was being used when replacing quotes, so
space would always be added

Dino created

0f4bdca Update icon theme fallback to use default theme (#38485)

Click to expand commit body
https://github.com/zed-industries/zed/pull/38367 introduced panic:

```
thread 'main' panicked at crates/theme/src/settings.rs:812:18:
called `Option::unwrap()` on a `None` value
```

In this PR I restored fallback logic from the original code - before
settings refactor.

Release Notes:

- N/A

Jan Češpivo created

154b01c Dismiss agent panel when `disable_ai` is toggled to `true` (#38461)

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

This fixes an issue where we would not dismiss the panel once the user
toggled the setting, leaving them in an awkward state where closing the
panel would become hard.

Also takes care of one more check for the `Fix with assistant` action
and consolidates some of the `AgentSettings` and `DisableAiSetting`
checks into one method to make the code more readable.

Release Notes:

- N/A

Finn Evers created

b6944d0 docs: Fix duplicate postgresql package and punctuation error (#38478)

Click to expand commit body
Found duplicate `postgresql` package in installation command. Uncertain
whether it should be `postgresql-contrib` or `postgresql-client`, but
neither appears necessary.


Release Notes:

- N/A

逃生舱 created

94fcbb4 docs: Update invalid property in a configuration example (#38466)

Click to expand commit body
Just install Zed for the first time and got a warning from the first
config example i copied from docs.
Great design btw, immediately able to see that this is a well thought
out app. seems like i'll stick with zed and make it my new dev
'sanctuary'.

Release Notes:

- N/A

Dimas Ari created

2e97ef3 Revert "Audio fixes and mic denoise" (#38509)

Click to expand commit body
Reverts zed-industries/zed#38493

Release Notes:

- N/A

David Kleingeld created

aa5b99d Fully qualify images in Docker Compose (#38496)

Click to expand commit body
This enables podman-compose (easier to install and run on linux) as drop
in replacement for docker-compose

Release Notes:

- N/A

David Kleingeld created

3217bcb docs: Add Kotlin JAVA_HOME example (#38507)

Click to expand commit body
Closes: https://github.com/zed-extensions/kotlin/issues/46

Release Notes:

- N/A

Peter Tripp created

a3da66c editor: Correct "Toggle Excerpt Fold" tip on macOS (#38487)

Click to expand commit body
Show `"Option+click to toggle all"` instead of `"Alt+click to toggle
all" on macOS.

<img width="546" height="212" alt="Screenshot 2025-09-19 at 10 16 11"
src="https://github.com/user-attachments/assets/b1052b7c-349f-4a11-892b-988cfd2ff365"
/>

Release Notes:

- N/A

Bartosz Kaszubowski created

9e6f1d5 python: Fix ty binary path and required args (#38458)

Click to expand commit body
Closes #38347

Release Notes:

- Fixed path and args to ty lsp binary


When attempting to use the new ty lsp integration in the preview, I
noticed issues related to accessing the binary. After deleting the
downloaded archive and adding the following changes that:

- downloads the archive with the correct `AssetKind::TarGz`
- uses the correct path to the extracted binary
- adds the `server` argument to initialize the lsp (like ruff)

After the above changes the LSP starts correctly
```bash
2025-09-18T16:17:03-05:00 INFO  [lsp] starting language server process. binary path: "/Users/dereknguyen/Library/Application Support/Zed/languages/ty/ty-0.0.1-alpha.20/ty-aarch64-apple-darwin/ty", working directory: "/Users/dereknguyen/projects/test-project", args: ["server"]
```
<img width="206" height="98" alt="image"
src="https://github.com/user-attachments/assets/8fcf423f-40a0-4cd9-a79e-e09666323fe2"
/>

---------

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

Derek Nguyen and Cole Miller created

430ac51 python: Install basedpyright with npm instead of pip (#38471)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Cole Miller created

5f728ef agent: Show custom MCP servers in agent configuration (#38500)

Click to expand commit body
Fixes a regression introduced in #38419

Release Notes:

- N/A

Bennet Bo Fenner created

194a13f Add denoising & prepare for migrating to new samplerate & channel count (#38493)

Click to expand commit body
Uses the previously merged denoising crate (and fixes a bug in it that snug in during refactoring) in the microphone input. The experimental audio path now picks the samplerate and channel count depending on a setting. It can handle incoming streams with both the current (future legacy) and new samplerate & channel count. These are url-encoded into the livekit track name.

David Kleingeld created

66f2fda helix: Initial support for helix-mode paste (#37963)

Click to expand commit body
This is a redo of #29776. I went for a separate function -- instead of
adding a bunch of conditions to `vim::Paste` -- because there were quite
a few differences.

Release Notes:

- Added a `vim::HelixPaste` command that imitates Helix's paste behavior

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

jneem and Jakub Konka created

e62dd2a Tighten up MergeFrom trait (#38473)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

c826ce6 markdown: Use the faster hasher (#38469)

Click to expand commit body
Micro-optimisation in the markdown crate to use the faster hasher.

Release Notes:

- N/A

Nia created

e5e308b fuzzy: Fixup atomic ordering (#38468)

Click to expand commit body
Hopefully partially addresses some crashes that can be triggered in this
code.

Release Notes:

- N/A

Nia created

166b235 Respect user's font-smoothing setting (#38467)

Click to expand commit body
#37622 was incorrectly forcing font smoothing to be enabled on macos
even when the user had disabled that setting at the OS level. See [this
comment](https://github.com/zed-industries/zed/pull/37622#issuecomment-3310030659)
for an example of the difference that font smoothing makes.

Release Notes:

- N/A

Julia Ryan created

f18b19a http_client: Relax lifetime bounds and add fluent builder methods (#38448)

Click to expand commit body
`HttpClient`: Relaxes the lifetime bound to `&self` in `get`/`post`
by returning the `self.send` future directly. This makes both
methods return `'static` futures without extra boxing.

`HttpRequestExt`: Added fluent builder methods to `HttpRequestExt`
inspired by the `gpui::FluentBuilder` trait.

Release Notes:

- N/A

tidely created

b09764c settings: Use a derive macro for refine (#38451)

Click to expand commit body
When we refactored settings to not pass JSON blobs around, we ended up
needing
to write *a lot* of code that just merged things (like json merge used
to do).

Use a derive macro to prevent typos in this logic.

Release Notes:

- N/A

Conrad Irwin created

5f4f0a8 Fix wierd rust-analyzer error (#38431)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

82e1e5b Fix panic in vim mode (#38437)

Click to expand commit body
Release Notes:

- vim: Fixed a rare panic in search

Conrad Irwin created

530225a python: Remove a redundant pip install call (#38449)

Click to expand commit body
I confirmed that the pip packages match for:
```sh
pip install python-lsp-server && pip install 'python-lsp-server[all]'
pip install 'python-lsp-server[all]'
```

Originally introduced here:
- https://github.com/zed-industries/zed/pull/20358 

Release Notes:

- N/A

Peter Tripp created

11212b8 docs: Improve Elixir HEEX language server documentation (#38363)

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

Release Notes:

- N/A

Peter Tripp created

e3e0522 debugger: Fix debug scenario picker showing history in reverse order (#38452)

Click to expand commit body
Closes #37859

Release Notes:

- debugger: Fix sort order of pasted launched debug sessions in debugger
launch modal

Anthony Eid created