Adds scripts and a GitHub Action workflow for automatically suggesting
documentation updates when PRs modify user-facing code.
## Scripts
- **`script/docs-suggest`**: Analyze PRs/commits for documentation needs
using AI
- **`script/docs-suggest-publish`**: Create a PR from batched
suggestions
- **`script/docs-strip-preview-callouts`**: Remove Preview callouts when
shipping to stable
- **`script/test-docs-suggest-batch`**: Testing utility for batch
analysis
## Workflow
The GitHub Action (`.github/workflows/docs_suggestions.yml`) handles two
scenarios:
1. **PRs merged to main**: Suggestions are batched to
`docs/suggestions-pending` branch for the next Preview release
2. **Cherry-picks to release branches**: Suggestions are posted as PR
comments for immediate review
## Callout Types
The system distinguishes between:
- **Additive features** (new commands, settings, UI):
```markdown
> **Preview:** This feature is available in Zed Preview. It will be
included in the next Stable release.
```
- **Behavior modifications** (changed defaults, altered existing
behavior):
```markdown
> **Changed in Preview (v0.XXX).** See [release notes](/releases#0.XXX).
```
Both callout types are stripped by `docs-strip-preview-callouts` when
features ship to stable.
## Example Output
See PR #49190 for example documentation suggestions generated by running
this on PRs from the v0.224 preview window.
## Usage
```bash
# Analyze a PR (auto-detects batch vs immediate mode)
script/docs-suggest --pr 49100
# Dry run to see assembled context
script/docs-suggest --pr 49100 --dry-run
# Create PR from batched suggestions
script/docs-suggest-publish
# Strip callouts for stable release
script/docs-strip-preview-callouts
```
Release Notes:
- N/A
This showed up mostly in agents that stream terminal output to Zed that
the title wasn't updated in time to see the command when needing to
provide permissions.
Release Notes:
- acp: Fix for ACP terminal titles not always being updated to their
latest value.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Replaces a bunch of `impl FnMut` parameters with `&mut dyn FnMut` for
functions where this is the sole generic parameter.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Removes the feature flag around listing and loading existing sessions
for external agents.
Release Notes
- acp: Expose session history for all external agents that support it.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Reuses the new multi buffer api from
https://github.com/zed-industries/zed/pull/49349 for inlay hints
Release Notes:
- Reduced occasional stuttering coming from inlay hints in large
multibuffers
Currently, the next chunk is generated by traversing all characters of
the current folded chunk until a tab is found. Since we already have
bitmasks for characters and tabs, we can also propagate the newlines
bitmap from the rope and use it to make this computation O(1) in all
cases.
I haven’t run benchmarks yet.
Release Notes:
- N/A
Previously, clicking "Always allow for `cargo` commands" after running
`cargo build --release` would also silently permit `cargo run`
(arbitrary code execution), `cargo publish`, and any other cargo
subcommand. This was overly broad and did not match user intent.
Now the extracted pattern includes the subcommand when present, so the
button reads "Always allow for `cargo build` commands" and the pattern
`^cargo\s+build\b` only matches `cargo build` invocations — not `cargo
test`, `cargo run`, etc.
### How it works
- The second token is included in the pattern when it looks like a
subcommand (alphanumeric, hyphens, underscores, no leading `-`).
- When the second token is a flag (e.g. `ls -la`), only the command name
is used — the user sees "Always allow for `ls` commands".
- Single-word commands and path-like commands behave the same as before.
### Examples
| Command | Pattern | Button label |
|---|---|---|
| `cargo build --release` | `^cargo\s+build\b` | Always for `cargo
build` commands |
| `cargo test -p search` | `^cargo\s+test\b` | Always for `cargo test`
commands |
| `npm install` | `^npm\s+install\b` | Always for `npm install` commands
|
| `ls -la` | `^ls\b` | Always for `ls` commands |
| `ls` | `^ls\b` | Always for `ls` commands |
| `./script.sh` | *(rejected)* | *(no pattern button)* |
Release Notes:
- Agent: "Always allow" suggestions for terminal commands are now
subcommand-specific (e.g. "Always allow for `cargo build` commands"
instead of "Always allow for `cargo` commands").
This allows us to just pull requests that have the latest EP request
schema with the `predicted` boolean on events in the edit history.
Release Notes:
- N/A
This PR updates the CODEOWNERS file based on the current
team-membership-rules.yml in the codeowner-coordinator repo.
**Coverage:** 100% - all paths have an owner.
## ⚠️ Suggested Entries - Review Required
The following paths were assigned based on git blame analysis of team
members.
**Please verify these assignments are correct before merging.**
| Path | Suggested Team | Based On | Commits |
|------|---------------|----------|---------|
| `crates/git_graph` | developer-tools-team | Anthony Eid | 4 |
| `crates/open_path_prompt` | zed-dev-team | Joseph T. Lyons | 1 |
| `crates/platform_title_bar` | platform-team | Finn Evers | 1 |
| `crates/remote_connection` | ecosystem-team | Piotr Osiewicz | 1 |
| `crates/shell_command_parser` | ai-team | Richard Feldman | 1 |
| `crates/sidebar` | ui-team | Danilo Leal | 1 |
These entries are marked with `# SUGGESTED` comments in the CODEOWNERS
file.
If incorrect, update `team-membership-rules.yml` in the
codeowner-coordinator repo.
Release Notes:
- N/A
---
_This PR was auto-generated by the
[codeowner-coordinator](https://github.com/zed-industries/codeowner-coordinator)
workflow._
Co-authored-by: swannysec <11968319+swannysec@users.noreply.github.com>
Replace the generic folder icon next to thread entries in the workspace
sidebar with the actual agent icon (Claude, Zed Agent, Gemini, etc.) for
the active thread.
Release Notes:
- N/A
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
This removes trailing whitespace when getting the current version of the
extension, as we ran into some cases where a `\r` was added to that for
some reason.
Release Notes:
- N/A
The cache isn't needed, now that we have a better way of reducing
resource consumption (disabling worktree scanning), and it adds race
conditions.
Release Notes:
- N/A
- Defer syncing block maps from `set_companion`, eliminating some
redundant recomputations
- Emit one large multibuffer edit from `set_show_deleted_hunks` instead
of many small edits, to avoid bad case for block map
This cuts hangs roughly in half when toggling between views in a large
diff (1000 commits from the chromium repository).
<!-- Before you mark this PR as ready for review, make sure that you
have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
-->
Release Notes:
- Improved performance with large diffs when toggling between diff
views.
---------
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
We need more fetch depth here for the check, hence bumping this.
Also does a drive-by cleanup of the checkout step within xtask to make
this (hopefully) more intuitive to use.
Release Notes:
- N/A
<img width="435" height="211" alt="Screenshot 2026-02-17 at 1 32 48 PM"
src="https://github.com/user-attachments/assets/136c188d-5001-4526-961e-9f7faccc5f7a"
/>
Add support for the new Claude Sonnet 4.6 model across the anthropic,
bedrock, and language_models crates. Includes base, thinking, and 1M
context variants.
Closes AI-39
Release Notes:
- Added BYOK support for Claude Sonnet 4.6
This PR updates the `Edit Prediction Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.
Closes CLO-224.
Release Notes:
- N/A
---------
Co-authored-by: Tom <tom@zed.dev>
## Summary
- refresh git auth headers before each per-crash iteration in
`background_agent_mvp`
- add guarded `git fetch`/`git checkout` handling so one candidate auth
failure doesn’t fail the entire run
## Context
- fixes the auth failure seen in workflow run 22106378719 (`fatal: could
not read Username for 'https://github.com'`)
- related Linear issue: BIZOPS-853
## Testing
- ruby -e "require 'yaml';
YAML.load_file('.github/workflows/background_agent_mvp.yml')"
Release Notes:
- N/A
Before this PR we wouldn't always serialize workspaces when a
mutliworkspace adds/removes a workspace. This PR fixes this by adding a
test and calling serialization in remove
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Add `remove_worktree()` and `rename_worktree()` to the `GitRepository`
trait with `RealGitRepository` implementations that shell out to `git
worktree remove/move`.
Implement all 4 worktree methods (`worktrees`, `create_worktree`,
`remove_worktree`, `rename_worktree`) on `FakeGitRepository` backed by
`FakeGitRepositoryState`, with `simulated_create_worktree_error` for
test-time fault injection.
Add `set_create_worktree_error()` helper on `FakeFs`.
Add `parse_worktrees_from_str` helper and 7 new tests covering real git
operations and fake worktree lifecycle.
Closes AI-31
Release Notes:
- N/A
This PR updates the `Agent Thread Rated` event to be routed through
Cloud instead of the normal telemetry pipeline.
Closes CLO-223.
Release Notes:
- N/A
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Improved the behavior of the `vim: join lines` and `editor: join lines`. Comment and other language specific line prefixes are now stripped from the join line
Switches `newline_below` from adding a newline to the start of the next
line in a multibuffer, to appending a newline at the end of the
selections current lines. This keeps the insertion within the excerpt of
the selection rather than adding a newline to the excerpt below.
Closes#47965
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed `editor::NewlineBelow` adding a newline to the next multibuffer
excerpt when selection is at the end of an excerpt
Add Kanayago as an available Ruby language server in default settings.
Disabled by default (prefixed with `!`), users can opt-in via their
settings.
This corresponds to the extension-side support added in
zed-extensions/ruby#224.
Release Notes:
- ruby: Added Kanayago as an available language server.
Reverts the editor's paragraph navigation behavior that was changed in
#47734. Whitespace-only lines are now treated as paragraph boundaries
again for non-vim mode users.
Vim mode retains its own implementation where only truly empty lines
are paragraph boundaries.
Release Notes:
- Fixed editor paragraph navigation to treat whitespace-only lines as
paragraph boundaries again
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Release Notes:
- Improved Bedrock error messages: region-locked models ask the user to
try a different region, rate limits and access errors are reported
cleanly instead of as raw API responses
- Streamlined Bedrock model list to 39 curated models
- Fixed API errors when using non-tool models in agent threads
---------
Co-authored-by: Ona <no-reply@ona.com>
It now creates multi-turn conversation, where first two messages are the
original teacher prompt and output.
This way, we'll have changes in teacher prompt automatically applied to
repair without having to explicitly sync them.
Release Notes:
- N/A