Commit log

6641f89 v0.175.x stable

Joseph T. Lyons created

87620a0 go: Do not fill out root_uri in initialization params to prevent stale notifications (cherry-pick #25644) (#25655)

Click to expand commit body
Cherry-picked go: Do not fill out root_uri in initialization params to
prevent stale notifications (#25644)

Closes #25381

Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Piotr Osiewicz created

6427956 Fix crash in BlockMap::sync when there are inlay hints w/ newlines ri… (#25598)

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

Release Notes:

- Fixed a crash that could happen when typing in the assistant panel
with edit predictions enabled.

---------

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

Max Brunsfeld and Cole Miller created

8cf7206 zed 0.175.5

Peter Tripp created

a7093b2 copilot: Add Claude 3.7 Sonnet to Copilot Chat (#25529)

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

Co-authored-by: Peter Tripp <peter@zed.dev>

zhaopeng and Peter Tripp created

869e25e Update Assistant context limits (#25087)

Click to expand commit body
- Update GitHub Copilot Chat context limits
- Add decimal separators for consistency

Peter Tripp created

40cad0d Give Zed AI users access to Claude 3.7 Sonnet (#25577)

Click to expand commit body
This PR updates the client-side checks to give Zed AI users access to
Claude 3.7 Sonnet.

Requires https://github.com/zed-industries/zed/pull/25576 to be
deployed.

Release Notes:

- Added support for Claude 3.7 Sonnet to Zed AI.

Marshall Bowers created

7210f32 lsp: Fix buffer snapshots sometimes going missing (cherry-pick #25548) (#25553)

Click to expand commit body
Cherry-picked lsp: Fix buffer snapshots sometimes going missing (#25548)

A call to register_buffer_with_language_servers could nuke existing
snapshots, even when the buffer was already registered with a server.

Essentially, had we had the else branch in place, this would have been
detected.

Closes #ISSUE

Release Notes:

- Fixed Rust analyzer renames sometimes failing. (Preview only)

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Piotr Osiewicz created

ee3980f Bring back our CI (cherry-pick #25545) (#25550)

Click to expand commit body
Cherry-picked Bring back our CI (#25545)

Closes #ISSUE

Fix `The package requires the Cargo feature called edition2024, but that
feature is not stabilized in this version of Cargo (1.81.0`

Release Notes:

- N/A

Co-authored-by: 张小白 <364772080@qq.com>

gcp-cherry-pick-bot[bot] and 张小白 created

6ec8966 Bump to 0.175.4 for @maxbrunsfeld

Zed Bot created

e9d070b Add Anthropic Claude 3.7 support (#25497)

Peter Tripp created

77794fb Notarize with a team key (#25479)

Click to expand commit body
Should make it less likely that notorization fails when nathan changes
his passwords.

(though probably no less likly to fail beacuse apple forces us to resign
new agreements on the regular)

Release Notes:

- N/A

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Conrad Irwin and Peter Tripp created

3bcb65f lsp: Check for existing snapshots before sending off a didOpen notification (cherry-pick #25409) (#25411)

Click to expand commit body
Cherry-picked lsp: Check for existing snapshots before sending off a
didOpen notification (#25409)

Closes #ISSUE

Release Notes:

- Fixed Zed sending out didOpen notification to a language server when
opening documents.

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Piotr Osiewicz created

aa767aa Bump to 0.175.3 for @osiewicz

Zed Bot created

1863f0b lsp: Send non-null workspaceFolders in initialize (cherry-pick #25337) (#25344)

Click to expand commit body
Cherry-picked lsp: Send non-null workspaceFolders in initialize (#25337)

This is a ~workaround for next-ls not handling null workspace folders in
initialize request
Related to #25264
/cc @timfjord
Closes #ISSUE

Release Notes:

- Changed how workspace folders are shared with language servers, fixing
a startup issue with `next-ls` in the process.

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

gcp-cherry-pick-bot[bot] and Piotr Osiewicz created

5e8474e Bump to 0.175.2 for @osiewicz

Zed Bot created

52b9d0e lsp: Fill root_uri property on Initialize again (cherry-pick #25264) (#25290)

Click to expand commit body
Cherry-picked lsp: Fill root_uri property on Initialize again (#25264)

Closes #ISSUE

Release Notes:

- Fix some language servers (elixir-ls, tailwindcss, phpactor) failing
to start up due to an unfilled root_uri property in the InitializeParams

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

gcp-cherry-pick-bot[bot] , Piotr Osiewicz , and Anthony Eid created

314ca3c zed 0.175.1

Cole Miller created

6538a9e Revert "Rework hunk controls (#24814)" (cherry-pick #25174) (#25176)

Click to expand commit body
Cherry-picked Revert "Rework hunk controls (#24814)" (#25174)

This reverts commit a6a8d79d8612425dff6ad02dcc14ef99cfdf914e.

Closes #ISSUE

Release Notes:

- Revert incomplete change to diff hunk controls

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

gcp-cherry-pick-bot[bot] and Cole Miller created

9b3a6b3 Cherry-pick file finder panic fix to v0.175.x (#25166)

Click to expand commit body
Release Notes:

- Fixed a panic in the file finder

Cole Miller created

cc6b664 v0.175.x preview

Joseph T. Lyons created

fb19db0 editor: Do not highlight selected text + Clear highlight preemptively when new selection is detected (#25149)

Click to expand commit body
When selecting text, it highlights all matching occurences along with
selected text itself. This causes highlight overlap, which looks bit
odd. This PR fixes it.

Bonus:

Context: We have an edge case (which we already cover) where we don’t
want to clear `SelectedTextHighlight` every time the selection changes.
This happens when you are dragging the selection across some word, if
you clear it directly on selection change, due to debounce wait, the
highlight take some time to appear, which causes flickering for the
user. We solve this by not clearing it directly but only clearing it
when a new selection is found. This avoids the flicker.

However, we also need to clear the selection even before the debounce
wait if we detect early on that the selection is different from previous
ones. Otherwise, the user will have to wait until the debounce time to
see it cleared on the screen.

The code for this is a little repetitive because we check the buffer
state both before and after the debounce. But this is necessary.

---
Before:

Notice overlapping corners and selected text is bit darker in this case.

![image](https://github.com/user-attachments/assets/ec371079-b513-4216-9f6e-73d1aff99250)

After:

![image](https://github.com/user-attachments/assets/0fb9cd58-5d4b-49e8-91cb-78999c3a54a8)

Release Notes:

- N/A

smit created

094430e Properly normalize completion labels with multi-byte characters (#25150)

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

Release Notes:

- Fixed panics on completion with multi-byte characters input

Kirill Bulatov created

d4414ef Fix link to the PHP extension (#25144)

Click to expand commit body
Fix broken links to [PHP
extensions](https://github.com/zed-extensions/php) from [the
documentation](https://zed.dev/docs/languages/php).

Release Notes:

- N/A

USAMI Kenta created

2274e88 Highlight regex in the project search input (#25147)

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

Project search also has regex search option, highlight it the same way
too.

Release Notes:

- N/A

Kirill Bulatov created

4841786 terminal: Handle shift+click selection (#25143)

Click to expand commit body
Closes #16951

Handle the case where you click on the terminal while pressing Shift. 

Instead of setting a new selection head, we simply update the selection
to that point. This allows you to repeatedly extend the selection to new
points by pressing Shift while preserving the original selection head.

Preview:

Selection works in direct terminal, but doesn't on Vim like program,
which is expected.


https://github.com/user-attachments/assets/e46987d8-a9a3-495d-8dd9-98d461317a8d


Release Notes:

- Added ability to extend selection with Shift + click in the terminal.

smit created

1fa105e docs: Fix selection highlight default value (#25134)

Click to expand commit body
Changed default debounce value in docs to match default settings.

Release Notes:

- N/A

smit created

043c4ed editor: Fix highlight selection panic (#25141)

Click to expand commit body
Use the latest selection state for highlighting instead of the state
before debounce.

Release Notes:

- N/A

smit created

e57b9e5 Ignore selections persistence for multi buffer editors (#25140)

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

Release Notes:

- N/A

Kirill Bulatov created

13da468 Fix for #25039 (#25138)

Click to expand commit body
Release Notes:

- vim: Fix crash in `ci{`

Conrad Irwin created

1678e3c Fix clicking on file links in editor (#25117)

Click to expand commit body
Closes #18641
Contributes: #13194

Release Notes:

- Open LSP documentation file links in Zed not the system opener
- Render completion documentation markdown consistently with
documentation markdown

Conrad Irwin created

ebbc6a9 Highlight `super` and `this` as keywords in JS/TS/TSX (#25135)

Click to expand commit body
Closes #24951

We were highlighting both as `@variable.special` however, they are
_techinically_ keywords and other editors (VSCode/WebStorm) seem to
highlight them as keywords as well.

Release Notes:

- N/A

Ben Kunkle created

bb600ac Set base highlight for identifiers in go to variable highlight color (#25128)

Click to expand commit body
Closes #24947 

Release Notes:

- N/A

Ben Kunkle created

372aaec language_model_selector: Authenticate all providers up front (#25123)

Click to expand commit body
This PR fixes an issue where configured language model providers would
not show up unless the configuration view was opened.

The problem was that we were filtering unauthenticated language model
providers out of the language model selector, but would only
authenticate the active provider when the selector loaded.
Authenticating the rest of the providers was deferred until the
configuration view was opened for the first time.

Closes https://github.com/zed-industries/zed/issues/21821.

Release Notes:

- Fixed an issue where configured languages models were not showing up
in the language model selector until the configuration view was opened
for the first time.

Marshall Bowers created

7a6b652 language_model: Return `AuthenticateError`s from `LanguageModelProvider::authenticate` (#25126)

Click to expand commit body
This PR updates the `LanguageModelProvider::authenticate` method to
return an `AuthenticateError` instead of an `anyhow::Error`.

This allows us to model the "credentials not found" state explicitly as
`AuthenticateError::CredentialsNotFound`, which enables the caller to
check for this state and act accordingly.

Planning to use this in #25123 to silence errors about missing
credentials when authenticating providers in the background.

Release Notes:

- N/A

Marshall Bowers created

2627a5f assistant: Improve the language model selector (#25125)

Click to expand commit body
This PR includes change such as:

- Ensures the popover width is fixed/not dancing around
- Ensures the popover is not obscuring the trigger in the buffer and
terminal inline assistant scenarios
- Removes ellipsis from the trigger button label
- Ensures the scrollbar doesn't hide the check icon

| Terminal | Prompt Editor | Buffer |
|--------|--------|--------|
| ![Screenshot 2025-02-18 at 8 43
46 PM](https://github.com/user-attachments/assets/9cdfbaf1-f27e-4f48-877e-9cf61767ecee)
| ![Screenshot 2025-02-18 at 8 43
49 PM](https://github.com/user-attachments/assets/7abf9be2-bd2a-43d7-9a5d-d665e7e9fda3)
| ![Screenshot 2025-02-18 at 8 43
52 PM](https://github.com/user-attachments/assets/017bbdb3-185a-4bf6-9005-018ecafef9dd)
|

Release Notes:

- N/A

Danilo Leal created

a6006af language_model_selector: Fix variable name (#25121)

Click to expand commit body
This PR fixes an inaccurate variable name that I noticed in the language
model selector.

Release Notes:

- N/A

Marshall Bowers created

92f128e Do not fail hard on selection persistence if the editor is removed (#25120)

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

Follows practices from editors' scroll position persisting:
https://github.com/zed-industries/zed/blob/5a05b7461e476d7ddc59418868ebdab6687b8d2f/crates/editor/src/persistence.rs#L200
and do not fail hard if the editor with the ID given does not exist.
Also add the problematic IDs into the error context to see them in the
error logs.

Release Notes:

- N/A

Kirill Bulatov created

98ea659 assistant2: Fix thread history only working in one Zed window (#25119)

Click to expand commit body
This PR fixes an issue where the thread history would only work in one
Zed window at a time.

The backing LMDB database can only be opened once per Zed instance.
However, the `ThreadStore` has one instance per Zed window.

To fix this, we need to create the `heed` environment once and store it
as a global, and then reference the same environment across all of the
`ThreadStore`s.

Release Notes:

- N/A

Marshall Bowers created

d0816ef edit predictions: Fix fold not expanding after jump (#25116)

Click to expand commit body
Closes #24938.

Release Notes:

- Edit predictions: Fix fold not expanding after jump

João Marcos created

6885b28 assistant2: Deploy inline assistant in PromptEditor (#25094)

Click to expand commit body
Release Notes:

- N/A

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

Agus Zubiaga and Danilo Leal created

48f87a8 Don't open file finder menu on command (#25097)

Click to expand commit body
Closes #24740

Release Notes:

- Don't open the split menu in the file finder when command is pressed

Conrad Irwin created

bff1548 assistant2: Add file icons for mentioned creases (#25111)

Click to expand commit body
This PR makes the mentioned file creases/buttons use `FileIcons`.

<img width="700" alt="Screenshot 2025-01-21 at 11 20 49 AM"
src="https://github.com/user-attachments/assets/876da534-c11a-4d13-af82-a5948863f954"
/>

Release Notes:

- N/A

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Danilo Leal and Anthony Eid created

60a4435 Terminal mouse improvements (#25104)

Click to expand commit body
Closes #24911
Closes #17983
Closes #7073

Release Notes:

- Terminal: Fix cmd-click on links/files when terminal is not focused
- Terminal: Remove hover treatment after Zed hides/re-opens

---------

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

Conrad Irwin and Mikayla Maki created

b1872e3 `cx.background_executor().spawn(...)` -> `cx.background_spawn(...)` (#25103)

Click to expand commit body
Done automatically with

> ast-grep -p '$A.background_executor().spawn($B)' -r
'$A.background_spawn($B)' --update-all --globs "\!crates/gpui"

Followed by:

* `cargo fmt`
* Unexpected need to remove some trailing whitespace.
* Manually adding imports of `gpui::{AppContext as _}` which provides
`background_spawn`
* Added `AppContext as _` to existing use of `AppContext`

Release Notes:

- N/A

Michael Sloan created

f606b06 workspace: Prevent user from undoing persistent session deserialization (#25106)

Click to expand commit body
Closes #21846

Release Notes:

- Fixed a bug that made it possible to undo changes in dirty
deserialized buffer (with `restore_unsaved_buffers: true`)

Piotr Osiewicz created

e5d8bd2 Issue response: pull team members from staff team (#25102)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

529c652 Revert gutter stripes as indicator of hunk staged status (#25089)

Click to expand commit body
We've decided to go in a different direction on indicating the staged
status of hunks, so go back for now to a world where we don't display
staged and unstaged hunks differently outside the (still gated) project
diff editor.

cc @iamnbutler 

This reverts commit 8c202b3b09083e0b5430fce3631734de6112bbc0.

Release Notes:

- N/A

Cole Miller created

737b177 Switch to columnar selection by pressing `alt-shift` while mouse is down (#25096)

Click to expand commit body
We begin a columnar selection when we drag the mouse while holding
`alt-shift`. This PR makes it possible to start the selection and then
turn it into columnar by pressing `alt-shift`.

Fixes #5372 

Release Notes:

- Support switching to columnar selection by pressing `alt-shift` while
mouse is down

Agus Zubiaga created

c10ac31 theme: Don't log errors for missing themes until extensions have loaded (#25098)

Click to expand commit body
This PR makes it so we don't log errors for missing themes or icon
themes until after the extensions have been loaded.

Currently, if you are using a theme that is defined in an extension it
is common to see one or more "theme not found" errors in the logs. This
is the result of us having to initialize the theme before the extensions
have actually finished loading.

This means that a theme that _may_ exist once extensions load is
considered non-existent before they have loaded.

To that end, we now wait until the extensions have loaded before we
start logging errors if we can't find the theme or icon theme.

Closes https://github.com/zed-industries/zed/issues/24539.

Release Notes:

- Reduced the number of "theme not found" and "icon theme not found"
errors in the logs for themes provided by extensions.

Marshall Bowers created