Commit log

2df5993 workspace: Add `ctrl-w x` support for vim (#42792)

Click to expand commit body
Adds support for the vim CTRL-W x keybinding, which swaps the active
pane with the next adjacent one, prioritizing column over row and next
over previous. Upon swap, the pane which was swapped with is activated
(this is the vim behavior).

See also
https://github.com/vim/vim/blob/ca6a260ef1a4b4ae94bc71c17cbabf8f12bf0f8c/runtime/doc/windows.txt#L514C1-L521C24

Release Notes:

- Added ctrl-w x keybinding in Vim mode, which swaps the active window
with the next adjacent one (aligning with Vim behavior)

**Vim behavior**


https://github.com/user-attachments/assets/435a8b52-5d1c-4d4b-964e-4f0f3c9aca31


https://github.com/user-attachments/assets/7aa40014-1eac-4cce-858f-516cd06d13f6

**Zed behavior**


https://github.com/user-attachments/assets/2431e860-4e11-45c6-a3f2-08f1a9b610c1


https://github.com/user-attachments/assets/30432d9d-5db1-4650-af30-232b1340229c

Note: There is a discrepancy where in Vim, if vertical and horizontal
splits are mixed, swapping from a column with a single window does not
work (see the vertical video), whilst in Zed it does. However, I don't
see a good reason as to why this should not be supported and would argue
that it makes more sense to keep the clear priority swap behavior,
instead of adding a workaround to supports such cases.

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Moritz Fröhlich and Conrad Irwin created

04e92fb vim: Fix :s command ignoring case sensitivity settings (#42457)

Click to expand commit body
Closes #36260 

This PR fixes the vim :s Command Ignores Case Sensitivity Settings

Release Notes:

- N/A

Hans created

e275904 Actually show settings errors on app load (#43268)

Click to expand commit body
They were previously hidden by the global settings file succeeding to
parse :face-palm:

Release Notes:

- N/A

Conrad Irwin created

a675eb1 Fix regression in closing project diff (#43964)

Click to expand commit body
Follow-up to #43586--when the diff is not split, just render the primary
editor. Otherwise the child `Pane` intercepts `CloseActiveItem`. (This
is still a bug for the actual split diff, but just fixing the
user-visible regression for now.)

Release Notes:

- N/A

Cole Miller created

b27ad98 zeta: Put back 15s reject debounce (#43958)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

9c4e160 extension_ci: Use more robust bash syntax for `bump_extension_version` (#43955)

Click to expand commit body
Also does some more cleanup here and there.

Release Notes:

- N/A

Finn Evers created

34a2bfd ci: Supply `github_token` to `bufbuild_setup_action` (#43957)

Click to expand commit body
This should hopefully resolve errors like
https://github.com/zed-industries/zed/actions/runs/19839788214/job/56845583441

Release Notes:

- N/A

Finn Evers created

99d8d34 Fix failing CI on main (#43956)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

bd79ede extension_ci: Improve behavior when no Rust is present (#43953)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

0bb1c6a Return json value instead of empty string from accept/reject endpoints

Agus Zubiaga created

fd14675 Add Doxygen injection into C and C++ comments (#43581)

Click to expand commit body
Release Notes:

- C/C++ files now support Doxygen grammars (if a Doxygen extension is installed).

Clément Lap created

6eb9f9a Debug a test annotated with the ignore attribute if the test name partially matches another test (#43110)

Click to expand commit body
Related: #42574
If an integration test is annotated with the ignore attribute, allow the
"debug: Test" option of the debug scenario or Code Action to run with
the "--include-ignored" and "--exact" arguments. Inclusion of "--exact"
covers the case where more that one test shares a base name. For
example, consider two tests named "test_no_ace_in_middle_of_straight"
and "test_no_ace_in_middle_of_straight_flush." Without the "--exact"
argument both tests would run if a user attempts to debug
"test_no_ace_in_middle_of_straight".

Release Notes:

- Improved "debug test" experience in Rust with ignored tests.

mikeHag created

3d3d124 docs: Migrate from VS Code (#43438)

Click to expand commit body
Add guide for users coming from VS Code

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Katie Geer and Danilo Leal created

de392cd Fix bracket colorization not working in file-less files with a proper language (#43947)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/43172

Release Notes:

- Fixed bracket colorization in file-less files with a proper language

Kirill Bulatov created

3351329 script: Fix upload-nightly versioning (#43933)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

1535e95 ci: Always run nextest for extensions (#43945)

Click to expand commit body
This makes rolling this out across extensions a far bit easier and also
safer, because we don't have to manually set `run_tests` for every
extension (and never have to consider this when updating these).

Release Notes:

- N/A

Finn Evers created

26f7703 edit prediction: Do not attempt to gather context for non-zeta2 models (#43943)

Click to expand commit body
We were running the LLM-based context gathering for zeta1 and sweep
which don't use it.

Release Notes:

- N/A

Agus Zubiaga created

efff602 zeta: Smaller reject batches (#43942)

Click to expand commit body
We were allowing the client to build up to
`MAX_EDIT_PREDICTION_REJECTIONS_PER_REQUEST`. We'll now attempt to flush
the rejections when we reach half max.

Release Notes:

- N/A

Agus Zubiaga created

58c9cba git_ui: Clean up file history view design (#43941)

Click to expand commit body
Mostly cleaning up the UI code. The UI looks fairly the same just a bit
more polished, with proper colors and spacing. Also added a scrollbar in
there. Next step would be to make it keyboard navigable.

<img width="500" height="1948" alt="Screenshot 2025-12-01 at 5  38@2x"
src="https://github.com/user-attachments/assets/c266b97c-4a79-4a0e-8e78-2f1ed1ba495f"
/>

Release Notes:

- N/A

Danilo Leal created

7881551 ci: Request GitHub token for proper repository (#43940)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

ff6bd7d sweep: Add UI for setting Sweep API token in system keychain (#43502)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

bfb876c Improve extension CI concurrency (#43935)

Click to expand commit body
While this does work for PRs and such, it does not work with main...
Hence, moving the token a few chars to the right to fix this issue.

Release Notes:

- N/A

Finn Evers created

64b432e Update crash report template (#43934)

Click to expand commit body
- Updates tone to match bug template
- Removes the "current vs expected" behavior section
- It doesn't feel very useful. Users expect Zed to not crash, regardless
of what they are doing.

Release Notes:

- N/A

Joseph T. Lyons created

33ecb0a Clarify how outlining works in read_file_tool description (#43929)

Click to expand commit body
<img width="698" height="218" alt="Screenshot 2025-12-01 at 1 27 02 PM"
src="https://github.com/user-attachments/assets/a5d9e121-4e68-40d0-a346-4dd39e77233b"
/>

Closes #419

Release Notes:

- Revise tool call description for read file tool to explain outlining
behavior

Richard Feldman created

7b7ddbd Adjust edit prediction upsell copy and animation (#43931)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

ed81ef0 ci: Add extension workflow concurrency rules (#43930)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

88fffae Fix extension CI workflow disclaimer (#43926)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

61ae597 text: Downgrade some more offset panics to error logs (#43925)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

c8166ab Add more workflows for extension repositories (#43924)

Click to expand commit body
This PR adds workflows to be used for CD in extension reposiories in the
`zed-extensions` organization and updates some of the existing ones with
minor improvemts.

Release Notes:

- N/A

Finn Evers created

628c52a buffer: Keep the shorter language setting names for the common operation (#43915)

Click to expand commit body
cc
https://github.com/zed-industries/zed/pull/43888#issuecomment-3597265087

Release Notes:

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

Lukas Wirth created

4655366 git: Push process spawns to the background threads (#43918)

Click to expand commit body
Release Notes:

- Improved performance of multibuffers by spawning git blame processes
on the background threads

Lukas Wirth created

da3bab1 Unit eval GPT-5 and Gemini 3 Pro (#43916)

Click to expand commit body
Follow-up to #43907

Release Notes:

- N/A

Richard Feldman created

89841d0 Suppress a backtrace in extension error logging (#43917)

Click to expand commit body
One less redundant backtrace in the logs:

<img width="2032" height="1161" alt="backtrace"
src="https://github.com/user-attachments/assets/f03192b4-1b9c-4fa1-809d-9e826452f711"
/>

Release Notes:

- N/A

Kirill Bulatov created

7aa610e Run the unit evals cron in a matrix (#43907)

Click to expand commit body
For now, just using Sonnet 4.5 and Opus 4.5 - I'll make a separate PR
for non-Anthropic models, in case they introduce new failures.

Release Notes:

- N/A

Richard Feldman created

26ef93f Remove "Other [Staff Only]" GitHub Issue template (#43913)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

60312a3 Fix attach to process in Go debugger (#43898)

Click to expand commit body
Release Notes:

- Fixed the behavior of the attach to process feature for the Golang
debugger.

**Step to reprorduce:**
1. Build and run golang binary
2. In Zed open debugger
3. Go to Attach tab
4. Select the binary you just built from the list
**Actual result:** 
```
Tried to launch debugger with: {
  "request": "attach",
  "mode": "debug",
  "processId": 74702,
  "stopOnEntry": false,
  "cwd": "/path/to/the/current/working/directory"
}
error: Failed to attach: invalid debug configuration - unsupported 'mode' attribute "debug" 
```

**Expected result:** The debugger can attach to the process.


According to the [Delve
documentation](https://github.com/go-delve/delve/tree/master/Documentation/api/dap#launch-and-attach-configurations)
`attach` request supports `local` and `remote` values only

Mark Polonsky created

d9b3523 Update community champions list (#43911)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

1106f77 Improve icon component preview (#43906)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

8561943 rust: Nicer snippet completions (#43891)

Click to expand commit body
At some point, rust-analyzer started including the snippet expression
for some completions in the description field, but that can look like a
bug:

<img width="1570" height="578" alt="CleanShot 2025-11-27 at 20 39 49@2x"
src="https://github.com/user-attachments/assets/5a87c9fe-c0a8-472f-8d83-3bc9e9e00bbc"></img>


In these cases, we will now inline the tab stops as an ellipsis
character:

<img width="1544" height="428" alt="CleanShot 2025-12-01 at 10 01 18@2x"
src="https://github.com/user-attachments/assets/4c550891-4545-47cd-a295-a5eb07e78e92"></img>

You may also notice that we now syntax highlight the pattern closer to
what it looks like after accepted.

Alternatively, when the tab stop isn't just one position, it gets
highlighted as a selection since that's what it would do when accepted:

<img width="1558" height="314" alt="CleanShot 2025-12-01 at 10 04 37@2x"
src="https://github.com/user-attachments/assets/ce630ab2-da22-4072-a996-7b71ba21637d"
/>


Release Notes:

- rust: Display completion tab stops inline rather than as a raw LSP
snippet expression

Agus Zubiaga created

a996fa4 Docs README.md small fixes (#43904)

Click to expand commit body
Correct punctuation marks, style keywords in Markdown so it rendered
correctly (e.g. HTML tags, paths), capitalize abbreviations (HTML, YAML,
ASCII), fix typos for consistency (e.g. mdBook).

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Liffindra Angga Zaaldian and Danilo Leal created

1d6b5e7 REVIEWERS.conl: Add me to a couple more areas (#43903)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

5b0f936 ui: Refactor dashed divider with path builder (#43879)

Click to expand commit body
Replace the original div implementation with path builder.

| Before | After |
| - | - |
| <img width="1182" height="887" alt="before1"
src="https://github.com/user-attachments/assets/3d9fb3ce-35c8-46fb-925c-e24974dedc4b"
/><img width="1182" height="887" alt="before2"
src="https://github.com/user-attachments/assets/137fd952-7db0-49fe-b502-971b22ae3c2a"
/> | <img width="1182" height="887" alt="after1"
src="https://github.com/user-attachments/assets/8e2b6070-4bd4-4b1a-86cf-64516e165e5b"
/><img width="1182" height="887" alt="after2"
src="https://github.com/user-attachments/assets/cf67701c-2359-4ff1-9a7c-76fcf11f2781"
/> |

Release Notes:

- N/A

Floyd Wang created

b3478e8 agent_ui: JSON encode command path along with other elements in MCPcontext modal (#42693)

Click to expand commit body
Closes #42692

Release Notes:

- Fixed command path not being correctly encoded in context server
config modal

Adam Huganir created

de6855f gpui(windows): Fix apps not quitting if they overwhelm the foreground thread with tasks (#43896)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

776c853 Rename issue templates (#43893)

Click to expand commit body
Closes #43892.

Release Notes:

- N/A

Kunall Banerjee created

95f512a Add `zeta score` command (#43894)

Click to expand commit body
A small CLI helper to test the metric

Release Notes:

- N/A

Oleksiy Syvokon created

9af6e82 language: Only block the foreground on buffer reparsing when necessary (#43888)

Click to expand commit body
Gist is we only need to block the foreground thread for reparsing if
immediate language changes are useful to the user. That is usually only
the case when they edit the buffer

Release Notes:

- Improved performance of large project searches and project diffs

Co-authored by: David Kleingeld <david@zed.dev>

Lukas Wirth created

3969109 Add file icon for the Odin programming language (#43855)

Click to expand commit body
Release Notes:

- Added file icon for the [Odin programming
language](https://odin-lang.org/).

<img width="617" height="288" alt="CleanShot 2025-11-30 at 22 37 00"
src="https://github.com/user-attachments/assets/2389b90a-2fec-43bf-838f-1441f08b724a"
/>

José Olórtegui created

05c2028 Add file history view (#42441)

Click to expand commit body
Closes #16827

Release Notes:

- Added: File history view accessible via right-click context menu on
files in the editor or project panel. Shows commit history for the
selected file with author, timestamp, and commit message. Clicking a
commit opens a diff view filtered to show only changes for that specific
file.

<img width="1293" height="834" alt="Screenshot 2025-11-11 at 16 31 32"
src="https://github.com/user-attachments/assets/3780d21b-a719-40b3-955c-d928c45a47cc"
/>
<img width="1283" height="836" alt="Screenshot 2025-11-11 at 16 31 24"
src="https://github.com/user-attachments/assets/1dc4e56b-b225-4ffa-a2af-c5dcfb2efaa0"
/>

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>

ozzy and cameron created

747dc23 util: Move `PathMatcher` over to `RelPath` (#43881)

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

Release Notes:

- Fixed project search not working correctly on remotes where the host
and remote path styles differ

Lukas Wirth created