Commit log

1dbca5d Mostly fix hover tooltips not respecting occlusion (#24319)

Click to expand commit body
Regression in #22644

Unfortunately not a full fix, In the case where a tooltip gets displayed
and then gets occluded after display, it will stick around until the
mouse exits the hover bounds.

Release Notes:

- N/A

Co-authored-by: Ben <ben@zed.dev>

Michael Sloan and Ben created

e1919b4 collab: Add the ability to filter extensions by what they provide (#24315)

Click to expand commit body
This PR adds the ability to filter extension results from the extension
API by the features that they provide.

For instance, to filter down just to extensions that provide icon
themes:

```
https://api.zed.dev/extensions?provides=icon-themes
```

Release Notes:

- N/A

Marshall Bowers created

c0dd7e8 open_ai: Include o3-mini in `Model::from_id` (#24261)

Patrick Detlefsen created

b7244af extensions_ui: Show extension features on cards (#24310)

Click to expand commit body
This PR updates the extensions list to display the features that an
extension provides.

<img width="1309" alt="Screenshot 2025-02-05 at 4 12 07 PM"
src="https://github.com/user-attachments/assets/ff0c61cd-b7fe-49c3-9fc8-a0ab6b0511a6"
/>

Note that this will only show up for extensions that have this data
(which will be extensions published/updated on or after now).

Here's the view with some mocked data:

<img width="1309" alt="Screenshot 2025-02-05 at 4 01 56 PM"
src="https://github.com/user-attachments/assets/d6d6a818-d6ac-4162-9309-95472b17833a"
/>

Release Notes:

- N/A

Marshall Bowers created

ca01a8b Fix two issues with diff highlights (#24309)

Click to expand commit body
* fix syntax highlighting of deleted text when buffer language changes
* do not highlight entire untracked files as created, except in the
project diff view

Release Notes:

- N/A

Co-authored-by: ConradIrwin <conrad.irwin@gmail.com>
Co-authored-by: cole-miller <m@cole-miller.net>

Max Brunsfeld , ConradIrwin , and cole-miller created

9114ca9 Revert "Revert "Upgrade to rustls v0.23.22" (#24197)" (#24210)

Click to expand commit body
try to reland rustls without breaking linux arm builders

See: 
- #24197
- #24138

Release Notes:

- N/A

Conrad Irwin created

e506efa Update Rust crate async-trait to v0.1.86 (#24305)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [async-trait](https://redirect.github.com/dtolnay/async-trait) |
workspace.dependencies | patch | `0.1.85` -> `0.1.86` |

---

### Release Notes

<details>
<summary>dtolnay/async-trait (async-trait)</summary>

###
[`v0.1.86`](https://redirect.github.com/dtolnay/async-trait/releases/tag/0.1.86)

[Compare
Source](https://redirect.github.com/dtolnay/async-trait/compare/0.1.85...0.1.86)

-   Documentation improvements

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

f0239c0 Update actions/setup-node digest to 1d0ff46 (#24304)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | digest | `39370e3` -> `1d0ff46` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

b710945 Fix replication of head text when head matches index (#24306)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: cole-miller <m@cole-miller.net>

Max Brunsfeld and cole-miller created

59738f8 collab: Store features provided by extensions in the database (#24303)

Click to expand commit body
This PR adds new columns to the `extension_versions` table to record
which features an extension provides.

These `provides_*` columns are populated from the `provides` field on
the extension manifest.

We'll be able to leverage this data in the future for showing what an
extension provides in the extensions UI, as well as allowing to filter
by extensions that provide a certain feature.

Release Notes:

- N/A

Marshall Bowers created

2f5abe2 panel: Remove unneeded `lib.name` field in `Cargo.toml` (#24301)

Click to expand commit body
This PR removes the `name` field from under `lib` in the `Cargo.toml`
file for the `panel` crate, as it isn't necessary.

Also removed it from `script/new-crate`.

Release Notes:

- N/A

Marshall Bowers created

44a7614 Fix panic when editing diff (#24298)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

9369b72 Delete old project diff code (#24299)

Click to expand commit body
Closes #ISSUE

Co-Authored-By: Mikayla <mikayla@zed.dev>

Release Notes:

- N/A

Conrad Irwin created

971a91c Commit All Mode (#24293)

Click to expand commit body
- **Base diffs on uncommitted changes**
- **Show added files in project diff view**
- **Fix git panel optimism**
- **boop**
- **Co-Authored-By: Cole <cole@zed.dev>**
- **Fix commit (all) buttons state**
- **WIP**
- **WIP: commit all mode**

Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

6d81ad1 git_ui: Start unifying panel style with other panels (#24296)

Click to expand commit body
- Adds the `panel` crate for defining UI shared between panels, like
common button and header designs, etc
- Starts to update the git ui to be more consistent with other panels

Release Notes:

- N/A

Nate Butler created

70b1e0e Fix expand buttons adjacent to folded hunks (#24297)

Click to expand commit body
Release Notes:

- Fix expand buttons adjacent to folded hunks

Conrad Irwin created

ffe503d Fix spurious addition hunks in files with no git repo (#24288)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

5a25751 extension_cli: Include the list of what an extension provides in the generated manifest (#24295)

Click to expand commit body
This PR updates the Zed extension CLI with support for populating the
`provides` field in the generated extension manifest.

This field will contain the set of features that the extension provides.

For example:

```
"provides": ["themes", "icon-themes"]
```

Release Notes:

- N/A

Marshall Bowers created

aaf432f Revert recent anti-aliasing improvements (#24289)

Click to expand commit body
This reverts commit 31fa4144226fcbd140bb4f26d80001f0abd6facd.
This reverts commit b9e0aae49fad996ddb0ce55225873e5c1d5abecd.

`lyon` commit revert:

![image](https://github.com/user-attachments/assets/0243f61c-0713-416d-b8db-47372e04abaa)

`MSAA` commit revert:

![image](https://github.com/user-attachments/assets/b1a4a9fe-0192-47ef-be6f-52e03c025724)

cc @huacnlee , @\as-cii had decided to revert this PR due to a selection
right corner rendering bug.
Not sure what to propose for a fix from my side

Release Notes:

- N/A

Kirill Bulatov created

e1a6d9a edit prediction: Improve UX around `disabled_globs` and `show_inline_completions` (#24207)

Click to expand commit body
Release Notes:

- N/A

---------

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

Bennet Bo Fenner , Danilo , and Danilo Leal created

37db1dc Revise the `MessageNotification` component (#24287)

Click to expand commit body
This PR makes adding icons to the primary and secondary actions, in the
`MessageNotification` component, optional. Also took the opportunity to
remove a probably unnecessary "third action" from it; streamlining the
component API (we had added that for a design that we're not using
anymore). I did keep the "more info" possibility, which may be useful in
the future, though.

Release Notes:

- N/A

Danilo Leal created

17a7495 edit prediction: Fix license detection error logging + check for different spellings (#24281)

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

This PR ensures we're checking if there's a license-type file in both US
& UK English spelling, and fixes the error logging again, treating for
when the worktree contains just a single file or multiple.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

6b29616 Fix the worktree's repository_for_path (#24279)

Click to expand commit body
Go back to a less optimized implementation for now since the custom
cursor target seems to have some bugs.

Release Notes:

- Fixed missing git blame and status output in some projects with
multiple git repositories

Cole Miller created

868e3f7 Rework shared commit editors (#24274)

Click to expand commit body
Rework of https://github.com/zed-industries/zed/pull/24130
Uses
https://github.com/d1y/git_firefly/tree/1033c0b57ec88a002cb68efc64c8d9bf5c212e30
`COMMIT_EDITMSG` language-related definitions (thanks @d1y )

Instead of using real `.git/COMMIT_EDITMSG` file, create a buffer
without FS representation, stored in the `Repository` and shared the
regular way via the `BufferStore`.
Adds a knowledge of what `Git Commit` language is, and uses it in the
buffers which are rendered in the git panel.


Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad@zed.dev>
Co-authored-by: d1y <chenhonzhou@gmail.com>
Co-authored-by: Smit <smit@zed.dev>

Kirill Bulatov , Conrad Irwin , d1y , and Smit created

da4bad3 edit prediction: Don't log an error if license file isn't found (#24278)

Click to expand commit body
Logging an error in this case isn't super necessary.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

630d0ad edit predictions: Onboarding funnel telemetry (#24237)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

0a89d1a languages: Sort dependencies in `Cargo.toml` (#24277)

Click to expand commit body
This PR sorts the dependency lists in the `Cargo.toml` for the
`languages` crate.

Release Notes:

- N/A

Marshall Bowers created

992125b Revert "copilot: Correct o3-mini context length" (#24275)

Click to expand commit body
Reverts zed-industries/zed#24152
See comment: https://github.com/zed-industries/zed/pull/24152#issuecomment-2636808170
Manually confirmed >20k generates error.

Peter Tripp created

74c4dbd windows: Fix tests on Windows (#22616)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla.c.maki@gmail.com>

张小白 and Mikayla created

c252b5d Accept edit predictions with `alt-tab` in addition to `tab` (#24272)

Click to expand commit body
When you have an edit prediction available, you can now also accept it
with `alt-tab` (or `alt-enter` on Linux) even if you don't have an LSP
completions menu open. This is meant to lower the mental load when going
from one mode to another.

Release Notes:

- N/A

Agus Zubiaga created

f5e8048 edit prediction: Allow enabling OSS data collection with no project open (#24265)

Click to expand commit body
This was an leftover from when we were persisting a per-project setting.

Release Notes:

- N/A

Agus Zubiaga created

88b5f06 lsp: Add support for default rename behavior in prepareRename request (#24246)

Click to expand commit body
Fixes #24184

Release Notes:

- Fixed renaming not working with some language servers (e.g. hls)

Piotr Osiewicz created

fef567b Remove extra space in `zed --version` string for non-stable (#24254)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

5a955e2 Fix panic when deleting an empty line after a deleted hunk (#24255)

Click to expand commit body
Release Notes:

- Fix a panic when deleting text after a deletion hunk

Cole Miller created

0963401 Git improvements (#24238)

Click to expand commit body
- **Base diffs on uncommitted changes**
- **Show added files in project diff view**
- **Fix git panel optimism**

Release Notes:

- Git: update diffs to be relative to HEAD instead of the index; to pave
the way for showing which hunks are staged

---------

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

Conrad Irwin and Cole created

22b7042 Avoid suggesting 'find' key for linux shortcuts (#24252)

Click to expand commit body
this key isn't present in most keyboards, and so, other key combinations
should be preferred over this one

Release Notes:

- N/A

João Marcos created

7c1132e Refactor change sets to store index text in only one place (#24245)

Click to expand commit body
This is a pure refactor that somewhat reduces the amount of code needed
when handling diff base changes. There's also a small performance gain
from reparsing the staged text and computing a new diff in parallel when
we weren't previously.

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>

Cole Miller and Max created

f366b97 collab: Use `billing_customers.has_overdue_invoices` to gate subscription access (#24240)

Click to expand commit body
This PR updates the check that prevents subscribing with overdue
subscriptions to use the `billing_customers.has_overdue_invoices` field
instead.

This will allow us to set the value of `has_overdue_invoices` to `false`
when the invoices have been paid.

Release Notes:

- N/A

Marshall Bowers created

aa3da35 collab: Add `has_overdue_invoices` to `billing_customers` (#24239)

Click to expand commit body
This PR adds a new `has_overdue_invoices` field to the
`billing_customers` table.

This will be used to statefully track whether a customer has overdue
invoices, and also to reset it when the invoices are paid.

We will set this field to `true` when a subscription is canceled with
the reason `payment_failed`.

Release Notes:

- N/A

Marshall Bowers created

b13498a edit prediction: Fix jump cursor position when scrolled (#24230)

Click to expand commit body
We were looking up line layouts without subtracting start row so we
would get the wrong one when scrolled

Release Notes:

- N/A

Agus Zubiaga created

b02baea zeta: Use DTOs from `zed_llm_client` crate (#24229)

Click to expand commit body
This PR updates the `zeta` crate to use the predictive edit DTOs defined
in the `zed_llm_client` crate.

This way we aren't duplicating their definitions (and risk them going
out of sync).

Release Notes:

- N/A

Marshall Bowers created

d6a2a0b zeta: Rename `data_collection_permission` back to `can_collect_data` (#24225)

Click to expand commit body
This PR renames some bindings from `data_collection_permission` back to
`can_collect_data`, as the latter name is clearer on account of being a
modal verb.

Release Notes:

- N/A

Marshall Bowers created

58db66e edit prediction: Do not render jump cursor until line layout is ready (#24226)

Click to expand commit body
This is pretty rare but I found a case where `line_layouts` didn't have
the requested line yet, so we now skip rendering the cursor for that
period and avoid panicking.

Release Notes:

- N/A

Agus Zubiaga created

6f0f9d6 Allow running cancel-language-server-work action w/o editor focused (#24215)

Click to expand commit body
Release Notes:

- Added the ability to run the `cancel language server work` action
while a panel (like the terminal panel) is focused

Max Brunsfeld created

5704b50 git: Compute and synchronize diffs from HEAD (#23626)

Click to expand commit body
This PR builds on #21258 to make it possible to use HEAD as a diff base.
The buffer store is extended to support holding multiple change sets,
and collab gains support for synchronizing the committed text of files
when any collaborator requires it.

Not implemented in this PR:

- Exposing the diff from HEAD to the user
- Decorating the diff from HEAD with information about which hunks are
staged

`test_random_multibuffer` now fails first at `SEED=13277`, similar to
the previous high-water mark, but with various bugs in the multibuffer
logic now shaken out.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller , Max , Ben , Max Brunsfeld , Conrad Irwin , and Conrad created

871f98b Bump openssl to fix vulnerability (#24223)

Click to expand commit body
See: https://github.com/advisories/GHSA-rpmj-rpgj-qmpm

Release Notes:

- N/A

Cole Miller created

69bb0a0 Fix slow focus transitions to the terminal panel (#24172)

Click to expand commit body
This long standing bug was caused by `Pane`'s focus_in handler bouncing
the focus to another handle.
Because focus resolution happens _after_ a frame has been rendered, the
only way to deal with this case is to schedule another frame to be
redrawn. However, we where suppressing all window refreshes that occur
during a focus transfer, causing this focus change to be completely
missed. However, changing this behavior can lead to infinite notify
loops, due to drawing a frame causing another to be rendered.

This PR fixes this problem narrowly by adding an `on_next_frame()`
callback in the pane's focus handle, so that the focus changes take
effect almost immediately. But only for this case, where we know it
doesn't cause infinite notify loops.

TODO:
- [x] Fix the infinite notify loop bug or determine a third way to fix
this lag

Release Notes:

- Fixed a bug where shifting focus to the terminal panel could be slow

Mikayla Maki created

cfe0932 Implement character index for point (#23989)

Click to expand commit body
Fixes #22939
Fixes #23970
Supersedes https://github.com/zed-industries/zed/pull/23469

Release Notes:

- Fixed a bug where Zed could crash with certain input sources on macOS

---------

Co-authored-by: Louis Brunner <louis.brunner.fr@gmail.com>
Co-authored-by: ben <ben@zed.dev>

Mikayla Maki , Louis Brunner , and ben created

7da6099 Enable CSS, JSON, Python, and Tailwind to lookup LSP installed in PATH (#22037)

Click to expand commit body
Co-authored-by: Peter Tripp <peter@zed.dev>

Henry Chu and Peter Tripp created

ee422de Bump Zed to v0.174 (#24221)

Peter Tripp created