bd8c8bd
Newtype MultibufferPoint
Lukas Wirth created
bd8c8bd
Newtype MultibufferPoint
Lukas Wirth created
5e37a7b
Fix shell welcome prompt showing up in Zed's stdout (#41311)
The bug occurred because `smol::process::Command::from(_)` doesn't set
the correct fields for stdio markers. So moving the stdio configuration
after converting to a `smol` command fixed the issue.
I added the `std::process::Command::{stdout, stderr, stdin}` functions
to our disallowed list in clippy to prevent any bugs like this appearing
in the future.
Release Notes:
- N/A
Anthony Eid created
00278f4
Add Rust convenience Tree-sitter injections for common crates (#41258)
Cameron Mcloughlin created
ac3d2a3
Tune the focus-visible heuristics a bit (#41314)
This isn't quite right yet, as a proper solution would remember the input modality at the moment of focus change, rather than at painting time. But this gets us close enough for now. Release Notes: - N/A
Mikayla Maki created
58f07ff
Try gh-workflow (#41155)
Experimenting with not writing YAML by hand... Release Notes: - N/A
Conrad Irwin created
db0f7a8
docs: Mention the settings and keymap UIs more prominently (#41302)
Release Notes: - N/A
Danilo Leal created
f5ad4c8
Remove PostgREST (#41299)
This PR removes the PostgREST containers and deployments, as we're no longer using it. Release Notes: - N/A
Marshall Bowers created
1729849
collab: Add 'Copy channel notes link' to right click menu on channels (#41298)
Release Notes: - Added a "Copy Channel Notes Link" action to right-click menu of Zed channels.
Piotr Osiewicz created
ba26ca4
docs: Document per-release channel configuration (#40833)
## Summary - Document the `stable`/`preview`/`nightly` top-level keys that let users scope settings overrides per release channel. - Provide an example `settings.json` snippet and call out that overrides replace array values rather than merging them. - Mention that UI-driven changes edit the root config so per-channel blocks might need manual updates. ## Testing - Not run (docs only). Fixes #40458. Release Notes: - N/A --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Mohin Hasin Rabbi and MrSubidubi created
1ae8e0c
keymap_editor: Clear action query when showing matching keybindings (#41296)
Closes https://github.com/zed-industries/zed/issues/41050 Release Notes: - Fixed an issue where showing matching keystrokes in the keybind editor modal would not clear an active text query.
Finn Evers created
a70f80d
Add support for changing the Codestral endpoint (#41116)
```json
"edit_predictions": {
"codestral": {
"api_url": "https://codestral.mistral.ai",
"model": "codestral-latest",
"max_tokens": 150
}
},
```
Release Notes:
- Added support for changing the Codestral endpoint. This was discussed
at #34371.
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
pedrxd and Bennet Bo Fenner created
821a488
cli: Use --wait to prefer focused window (#41051)
Introduce a new `prefer_focused_window` field to the `workspace::OpenOptions` struct that, when provided, will make it so that Zed opens the provided path in the currently focused window. This will now automatically be set to true when the `--wait` flag is used with the CLI. Closes #40551 Release Notes: - Improved the `--wait` flag in Zed's CLI so as to always open the provided file in the currently focused window --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
7f17d4b
Add Tailwind CSS and Ruff to built-in features list (#41285)
Closes https://github.com/zed-industries/zed/issues/41168 This PR adds both Tailwind CSS and Ruff (linter for Python) as built-in features; a banner mentioning this should show up now for these two when searching for them in the extensions UI. There will also be a corresponding zed.dev site PR adding a "Ruff is built-in" card to the zed.dev/extensions page. Release Notes: - N/A
Danilo Leal created
ebf4a23
Use `paths::external_agents_dir` (#41286)
We were not actually using `paths::agent_servers` and were manually constructing the path to the `external_agents` folder in a few places. Release Notes: - N/A
Bennet Fenner created
370d4ce
rope: Micro optimize the creation of masks (#41132)
Using compiler explorer I saw that the compiler wasn't clever enough to
optimise away the branches in the masking code. I thought the compiler
would have a better chance if we always branched, which [turned out to
be the case](https://godbolt.org/z/PM594Pz18).
Running the benchmarks the biggest benefit I saw was:
```
push/65536 time: [2.9067 ms 2.9243 ms 2.9417 ms]
thrpt: [21.246 MiB/s 21.373 MiB/s 21.502 MiB/s]
change:
time: [-8.3452% -7.2617% -6.2009%] (p = 0.00 < 0.05)
thrpt: [+6.6108% +7.8303% +9.1050%]
Performance has improved.
```
But I did also see some regressions:
```
slice/4096 time: [66.195 µs 66.815 µs 67.448 µs]
thrpt: [57.915 MiB/s 58.464 MiB/s 59.012 MiB/s]
change:
time: [+3.7131% +5.1698% +6.6971%] (p = 0.00 < 0.05)
thrpt: [-6.2768% -4.9157% -3.5802%]
Performance has regressed.
```
Release Notes:
- N/A
Adam Richardson created
2284131
Add @rtfeldman to reviewers list (#41127)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Richard Feldman created
2f7045f
settings_ui: Show migration banner (#41112)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Danilo <danilo@zed.dev>
Ben Kunkle and Danilo created
5d359ea
remote: Fall back to SCP if SFTP fails (#41255)
Fixes https://github.com/zed-industries/zed/issues/41260 After experimenting and reading through the implementation of OpenSSH stack on Windows, it looks like batch mode precludes use of passwords. In the listing https://github.com/PowerShell/openssh-portable/blob/b8c08ef9da9450a94a9c5ef717d96a7bd83f3332/sshconnect2.c#L417, the last field of each `Authmode` struct is a pointer to the config value that *disables* that particular mode. In this case, `keyboard` (interactive) and `password` modes are both disabled if batch mode is used. We should therefore fall back to `scp` if `sftp` fails rather than to fail outright. Release Notes: - N/A
Jakub Konka created
72c6a74
keymap_editor: Fix updating empty keymap (#40909)
Closes #40898 Release Notes: - Fixed an issue where attempting to add or update a key binding in the keymap editor with an empty `keymap.json` file would fail
Ben Kunkle created
941033e
settings_ui: Add vim motions on navigation menu (#39988)
Closes #ISSUE Release Notes: - Added vim motions on settings navigation menu
Alvaro Parker created
83884ca
lsp: Support tracking multiple registrations of diagnostic providers (#41096)
Closes #40966 Closes #41195 Closes #40980 Release Notes: - Fixed diagnostics not working with basedpyright/pyright beyond an initial version of the document --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: dino <dinojoaocosta@gmail.com>
Piotr Osiewicz , Smit Barmase , Anthony Eid , and dino created
f503c65
Make "About Zed" menu entry to work when all Zed windows are closed (#41272)
Closes https://github.com/zed-industries/zed/issues/41267 The only downside would be the fact that a Zed window will appear behing the version modal, but this is a limitation for all "window-less" actions currently. Release Notes: - Made "About Zed" menu entry to work when all Zed windows are closed
Kirill Bulatov created
c1cd371
fix: Edit predictions using stale snapshot (#41271)
Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: David Kleingeld <davidsk@zed.dev>
Lukas Wirth and David Kleingeld created
7cb2d83
acp: Start sending Client Info to the Agent (#41265)
Updates to acp crate 0.7, which allows us to send information about the client to the Agent. In the future, we can also use the AgentInfo on the response for internal metrics. Release Notes: - N/A
Ben Brandt created
ae3abf5
editor: Fix panics in `CursorPosition::update_position` (#41237)
Fixes a regression introduced in https://github.com/zed-industries/zed/pull/39857. As for the exact reason this causes this issue I am not yet sure will investigate (as per the todos in code) Fixes ZED-23R Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
edf2ec7
editor: Make hover popover delay strictly respect hover_popover_delay setting (#41149)
Previously, the hover popover delay was implemented using two overlapping timers, which caused the minimum delay to always be at least HOVER_REQUEST_DELAY_MILLIS, regardless of the hover_popover_delay setting. This change updates the logic to wait for hover_popover_delay only, ensuring the total delay is always equals to hover_popover_delay . As a result, the hover popover now appears after the intended delay, matching the user's configuration more accurately. Release Notes: - Improved hover popover respecting settings delay correctly
deltamaya created
2919e19
docs: Display action names in backticks instead of quotes (#41248)
This PR fixes some instances where we were displaying action names in quotes instead of in backticks. Also fixed some mentions of using an action to open the settings file, as this has changed after the release of the settings UI. Release Notes: - N/A
Marshall Bowers created
fd3ca03
workspace: Handle non-cloneable items better (#41215)
When trying to split and clone a non clone-able workspace item we now attempt split and move instead of doing nothing. Additionally we disable the split menu buttons if we can't split the active item at all. Release Notes: - Improved handling of unsplittable panes
Lukas Wirth created
61e4a1d
settings: Fix out of bounds index (#41227)
Fixes ZED-2J8 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
2471ae4
Pre-initialize global rayon threadpool (#41226)
We only use it a handful of times and the default amount of threads (logical cpu core number) its spawns is overkill for this. This also gives the threads names oppose to being labeled `<unknown>` Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
d6b31d8
gpui: Fix `TextLayout::layout` producing invalid text runs (#41224)
The issues is that the closure supplied to `request_measured_layout` could be run multiple times with differing `known_dimensions`. This in turn will mean we truncate the font runs once, inserting a multibyte char at the end but then in the next iteration use those truncated runs for possible the original untruncated string which has multibyte characters overlapping the now truncated run end resulting in a faulty utf8 boundary index. Solution to this is simple, truncate a clone of the runs when needed instead of modifying the original. Fixes https://github.com/zed-industries/zed/issues/36925 Fixed ZED-2FF Fixes ZED-2KM Fixes ZED-2KK Fixes ZED-1FF Fixes ZED-255 Fixes ZED-2JD Fixes ZED-2FX Fixes ZED-2K2 Fixes ZED-2JX Fixes ZED-2GE Fixes ZED-2FC Fixes ZED-2GD Fixes ZED-2HY Fixes ZED-2HR Fixes ZED-2FN Fixes ZED-2GT Fixes ZED-2FK Fixes ZED-2EY Fixes ZED-27E Fixes ZED-272 Fixes ZED-2EM Fixes ZED-2CC Fixes ZED-29V Fixes ZED-25B Fixes ZED-257 Fixes ZED-24R Fixes ZED-24Q Fixes ZED-23Z Fixes ZED-227 Release Notes: - Fixed a crash in text shaping when truncating rendered text
Lukas Wirth created
95ad7a6
gpui: Drop unnecessary use of `StringIndexConverter` (#41221)
Might help with ZED-1FF Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
54a7da3
Fix task terminal split (#41218)
Re-lands https://github.com/zed-industries/zed/pull/40824 Release Notes: - N/A
Kirill Bulatov created
003a397
Try working around spurious rebuild bug in cargo (#41015)
We've been seeing a lot of weird constant rebuilds recently with rust-anaylzer's check, either with cargo thinking build scripts are too new timestamp wise or all fingerprints having gone missing somehow (???). Reading through some related bug reports hints at disabling incremental potentially working around this for now so let's test that out cc https://github.com/rust-lang/cargo/issues/16104 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
33ec545
workspace: Make `Item::clone_on_split` async (#41211)
Split out from https://github.com/zed-industries/zed/pull/40774 to reduce the size of the reland of that PR (once I figure out the cause of the issue) Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
b7cc597
languages: Add inline values support for JavaScript, TypeScript, and TSX (#40914)
Adds debugger inline values support for JavaScript, TypeScript, and TSX languages. Release Notes: - debugger: Add inline value support for Javascript, TypeScript, and TSX --------- Co-authored-by: Anthony <anthony@zed.dev>
phpjit and Anthony created
ef30624
settings_ui: Add telemetry (#40973)
1. Settings Viewed: Whenever someone opens or refocus the settings ui via an action 2. Settings Closed: When the settings ui window is closed 3. Settings Navigation Clicked: The category and subcategory that a user clicked on 4. Settings Error Shown: Whenever an error banner shows up 5. Settings Changed: The setting a user changed through the UI cc: @katie-z-geer Release Notes: - N/A
Anthony Eid created
615d1d7
Avoid menu clipping with debugger welcome panel on resize (#41177)
Before: <img width="1345" height="58" alt="before" src="https://github.com/user-attachments/assets/cba79bba-6437-47fd-ad2b-b4ceaf03ef5d" /> After: <img width="1756" height="90" alt="after" src="https://github.com/user-attachments/assets/3442c7f6-a4dc-4c4c-92c5-2ca5ad9beb0d" /> Release Notes: - N/A
Abdelhakim Qbaich created
45983e1
markdown: Add support for HTML lists (#39553)
This PR adds support for **HTML** both ordered and unordered lists.
<img width="1441" height="805" alt="Screenshot 2025-10-07 at 21 40 17"
src="https://github.com/user-attachments/assets/8a54aec1-75aa-48fb-bf9f-c153cca48682"
/>
See code example used inside the screenshot:
```html
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item
<ol>
<li>Indented item</li>
<li>Indented item</li>
</ol>
</li>
<li>Fourth item</li>
</ol>
```
TODO:
- [x] Add examples
- [x] update description (screenshots, add small description)
- [x] fix displaying of nested lists
cc @bennetbo
Release Notes:
- markdown preview: Added support for HTML lists
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Remco Smits and Bennet Bo Fenner created
06e1db5
codex: Delete older versions after installing new one (#41191)
Release Notes: - codex: Fixed an issue where downloading a new version would not delete older versions
Bennet Fenner created
8e09256
Handle itemDefaults in CompletionList according to spec (#41187)
Closes https://github.com/zed-extensions/java/issues/101 Previously Zed did not handle resolving CompletionList with itemDefaults correctly according to the [LSP-Spec](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#:~:text=/**%0A%09%20*%20The%20edit%20text,%3F%3A%20string%3B). When a `CompletionList` is provided by the server, that includes ranges as `itemDefaults`, the field to use for the snippet to insert as `newText` is in the `textEditText` field, with a fallback to `label` if that does not exist (`insertText` is ignored). Release Notes: - Fixed Java language severs' completion defaults handling on Zed's side
Karl-Erik Enkelmann created
79ef10b
markdown: Add support for `HTML` table column `align` attribute (#41163)
This PR allows you to define `align="right"` for example to change the
default alignment on **HTML** table columns. This PR also refactors
where we store the alignments in order to make it so you can define it
column based instead of only row based.
See that the `Revenue` column is left aligned instead of the default
`centered`.
**Result**
<img width="1161" height="177" alt="Screenshot 2025-10-25 at 11 01 38"
src="https://github.com/user-attachments/assets/94bda4f0-00c1-4726-a3bd-99b3f2573ef5"
/>
**Code example**
```HTML
<table>
<tr>
<th rowspan="2">Region</th>
<th colspan="2" align="left">Revenue</th>
<th rowspan="2">Growth</th>
</tr>
<tr>
<th>Q2 2024</th>
<th>Q3 2024</th>
</tr>
<tr>
<td>North America</td>
<td>$2.8M</td>
<td>$2.4B</td>
<td>+85,614%</td>
</tr>
<tr>
<td>Europe</td>
<td>$1.2M</td>
<td>$1.9B</td>
<td>+158,233%</td>
</tr>
<tr>
<td>Asia-Pacific</td>
<td>$0.5M</td>
<td>$1.4B</td>
<td>+279,900%</td>
</tr>
</table>
```
Release Notes:
- markdown preview: Add support for `HTML` table column `align`
attribute
Remco Smits created
986ca19
markdown: Fix HTML tables with mismatching columns (#41108)
Follow-up: https://github.com/zed-industries/zed/pull/39898
Right now, we don't fill the empty column when the current row count is
less than the max row count. This PR fixes that by filling it with an
empty cell. So the table columns don't flow in the wrong direction, as
you can see inside the first screenshot.
**Before**
<img width="1095" height="182" alt="Screenshot 2025-10-24 at 16 09 02"
src="https://github.com/user-attachments/assets/e3abf24e-c190-4bd7-b43a-39f2f01ecd1c"
/>
**After**
<img width="1165" height="178" alt="Screenshot 2025-10-24 at 16 19 17"
src="https://github.com/user-attachments/assets/427c25f9-82a7-498b-a1a2-d71e4c288fe5"
/>
**Code example**
```html
<table>
<tr>
<th rowspan="2">Region</th>
<th colspan="2">Revenue</th>
<th rowspan="2">Growth</th>
</tr>
<tr>
<th>Q2 2024</th>
<th>Q3 2024</th>
</tr>
<tr>
<td>North America</td>
<td>$2.8M</td>
<td>$2.4B</td>
<td>+85,614%</td>
<td>+99%</td> // extra column here
</tr>
<tr>
<td>Europe</td>
<td>$1.2M</td>
<td>$1.9B</td>
<td>+158,233%</td>
</tr>
<tr>
<td>Asia-Pacific</td>
<td>$0.5M</td>
<td>$1.4B</td>
<td>+279,900%</td>
</tr>
</table>
```
**Note** there are no release notes, as the previous PR didn't get
released yet.
Release Notes:
- N/A
Remco Smits created
42d8d77
Update GDScript documentation (#41142)
Some information in the GDScript documentation page was outdated (like it still treats Zed if it was a macOS exclusive app) or some details were missing. - The `zed-gdscript` URL has been updated with the new owner. - Pre-requisites added (with netcat included). - Godot installation steps removed, it's now listed in the pre-requisites. - Setup steps simplified and reworded. The note at the bottom was removed as I didn't see the issue in my end. Release Notes: - N/A
Douglas Leão created
e4c90be
Add more detailed error for remove_file (#41147)
This should help us debug #40958. Release Notes: - N/A
Julia Ryan created
7433d85
Notify on opening WSL paths outside of wsl (#40195)
Closes #27340 Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
1dffdea
Fix duplicate hints in multi buffer excerpts during editing and scrolling (#41143)
Follow-up of https://github.com/zed-industries/zed/pull/40183 Closes https://github.com/zed-industries/zed/issues/24798 Release Notes: - N/A
Kirill Bulatov created
1f40a3c
Document global debug.json usage and fix REPL error copy (#40836)
## Overview - document how to keep a per-user debug.json so global launch tasks show up everywhere (Fixes #39849) - sanitize REPL terminal text before copying so error blocks can be copied and opened in buffers (Fixes #40207) ## Design Decisions - reused the existing user debug file (paths::debug_scenarios_file) and pointed docs at the zed::OpenDebugTasks command to stay aligned with the settings UX - extract a sanitize helper inside TerminalOutput::full_text to strip \r/null padding while keeping indentation intact, then join the cleaned lines so clipboard and buffers get readable text ## Testing - Not run (cargo is unavailable in this environment) Fixes #39849. Fixes #40207.
Mohin Hasin Rabbi created
92c3127
Add support for GitHub Copilot /responses endpoint (#40762)
Add support for GithubCopilot /responses endpoint. This gives the copilot chat provider the ability to use the new GPT-5 codex model and any other model that lacks support for /chat/copmletions endpoint. Closes #38858 Release Notes: - Add support for GithubCopilot /responses endpoint. # Added 1. copilot_response.rs that has the /response endpoint types 2. uses response endpoint if model does not support /chat/completions. 3. new into_copilot_response() to map LanguageCompletionEvents to Request. 4. new map_stream() to map response stream event to LanguageCompletionEvents and tests. 5. Fixed a bug where trying to parse response for non streaming for /chat/completion was failing # Notes There is a pr open - https://github.com/zed-industries/zed/pull/39989 for adding /response support for OpenAi and OpenAi compatible API. Altough they share some similarities (copilot api seems to mirror openAi directly) ive simplified some stuff and tried to keep it the same with the vscode-chat implementation where possible. There might be a case for code reuse but i think keeping them separate for now should be ok. # Tool Calls <img width="716" height="670" alt="Screenshot from 2025-10-15 17-12-30" src="https://github.com/user-attachments/assets/14e88a52-ba8b-4209-8f78-73d15034b1e0" /> # Image <img width="923" height="494" alt="Screenshot from 2025-10-21 02-02-26" src="https://github.com/user-attachments/assets/b96ce97c-331e-45cb-b5b1-7aa10ed387b4" />
Somtoo Chukwurah created
a7c5b8d
Add `ResetAllZoom` and `ResetAgentZoom ` actions (#41124)
Very often, when I'm testing or playing around with the zoom feature, including the agent panel, I find myself missing one quick action that would bring everything back to normal. That's what `ResetAllZoom` does. If you have customized your zoom level in all areas of Zed, that action returns everything to its default state. Similarly, if you're playing around with zoom just in the agent panel, `ResetAgentZoom` does the same in that context. Release Notes: - Added the `ResetAllZoom` and `ResetAgentZoom ` actions, allowing to return the zoom level across the whole app and/or just in the agent panel to its default/original value.
Danilo Leal created