Commit log

80b9c3a ep: Add --cache-only option to avoid sending requests (#48011)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

5eeff49 agent_ui: Subagent permissions (#48005)

Click to expand commit body
Release Notes:

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

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Cameron Mcloughlin and Ben Brandt created

bf829a6 ep: Handle input data errors (#48004)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

3e5d1ee terminal: Update title changed info on the background (#48000)

Click to expand commit body
This can take several milliseconds on windows blocking the main thread
noticably

Release Notes:

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

Lukas Wirth created

185a80a cli: Teach `--diff` to recurse into directories and add a `MultiDiffView` (#45131)

Click to expand commit body
This branch:
1. teaches `--diff `command line option to to recurse into folders if
provided.
2. Adds a `MultiDiffView` that shows _all_ changed files in a single,
scrollable view.

This is necessary to provide a smooth user experience for `jj` and Zed
users who wish to use Zed as their jj difftool.

I'm not fully sure how this change interacts with
https://github.com/zed-industries/zed/pull/44936, or what plans y'all
have in mind.

Here's a screenshot of the resulting behavior:

<img width="1090" height="950" alt="Screenshot 2025-12-17 at 9 10 52โ€ฏAM"
src="https://github.com/user-attachments/assets/8efd09b4-974f-4059-9f94-539c484c6d4a"
/>

I setup zed to handle jj diffs by adding the following to my jj config:

```toml
[aliases]
zdiff = ["diff", "--tool", "zed"]

[merge-tools.zed]
program = "/Users/dbarsky/Developer/zed/target/debug/cli"
# omit diff-invocation-mode to keep the default (JJ passes two dirs)
diff-args = [
  "--zed", "/Users/dbarsky/Developer/zed/target/debug/zed",
  "--wait",
  "--new",
  "--diff",
  "$left",
  "$right",
]
```

Release Notes:

- `--diff`, if provided with folders instead of files, will recurse into
those directories.
- Added a `MultiDiffView`, which will show all changed files within a
single, scrollable view.

**AI Disclosure**: Pretty much all of this code was written using Codex
with GPT-5.1-Codex. I edited by hand and tested this.

---------

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

David Barsky and Lukas Wirth created

7053561 docs: Document default for include_warnings (#47838)

Click to expand commit body
## Summary
Add documentation for the default value of `include_warnings` in
diagnostics settings. This makes it consistent with other settings that
document their default values.

## Test plan
- Documentation-only change, no functional changes

Release Notes:

- N/A

Fernando Pรฉrez created

b9c0f75 fs: Cache filesystem case sensitivity (#47995)

Click to expand commit body
We query this on the main thread on every file system access otherwise

Release Notes:

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

Lukas Wirth created

19765cd gpui(windows): Move jumplist creation to background thread (#47956)

Click to expand commit body
This can block the main thread too much otherwise

Release Notes:

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

Lukas Wirth created

28f0461 workspace: Do not attempt to unnecessarily update jump list on invisible worktree updates (#47990)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

9aa71dd Python: Improved the `Add Virtual Environment` path browser to start at the workspace root (#47988)

Click to expand commit body
Previously, the 'Add Virtual Environment' path browser started at the
filesystem root (`/`). Since virtual environments are almost always
located within the project directory, starting at the worktree root
provides feels a bit nicer to me.

Release Notes:

- Python: Improved the `Add Virtual Environment` path browser to start
at the workspace root.

Joseph T. Lyons created

0ede074 Fix missing directories in path prompt when show_hidden is enabled (#47983)

Click to expand commit body
The `Select Toolchain Path` picker would skip directories that exist on
my system and display `open this directory` multiple times. `Personal`
is missing:

<img width="569" height="225" alt="SCR-20260129-tvcc"
src="https://github.com/user-attachments/assets/a78db373-fdfb-439d-a688-a4c81763c745"
/>

```
~/Projects> ls
โ•ญโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ # โ”‚   name   โ”‚ type โ”‚  size  โ”‚  modified   โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0 โ”‚ Personal โ”‚ dir  โ”‚ 1.5 kB โ”‚ 2 weeks ago โ”‚
โ”‚ 1 โ”‚ Work     โ”‚ dir  โ”‚ 1.0 kB โ”‚ 2 hours ago โ”‚
โ•ฐโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
~/Projects> 
```

Release Notes:

- Fixed a bug where directories could be missing from the `Select
Toolchain Path` path picker

Joseph T. Lyons created

0c8a753 ci: Fix release failure notification (#47977)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

fed8b93 Revert "gpui: Take advantage of unified memory on Apple silicon" (#47974)

Click to expand commit body
Reverts zed-industries/zed#45577

This still causes gpui to be unusable for Intel Macs and by extension
Zed.

Release Notes:

- N/A

Anthony Eid created

f1554f8 Remove label field from Feature Request template (#47970)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

b1fd95b copilot: Fix references to uninitialized CopilotAuth global (#47954)

Click to expand commit body
Closes: #46593 #32635 #47924

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Cole Miller <cole@zed.dev>

Release Notes:

- Fixed issues with signing into Copilot via the Settings UI

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Anthony Eid <anthony@zed.dev>

Piotr Osiewicz , Anthony Eid , Cole Miller , Zed Zippy , and Anthony Eid created

22e2c7a collab: Improve project and call notification UI (#47964)

Click to expand commit body
This PR moves the `CollabNotification` component from the collab_ui
crate to the UI crate, so that we can add a component preview to it. It
also fixes problems with text truncation and other little details.

<img width="700" height="1674" alt="Screenshot 2026-01-29 at 4โ€ฏ 07@2x"
src="https://github.com/user-attachments/assets/6aca6cff-564a-4729-b505-c02d8c3af97f"
/>

Release Notes:

- Collab: Fixed overflowing text in project sharing and call
notifications.

Danilo Leal created

ad69357 agent: Support initial prompt via zed://agent URL schema (#47959)

Click to expand commit body
Adds `zed://agent?prompt=<url_encoded_text>` URL support to open the
Agent Panel with a pre-filled prompt.

Release Notes:

- Added support for opening the Agent Panel with an initial prompt via
`zed://agent?prompt=<url_encoded_text>` URL.

Smit Barmase created

b9e9b85 Add security warnings to issue templates (#47957)

Click to expand commit body
Warn users to review and remove secrets from logs and settings before
posting them in bug reports and crash reports.

Release Notes:

- N/A

---------

Co-authored-by: John D. Swanson <swannysec@users.noreply.github.com>

Kunall Banerjee and John D. Swanson created

e713879 Add feature request discussion template (#47962)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

ba41499 gpui: Take advantage of unified memory on Apple silicon (#45577)

Click to expand commit body
Reapplies #44273

I included metal-rs upgrade so we can get this working on Intel-based
Macs

cc: @JosephTLyons @notpeter @rtfeldman @Anthony-Eid 

Release Notes:

- Reduced memory usage on Apple-silicon Macs by using shared memory
where appropriate

---------

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

Marco Mihai Condrache created

04d878e typescript: Fix type import highlighting when alias is not present (#47190)

Click to expand commit body
## Problem
The existing tree-sitter queries for type imports required both name and
alias fields to match. This caused `import type { Foo }` and `import {
type Foo }` to fall back to the generic identifier/variable highlighting
instead of being colored as types.

- `import type { Foo }` โ†’ **NOT matched** (no alias)
- `import { type Foo }` โ†’ **NOT matched** (no alias)  
- `import type { Foo as Bar }` โ†’ Matched โœ“
- `import { type Foo as Bar }` โ†’ Matched โœ“

## Solution
Split the patterns to handle name and alias captures independently.

~## Disclaimer~
~DEBUGGING AND IMPLEMENTATION WAS DONE WITH **AI ASSISTANCE**.~
~**THE FIX HAS NOT BEEN TESTED** - I HAVE NOT COMPILED FROM SOURCE~
- @KyleBarton built from source and verified


Release Notes:

- Fixed typescript type import highlighting

Delyan Haralanov created

a09f0bb git: Use LHS/RHS terminology consistently for side-by-side diff (#47949)

Click to expand commit body
We were using primary/secondary in some places which is just
unnecessarily confusing.

Release Notes:

- N/A

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Cole Miller , cameron , and Jakub Konka created

cd8a7b4 Add back "fs: Replace MacWatcher with notify::FsEventWatcher"" (#47952)

Click to expand commit body
Reverts zed-industries/zed#47799

Now that we have a week to let this be tested in Nightly we can merge it
again

Release Notes:
 
- Fix to many file descriptors error in MacOS

Anthony Eid created

263e000 agent_ui: Add adjustments to terminal selection as context (#47950)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/47637

- Removes the requirement for the terminal to be focused to use the
`cmd->` keybinding. This way, we match the behavior of buffer selections
and you can always add what's selected in the terminal inside the agent
panel
- Add number of lines selected in the mention button as well
- Make the "Selection" menu item inside the "Add Context" menu also
observe terminal selections

<img width="420" height="254" alt="Screenshot 2026-01-29 at 1โ€ฏ 36@2x"
src="https://github.com/user-attachments/assets/25d2eb00-096f-44d9-8882-273932ca43e4"
/>

Release Notes:

- Agent: Add number of liners selected in the terminal context mention

Danilo Leal created

ad24b3f git: Fix missing hunk controls on side-by-side diff RHS (#47815)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

949972b project: Always allocate WorktreeIDs on the remote client (#47936)

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

Release Notes:

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

Lukas Wirth created

52182e4 agent_ui: Add ability to add terminal output to agent context (#47637)

Click to expand commit body
Summary

This PR adds the ability to quote terminal selections into Agent
threads, similar to how editor selections can be quoted. Users can now
select text in the terminal and add it as context to their agent
conversation.

### Features

- **Context menu**: Added "Add to Agent Thread" option to the terminal's
right-click menu (only shows when text is selected)
- **Keyboard shortcut**: The existing `cmd->` / `ctrl->` shortcut now
works in the terminal
- **Collapsed display**: Terminal output appears as a collapsed
"Terminal" crease in the chat, just like code references
- **Works with both thread types**: Supports both ACP-style threads
(Claude Code) and text threads

### Implementation

- Extended `quote_selection` handler to check for terminal panel focus
after checking for editor selections
- Terminal content is formatted as ` ```terminal` code blocks via new
`insert_terminal_crease` method
- Refactored crease insertion into `insert_crease_impl` helper to
support both code snippets (with `TextSnippet` icon) and terminal output
(with `Terminal` icon)
- Added automatic detection and folding of ` ```terminal` blocks in
`set_message` so terminal content stays collapsed in sent message
history
- Terminal creases use a trailing space instead of newline so cursor
behavior matches user expectations

### Demo

1. Select text in terminal
2. Right-click โ†’ "Add to Agent Thread" (or press `cmd->`)
3. Terminal content appears as collapsed "Terminal" block in chat
4. Send message - AI receives full terminal output, but chat history
shows it collapsed

### General note

I'm new to open source and the codebase in general so let me know if
anything should be different!
I tried to stay in line with other patterns I saw.
I didn't see a way to setup an end to end test with a real terminal so I
just added a unit test for the adding of the text to the chat, if it
exists and I missed it then I think the test coverage could be improved
with a test that uses a real terminal + running the command

<img width="431" height="148" alt="image"
src="https://github.com/user-attachments/assets/854732f9-2a7f-4f31-867e-d54af068c97c"
/>


Release Notes:

- agent: Added the ability to send selections from terminals into the
Agent thread

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Rutger Cappendijk and Ben Brandt created

d18d4b1 thread view: Improve thinking mode toggle UI (#47945)

Click to expand commit body
Add the icon to the left side of the message editor, add a new icon for
when the thinking mode is toggled on, and add a keybinding for the
action. Currently available under a feature flag-only but should be out
soon.

<img width="400" height="318" alt="Screenshot 2026-01-29 at 11โ€ฏ 57@2x"
src="https://github.com/user-attachments/assets/e033ec83-746b-4fed-beb7-ed26e96cb60a"
/>

Release Notes:

- N/A

Danilo Leal created

7161bf5 thread view: Improve load errors UI (#47943)

Click to expand commit body
Just using the existing `Callout` component and standardizing styles
with other errors.

<img width="520" height="478" alt="Screenshot 2026-01-29 at 11โ€ฏ 07@2x"
src="https://github.com/user-attachments/assets/1f6f638c-326e-42c4-9972-293804aeae4d"
/>

Release Notes:

- N/A

Danilo Leal created

2c4a823 project: Increase search detect yield threshold to 20KB (#47824)

Click to expand commit body
Release Notes:

- Improved CPU switching frequency for project search

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

723a58e docs: Update content in the External Agents page (#47935)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

4c8b699 agent_ui: Refactor in preparation for subagent permission work (#47874)

Click to expand commit body
Release Notes:

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

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Cameron Mcloughlin , MrSubidubi , and Ben Brandt created

b7e11b3 Allow always_allow patterns for Nushell, Elvish, and Rc shells (#47908)

Click to expand commit body
## Summary

This PR extends the `always_allow` tool permission patterns to work with
Nushell, Elvish, and Rc shells. Previously, these shells were
incorrectly excluded because they don't use `&&`/`||` operators for
command chaining. However, brush-parser can safely parse their command
syntax since they all use `;` for sequential execution.

## Changes

- Add `ShellKind::Nushell`, `ShellKind::Elvish`, and `ShellKind::Rc` to
`supports_posix_chaining()`
- Split `ShellKind::Unknown` into `ShellKind::UnknownWindows` and
`ShellKind::UnknownUnix` to preserve platform-specific fallback behavior
while still denying `always_allow` patterns for unrecognized shells
- Add comprehensive tests for the new shell support
- Clarify documentation about shell compatibility

## Shell Notes

- **Nushell**: Uses `;` for sequential execution. The `and`/`or`
keywords are boolean operators on values, not command chaining.
- **Elvish**: Uses `;` to separate pipelines. Does not have `&&` or `||`
operators. Its `and`/`or` are special commands operating on values.
- **Rc (Plan 9)**: Uses `;` for sequential execution and `|` for piping.
Does not have `&&`/`||` operators.

## Security

Unknown shells still return `false` from `supports_posix_chaining()`, so
`always_allow` patterns are denied for safety when we can't verify the
shell's syntax.

(No release notes because granular tool permissions are still
feature-flagged.)

Release Notes:

- N/A

---------

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

Richard Feldman and Zed Zippy created

8bdfbfe git: Fix a couple of bugs with buffer headers in the side-by-side diff UI (#47809)

Click to expand commit body
- Fix sticky buffer header being painted on top of the toolbar
- Fix buffer header click handlers and tooltips sometimes not working
(element ID collision issue)
- Deduplicate buffer header rendering code between split and normal
editors

Release Notes:

- N/A

Cole Miller created

1870425 ep_cli: `rated-after:` query (#47906)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

05a021c docs: Correct action descriptions to reflect actual purpose (#46931)

Click to expand commit body
Thanks @injust for pointing this out. It seems a few other action docs
were also copied from elsewhere and weren't updated to reflect their
actual purpose. This PR fixes those, though I may not have covered all
of them.

Closes #46832

Release Notes:

- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Xin Zhao and Kunall Banerjee created

483e64a image_viewer: Compute better initial zoom level (#47886)

Click to expand commit body
Closes Josephs note about that.

Release Notes:

- Preview only: Fixed an issue where images in the image viewer would
not fit the viewer initially.

Finn Evers created

9437e84 Add student plan (#47866)

Click to expand commit body
Release Notes:

- N/A

Neel created

3e7f0ce languages: Add highlighting for Go directives (#47621)

Click to expand commit body
Closes #4381
Before:
<img width="394" height="176" alt="before"
src="https://github.com/user-attachments/assets/7b34b448-9fbc-4a69-abaf-8b621d22ef1e"
/>

After:
<img width="394" height="176" alt="after"
src="https://github.com/user-attachments/assets/388f997c-ca02-4fb4-b8db-4d6f7e9cd302"
/>

Release Notes:

- Added highlighting for Go directives

ozacod created

97f0ab7 ci: Define default shell for all workflows (#47883)

Click to expand commit body
GitHub allows defining a default shell for all jobs on the workflow
level, which we did not use before, yet practically did when it comes
down to our usage of `named::bash`. Since this makes stuff quite
verbose, I decided on using the defaults instead so the workflows become
somewhat easier to audit when reading the generated files.

Powershell steps continue to use Powershell, only the default for bash
scripts was modified.


Release Notes:

- N/A

Finn Evers created

dbeb0af Fix shell injection vulnerability in terminal tool permissions (#47807)

Click to expand commit body
<img width="1110" height="280" alt="Screenshot 2026-01-28 at 3 35 52โ€ฏPM"
src="https://github.com/user-attachments/assets/4d467e2c-2e7b-4ec7-bc87-6f0df8e667f0"
/>

<img width="1094" height="411" alt="Screenshot 2026-01-28 at 3 40 54โ€ฏPM"
src="https://github.com/user-attachments/assets/f559df93-e72e-4457-ba1b-f7d6239f3285"
/>


Previously, if a user configured `^ls` as an always-allow pattern, an
attacker could craft a command like `ls && rm -rf /` which would be
auto-approved because the regex only matched the beginning of the
command string.

Now the command is parsed into individual sub-commands (`ls`, `rm -rf
/`) and EACH sub-command must match an allow pattern for auto-approval.
This prevents shell injection attacks using operators like:
- `&&` and `||` (boolean operators)
- `;` and `&` (sequential/background execution)
- `|` (pipes)
- Newlines
- Command substitution (`$()` and backticks)
- Process substitution (`<()` and `>()`)

## Matching Logic

- **always_deny**: if ANY sub-command matches, deny the entire command
- **always_confirm**: if ANY sub-command matches, require confirmation
(unless always_deny matched, in which case deny)
- **always_allow**: ALL sub-commands must match for auto-approval
(unless always_confirm or always_deny matched, in which case defer to
those)
- If parsing fails, or if the shell is unsupported, then always_allow is
disabled for this command

As usual, `always_allow_tool_actions` supercedes all of these. If it is
`true`, then we always allow all tool calls, no questions asked.

## Shell Compatibility

The shell parser only supports POSIX-like command chaining syntax (`&&`,
`||`, `;`, `|`).

**Supported shells:** Posix (sh, bash, dash, zsh), Fish 3.0+, PowerShell
7+/Pwsh, Cmd, Xonsh, Csh, Tcsh

**Unsupported shells:** Nushell (uses `and`/`or` keywords), Elvish (uses
`and`/`or` keywords), Rc (Plan 9 shell - no `&&`/`||` operators)

For unsupported shells:
- The "Always allow" UI options are hidden for the terminal tool
- If the user has `always_allow` patterns configured in settings, they
will see a `Deny` with an explanatory error message

(No release notes because granular tool permissions are behind a feature
flag.)

Release Notes:

- N/A

---------

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

Richard Feldman and Zed Zippy created

e181622 ep_cli: Further improvements to reversal tracking (#47897)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

7e065ae docs: Update AI docs with new features that went out (#47898)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

2cd8b42 Improve EP teacher prompt, add some CLI features (#47814)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Oleksiy <oleksiy@zed.dev>

Max Brunsfeld , Oleksiy Syvokon , Ben Kunkle , and Oleksiy created

081bb23 Improve Zed agent thread history to update across all open windows (#47803)

Click to expand commit body
Previously, each Agent panel created its own `ThreadStore` instance, so
thread history updates wouldn't sync between open windows. Users had to
close and reopen windows to see threads created in other windows.

Now `ThreadStore` is initialized once as a global and shared across all
windows. When any window saves a thread, ThreadStore::reload() calls
cx.notify(), which notifies all NativeAgentSessionList observers,
causing all windows' history views to refresh.

Note: This only works for the native Zed agent. It also is only
improving the history view (thread titles)โ€”this PR does not sync edits
between multiple windows when the same thread is open in each.

Release Notes:

- Improved Zed agent thread history to update across all open windows

Joseph T. Lyons created

1c1a657 client: Fix ACP registry blog post URL (#47881)

Click to expand commit body
Closes #47882

Release Notes:

- Fixed a typo in the link to the ACP registry URL blog post

---------

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

O. Bennett and MrSubidubi created

446227c repl: Streamline Markdown output usage (#47713)

Click to expand commit body
Brought the Markdown output up to date with how Markdown is used in the
Agent panel. This fixed an issue with outputs that were too large for
the execution view as well as made sure that markdown would wrap.

<img width="3222" height="2334" alt="image"
src="https://github.com/user-attachments/assets/c65efa53-b792-4529-909a-9117053e30be"
/>

Release Notes:

- N/A

Kyle Kelley created

a21e21c git: Hide toggle split diff button behind feature flag (#47878)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Cole Miller and Jakub Konka created

308537f cli: Add GitHub token to `generate_message` step (#47876)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

c3fddcd client: Store `ReleaseChannel` instead of `&'static str` (#47868)

Click to expand commit body
Closes #ISSUE

Store `ReleaseChannel` instead of `&'static str`. This allows displaying
other aspects about the channel than just the display name. Makes it
more concrete what is stored within the field, as it has limited
variants, as opposed to something like `session_id`

Release Notes:

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

tidely created