Commit log

e5b3d51 Bump to 0.220.7 for @probably-neb

Zed Zippy created

45f745d git: Avoid unwrapping active repository in panel rendering (#47700) (cherry-pick to stable) (#47792)

Click to expand commit body
Cherry-pick of #47700 to stable

----
Closes ZED-43V
Closes ZED-3VK

Release Notes:

- N/A

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

zed-zippy[bot] and Cole Miller created

d3f4cde zeta2: Remove `experimental_edit_prediction_context_retrieval` setting (#47783)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

a6abc1f Send some traffic to zeta2 for testing (#47710)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

f2f56b7 Cap number of saved hang traces at 3 (#47674) (cherry-pick to stable) (#47692)

Click to expand commit body
Cherry-pick of #47674 to stable

----
Prevents unbounded grown of the `hang_traces` directory.

Release Notes:

- Fixed excessive disk space usage from the `hang_traces` directory.

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

zed-zippy[bot] and Cole Miller created

6a75953 Bump to 0.220.6 for @osiewicz

Zed Zippy created

3a7a0f4 copilot_chat: Fix Anthropic models not appearing in model picker (#47549) (cherry-pick to stable) (#47592)

Click to expand commit body
Cherry-pick of #47549 to stable

----
## Summary

Fixes #47540 - Anthropic Claude models not appearing in GitHub Copilot
Chat model picker.

## Problem

Users reported that Anthropic Claude models (Claude Sonnet 4, Claude
Opus 4, etc.) were not appearing in the model picker when using GitHub
Copilot Chat, even though:
- The GitHub Copilot API returns these models
- The models have `model_picker_enabled: true`
- Users have valid Copilot subscriptions with access to these models

## Root Cause

The issue was in the `ModelSupportedEndpoint` enum deserialization. The
enum only defined two variants:

```rust
pub enum ModelSupportedEndpoint {
    #[serde(rename = "/chat/completions")]
    ChatCompletions,
    #[serde(rename = "/responses")]
    Responses,
}
```

Anthropic Claude models use the `/v1/messages` endpoint, which wasn't
defined. When deserializing the API response, serde failed with:

```
Error("unknown variant `/v1/messages`, expected `/chat/completions` or `/responses`")
```

Because the crate uses resilient deserialization via
`deserialize_models_skip_errors()`, the entire Claude model was silently
skipped rather than causing a hard failure. This meant users saw no
error - the models simply didn't appear.

## Solution

### 1. Added `/v1/messages` endpoint variant

```rust
pub enum ModelSupportedEndpoint {
    #[serde(rename = "/chat/completions")]
    ChatCompletions,
    #[serde(rename = "/responses")]
    Responses,
    #[serde(rename = "/v1/messages")]
    Messages,  // NEW: Anthropic models use this endpoint
    #[serde(other)]
    Unknown,   // NEW: Future-proofing for unknown endpoints
}
```

### 2. Removed incorrect `dedup_by()` call

The previous code deduplicated models by family:

```rust
.dedup_by(|a, b| a.capabilities.family == b.capabilities.family)
```

This incorrectly filtered out model variants that share the same family
(e.g., `claude-sonnet-4` and `claude-sonnet-4-thinking`). Removed this
call to preserve all model variants.

### 3. Removed unused import

Removed `use itertools::Itertools;` which was only used for the
now-removed `dedup_by()`.

## Changes

| File | Change |
|------|--------|
| `crates/copilot_chat/src/copilot_chat.rs` | Added `Messages` and
`Unknown` variants to `ModelSupportedEndpoint` enum |
| `crates/copilot_chat/src/copilot_chat.rs` | Removed `.dedup_by()` call
that incorrectly filtered models |
| `crates/copilot_chat/src/copilot_chat.rs` | Removed unused
`itertools::Itertools` import |
| `crates/copilot_chat/src/copilot_chat.rs` | Added 8 new unit tests |

## Test Coverage

Added 8 new unit tests to ensure the fix works and prevent regression:

| Test | Purpose |
|------|---------|
| `test_models_with_pending_policy_deserialize` | Verifies models with
non-"enabled" policy states deserialize correctly (they're filtered
later) |
| `test_multiple_anthropic_models_preserved` | Verifies multiple Claude
models are not incorrectly deduplicated |
| `test_models_with_same_family_both_preserved` | Verifies models
sharing the same family (e.g., thinking variants) are both preserved |
| `test_mixed_vendor_models_all_preserved` | Verifies models from
different vendors (OpenAI, Anthropic, Google) are all preserved |
| `test_model_with_messages_endpoint_deserializes` | **Critical test**:
Verifies `/v1/messages` endpoint deserializes correctly |
| `test_model_with_unknown_endpoint_deserializes` | Verifies unknown
future endpoints deserialize to `Unknown` variant |
| `test_model_with_multiple_endpoints` | Verifies models with multiple
endpoints deserialize correctly |
| `test_supports_response_method` | Verifies the `supports_response()`
method logic for endpoint routing |

### Test Results

```
running 10 tests
test tests::test_model_with_messages_endpoint_deserializes ... ok
test tests::test_model_with_multiple_endpoints ... ok
test tests::test_model_with_unknown_endpoint_deserializes ... ok
test tests::test_models_with_pending_policy_deserialize ... ok
test tests::test_models_with_same_family_both_preserved ... ok
test tests::test_mixed_vendor_models_all_preserved ... ok
test tests::test_multiple_anthropic_models_preserved ... ok
test tests::test_resilient_model_schema_deserialize ... ok
test tests::test_supports_response_method ... ok
test tests::test_unknown_vendor_resilience ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
```

## How to Test Manually

1. Sign in to GitHub Copilot in Zed
2. Open the model picker (Agent panel → model selector dropdown)
3. Verify that Anthropic Claude models appear in the list:
   - Claude Sonnet 4
   - Claude Opus 4
   - Other Claude variants (if enabled in your GitHub Copilot settings)

## Checklist

- [x] Code compiles without errors
- [x] `./script/clippy --package copilot_chat` passes with no warnings
- [x] All unit tests pass
- [x] Change is focused on a single bug fix
- [x] No unrelated refactoring or feature additions


<img width="320" height="400" alt="Screenshot 2026-01-24 at 11 57 21 PM"

src="https://github.com/user-attachments/assets/d5e17e1b-da80-4f4d-a218-d50d35114a21"
/>


Release Notes:

- Fixed Anthropic models not appearing in the Copilot Chat model picker

---------

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

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

zed-zippy[bot] , Anil Pai , and Piotr Osiewicz created

2c73170 zed 0.220.5

Anthony Eid created

dec96b4 editor: Fix panics that could occur when content mask had negative bounds (#47327) (cherry-pick to stable) (#47501)

Click to expand commit body
Cherry-pick of #47327 to stable

----
Closes #47157

This panic happened because the editor was using `window.content_mask`
to get the visible bounds, which had a negative value for its height in
some cases.

This happened for three reasons:

1. `Bounds::from_corners` returns a negative size if callers pass in
corners where `bottom_right < top_left`. I originally wanted to add
error checking to this function but didn't, because it might be better
to move the error checking higher up. For now I'm going to push a fix
and figure out a better solution later

2. `Bounds::intersect` could return negative-sized bounds when the two
bounds didn't overlap, instead of returning a zero sized bounds.

3. `Style::paint` sometimes passed invalid corner values to
`Bounds::from_corners` (where the computed bottom-right was above/left
of the top-left).

Release Notes:

- editor: Fix a crash that could happen when editor visible line height
is zero

---------

Co-authored-by: Zed Zippy
<234243425+zed-zippy[bot]@users.noreply.github.com>

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

zed-zippy[bot] , Anthony Eid , and Zed Zippy created

0af7ebb copilot: Decouple authentication from the lifetime of any single Copilot instance (#47473) (cherry-pick to stable) (#47493)

Click to expand commit body
Cherry-pick of #47473 to stable

----
Users had trouble signing in due to us relying on the Copilot::global
being set, which was never the case. We've decided to use a dedicated
LSP instance just for handling auth of Copilot Chat and other goodies.
That instance is subscribed to by local Copilot instances for projects.
When the Auth instance changes it's state, local instances are prompted
to re-check their own sign in status.

Closes #47352

Co-authored-by: dino <dinojoaocosta@gmail.com>

Release Notes:

- Fixed authentication issues with Copilot.

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Zed Zippy
<234243425+zed-zippy[bot]@users.noreply.github.com>

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

zed-zippy[bot] , Piotr Osiewicz , dino , and Zed Zippy created

81331dd copilot: Rename enabled_next_edit_suggestions setting to enable_next_edit_suggestions (#47484) (cherry-pick to stable) (#47491)

Click to expand commit body
Cherry-pick of #47484 to stable

----
Co-authored-by: Marshall Bowers <marshall@zed.dev>

Closes #ISSUE

Release Notes:

- N/A

Co-authored-by: Marshall Bowers <marshall@zed.dev>

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Marshall Bowers <marshall@zed.dev>

zed-zippy[bot] , Piotr Osiewicz , and Marshall Bowers created

f11abcb copilot: Add the option to disable Next Edit Suggestions (#47438) (cherry-pick to stable) (#47482)

Click to expand commit body
Cherry-pick of #47438 to stable

----
Adds a new setting to GitHub Copilot to toggle the Next Edit Suggestions
feature, it is enabled by default.

## Motivations
Due to some current usability issues with this feature, see #46880, and
some personal anecdotes of using it, it is currently rough to utilize,
so this gives the option to disable it.

## Related
- #47071 
- #30124
- #44486
## Release Notes
- Adds the ability to disable GitHub Copilot's Next Edit Suggestions
feature.
## User Interface


![image](https://github.com/user-attachments/assets/5a3d7166-68dd-4f5b-a220-0a9bd9282cd5)
## Text Example
The text example will be adding a `z` variable to a `Point3D` class in
TypeScript.
### With Next Edit Suggestions
In this example I am able to just press auto-complete (press TAB) 3x.
```ts
class Point3D {
    x: number;
    y: number;
    z: number; // <-- Cursor before z: suggested

    constructor(x: number, 
                y: number
                , z: number // <-- Next Suggestion
                ) { 
        this.x = x;
        this.y = y;
        this.z = z; // <-- Last Suggestion
    }
}
```
### Without Next Edit Suggestions
```ts
class Point3D {
    x: number;
    y: number;
    z: number; // <-- Cursor before z: the only suggestion

    constructor(x: number, y: number) {
        this.x = x;
        this.y = y;
    }
}
```

Co-authored-by: André Eriksson <andreeriksson444@gmail.com>

zed-zippy[bot] and André Eriksson created

a29ae3a Bump to 0.220.4 for @cole-miller

Zed Zippy created

091060e Add "Agent Panel Error Shown" telemetry with ACP error details (#46848) (cherry-pick to stable) (#47426)

Click to expand commit body
Cherry-pick of #46848 to stable

----
Adds a new "Agent Panel Error Shown" telemetry event that fires when
users see errors in the agent panel. For errors from external ACP agents
(like Claude Code), we capture additional details.

Previously, we had no visibility into what errors users were
encountering in the agent panel. This made it difficult to diagnose
issues, especially with external agents.

The new telemetry event includes:
- `agent` — The agent telemetry ID
- `session_id` — The session ID
- `kind` — Error category (payment_required, authentication_required,
refusal, other, etc.)
- `acp_error_code` — The ACP error code when available (e.g.,
"InternalError")
- `acp_error_message` — The ACP error message when available

Release Notes:

- N/A

---------

Co-authored-by: Michael Benfield <mbenfield@zed.dev>

---------

Co-authored-by: Katie Geer <katie@zed.dev>
Co-authored-by: Michael Benfield <mbenfield@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] , Katie Geer , Michael Benfield , and Cole Miller created

0cd15ba workspace: Move panel telemetry to workspace level (#46809) (cherry-pick to stable) (#47427)

Click to expand commit body
Cherry-pick of #46809 to stable

----
This refactors the "Panel Button Clicked" telemetry event to fire from
`workspace.rs` instead of `dock.rs`.

Previously, the event was emitted in the `PanelButtons` render method's
click handler. Now it fires at the workspace level in two places:
- `toggle_dock()` - captures panel toggles via dock buttons
- `focus_panel<T>()` - captures panel focus via keyboard shortcuts

This ensures the telemetry fires once per user action regardless of
input method, and retrieves the panel name dynamically via
`persistent_name()` rather than relying on a pre-computed local
variable.

Release Notes:

- N/A

Co-authored-by: Katie Geer <katie@zed.dev>

zed-zippy[bot] and Katie Geer created

3d02817 zed 0.220.3

Richard Feldman created

a9aa73d Cherry-pick removing default-allow tool call patterns (#47392)

Click to expand commit body
Nothing should be auto-allowed by default. Users can add their own
always_allow patterns if they want to skip confirmation for specific
commands.

Keeps default always_deny and always_confirm patterns for dangerous
commands like rm -rf, sudo, etc.

Release Notes:

- N/A

Richard Feldman created

bf99a01 v0.220.x stable

Joseph T. Lyons created

c9b26e1 git: Fix buffer diff crash that could occur during the stage all operation (#47265) (cherry-pick to preview) (#47277)

Click to expand commit body
Cherry-pick of #47265 to preview

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

This crash happened because we were incorrectly merging pending and
unstaged hunks together by always using the pending hunk end offset as
the merged hunk bound instead of the max of both hunks.

The fix is to use `max()` when updating `buffer_offset_range.end` during
pending hunk merging, matching the behavior used for unstaged hunk
merging.

Release Notes:

- N/A

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>

zed-zippy[bot] and Anthony Eid created

9491aaf rope: Fix an unintentional panic (#47019) (cherry-pick to preview) (#47212)

Click to expand commit body
Cherry-pick of #47019 to preview

----
Avoids the panic in #46974

But should be solved by using `saturating_sub` on the `start_overshoot`
calculation, ref:
https://github.com/zed-industries/zed/pull/47046#issuecomment-3762855786



https://github.com/zed-industries/zed/blob/37715d5a50666baaa824eafec2131ee6d80f8e0b/crates/rope/src/chunk.rs#L403C5-L415C6

This function gets called with PANIC = false from `slice`. But if the
offset is outside the text, `log_err_char_boundary` will still panic,
because the first `if` doesn’t bail out early.

Release Notes:

- N/A

Signed-off-by: Marco Mihai Condrache
<52580954+marcocondrache@users.noreply.github.com>

Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Co-authored-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>

zed-zippy[bot] and Marco Mihai Condrache created

8ecbfde Bump to 0.220.2 for @MrSubidubi

Zed Zippy created

748cd0a settings_ui: Prevent panic when trying to configure edit prediction providers for language (#47162)

Click to expand commit body
Closes #46502

The issue here was that we were not looking into the sub page stack when
looking headers up, resulting in an out of bounds index. This PR fixes
this.

Due to me also fixing another small bug in the UI (and adding proper
support for the breadcrumbs), I had to move quite some stuff around here
to get this to work. Namely, I made the `sub_page_stack` a field on the
`SettingsWindow` and now only store the `active_language` in a global to
ensure that we store scroll positions properly for all sub pages. For
that to work with the edit prediction provider page, I had to remove the
struct there and could just move that into a method, which was a nice
side effect there I suppose.

Release Notes:

- Fixed a crash that could occur when trying to edit edit prediction
providers in the settings UI.

Finn Evers created

b131c00 rope: Add missing early return in `log_err_char_boundary` (#47191) (cherry-pick to preview) (#47192)

Click to expand commit body
Cherry-pick of #47191 to preview

----
Closes ZED-465

Release Notes:

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

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

9cdb697 agent: Patch image format bug (#45978) (cherry-pick to preview) (#47174)

Click to expand commit body
Cherry-pick of #45978 to preview

----
Closes #44694

Release Notes:

- Fixed images being converted to png but retaining old format

## Before:
<img width="574" height="327" alt="Screenshot 2026-01-02 at 5 34 24 PM"

src="https://github.com/user-attachments/assets/92331939-cebc-4f53-99fc-10d5181cf87e"
/>

## After:
<img width="638" height="489" alt="Screenshot 2026-01-02 at 5 34 36 PM"

src="https://github.com/user-attachments/assets/47c05906-fa56-4a53-abd4-790c42230772"
/>

---------

Co-authored-by: versecafe <147033096+versecafe@users.noreply.github.com>
Co-authored-by: MrSubidubi <finn@zed.dev>

Co-authored-by: Mason Palmer <97921708+mason-palmer@users.noreply.github.com>
Co-authored-by: versecafe <147033096+versecafe@users.noreply.github.com>
Co-authored-by: MrSubidubi <finn@zed.dev>

zed-zippy[bot] , Mason Palmer , versecafe , and MrSubidubi created

8c35bd8 languages: Apply JSX fixes to JavaScript highlights (#47130) (cherry-pick to preview) (#47131)

Click to expand commit body
Cherry-pick of #47130 to preview

----
Closes #46701

This ports the fixes from #46442 over to the JavaScript highlights,
which we forgot to do in that PR since the highlights are not shareable
and the fix was only applied to TSX... Hence, porting the fixes here
manually to solve the issue for good.

Release Notes:

- Fixed an issue where JSX components were highlighted too broadly,
causing normal HTML tags to be highlighted as such

Co-authored-by: Finn Evers <finn@zed.dev>

zed-zippy[bot] and Finn Evers created

2dd34c6 editor: Fix relative line numbers breaking with nested folds (#47035) (cherry-pick to preview) (#47107)

Click to expand commit body
Cherry-pick of #47035 to preview

----
Closes #46516

The previous fix only worked for non-nested folds, whereas this one also
considers nested folds properly. Also makes this more straightforward to
read.

Release Notes:

- Fixed an issue where relative line numbering would break with nested
folds.

Co-authored-by: Finn Evers <finn@zed.dev>

zed-zippy[bot] and Finn Evers created

9fad17d Add BYOK GPT-5.2-codex support (#47025) (cherry-pick to preview) (#47030)

Click to expand commit body
Cherry-pick of #47025 to preview

----
<img width="449" height="559" alt="Screenshot 2026-01-16 at 4 52 12 PM"

src="https://github.com/user-attachments/assets/1b5583d7-9b90-46b1-a32f-9821543ea542"
/>

Release Notes:

- Add support for GPT-5.2-Codex via OpenAI API Key

Co-authored-by: Richard Feldman <richard@zed.dev>

zed-zippy[bot] and Richard Feldman created

b46076b gpui: Fix utf8 slicing panic in `truncate_line` (#46914) (cherry-pick to preview) (#46916)

Click to expand commit body
Cherry-pick of #46914 to preview

----
Fixes https://github.com/zed-industries/zed/issues/46904

Release Notes:

- Fixed a panic in the git panel when utf8 multibyte character filenames
got truncated

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

343bc39 Bump to 0.220.1 for @osiewicz

Zed Zippy created

98f3b84 Fix delay in Copilot completion (#46885) (cherry-pick to preview) (#46895)

Click to expand commit body
Cherry-pick of #46885 to preview

----
This PR fixes an issue when copilot takes 3s to complete. Right now, in
copilot edit prediction, we issue requests to both the Next Edit
Suggestion (NES) and the regular copilot inline completion endpoints.
Whichever come back first will be shown. However, there is a bug where
even if inline completion (which is usually much faster) comes back, we
still wait for NES (which takes about 3s).

This should address https://github.com/zed-industries/zed/issues/46389
and https://github.com/zed-industries/zed/issues/46880

Release notes:
- Improved responsiveness of Copilot inline completions.

Co-authored-by: Hieu Pham <hicder@users.noreply.github.com>

zed-zippy[bot] and Hieu Pham created

80c7745 workspace: Do not attempt to unnecessarily update jump list on worktree updates (#46882) (cherry-pick to preview) (#46886)

Click to expand commit body
Cherry-pick of #46882 to preview

----
It should be a no-op but causes massive main thread hangs on windows due
to the winapi calls this emits, restores the behavior pre
github.com/zed-industries/zed/pull/46256 without reverting the main
changes of that.

Release Notes:

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

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

203f55e workspace: Fix tab reordering regression (#46872) (cherry-pick to preview) (#46878)

Click to expand commit body
Cherry-pick of #46872 to preview

----
Closes [#46864](https://github.com/zed-industries/zed/issues/46864)
Initial PR: https://github.com/zed-industries/zed/pull/46573

## Summary

Fix a regression where dragging a tab onto another tab would place it at
the end of the tab bar instead of at the target position.

The issue was in the `on_drop` handler: it used `this.items.len()`
(evaluated at drop time) instead of the captured `ix` index (the
position of the tab being dropped onto).

Release Notes:

- Fixed tab reordering not working correctly when dragging tabs

## Video after fix:

- when 'show_pinned_tabs_in_separate_row' is false:



https://github.com/user-attachments/assets/1ede0ce5-1161-4209-83f4-33a07572782a

- when 'show_pinned_tabs_in_separate_row' is true:



https://github.com/user-attachments/assets/d56c0e59-8372-41d4-973b-32a4895ca729

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Co-authored-by: Yaroslav Yenkala <yaroslavrick@gmail.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

zed-zippy[bot] , Yaroslav Yenkala , and Smit Barmase created

684be1b Fix emoji on Linux when using High DPI (#46857) (cherry-pick to preview) (#46859)

Click to expand commit body
Cherry-pick of #46857 to preview

----
Fixes https://github.com/zed-industries/zed/issues/46849

Release Notes:

- Fixed emoji being too small on Linux when using High DPI

Co-authored-by: John Tur <john-tur@outlook.com>

zed-zippy[bot] and John Tur created

3f8d007 v0.220.x preview

Joseph T. Lyons created

ca23fa7 copilot: Un-globalify copilot + handle it more directly with EditPredictionStore (#46618)

Click to expand commit body
- **copilot: Fix double lease panic when signing out**
- **Extract copilot_chat into a separate crate**
- **Do not use re-exports from copilot**
- **Use new SignIn API**
- **Extract copilot_ui out of copilot**

Closes #7501

Release Notes:

- Fixed Copilot providing suggestions from different Zed windows.
- Copilot edit predictions now support jumping to unresolved
diagnostics.

Piotr Osiewicz created

cd12d45 agent: Initial support for ACP session listing (#46796)

Click to expand commit body
Feature flagged for now as we test this out with actual agents to see if
we need to provide any more feedback to the RFD before committing to the
current setup.

Release Notes:

- N/A

Ben Brandt created

f1fd0ab remote: Fix not being able to cancel in connecting state (#46789)

Click to expand commit body
Release Notes:

- Fixed being unable to cancel remote connections while still connecting
to the remote server

Lukas Wirth created

55a7a93 collab: Bump minimum required version to collaborate from 0.204.1 to 0.220.0 to accomodate for project search RPC changes (#46715)

Click to expand commit body
cc @maxdeviant

Release Notes:

- N/A

Piotr Osiewicz created

6c5da3d outline: Enable scrollbar in outline view picker (#46774)

Click to expand commit body
Release Notes:

- Added scrollbar in outline view picker

Xiaobo Liu created

db2f2ad agent: One Thread History (#46785)

Click to expand commit body
This makes sure that all of the work we do for caching/refreshing
session history is reused everywhere we need to access the list.

Very important for external agents so we aren't rerequesting history on
every search or recent list update. Puts the reloading of history in one
place

Release Notes:

- N/A

Ben Brandt created

b5242ab vim: Fix subword motion near end of line (#45908)

Click to expand commit body
Fixes subword motion incorrectly jumping to next line when near end of
line. Updates boundary detection to use exclusive boundaries with
need_next_char parameter, matching regular word motion behavior.
Refactors word and subword motion to share boundary detection logic.

Closes #17780

Release Notes:

- Fixed subword motion incorrectly jumping to the next line when near
the end of a line

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>

Lionel Henry and dino created

1d366b3 agent_ui: Improve UX for discarding partial edits (#46752)

Danilo Leal created

c35bbaa Revert "Clean up image resources for the current window (#45969)" (#46779)

Click to expand commit body
This reverts commit 94faaebfec5e46afa6d3aee5372cbbdb33b97c33.

The logic changed in the [original
PR](https://github.com/zed-industries/zed/pull/45969) is either
misplaced or lacks a counterpart that reacts on `gpui::Image` drop one
way or another.

The change was dropping the texture out of the global rendering atlas
when an image preview tab was disposed of, while in reality, another
instance (agent panel or another image preview tab) could require the
very same atlas entry to be rendered meanwhile.

Currently, only `RetainAllImageCache` in Zed does any kind of image
cleanup, and any other image usages will leak memory.
What makes it harder is that the atlas entry needs to live as long as a
particular `Arc<Image>` lives, and some public `gpui` API expects this
type to stay:

https://github.com/zed-industries/zed/blob/e747cfc955e8cfd9327d8d6b8d617cf1d3a6bcaa/crates/gpui/src/platform.rs#L1851-L1866

For image viewer in particular, we need to consider why
`RetainAllImageCache` is not used there; for the global, normal fix, we
need to consider ways to have `cx` and `window` and a way to react on
`Image` drop.
As an option, we could break the `gpui` API (as it [happens
periodically](https://github.com/zed-industries/zed/issues/46183)
already) and use `Entity<Image>` instead of `Arc`, then react with
`cx.on_release_in` for each such image.

Closes https://github.com/zed-industries/zed/issues/46755
Closes https://github.com/zed-industries/zed/issues/46435

Release Notes:

- Fixed panics on concurrent image handling

Kirill Bulatov created

2127b8d remote: Fix ACP agents not working in docker (#46778)

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

Release Notes:

- Fixed external agents not working in docker remotes

Lukas Wirth created

e747cfc terminal_view: Fix formatting in `TerminalElement::paint` (#46775)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

b1da735 languages(rust): Highlight enum variant labels (#46772)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

acfc71a editor: Fix clipboard line numbers when copying from multibuffer (#46743)

Click to expand commit body
Release Notes:

- When copying and pasting from a multibuffer view (e.g. into the agent
panel), the line numbers from the selection corresponded to the line
numbers in the multibuffer view (incorrect), instead of the actual line
numbers from the file itself.
- I also handled the case in which the selection spans multiple excerpts
(different files in the multibuffer) by just returning None for that
case, but maybe it should instead be split into two selections?

Left is before (bugged, should be lines 8:16, instead it is 38:46),
right is after (fixed).
<div style="display:flex; gap:12px;">
<img
src="https://github.com/user-attachments/assets/b1bfce1d-8b6a-41c0-ac7e-51f7bd7b284e"
       width="48%" />
<img
src="https://github.com/user-attachments/assets/2a4c33a0-a969-4a3e-9aa5-d2c2fefba3b2"
       width="48%" />
</div>

Kavi Bidlack created

4aa3cd0 Revert "Revert scheduler update (#46659)" (#46671)

Click to expand commit body
Reland the new scheduler

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Conrad Irwin , Antonio Scandurra , and Zed Zippy created

a126383 terminal: Fix last character of IME marked text not being deleted (#46224)

ᴀᴍᴛᴏᴀᴇʀ created

22415e5 Fix copying from agent panel including extra backtick (#46763)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed cmd-c in the agent panel to not include spurious trailing `'s.

Conrad Irwin created