8b6bd20
Try to improve nix caching (#48297)
Click to expand commit body
Release Notes: - N/A
Conrad Irwin created
8b6bd20
Try to improve nix caching (#48297)
Release Notes: - N/A
Conrad Irwin created
8bf3b4f
git: Refactor buffer_diff point translation APIs for more efficient side-by-side diff syncing (#48237)
The side-by-side diff heavily relies on a primitive from `buffer_diff` that converts a point on one side of the diff to a range of points on the other side. The way this primitive is set up on main is pretty naive--every time we call `points_to_base_text_points` (or `base_text_points_to_points`), we need to iterate over all hunks in the diff. That's particularly bad for the case of constructing a new side-by-side diff starting from a multibuffer, because we call those APIs once per excerpt, and the number of excerpts is ~equal to the number of hunks. This PR changes the point translation APIs exposed by `buffer_diff` to make it easier to use them efficiently in `editor`. The new shape is a pair of functions that return a patch that can be used to translate from the main buffer to the base text or vice versa. When syncing edits through the block map that touch several excerpts for the same buffer, we can reuse this patch for excerpts after the first--so when building a new side-by-side diff, we'll iterate over each hunk just once. The shape of the new APIs also sets us up to scale down to cases like editing on the right-hand side of the diff: we can pass in a point range and give them permission to return an approximate patch that's only guaranteed to give the correct results when used with points in that range. For edits that only affect one excerpt, and given how the project diff is set up, that should allow us to skip iterating over most of the hunks in a buffer. Release Notes: - N/A --------- Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Cole Miller and cameron created
555c002
Add initial support for edit predictions via Ollama (#48233)
Closes https://github.com/zed-industries/zed/issues/15968 Release Notes: - Added the ability to use Ollama as an edit prediction provider --------- Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Oleksiy Syvokon , and Ben Kunkle created
eff4b93
ci: Re-enable docs deployments (#48303)
This PR re-enables docs deployments. The upstream incident has been resolved: https://www.cloudflarestatus.com/incidents/m1xvmqf37z97 Release Notes: - N/A
Marshall Bowers created
1dffb8c
Simplify error message and provide a route to Zed log (#48301)
Closes #46780 Creates a better flow for handling errors when a devcontainer fails, by shortening the message and giving the user a direct route to the Zed log. Additionally, the error from `stderr` is printed with proper line endings, making the log more legible <img width="1716" height="1093" alt="Screenshot 2026-02-03 at 2 54 50 PM" src="https://github.com/user-attachments/assets/08d7847b-c9b8-49e9-9936-6ae417f82fb2" /> <img width="1711" height="908" alt="Screenshot 2026-02-03 at 2 55 07 PM" src="https://github.com/user-attachments/assets/a2676419-a118-432e-8e8a-32c6e92f4f3b" /> <img width="2901" height="542" alt="Screenshot 2026-02-03 at 2 55 48 PM" src="https://github.com/user-attachments/assets/ea9de533-c1c6-4cb7-bd79-e44bd035537c" /> Release Notes: - Improved error messaging and handling in the event of a devcontainer launch failure
KyleBarton created
9ef1afd
Optimize resource upload in D3D11 (#48282)
Currently, each time we draw a primitive batch, we fully overwrite the instance buffer with the contents of the new batch. Since we use a write-only mapping to do this, the GPU driver may handle synchronization hazards by transparently creating new allocations if the previous allocation is still in use. We draw many primitive batches in one frame, which stress-tests this mechanism somewhat. If internal driver limits are hit, the resource update will start to block until the GPU catches up and releases in-use allocations. This would result in a significant reduction in framerate. To avoid this, we upload the data for all primitive batches at once at the beginning of the frame. Each primitive batch draw then binds the relevant sub-array of the instance buffer. This way, there are no mid-frame resource updates. Release Notes: - N/A
John Tur created
8f4c493
Update Rust crate jsonwebtoken to v10 [SECURITY] (#48294)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [jsonwebtoken](https://redirect.github.com/Keats/jsonwebtoken) |
workspace.dependencies | major | `9.3` → `10.0` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
### GitHub Vulnerability Alerts
####
[GHSA-h395-gr6q-cpjc](https://redirect.github.com/Keats/jsonwebtoken/security/advisories/GHSA-h395-gr6q-cpjc)
## Summary:
It has been discovered that there is a Type Confusion vulnerability in
jsonwebtoken, specifically, in its claim validation logic.
When a standard claim (such as nbf or exp) is provided with an incorrect
JSON type (Like a String instead of a Number), the library’s internal
parsing mechanism marks the claim as “FailedToParse”. Crucially, the
validation logic treats this “FailedToParse” state identically to
“NotPresent”.
This means that if a check is enabled (like: validate_nbf = true), but
the claim is not explicitly marked as required in required_spec_claims,
the library will skip the validation check entirely for the malformed
claim, treating it as if it were not there. This allows attackers to
bypass critical time-based security restrictions (like “Not Before”
checks) and commit potential authentication and authorization bypasses.
## Details:
The vulnerability stems from the interaction between the TryParse enum
and the validate function in
[src/validation.rs](https://redirect.github.com/Keats/jsonwebtoken/blob/master/src/validation.rs).
1. The TryParse Enum: The library uses a custom TryParse enum to handle
claim deserialization:
```
enum TryParse<T> {
Parsed(T),
FailedToParse, // Set when deserialization fails (e.g. type mismatch)
NotPresent,
}
```
If a user sends {“nbf”: “99999999999”} (legacy/string format), serde
fails to parse it as u64, and it results in TryParse::FailedToParse.
1. The Validation Logic Flaw (src/validation.rs): In
Validation::validate, the code checks for exp and nbf
like this:
```
// L288-291
if matches!(claims.nbf, TryParse::Parsed(nbf) if options.validate_nbf && nbf > now + options.leeway) {
return Err(new_error(ErrorKind::ImmatureSignature));
}
```
This matches! macro explicitly looks for TryParse::Parsed(nbf).
• If claims.nbf is FailedToParse, the match returns false.
• The if block is skipped.
• No error is returned.
1. The “Required Claims” Gap: The only fallback mechanism is the
“Required Claims” check:
```
// Lines 259-267
for required_claim in &options.required_spec_claims {
let present = match required_claim.as_str() {
"nbf" => matches!(claims.nbf, TryParse::Parsed(_)),
// ...
};
if !present { return Err(...); }
}
```
If “nbf” IS in required_spec_claims, FailedToParse will fail the
matches!(..., Parsed(_)) check, causing the present to be false, and
correctly returning an error.
However, widely accepted usage patterns often enable validation flags
(validate_nbf = true) without adding the claim to the required list,
assuming that enabling validation implicitly requires the claim’s
validity if it appears in the token. jsonwebtoken seems to violate this
assumption.
Environment:
• Version: jsonwebtoken 10.2.0
• Rust Version: rustc 1.90.0
• Cargo Version: cargo 1.90.0
• OS: MacOS Tahoe 26.2
POC:
For demonstrating, Here is this simple rust code that demonstrates the
bypass. It attempts to validate a token with a string nbf claiming to be
valid only in the far future.
create a new project:
```
cargo new nbf_poc; cd nbf_poc
```
add required dependencies:
```
cargo add serde --features derive
cargo add jsonwebtoken --features rust_crypto
cargo add serde_json
```
replace the code in src/main.rs with this:
```
use jsonwebtoken::{decode, Validation, Algorithm, DecodingKey, Header, EncodingKey, encode};
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
struct Claims {
sub: String,
nbf: String, // Attacker sends nbf as a String
exp: usize,
}
fn main() {
let key: &[u8; 24] = b"RedMouseOverTheSkyIsBlue";
// nbf is a String "99999999999" (Far future)
// Real nbf should be a Number.
let my_claims: Claims = Claims {
sub: "krishna".to_string(),
nbf: "99999999999".to_string(),
exp: 10000000000,
};
let token: String = encode(&Header::default(), &my_claims, &EncodingKey::from_secret(key)).unwrap();
println!("Forged Token: {}", token);
// 2. Configure Validation
let mut validation: Validation = Validation::new(Algorithm::HS256);
validation.validate_nbf = true; // Enable NBF check
// We do NOT add "nbf" to required_spec_claims (default behavior)
// We decode to serde_json::Value to avoid strict type errors in our struct definition hiding the library bug.
// The library sees the raw JSON with string "nbf".
let result: Result<jsonwebtoken::TokenData<serde_json::Value>, jsonwebtoken::errors::Error> = decode::<serde_json::Value>(
&token,
&DecodingKey::from_secret(key),
&validation
);
match result {
Ok(_) => println!("Token was accepted despite malformed far-future 'nbf'!"),
Err(e) => println!("Token rejected. Error: {:?}", e),
}
}
```
run cargo run
expected behaviour:
```
Forged Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJrcmlzaG5hIiwibmJmIjoiOTk5OTk5OTk5OTkiLCJleHAiOjEwMDAwMDAwMDAwfQ.Fm3kZIqMwqIA6sEA1w52UOMqqnu4hlO3FQStFmbaOwk
```
Token was accepted despite malformed far-future 'nbf'!
Impact:
If an application uses jsonwebtoken nbf (Not Before) to schedule access
for the future (like “Access granted starting tomorrow”).
By sending nbf as a string, an attacker can bypass this restriction and
access the resource immediately.
and for the exp claim (this is unlikely but still adding), If a
developer sets validate_exp = true but manually handles claim presence
(removing exp from required_spec_claims), an attacker can send a string
exp (e.g., “never”) and bypass expiration checks entirely. The token
becomes valid forever.
---
### Release Notes
<details>
<summary>Keats/jsonwebtoken (jsonwebtoken)</summary>
###
[`v10.3.0`](https://redirect.github.com/Keats/jsonwebtoken/blob/HEAD/CHANGELOG.md#1030-2026-01-27)
[Compare
Source](https://redirect.github.com/Keats/jsonwebtoken/compare/v10.2.0...v10.3.0)
- Export everything needed to define your own CryptoProvider
- Fix type confusion with exp/nbf when not required
###
[`v10.2.0`](https://redirect.github.com/Keats/jsonwebtoken/blob/HEAD/CHANGELOG.md#1020-2025-11-06)
[Compare
Source](https://redirect.github.com/Keats/jsonwebtoken/compare/v10.1.0...v10.2.0)
- Remove `Clone` bound from decode functions
###
[`v10.1.0`](https://redirect.github.com/Keats/jsonwebtoken/blob/HEAD/CHANGELOG.md#1010-2025-10-18)
[Compare
Source](https://redirect.github.com/Keats/jsonwebtoken/compare/v10.0.0...v10.1.0)
- add `dangerous::insecure_decode`
- Implement TryFrom \&Jwk for DecodingKey
###
[`v10.0.0`](https://redirect.github.com/Keats/jsonwebtoken/blob/HEAD/CHANGELOG.md#1000-2025-09-29)
[Compare
Source](https://redirect.github.com/Keats/jsonwebtoken/compare/v9.3.1...v10.0.0)
- BREAKING: now using traits for crypto backends, you have to choose
between `aws_lc_rs` and `rust_crypto`
- Add `Clone` bound to `decode`
- Support decoding byte slices
- Support JWS
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
renovate[bot] , renovate[bot] , and Marshall Bowers created
cb647fc
Disable default tool permissions (#48278)
Follow-up to https://github.com/zed-industries/zed/pull/48209 - those hardcoded rules are replacing these default settings, which will make the rules clearer by removing the "override" scenario. (No release notes because granular tool permissions are still behind a feature flag.) Release Notes: - N/A
Richard Feldman created
477069e
languages: Remove duplicate keywords in TSX syntax highlighting (#48196)
Closes #48178 Release Notes: - Fixed issue where certain keywords were incorrectly highlighted in TSX files
Kunall Banerjee created
30b7762
Update Rust crate bytes to v1.11.1 [SECURITY] (#48293)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [bytes](https://redirect.github.com/tokio-rs/bytes) |
workspace.dependencies | minor | `1.10.1` → `1.11.1` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
### GitHub Vulnerability Alerts
####
[GHSA-434x-w66g-qw3r](https://redirect.github.com/tokio-rs/bytes/security/advisories/GHSA-434x-w66g-qw3r)
# Details
In the unique reclaim path of `BytesMut::reserve`, the condition
```rs
if v_capacity >= new_cap + offset
```
uses an unchecked addition. When `new_cap + offset` overflows `usize` in
release builds, this condition may incorrectly pass, causing `self.cap`
to be set to a value that exceeds the actual allocated capacity.
Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted
`cap` value and may create out-of-bounds slices, leading to UB.
This behavior is observable in release builds (integer overflow wraps),
whereas debug builds panic due to overflow checks.
## PoC
```rs
use bytes::*;
fn main() {
let mut a = BytesMut::from(&b"hello world"[..]);
let mut b = a.split_off(5);
// Ensure b becomes the unique owner of the backing storage
drop(a);
// Trigger overflow in new_cap + offset inside reserve
b.reserve(usize::MAX - 6);
// This call relies on the corrupted cap and may cause UB & HBO
b.put_u8(b'h');
}
```
# Workarounds
Users of `BytesMut::reserve` are only affected if integer overflow
checks are configured to wrap. When integer overflow is configured to
panic, this issue does not apply.
---
### Release Notes
<details>
<summary>tokio-rs/bytes (bytes)</summary>
###
[`v1.11.1`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1111-February-3rd-2026)
[Compare
Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1)
- Fix integer overflow in `BytesMut::reserve`
###
[`v1.11.0`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1110-November-14th-2025)
[Compare
Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0)
- Bump MSRV to 1.57
([#​788](https://redirect.github.com/tokio-rs/bytes/issues/788))
##### Fixed
- fix: `BytesMut` only reuse if src has remaining
([#​803](https://redirect.github.com/tokio-rs/bytes/issues/803))
- Specialize `BytesMut::put::<Bytes>`
([#​793](https://redirect.github.com/tokio-rs/bytes/issues/793))
- Reserve capacity in `BytesMut::put`
([#​794](https://redirect.github.com/tokio-rs/bytes/issues/794))
- Change `BytesMut::remaining_mut` to use `isize::MAX` instead of
`usize::MAX`
([#​795](https://redirect.github.com/tokio-rs/bytes/issues/795))
##### Internal changes
- Guarantee address in `slice()` for empty slices.
([#​780](https://redirect.github.com/tokio-rs/bytes/issues/780))
- Rename `Vtable::to_*` -> `Vtable::into_*`
([#​776](https://redirect.github.com/tokio-rs/bytes/issues/776))
- Fix latest clippy warnings
([#​787](https://redirect.github.com/tokio-rs/bytes/issues/787))
- Ignore `BytesMut::freeze` doctest on wasm
([#​790](https://redirect.github.com/tokio-rs/bytes/issues/790))
- Move `drop_fn` of `from_owner` into vtable
([#​801](https://redirect.github.com/tokio-rs/bytes/issues/801))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
1aee8b4
agent_thread: Improve wording of confirmation label text in agent thread (#48202)
Waiting is usually followed by “for,” which would make the label too wordy. Awaiting is transitive and requires a direct object, in this case your confirmation. Really not a crazy change, but something that has been bothering me for quite some time now. 😅 Release Notes: - Improved wording of confirmation label text in agent thread
Kunall Banerjee created
f07305b
Remove duplicated logic to unify code paths (#48291)
Small fix for a bug introduced in #47411 In-progress dev container creation didn't show up in modal because of a duplicated code path. This unifies the logic and ensures that "creating dev container" shows up while creation in progress. Release Notes: - Fixed modal for creating dev container
KyleBarton created
d954782
editor: Ensure that spacer blocks are visible in light themes (#48287)
The color used for the slash pattern when rendering `Block::Spacer` was set to a fixed color, `0xFFFFFF10`, which is almost white, making it super hard to view in light themes, where the editor's background is almost white. As such, this commit updates that color so as to use something that is more theme-specific, ensuring that it is easily visible in both light and dark themes. Release Notes: - N/A
Dino created
9fbf609
ci: Temporarily disable docs deployments (#48292)
This PR temporarily disables deployments of the docs. There seems to be some lingering fallout from https://www.cloudflarestatus.com/incidents/jk2mx637l9k9 that is causing new deployments to not work. We are rolling back to an older deployment, and are disabling deploys so that we don't clobber the rollback. Release Notes: - N/A
Marshall Bowers created
1b86dbc
git_ui: Hide "View on GitHub" button when viewing stashes in commit view (#48271)
Closes #48195 Filter out `remote_info` when viewing stashes by adding `.filter(|_| self.stash.is_none())`. Release Notes: - Fixed "View on GitHub" button incorrectly appearing when viewing stashes
ᴀᴍᴛᴏᴀᴇʀ created
0952ee7
project_panel: Fix test-support feature mismatch (#48280)
Follow-up to #46337 `project_panel` tests enable `remote/test-support` (via `workspace`/`project`), which adds `RemoteConnectionOptions::Mock`. But without `remote_connection/test-support`, the match arm for that variant isn't compiled, causing a non-exhaustive match error when testing the crate in isolation. CI doesn't catch this because `git_ui` happens to enable `remote_connection/test-support` during workspace-wide tests. Release Notes: - N/A
Smit Barmase created
13a06e6
Add detection of devcontainers in subfolders (#47411)
Release Notes: - Add detection of devcontainers in subfolders --------- Co-authored-by: KyleBarton <kjb@initialcapacity.io>
Caio Piccirillo and KyleBarton created
18a3b0c
Re-add deleted comment in `default.json` (#48279)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
6600154
Fix incorrect memory display in the language servers menu on Linux (#48245)
While trying out the new feature introduced in #48226, I noticed an issue on Linux where the reported memory usage is incorrect. On Linux, even when using ProcessRefreshKind::nothing, thread information is still collected. To fix this, the memory calculation needs to explicitly exclude task/thread data by using without_tasks. Before <img width="544" height="186" src="https://github.com/user-attachments/assets/438c15b2-b1f1-42df-9ffe-dea2f5b1b6ce" /> After <img width="531" height="139" src="https://github.com/user-attachments/assets/a0e5aae5-9558-4bfc-b368-8306bbc7c37e" /> Release Notes: - N/A
feeiyu created
3f8bc2d
languages: Add support for detecting libstdc++ headers (#48250)
https://github.com/zed-industries/zed/pull/47443#issuecomment-3834807752 Support detect libstdc++ headers <img width="1335" height="830" src="https://github.com/user-attachments/assets/4a8b8376-029b-41c5-a53b-d1a02a061818" /> Release Notes: - N/A
feeiyu created
f565fb8
gpui: Make entities no longer implement Element (they go through AnyElement now) (#48217)
This reduces e.g. agent_ui's LLVM lines from 1.95m to 1.7m ( -> 56009 -> 50899). git_ui: 1.02 -> 0.917m (30700 functions -> 27496) Overall, anything that implements `Render` should benefit. OTOH `editor` does not, because it has a custom `Element` impl. Release Notes: - N/A
Piotr Osiewicz created
92ad7c3
project_panel: Add right-click download option for folders/files stored in remote development server (#47344)
Closes #24431 , closes #42501 https://github.com/user-attachments/assets/13ace1d7-7699-4f2b-aa97-86235008adb3 Release Notes: - Added right click download option for folders/files stored in remote development server
Leo created
f21a933
settings: Improve performance for internal editorconfig resolution (#48243)
Replaces O(N) iteration over all internal configs with O(D × log N) direct ancestor lookups, where D is path depth and N is total config count. Release Notes: - N/A
Smit Barmase created
b951bd3
Fix subdirectory `.editorconfig` files being ignored in certain directory structures (#48203)
Closes #48187 The bug occurred when iterating internal_configs (a BTreeMap sorted by path): the code would `break` on the first non-matching path, causing configs with lexicographically later paths to be skipped. For example, when querying "d/d.rs" with configs ["", "b", "d"], iteration would break at "b" (since "d/d.rs" doesn't start with "b"), preventing "d"'s config from being applied. This PR replaces `break` with `continue` to skip non-ancestors, and adds a minor early-exit optimization when `config_path > for_path` since later paths can't be ancestors. Release Notes: - Fixed subdirectory `.editorconfig` files being ignored in certain directory structures
ᴀᴍᴛᴏᴀᴇʀ created
14621b6
repl: Fix cursor visibility on last line after re-running cells (#48218)
- This also sends the cursor to block placement anchor which is the standard thing to happen when we run cmd/ctrl + shift + enter, this is usually used for Run and Move onto next cell. - Perhaps the ability to stay on the same code will be tackled on further works where not using the shift modifier would signify stay and "just" run the cell. Like #46868 Closes #48069 Release Notes: - Fixed cursor becoming invisible on the last line of REPL cells after re-running
MostlyK created
602d64f
Add configurable REPL output size limits (#47114)
Closes #47113 Adds configurable REPL output size limits with two new settings, `repl.output_max_height_lines` and `repl.output_max_width_columns`, so large outputs scroll instead of expanding and images scale down to fit the available space. The output containers in both inline REPL blocks and notebook cells now respect these bounds, and image sizing uses the same text metrics as the terminal output for consistent column-based width calculations. Release Notes: - REPL output now supports configurable max height and width limits, with large outputs scrolling and images scaling to stay within the viewport.
Casper van Elteren created
8b86ab9
Revert "git: Fix stage/unstage failure with a large number of files (#47800)" (#48238)
This reverts commit 839b4f1e60acd6f67e9b50f6bad5bc3284835872. This changed caused a regression on Windows (reproducer: have a repo with some unstaged changes to tracked files, and click `Commit Tracked`). cc @marcocondrache Release Notes: - N/A (nightly only)
Cole Miller created
2539ac0
vim: Revert changes to search (#48127) (#48234)
Release Notes: - (nightly only) Fixed vim search to be regex by default
Conrad Irwin created
81c6541
Make mercury and sweep non experimental (#48227)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8fd3b85
Migrate `features.edit_prediction_provider` to `edit_predictions.provider` (#48224)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
64a0254
ci: Generate `publish_extension_cli` with `gh_workflow` (#47890)
This moves the extension CLI job into xtask and also extends this a bit - whenever we now run the job, it will open PRs against this repo and `zed-industries/extensions` to also update the SHAs there. These PRs will be assigned to the actor that initiated the bump so they can edit the PR as needed. Release Notes: - N/A
Finn Evers created
85d03d5
Use remote user from devcontainer CLI and respect shell in passwd (#48230)
Closes #46252 Uses the `remoteUser` property returned from the devcontainer CLI so that settings are respected. Additionally, checks for a default shell in `passwd` if `$SHELL` is not set. Release Notes: - Fixed remote_user and shell inconsistencies from within dev containers
KyleBarton created
7b9beb3
Show memory used by language servers (#48226)
Closes https://github.com/zed-industries/zed/issues/32712 <img width="575" height="131" alt="image" src="https://github.com/user-attachments/assets/aaad583c-277c-4a84-b2ce-a18b8b38bc0e" /> Release Notes: - The language servers menu now shows the memory used by each language server.
John Tur created
478ca3a
block_map: Consolidate all companion-related refs into a single CompanionView (#48223)
Release Notes: - N/A -- I think it's possible to clean this up further but will withhold until we land bits necessary to correctly align split view in presence of custom blocks.
Jakub Konka created
68b2cb3
Fix capitalization of libX11 in FreeBSD dependencies (#48159)
This work : > doas pkg install lib**X**11 Release Notes: - N/A
ChtiMacFly created
b96f1c4
Add `sweep_ai` privacy mode setting (#48220)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
b62d73e
Add tool security rules that can't be overridden by settings (#48209)
This change introduces hardcoded security rules for the terminal tool that cannot be bypassed by any setting, including `always_allow_tool_actions`. ## Currently Blocked Commands - `rm -rf /` - Recursive deletion of root filesystem - `rm -rf ~` - Recursive deletion of home directory These rules are checked **before** the `always_allow_tool_actions` global flag, ensuring they can never be bypassed. The rules also check parsed sub-commands, so `ls && rm -rf /` is also blocked. Release Notes: - Certain known-bad tool uses are now automatically blocked, such as the terminal tool attempting to run `rm -rf /` or `rm -rf ~`
Richard Feldman created
f0594e0
settings_ui: Make it so settings links open sub pages (#48212)
Closes #ISSUE Release Notes: - Fixed an issue where opening a link to a settings item that involved a sub page would not open the sub page
Ben Kunkle created
1ac0b77
toolchain: Include rust-src in the rust-toolchain components (#48210)
Josh Robson Chase created
eae101f
Revert "rust: Highlight enum variants as variant" (#48211)
Reverts zed-industries/zed#47918 Rationale: https://github.com/zed-industries/zed/pull/47918#issuecomment-3837291864
Max Brunsfeld created
571ea7c
extension_api: Improve documentation for `make_file_executable` (#48198)
Extension authors frequently guard this method in their extensions although this is not necessary. Thus, this PR updates the documentation of `make_file_executable` with a brief mention to indicate that this is not needed. Release Notes: - N/A
Finn Evers created
9867f16
edit prediction: Drop project state after a project goes away (#48191)
Closes #48097 Release Notes: - Fixed Copilot instances not being cleared up after their window is closed. - Copilot edit prediction provider now respects `disable_ai` setting.
Piotr Osiewicz created
162f3ef
Fix issues with predicted cursor positions (#48205)
Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Max Brunsfeld and Zed Zippy created
64829e9
Add `ep truncate-patch` command to prepare commits evalset (#48204)
Release Notes: - N/A
Oleksiy Syvokon created
a5e15da
Add completions to rate prediction modal for common failure modes (#48199)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
c06847e
language: Avoid cloning of the previous tree_sitter::Tree (#48197)
The parsing text function used the old tree only as a ref so it doesn't make sense to clone it. Release Notes: - N/A
Marco Mihai Condrache created
174fc51
Added support for dismissing the toolchain path selector via `esc` (#48201)
Release Notes: - Added support for dismissing the toolchain path selector via `esc`.
Joseph T. Lyons created
324edc1
git_ui: Fix indent guide rendering in tree view with collapsed folders (#48194)
The indent guide computation was using visible list indices directly to access entries, instead of mapping through `logical_indices` first. This caused incorrect depths to be read from hidden entries when a folder was collapsed, resulting in stray vertical lines extending to unrelated folders. Closes #48189 Release Notes: - Fixed a visual bug in the Git Panel where collapsing a folder in tree view would cause indent guide lines to incorrectly extend to unrelated folders below it.
Dino created
fa0db76
Fix SSH reconnection message (#48190)
Closes #34531 Release Notes: - N/A
localcc created
70c47e9
markdown: Fix markdown table selection hit testing (#47720)
Release Notes: - Fixed markdown table selection hit testing Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created