Commit log

977e051 v0.176.x preview

Joseph T. Lyons created

d82a132 language_model: Use `LanguageModelToolUseId` instead of a `String` (#25666)

Click to expand commit body
This PR updates the `LanguageModelToolResult` type to use a
`LanguageModelToolUseId` for the tool use ID instead of a `String`.

Release Notes:

- N/A

Marshall Bowers created

f11357d context_server: Abstract server transport (#24528)

Click to expand commit body
This PR abstracts the communication layer for context servers, laying
the groundwork for supporting multiple transport mechanisms and taking
one step towards enabling remote servers.

Key changes centre around creating a new `Transport` trait with methods
for sending and receiving messages. I've implemented this trait for the
existing stdio-based communication, which is now encapsulated in a
`StdioTransport` struct. The `Client` struct has been refactored to use
this new `Transport` trait instead of directly managing stdin and
stdout.

The next steps will involve implementing an SSE + HTTP transport and
defining alternative context server settings for remote servers.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Federico Dionisi and Marshall Bowers created

6d17546 Fix panic in file finder path elision (#25658)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

60a96ab image_viewer: Hide breadcrumb (#25654)

Click to expand commit body
Closes #25279 


![image](https://github.com/user-attachments/assets/15a0b092-449b-493c-8eea-10a3d9d1a912)

Release Notes:

- Added the ability to hide breadcrumb showing image path

Caleb! created

1f80f58 git_ui: Commit modal editor cleanup (#25645)

Click to expand commit body
- Fixes cursor style in the commit modal
- Use commit button instead of kb hint
- Update layout to scale better for large commit messages

No message:

![CleanShot 2025-02-26 at 10 33
22@2x](https://github.com/user-attachments/assets/fb6fc4ff-1e1d-46ae-aee0-7e21d73aaf70)

Long Message:
![CleanShot 2025-02-26 at 10 33
55@2x](https://github.com/user-attachments/assets/71a7773c-386b-47d5-abed-9a301360c35b)

![CleanShot 2025-02-26 at 10 34
06@2x](https://github.com/user-attachments/assets/dc41f0b9-2277-4034-9af2-d77fec0488d8)

Release Notes:

- N/A

Nate Butler created

bab6501 edit prediction: Refine the stealth mode (#25599)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Danilo Leal and Agus Zubiaga created

c0b6d86 go: Do not fill out root_uri in initialization params to prevent stale notifications (#25644)

Click to expand commit body
Closes #25381

Release Notes:

- N/A

Piotr Osiewicz created

39728cf Add docs on keybindings to trigger runnables (#25582)

Click to expand commit body
Addresses
https://github.com/zed-industries/zed/discussions/22810#discussioncomment-12239661

Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Viktor Zahorodnii and Kirill Bulatov created

ebccef1 Fix staging and unstaging of added and deleted files (#25631)

Click to expand commit body
* When staging in a buffer whose file has been deleted, do not save the
file
* Fix logic for writing to index when file is deleted

Release Notes:

- N/A

Max Brunsfeld created

33754f8 Fix search skipping in vim mode (#25580)

Click to expand commit body
Closes #8049

Co-authored-by: nilehmann <nico.lehmannm@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Release Notes:

- vim: Fix skipping of search results occasionally

Co-authored-by: nilehmann <nico.lehmannm@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Conrad Irwin , nilehmann , and Anthony Eid created

dd1ff9b Git: Fix prompts with a very large number of filenames (#25629)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

7f214ed git: Fix cmd-enter (#25628)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

08539b3 Fix some syncing issues with git statuses (#25535)

Click to expand commit body
Like the real app, this one infinite loops if you have a diff in an
UnsharedFile.

Release Notes:

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

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Conrad Irwin and Max Brunsfeld created

88baf17 docs: Add apostrophe (#25624)

Click to expand commit body
Release Notes:

- N/A

5brian created

2f34af7 docs: Fix SSH projects example settings (#25622)

Peter Tripp created

2978be9 Don't deploy git panel when opening the diff view (#25611)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

30568e6 Add overflow menu to the git panel (#25618)

Click to expand commit body
Before: 

![CleanShot 2025-02-25 at 20 11
48@2x](https://github.com/user-attachments/assets/2400270e-64fe-4711-a2aa-31588e73367a)

After:

![CleanShot 2025-02-25 at 20 13
18@2x](https://github.com/user-attachments/assets/70c88d2f-5e16-4f2d-9cc5-666b2f9b8de0)

Release Notes:

- N/A

Nate Butler created

a5698a4 Use carriage return instead of newline symbol for single line text (#25616)

Click to expand commit body
I think this is clearer in the cases where it does appear. Use of NL
symbol was added in #10231

Release Notes:

- N/A

Michael Sloan created

57659b5 assistant2: Fix "Open Prompt Library" button (#25612)

Click to expand commit body
This PR fixes the "Open Prompt Library" button after the GPUI 3 changes.

Release Notes:

- N/A

Marshall Bowers created

3db18ff lsp: Add support for dynamic registration of rename capability (#25610)

Click to expand commit body
While looking at Biome LSP implementation I've noticed that they
register their rename capability dynamically, which we don't handle.

Release Notes:

- N/A

Piotr Osiewicz created

198f56c Fix gutter highlights not matching diff hunks near excerpt boundaries (#25600)

Click to expand commit body
Release Notes:

- Fixed gutter highlights not matching diff hunks in multibuffers in
some cases

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Cole Miller and Max Brunsfeld created

d68d858 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

7f16629 collab: Adjust maximum spending limit check (#25596)

Click to expand commit body
This is a follow-up to https://github.com/zed-industries/zed/pull/25573.

We were still using the spend for a particular model when determining if
the user was over their maximum monthly spend instead of looking at the
usage across all models.

Release Notes:

- N/A

Marshall Bowers created

0066071 lsp: Query first capable language server for requests using primary LS (#25591)

Click to expand commit body
Release Notes:

- Improved Zed's handling of the following requests when the first
language server in language server settings for a given language is not
capable of handling them:
  - Perform Rename
  - Prepare Rename
  - Document Highlights
  - Find all references
  - Go to implementation
  - Go to definition
  - Go to declaration
  - Go to type definition

Piotr Osiewicz created

e5b6194 zeta: Fix update required notification not showing (#25588)

Click to expand commit body
This PR fixes an issue introduced in #25530 that broke the notifications
that inform the user that a Zed update is required to continue using
edit prediction.

The issue is that the `Workspace` stored on the `Editor` is set _after_
the point we initialize Zeta, so capturing the `Workspace` at
construction time leads to it being `None`.

@ConradIrwin suggested that we could obtain the `Workspace` from the
`Window`, which does indeed do the trick.

I tested it both with and without this change by mocking the error
response, like so:

```rs
let response: Result<PredictEditsResponse, anyhow::Error> =
    Err(anyhow!(ZedUpdateRequiredError {
        minimum_version: SemanticVersion::new(0, 1, 0),
    }));
```

Release Notes:

- N/A

Marshall Bowers created

23f61d5 Add myself (Ben Kunkle) and Smit to the mailmap (#25590)

Click to expand commit body
Co-authored-by: Smit <smit@zed.dev>

Release Notes:

- N/A

Co-authored-by: Smit <smit@ze3d.dev>

Ben Kunkle and Smit created

0559e1f editor: Fix panic when `editor::SelectLargerSyntaxNode` overflows excerpt in multi buffer (#25585)

Click to expand commit body
Closes #25513

This PR handles case when `editor::SelectLargerSyntaxNode` expands
across excerpt boundaries and eventually crashes in multi buffer.

Release Notes:

- Fixed panic caused when `editor::SelectLargerSyntaxNode` is called
repetedly in multi buffer.

Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>

smit and Ben Kunkle created

014d9df assistant_context_editor: Try to fix crash when trying to view patch (#25572)

Click to expand commit body
Closes #24571

Attempts to fix crash described in #24571 based on the panic trace
provided by the user. In short, the panic seemed to be caused by
attempting to read an `Entity<ContextEditor>` while it was being
updated. My assumption is that at some point in
`workspace.add_item_to_current_pane` the `ContextEditor` is read.
Therefore, I moved the workspace update outside of the ContextEditor
update, and replaced another `update` call with a `read` call to clean
it up and just in case that was actually the issue.

Release Notes:

- N/A

Ben Kunkle created

a0aea6e bedrock: Add Claude 3.7 Sonnet (#25583)

Click to expand commit body
Release Notes:

- N/A

Shardul Vaidya created

278620d Ensure emacs undo (ctrl-_) works by default in terminal on macOS (#25578)

Peter Tripp created

75dbe18 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

3d7ba7c collab: Give Zed AI users access to Claude 3.7 Sonnet (#25576)

Click to expand commit body
This PR updates the authorization check to give Zed AI users access to
Claude 3.7 Sonnet.

Release Notes:

- N/A

Marshall Bowers created

eebee4a Add `stop_at_indent` for MoveToBeginningOfLine (#25428)

Click to expand commit body
Add support for `stop_at_indent` option for MoveToBeginningOfLine and SelectToBeginningOfLine instead of mixing that with `stop_at_soft_wraps`.
Add emacs mapping for `alt-m` (`back-to-indentation`)

Peter Tripp created

3a3621f collab: Limit free tier usage across all models (#25573)

Click to expand commit body
This PR adjusts the usage checks for the LLM free tier.

Previously we would limit the usage on a per-model basis, meaning the
user would get $10/mo free for each model they had access to.

We now have usage for all models count towards the free tier limit.

Release Notes:

- N/A

Marshall Bowers created

524e813 project_panel: Fix entry not being marked when triggered via keyboard (#25567)

Click to expand commit body
This is follow-up for https://github.com/zed-industries/zed/pull/25457

If you open a project without any open buffer, focus on the project
panel, navigate with arrows to a given entry, and hit space, you will
mark and open the file in the buffer. This is all correct. If you then
hit `escape` to clear the marked entries, nothing happens to the open
buffer, and the marked styled in the project panel entry go away. This
is all correct. The wrong behavior happens if you now hit space again on
the active entry. That should mark it, and thus change its styles, but
it doesn't happen. You just see it upon moving to a different entry with
arrow up/down.

Release Notes:

- Fixed project panel entry not being marked when triggering open action
via keyboard.

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

smit and Danilo Leal created

b12b834 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

7075bd7 edit predictions: Disable "This Buffer" option when disabled for language (#25566)

Click to expand commit body
![image](https://github.com/user-attachments/assets/7b888c7d-a1e9-4d0b-ba6d-9a41916acf79)


Release Notes:

- edit prediction: Disable "This Buffer" option when predictions are
disabled for its language

Agus Zubiaga created

21fc3c0 language_models: Store Bedrock credentials under `https://amazonaws.com` in the keychain (#25565)

Click to expand commit body
This PR updates the Bedrock provider to store the AWS credentials under
`https://amazonaws.com` in the keychain.

Release Notes:

- N/A

Marshall Bowers created

c90f878 diagnostics: Ensure that clean state is not shown when tab content indicates problems in workspace (#25345)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Piotr Osiewicz and Nate Butler created

796e87e project_panel: Open file in editor on paste action when single entry (#25555)

Click to expand commit body
Closes #25145

Now, upon pasting a file into the project panel after a copy or cut
operation, it will open in the editor. This buffer in the editor will be
in focus if there is no need to rename the newly pasted file. If a
rename is pending, it simply focuses on the rename editor.


https://github.com/user-attachments/assets/563b22ec-d1f6-4d92-af18-29d10620832c


Future: After the rename is completed, we can decide to focus on the
editor buffer, but this will be addressed in a follow-up, as there will
be multiple cases, such as renaming via a paste action where we want to
focus, and renaming directly via a rename action where we might not want
to focus.

Release Notes:

- Fixed scenario where pasting a file in the project panel after a
copy/cut operation wouldn't automatically open it in the editor.

smit created

3a041ca Consider triagers team when finding issues needing responses (#25554)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

86283f4 lsp: Fix buffer snapshots sometimes going missing (#25548)

Click to expand commit body
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)

Piotr Osiewicz created

8e1003e fs: Bring back copy paste again (#25543)

Click to expand commit body
Closes #25317

cc @0xtimsb 

Release Notes:

- N/A

张小白 created

8e891c1 Bring back our CI (#25545)

Click to expand commit body
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

张小白 created

cea06bc git_panel: Apply tooltip to checkbox instead of container (#25533)

Click to expand commit body
Closes #ISSUE

Small tweak: The tooltip was activating on the icon

|Before|After|
|---|---|

|![image](https://github.com/user-attachments/assets/a1a5b4a7-f949-402e-a038-5f1b4445f068)|![image](https://github.com/user-attachments/assets/cb55f193-e665-4e88-b8d8-a437a7200eea)|

Release Notes:

- N/A

5brian created

45146b6 Implement staging of partially-staged hunks (#25520)

Click to expand commit body
Closes: #25475 

This PR makes it possible to stage uncommitted hunks that overlap but do
not coincide with an unstaged hunk.

Release Notes:

- Made it possible to stage hunks that are already partially staged

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Max <max@zed.dev>

Cole Miller , Max Brunsfeld , and Max created

bcbb19e Fix leaked editor (#25530)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed a bug that would prevent rejoining projects sometimes

Conrad Irwin created

3f168e8 edit predictions: Invalidate cached settings and unset provider when set to `none` (#25505)

Click to expand commit body
Fixes a few state mismatches when changing providers and other settings

Release Notes:

- edit predictions: Fix mismatch between status bar settings and editor
control settings
- edit predictions: Turn off as soon as `edit_prediction_provider` is
set to `none`

---------

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

Agus Zubiaga , Danilo , and Danilo Leal created

20440f8 Attempt to not notarize so much (#25515)

Click to expand commit body
https://developer.apple.com/forums/thread/718583 suggests that if you
staple a dmg, then the ticket is copied along with the app when you copy
it out of the dmg.

Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created