1cbb498
document how to do flamecharts in an easy way (#43461)
Click to expand commit body
Release Notes: - N/A
David Kleingeld created
1cbb498
document how to do flamecharts in an easy way (#43461)
Release Notes: - N/A
David Kleingeld created
f896531
multi_buffer: Fix up some anchor checks (#43454)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a359a5a
Add performance doc (#43265)
Release Notes: - N/A
David Kleingeld created
7651854
ci: Do not show output of failed tests at the end too (#43449)
This reverts #39643, effectively For the record, @SomeoneToIgnore found it quite cumbersome to scroll through logs just to see which tests have failed. I kinda see the argument. At the same time, I wish nextest could do both: it could aggregate logs of failed tests and then print out the summary. Release Notes: - N/A
Piotr Osiewicz created
5139cc2
helix: Fix `Vim::NextWordEnd` off-by-one in `HelixSelect` (#43234)
Closes #43209 Closes #38121 Starting on the first character. Running `v e` before changes: <img width="410" height="162" alt="image" src="https://github.com/user-attachments/assets/ee13fa29-826c-45c0-9ea0-a598cc8e781a" /> Running `v e` after changes: <img width="483" height="166" alt="image" src="https://github.com/user-attachments/assets/24791a07-97df-47cd-9ef2-171522adb796" /> Change Notes: - Added helix selection sanitation code that directly mirrors the code in the Vim [`visual_motion`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/visual.rs#L237) method. I kept the comments from the Vim section that explains its purpose. - The above change converted the problem from fixing `v e` to fixing `v w`. Since `w` is treated differently in Helix than in Vim (i.e. `w` in Vim goes to the first character of a word and `w` in Helix goes to the character before a word. Commented [here](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L132)), the code treats `w` in `HelixSelect` as a motion that differs from the Vim motion in the same way that the function [`helix_move_cursor`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L353) separates these behaviors. - Added a regression test Release Notes: - Fixes bug where `Vim::NextWordEnd` in `HelixSelect` would not select whole word.
AidanV created
c0e8548
lsp: Fix potential double didClose notification when renaming a file (#43448)
Closes #42709 Release Notes: - N/A
Piotr Osiewicz created
e6fe95b
Only show ssh logs when toggled (#43445)
Same as in collab projects. Release Notes: - N/A
Kirill Bulatov created
303c23c
Fix first window open not focusing the modals (#43180)
Closes https://github.com/zed-industries/zed/issues/4357 Closes https://github.com/zed-industries/zed/issues/41278 Release Notes: - Fixed modals not getting focus on window reopen --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Kirill Bulatov and Conrad Irwin created
0e2041d
multi_buffer: Fix `editor::ExpandExcerpts` failing when cursor is at excerpt start (#42324)
The bug is easily verified by: 1. open any multi-buffer 2. place the cursor at the beginning of an excerpt 3. run the editor::ExpandExcerpts / editor: expand excerpts action 4. The excerpt is not expanded Since the `buffer_ids_for_range` function basically did the same and had even been changed the same way earlier I DRYed these functions as well. Note: I'm a rust novice, so keep an extra eye on rust technicalities when reviewing :) --- Release Notes: - Fix editor: expand excerpts failing when cursor is at excerpt start --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Ole Jørgen Brønner and Lukas Wirth created
9122dd2
Combine zeta and zeta2 edit prediction providers (#43284)
We've realized that a lot of the logic within an `EditPredictionProvider` is not specific to a particular edit prediction model / service. Rather, it is just the generic state management required to perform edit predictions at all in Zed. We want to move to a setup where there's one "built-in" edit prediction provider in Zed, which can be pointed at different edit prediction models. The only logic that is different for different models is how we construct the prompt, send the request, and parse the output. This PR also changes the behavior of the staff-only `zeta2` feature flag so that in only gates your *ability* to use Zeta2, but you can still use your local settings file to choose between different edit prediction models/services: zeta1, zeta2, and sweep. This PR also makes zeta1's outcome reporting and prediction-rating features work with all prediction models, not just zeta1. To do: * [x] remove duplicated logic around sending cloud requests between zeta1 and zeta2 * [x] port the outcome reporting logic from zeta to zeta2. * [x] get the "rate completions" modal working with all EP models * [x] display edit prediction diff * [x] show edit history events * [x] remove the original `zeta` crate. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Agus Zubiaga , and Ben Kunkle created
17d7988
Redact environment variables in server info view (#43436)
Follow-up of https://github.com/zed-industries/zed/pull/42831 Release Notes: - N/A
Kirill Bulatov created
8fd2e21
Fix remote project snippet duplication (#43429)
Closes #43311 Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
e499f15
Keep single default PHP language server (#43432)
https://github.com/zed-extensions/php/blob/9a119b18eeb247072964a19ce46fab54bbd1bb30/extension.toml provides 3 language servers for `php`, so `...` will always include all 3 if those are not excluded or included explicitly. Change the configs and docs so, that only one php language server is used. Release Notes: - N/A
Kirill Bulatov created
f75e758
Fix zed cli in NixOS WSL instances (#43433)
This fixes running `zed <path>` inside nixos wsl instances. We're copying the approach used elsewhere which is to try using `--exec` first, and if that fails use an actual shell which should cover the nixos case because it only puts binaries on your PATH inside the `/etc/profile` script which is sourced on shell startup. Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
9e69ac8
editor: Fix copy file actions not working in remote environments (#43362)
Closes #42500 Release Notes: - Fixed all three editor actions not working in remote environments - `editor: copy file name` - `editor: copy file location` - `editor: copy file name without extension` Here's the before/after: https://github.com/user-attachments/assets/bfb03e99-2e1a-47a2-bd26-280180154fe3
Mayank Verma created
7694647
vim: Fix cursor shape after deactivation (#42834)
Update the `Vim.deactivate` method to ensure that the cursor shape is reset to the one available in the user's settings, in the `cursor_shape` setting, instead of simply defaulting to `CursorShape::Bar`. In order to test this behavior, the `Editor.cursor_shape` method was also introduced. Release Notes: - Fixed the cursor shape reset in vim mode deactivation, ensuring that the user's `cursor_shape` setting is used --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Lennart and dino created
342eba6
project: Send LSP metadata to remote ServerInfo (#42831)
Closes #39582 Release Notes: - Added LSP metadata to remote ServerInfo Here's the before/after: https://github.com/user-attachments/assets/1057faa5-82af-4975-abad-5e10e139fac1 --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Mayank Verma and Kirill Bulatov created
bd2c102
Add support for Opus 4.5 (#43425)
Adds support for Opus 4.5 - [x] BYOK - [x] Amazon Bedrock Release Notes: - Added support for Opus 4.5 Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Mikayla Maki and Richard Feldman created
d295ff4
Improve Windows path canonicalization (#43423)
Path canonicalization on windows will now favor keeping the drive letter intact when canonicalizing paths. This helps some lsps with mapped network drive compatibility. Closes #41336 Release Notes: - N/A
localcc created
7ce4f2a
Opus 4.5 and Gemini 3 to docs (#43424)
Add Opus 4.5 and Gemini 3 to docs Release Notes: - N/A
morgankrey created
092250b
Rework and consolidate issue templates (#43403)
We’re reworking our triage process and in doing so, reworking our issue templates is worth looking into. We have multiple issue templates, for arbitrary categories, and not enough enforcement. The plan is to consolidate the issue templates (maybe all into one) and drop the others. Release Notes: - N/A
Kunall Banerjee created
b577f8a
Passthrough env to npm subcommands when using the system node runtime (#43102)
Closes #39448 Closes #37866 This PR expands the env-clearing fix from #42587 to include the SystemNodeRuntime, which covers Node.js installations managed by Mise. When running under the system runtime, npm subcommands were still launched with a cleared environment, preventing variables such as MISE_DATA_DIR from reaching the shim or the mise binary itself. As a result, Mise finds the npm binary in the default MISE_DATA_DIR, consistent with the behavior described in https://github.com/zed-industries/zed/issues/39448#issuecomment-3433644569. This change ensures that environment variables are passed through for npm subcommands when using the system Node runtime, restoring expected behavior for Mise-managed Node installations. This also fixes cases where envs are used by npm itself. Release Notes: - Enable environment passthrough for npm subcommands
Yeoh Joer created
4329a81
ui: Update `ThreadItem` component design (#43421)
Release Notes: - N/A
Danilo Leal created
6631d8b
Fix Gemini 3 on OpenRouter (#43416)
Release Notes: - Gemini 3 now works on OpenRouter in the Agent Panel
Richard Feldman created
a7fff59
Add each panel to the workspace as soon as it's ready (#43414)
We'll now add panels to the workspace as soon as they're ready rather than waiting for all the rest to complete. We should strive to make all panels fast, but given that their load tasks are fallible and do IO, this approach seems more resilient. Additionally, we'll now start loading the agent panel at the same time as the rest. Release Notes: - workspace: Add panels as soon as they are ready
Agus Zubiaga created
4a36f67
vim: Fix bug where `d . .` freezes the editor (#42145)
This bug seems to be caused by pushing an operator (i.e. `d`) followed by a repeat (i.e. `.`) so the recording includes the push operator and the repeat. When this is repeated (i.e. `.`) it causes an infinite loop. This change fixes this bug by pushing a ClearOperator action if there is an ongoing recording when repeat is called. Release Notes: - Fixed bug where pressing `d . .` in Vim mode would freeze the editor. --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
AidanV and dino created
47e8946
Attempt to fix `go to the end of the line` when using helix mode (#41575)
Closes #41550 Release Notes: - Fixed `<g-l>` behavior in helix mode which will now correctly go to the last charactor of the line. - Fixed not switching to helix normal mode when in default vim context and pressing escape. --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
HuaGu-Dragon and Jakub Konka created
ea7568c
zeta2: Support experimental 1120-seedcoder model (#43411)
1. Introduce a common `PromptFormatter` trait 2. Let models define their generation params. 3. Add support for the experimental 1120-seedcoder prompt format Release Notes: - N/A
Oleksiy Syvokon created
e6b42a2
Use a proper name for highlights.scm (#43412)
Release Notes: - N/A
Kirill Bulatov created
7bbc65e
auto_updater: Fix `upload-nightly.ps1` and auto-update check (#43404)
Release Notes: - N/A
Piotr Osiewicz created
d6c550c
debugger_ui: Add button to close the panel when docked to bottom (#43409)
This PR adds a button to close the panel when it is docked to the bottom. Effectively, the button triggers the same `ToggleBottomDock` action that clicking on the button that opened the panel triggers, but I think having it there just makes it extra obvious how to close it, which is beneficial. As a bonus, also fixed the panel controls container height when it is docked to the sides, so it perfectly aligns with the panel tabbar height. | Perfectly Aligned Header | Close Button | |--------|--------| | <img width="2620" height="2010" alt="Screenshot 2025-11-24 at 12 01 2@2x" src="https://github.com/user-attachments/assets/08a50858-1b50-4ebd-af7a-c5dae32cf4f6" /> | <img width="2620" height="2010" alt="Screenshot 2025-11-24 at 12 01@2x" src="https://github.com/user-attachments/assets/17a6eee0-9934-4949-8741-fffd5b106e95" /> | Release Notes: - N/A
Danilo Leal created
eff592c
agent_ui: Refine "reject"/"keep" behavior when regenerating previous prompts (#43347)
Closes https://github.com/zed-industries/zed/issues/42753 Consider the following flow: you submit prompt A. Prompt A generates some edits. You don't click on either "reject" or "keep"; they stay in a pending state. You then submit prompt B, but before the agent outputs any response, you click to edit prompt B, thus submitting a regeneration. Before this PR, the above flow would make the edits originated from prompt A to be auto-rejected. This feels very incorrect and can surprise users when they see that the edits that were pending got rejected. It feels more correct to only auto-reject changes if you're regenerating the prompt that directly generated those edits in the first place. Then, it also feels more correct to assume that if there was a follow-up prompt after some edits were made, those edits were passively "accepted". So, this is what this PR is doing. Consider the following flow to get a picture of the behavior change: - You submit prompt A. - Prompt A generates some edits. - You don't click on either "reject" or "keep"; they're pending. - You then submit prompt B, but before the agents outputs anything, you click to edit prompt B, submitting a regeneration. - Now, edits from prompt A will be auto-kept. Release Notes: - agent: Improved the "reject"/"keep" behavior when regenerating older prompts by auto-keeping pending edits that don't originate from the prompt to-be-regenerated.
Danilo Leal created
138286f
sum_tree: Make SumTree::append run in logarithmic time (#43349)
The `SumTree::append` method is slow when appending large trees to small
trees. The reason is this code here:
https://github.com/zed-industries/zed/blob/f57f4cd3607e8298ef5f1b29929df2db0185d826/crates/sum_tree/src/sum_tree.rs#L628-L630
`append` is called recursively until `self` and `other` have the same
height, effectively making this code `O(log^2 n)` in the number of
leaves of `other` tree in the worst case.
There are no algorithmic reasons why appending large trees must be this
much slower.
This PR proves it by providing implementation of `append` that works in
logarithmic time regardless if `self` is smaller or larger than `other`.
The helper method `append_large` has the symmetric logic to
`push_tree_recursive` but moves the (unlikely) case of merging
underflowing node in a separate helper function to reduce stack usage. I
am a bit unsure about some implementation choices made in
`push_tree_recursive` and would like to discuss some of these later, but
at the moment I didn't change anything there and tried to follow the
same logic in `append_large`.
We might also consider adding `push_front`/`prepend` methods to
`SumTree`.
I did not find a good benchmark that covers this case so I added a new
one to rope benchmarks.
<details>
<summary>cargo bench (compared to current main)</summary>
```
Running benches\rope_benchmark.rs (D:\zed\target\release\deps\rope_benchmark-59c669d2895cd2c4.exe)
Gnuplot not found, using plotters backend
push/4096 time: [195.67 µs 195.75 µs 195.86 µs]
thrpt: [19.944 MiB/s 19.955 MiB/s 19.964 MiB/s]
change:
time: [+0.2162% +0.3040% +0.4057%] (p = 0.00 < 0.05)
thrpt: [-0.4040% -0.3030% -0.2157%]
Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
2 (2.00%) low mild
6 (6.00%) high mild
6 (6.00%) high severe
Benchmarking push/65536: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.8s, enable flat sampling, or reduce sample count to 50.
push/65536 time: [1.4431 ms 1.4485 ms 1.4546 ms]
thrpt: [42.966 MiB/s 43.147 MiB/s 43.310 MiB/s]
change:
time: [-3.2257% -1.2013% +0.6431%] (p = 0.27 > 0.05)
thrpt: [-0.6390% +1.2159% +3.3332%]
No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) low mild
5 (5.00%) high mild
5 (5.00%) high severe
append/4096 time: [15.107 µs 15.128 µs 15.149 µs]
thrpt: [257.86 MiB/s 258.22 MiB/s 258.58 MiB/s]
change:
time: [+0.9650% +1.5256% +1.9057%] (p = 0.00 < 0.05)
thrpt: [-1.8701% -1.5026% -0.9557%]
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high severe
append/65536 time: [1.2870 µs 1.4496 µs 1.6484 µs]
thrpt: [37.028 GiB/s 42.106 GiB/s 47.425 GiB/s]
change:
time: [-28.699% -16.073% -0.3133%] (p = 0.04 < 0.05)
thrpt: [+0.3142% +19.151% +40.250%]
Change within noise threshold.
Found 17 outliers among 100 measurements (17.00%)
1 (1.00%) high mild
16 (16.00%) high severe
slice/4096 time: [30.580 µs 30.611 µs 30.639 µs]
thrpt: [127.49 MiB/s 127.61 MiB/s 127.74 MiB/s]
change:
time: [-2.2958% -0.9674% -0.1835%] (p = 0.08 > 0.05)
thrpt: [+0.1838% +0.9769% +2.3498%]
No change in performance detected.
slice/65536 time: [614.86 µs 795.04 µs 1.0293 ms]
thrpt: [60.723 MiB/s 78.613 MiB/s 101.65 MiB/s]
change:
time: [-12.714% +7.2092% +30.676%] (p = 0.52 > 0.05)
thrpt: [-23.475% -6.7244% +14.566%]
No change in performance detected.
Found 14 outliers among 100 measurements (14.00%)
14 (14.00%) high severe
bytes_in_range/4096 time: [3.3298 µs 3.3416 µs 3.3563 µs]
thrpt: [1.1366 GiB/s 1.1416 GiB/s 1.1456 GiB/s]
change:
time: [+2.0652% +3.0667% +4.3765%] (p = 0.00 < 0.05)
thrpt: [-4.1930% -2.9754% -2.0234%]
Performance has regressed.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
bytes_in_range/65536 time: [80.640 µs 80.825 µs 81.024 µs]
thrpt: [771.38 MiB/s 773.28 MiB/s 775.05 MiB/s]
change:
time: [-0.6566% +1.0994% +2.9691%] (p = 0.27 > 0.05)
thrpt: [-2.8835% -1.0875% +0.6609%]
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
2 (2.00%) high mild
8 (8.00%) high severe
chars/4096 time: [763.17 ns 763.68 ns 764.36 ns]
thrpt: [4.9907 GiB/s 4.9952 GiB/s 4.9985 GiB/s]
change:
time: [-2.1138% -0.7973% +0.1096%] (p = 0.18 > 0.05)
thrpt: [-0.1095% +0.8037% +2.1595%]
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low severe
6 (6.00%) low mild
3 (3.00%) high severe
chars/65536 time: [12.479 µs 12.503 µs 12.529 µs]
thrpt: [4.8714 GiB/s 4.8817 GiB/s 4.8910 GiB/s]
change:
time: [-2.4451% -1.0638% +0.6633%] (p = 0.16 > 0.05)
thrpt: [-0.6589% +1.0753% +2.5063%]
No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe
clip_point/4096 time: [63.148 µs 63.182 µs 63.229 µs]
thrpt: [61.779 MiB/s 61.825 MiB/s 61.859 MiB/s]
change:
time: [+1.0107% +2.1329% +4.2849%] (p = 0.02 < 0.05)
thrpt: [-4.1088% -2.0883% -1.0006%]
Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
Benchmarking clip_point/65536: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.8s, enable flat sampling, or reduce sample count to 50.
clip_point/65536 time: [1.2578 ms 1.2593 ms 1.2608 ms]
thrpt: [49.573 MiB/s 49.631 MiB/s 49.690 MiB/s]
change:
time: [+0.4881% +0.8942% +1.3488%] (p = 0.00 < 0.05)
thrpt: [-1.3308% -0.8863% -0.4857%]
Change within noise threshold.
Found 15 outliers among 100 measurements (15.00%)
1 (1.00%) high mild
14 (14.00%) high severe
point_to_offset/4096 time: [16.211 µs 16.235 µs 16.257 µs]
thrpt: [240.28 MiB/s 240.61 MiB/s 240.97 MiB/s]
change:
time: [-1.4913% +0.1685% +2.2662%] (p = 0.89 > 0.05)
thrpt: [-2.2159% -0.1682% +1.5139%]
No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
point_to_offset/65536 time: [360.06 µs 360.58 µs 361.16 µs]
thrpt: [173.05 MiB/s 173.33 MiB/s 173.58 MiB/s]
change:
time: [+0.0939% +0.8792% +1.8751%] (p = 0.06 > 0.05)
thrpt: [-1.8406% -0.8715% -0.0938%]
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
3 (3.00%) high mild
7 (7.00%) high severe
cursor/4096 time: [19.266 µs 19.282 µs 19.302 µs]
thrpt: [202.38 MiB/s 202.58 MiB/s 202.75 MiB/s]
change:
time: [+1.2457% +2.2477% +2.8702%] (p = 0.00 < 0.05)
thrpt: [-2.7901% -2.1983% -1.2304%]
Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
cursor/65536 time: [467.63 µs 468.36 µs 469.14 µs]
thrpt: [133.22 MiB/s 133.44 MiB/s 133.65 MiB/s]
change:
time: [-0.2019% +1.3419% +2.8915%] (p = 0.10 > 0.05)
thrpt: [-2.8103% -1.3241% +0.2023%]
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
3 (3.00%) high mild
9 (9.00%) high severe
append many/small to large
time: [37.419 ms 37.656 ms 37.929 ms]
thrpt: [321.84 MiB/s 324.17 MiB/s 326.22 MiB/s]
change:
time: [+0.8113% +1.7361% +2.6538%] (p = 0.00 < 0.05)
thrpt: [-2.5852% -1.7065% -0.8047%]
Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
9 (9.00%) high severe
append many/large to small
time: [51.289 ms 51.437 ms 51.614 ms]
thrpt: [236.50 MiB/s 237.32 MiB/s 238.00 MiB/s]
change:
time: [-87.518% -87.479% -87.438%] (p = 0.00 < 0.05)
thrpt: [+696.08% +698.66% +701.13%]
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
4 (4.00%) high mild
9 (9.00%) high severe
```
</details>
Release Notes:
- sum_tree: Make SumTree::append run in logarithmic time
Vasyl Protsiv created
f6f8fc1
gpui: Do not panic when `GetMonitorInfoW` fails (#43397)
Fixes ZED-29R Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
2d55c08
releases: Add build number to Nightly builds (#42990)
- **Remove semantic_version crate and use semver instead** - **Update upload-nightly** Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Piotr Osiewicz and Conrad Irwin created
a0fa5d5
proto: Fix cloned errors losing all context (#43393)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
f8729f6
docs: Better wording for `terminal.working_directory` setting (#43388)
Initially this was just going to be a minor docs fix, but then I wondered if we could improve the copy in the editor as well. Release Notes: - N/A
Kunall Banerjee created
f7772af
util: Fix invalid powershell redirection syntax used in uni shell env capture (#43390)
Closes https://github.com/zed-industries/zed/issues/42869 Release Notes: - Fixed shell env sourcing not working with powershell on unix systems
Lukas Wirth created
2f46e6a
http_client: Support `GITHUB_TOKEN` env to auth GitHub requests (#42623)
Closes #33903
Release Notes:
- Ensured Zed reuses `GITHUB_TOKEN` env variable when querying GitHub
---
Before fixing:
- The `crates-lsp` extension request captured:
```
curl 'https://api.github.com/repos/MathiasPius/crates-lsp/releases' \
-H 'accept: */*' \
-H 'user-agent: Zed/0.212.3 (macos; aarch64)' \
-H 'host: api.github.com' \
```
- `crates-lsp` extension error:
```
Language server crates-lsp:
from extension "Crates LSP" version 0.2.0: status error 403, response: "{\"message\":\"API rate limit exceeded for x.x.x.x. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\",\"documentation_url\":\"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting\"}\n"
```
After fixing:
```
export GITHUB_TOKEN=$(gh auth token)
cargo run
```
- The `crates-lsp` extension request captured:
```
curl 'https://api.github.com/repos/MathiasPius/crates-lsp/releases' \
-H 'authorization: Bearer gho_Nt*****************2KXLw2' \
-H 'accept: */*' \
-H 'user-agent: Zed/0.214.0 (macos; aarch64)' \
-H 'host: api.github.com' \
```
The API rate limitation is resolved.
---
This isn't a perfect solution, but it enables users to avoid the noise.
Binlogo created
d333535
docs: Document `git_hosting_providers` for self-hosted Git instances (#43278)
Closes #38433 Document how to register self-hosted GitHub/GitLab/Bitbucket instances via git_hosting_providers setting so permalinks and issue links resolve. Release Notes: - Added documentation on how to register self-hosted GitHub/GitLab/Bitbucket instances via the `git_hosting_providers` setting. This ensures permalinks and issue links can be resolved for these instances.
Oscar Villavicencio created
4b04be6
Fix gutter hover breakpoint not updating when switching the tabs (#43163)
Closes #42073 fixes hover breakpoint not disappearing from a tab when tabs are switched https://github.com/user-attachments/assets/43096d2a-cc5b-46c4-b903-5bc8c33305c5 Release Notes: - N/A --------- Co-authored-by: Finn Evers <finn.evers@outlook.de>
shaik-zeeshan and Finn Evers created
fc11ecf
Add Windows path for extensions (#42645)
### Description The `installing-extensions.md` guide was missing the directory path for the Windows platform. It currently only lists the paths for macOS and Linux. This PR adds the correct path for Windows users (`%LOCALAPPDATA%\zed\extensions`). Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
mg and Kirill Bulatov created
3281b90
agent: Fix utf8 panic in outline (#43141)
Fixes ZED-3F3 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
194f6c9
Treat `.h++` files as C++ (#42802)
Release Notes: - `.h++` files are now treated as C++.
Benjamin Jurk created
99277a4
miniprofiler_ui: Copy path to clipboard on click (#43280)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
48e113a
cli: Allow opening non-existent paths (#43250)
Changes are made to `parse_path_with_position`: we try to get the canonical, existing parts of a path, then append the non-existing parts. Closes #4441 Release Notes: - Added the possibility to open a non-existing path using `zed` CLI ``` zed path/to/non/existing/file.txt ``` Co-authored-by: Syed Sadiq Ali <sadiqonemail@gmail.com>
Ulysse Buonomo and Syed Sadiq Ali created
06f8e35
agent_ui: Make thread markdown editable (#43377)
This PR makes the thread markdown editable. This refers to the "open thread as markdown" feature, where you previously could only read. One benefit of this move is that it makes a bit more obvious that you can `cmd-s` to save the markdown, allowing you to store the content of a given thread. You could already do this before, but due to it being editable now, you see the tab with a dirty indicator, which communicates that better. Release Notes: - agent: Made the thread markdown editable.
Danilo Leal created
07b6686
docs: Improve edit prediction page (#43379)
This PR improves the edit prediction page particularly by adding information about pricing and plans, which wasn't at all mentioned here before, _and_ by including a section with a keybinding example demonstrating how to always use just `tab` to always accept edit predictions. Release Notes: - N/A
Danilo Leal created
dbcfb48
Add mouse-based affordance to open a recent project in new window (#43373)
Closes https://github.com/zed-industries/zed/issues/31796 <img width="500" height="1034" alt="Screenshot 2025-11-23 at 7 39 2@2x" src="https://github.com/user-attachments/assets/bd516359-328f-44aa-9130-33f9567df805" /> Release Notes: - N/A
Danilo Leal created
34a2e1d
settings_ui: Don't show sh as default shell on windows (#43276)
Closes #ISSUE Release Notes: - Fixed an issue in the settings UI where changing the terminal shell would set the default shell to `sh` on Windows
Ben Kunkle created