zed/crates
Oliver Azevedo Barnes fbdeb93451
devcontainer: Implement remote support for git checkpoint operations (#48896)
Closes #47907

Implements the four git checkpoint operations (`create`, `restore`,
`compare`, `diff`) that had been stubbed out for remote repositories,
and related test infrastructure.

Testing steps:

1. Open a project with a `.devcontainer` configuration and connect to
the Dev Container
2. Open an Agent thread and ask the agent to make a code change
3. After the agent completes, verify the "Restore from checkpoint"
button appears (previously missing in Dev Container sessions)
4. Click "Restore from checkpoint" and confirm the file reverts to its
prior state

Release Notes:

- Added support for git checkpoint operations in remote/Dev Container
sessions, restoring the "Restore from checkpoint" button in Agent
threads.

---------

Co-authored-by: KyleBarton <kjb@initialcapacity.io>
2026-04-02 09:43:42 -07:00
..
acp_thread Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
acp_tools markdown: Refactor code block copy button visibility to use enum (#52817) 2026-04-01 09:05:03 +00:00
action_log Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
activity_indicator Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
agent Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
agent_servers acp: Fix the spawn directory for agent servers in remote environments (#52308) 2026-03-24 12:52:35 +01:00
agent_settings agent_settings: Add always_play_sound_when_agent_done setting (#52284) 2026-04-01 17:15:01 +00:00
agent_ui language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
ai_onboarding ai_onboarding: Add student plan examples to component preview (#51338) 2026-03-11 23:21:57 +00:00
anthropic Remove deprecated 1M context beta header for Sonnet 4.5 (#52767) 2026-03-31 10:54:52 -04:00
askpass Reduce amount of monomorphizations from FnMut closures (#49453) 2026-02-18 12:00:02 +01:00
assets
audio audio: Remove rodio audio backend (#51945) 2026-03-24 00:58:09 +01:00
auto_update auto_update: Improve Linux rsync hinting (#50637) 2026-03-18 21:31:20 -04:00
auto_update_helper Try to fix auto-updates when Explorer.exe holds Zed.exe (#50332) 2026-03-03 17:47:35 +01:00
auto_update_ui auto_update: Strip pre-release and build metadata from release notes URL (#48570) 2026-03-18 09:53:06 +01:00
aws_http_client
bedrock bedrock: Make thinking toggle toggle thinking (#50673) 2026-03-19 15:32:04 +00:00
breadcrumbs editor: Replace BreadcrumbText with HighlightedText (#51083) 2026-03-13 08:00:22 +00:00
buffer_diff Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
call Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
channel Add the ability to reorder favorited collab channels (#52649) 2026-03-30 13:07:13 +00:00
cli zed: Clear the FORCE_CLI_MODE environment variable after reading (#46475) 2026-03-06 19:18:33 +00:00
client Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
clock text: Narrow insertion-relative offsets from usize to u32 (#49801) 2026-02-25 08:12:04 +01:00
cloud_api_client cloud_api_client: Send the organization ID in LLM token requests (#50517) 2026-03-04 15:45:33 +01:00
cloud_api_types cloud_api_types: Add is_personal field to Organization (#52349) 2026-03-24 16:59:55 -04:00
cloud_llm_client cloud_llm_client: Move CompletionIntent to language_model (#52359) 2026-03-25 08:39:17 +01:00
codestral zeta: Allow the server to select the editable and context ranges more flexibly (#50975) 2026-03-09 19:58:31 -04:00
collab Clean up worktree setup in tests (#52934) 2026-04-01 23:37:12 +00:00
collab_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
collections Add VecMap::entry_ref (#52601) 2026-03-27 18:06:56 -07:00
command_palette command_palette: Fix keymap editor not matching actions with underscored namespaces (#50415) 2026-03-31 15:09:16 -04:00
command_palette_hooks
component
component_preview Strong app state (#52602) 2026-03-27 14:56:46 -07:00
context_server MCP remote server OAuth authentication (#51768) 2026-03-23 12:54:08 +01:00
copilot theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
copilot_chat copilot_chat: Serialize ToolChoice::Any as "required" instead of "any" (#52015) 2026-03-24 13:22:21 +00:00
copilot_ui Strong app state (#52602) 2026-03-27 14:56:46 -07:00
crashes Redact string panics (#51248) 2026-03-11 03:08:39 +00:00
credentials_provider
csv_preview Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
dap Bump Rust version to 1.94 (#51086) 2026-03-30 09:06:59 +00:00
dap_adapters debugger: Fall back to cached adapter binaries when offline (#50928) 2026-03-16 16:29:24 +00:00
db Fix shared database test isolation (#51809) 2026-03-18 12:05:57 -07:00
debug_adapter_extension
debugger_tools Reduce amount of monomorphizations from FnMut closures (#49453) 2026-02-18 12:00:02 +01:00
debugger_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
deepseek
denoise
dev_container Dev containers native implementation (#52338) 2026-04-01 08:16:27 -07:00
diagnostics Fix stale buffer snapshot used in diagnostics multibuffer (#52937) 2026-04-01 22:52:19 +00:00
docs_preprocessor Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
edit_prediction ep: Move pure diffing functions to zeta_prompt:udiff (#52959) 2026-04-02 17:00:15 +03:00
edit_prediction_cli ep: Move pure diffing functions to zeta_prompt:udiff (#52959) 2026-04-02 17:00:15 +03:00
edit_prediction_context Extract language_core and grammars crates from language (#52238) 2026-03-25 23:41:09 +00:00
edit_prediction_types
edit_prediction_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
editor Fixup and test edit prediction mocks (#52991) 2026-04-02 15:53:37 +02:00
encoding_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
etw_tracing time_format: Add Windows implementation (#50227) 2026-02-28 21:47:30 -05:00
eval_cli Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
eval_utils gpui: Extract gpui_platform out of gpui (#49277) 2026-02-19 18:57:49 +01:00
explorer_command_injector explorer_command_injector: Avoid COM out-pointer overwrite in class factory exports (#49210) 2026-02-28 22:42:19 -05:00
extension Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
extension_api extension_api: Expose preferred_line_length in LanguageSettings (#52175) 2026-03-24 19:11:30 -04:00
extension_cli theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
extension_host Bump tree-sitter for fix to wasm loading of grammars w/ reserved words (#52856) 2026-03-31 18:14:18 -07:00
extensions_ui Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
feature_flags git_graph: Remove feature flag (#52972) 2026-04-02 15:26:37 +00:00
feedback Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
file_finder theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
file_icons
fs devcontainer: Implement remote support for git checkpoint operations (#48896) 2026-04-02 09:43:42 -07:00
fs_benchmarks gpui: Extract gpui_platform out of gpui (#49277) 2026-02-19 18:57:49 +01:00
fuzzy
git git: Forbid main git worktree deletion from worktree picker (#52841) 2026-03-31 18:15:39 +00:00
git_graph git_graph: Remove feature flag (#52972) 2026-04-02 15:26:37 +00:00
git_hosting_providers
git_ui git_graph: Remove feature flag (#52972) 2026-04-02 15:26:37 +00:00
go_to_line Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
google_ai Remove deprecated Gemini 3 Pro Preview (#50503) 2026-03-04 15:53:26 +00:00
gpui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
gpui_linux gpui: Implement audible system bell (#47531) 2026-04-01 02:50:01 +00:00
gpui_macos gpui: Implement audible system bell (#47531) 2026-04-01 02:50:01 +00:00
gpui_macros gpui: Add property_test macro (#50935) 2026-03-06 14:03:45 +00:00
gpui_platform agent: Fix cargo test -p agent on windows (#52311) 2026-03-24 11:05:12 +00:00
gpui_tokio
gpui_util GPUI on the web (#50228) 2026-02-26 18:36:50 +01:00
gpui_web gpui_wgpu: Add surface lifecycle methods for mobile platforms (#50815) 2026-03-31 13:16:53 +00:00
gpui_wgpu gpui_wgpu: Guard against device feature mismatch (#52820) 2026-03-31 20:08:20 +03:00
gpui_windows gpui: Implement audible system bell (#47531) 2026-04-01 02:50:01 +00:00
grammars languages: Change syntax highlighting for JSX elements (#49881) 2026-04-02 16:26:08 +00:00
html_to_markdown
http_client Add .tar.bz2 archive support for ACP agent server downloads (#52188) 2026-03-25 07:54:23 +00:00
http_client_tls
icons ui: Improve the end_hover method API in the ListItem component (#52862) 2026-03-31 21:23:42 -03:00
image_viewer gpui: Implement pinch event support for X11 and Windows (#51354) 2026-03-28 18:41:33 -04:00
inspector_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
install_cli Revert PRs for landing in main (#48969) 2026-02-12 00:28:17 +00:00
journal Implement worktree interactions for the sidebar (#51421) 2026-03-12 15:34:09 -07:00
json_schema_store extension_api: Add language server schema methods (#48334) 2026-03-07 11:05:10 +01:00
keymap_editor Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
language language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
language_core language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
language_extension language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
language_model language_model: Refactor crate structure and dependencies (#52857) 2026-04-01 17:44:25 +02:00
language_models language_model: Refactor crate structure and dependencies (#52857) 2026-04-01 17:44:25 +02:00
language_onboarding Remove some outdated comments (#52432) 2026-03-25 12:07:34 -06:00
language_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
language_tools language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
languages language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
line_ending_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
livekit_api
livekit_client audio: Remove rodio audio backend (#51945) 2026-03-24 00:58:09 +01:00
lmstudio ai: Add LMStudio API URL & API key support (#48309) 2026-03-06 16:49:55 +00:00
lsp lsp: Display readable gopls version in UI (#49835) 2026-03-17 08:36:37 +01:00
markdown markdown: Refactor code block copy button visibility to use enum (#52817) 2026-04-01 09:05:03 +00:00
markdown_preview Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
media
menu
migrator Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
miniprofiler_ui theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
mistral mistral: Enable streaming tool calls (#50793) 2026-03-05 08:59:05 +00:00
multi_buffer Fix a bug causing incorrect remote selections in buffers (#52929) 2026-04-01 21:55:54 +00:00
nc acp: Claude Code -> Claude Agent (#49345) 2026-02-17 10:41:10 +00:00
net Add ETW profile recorder action (#49712) 2026-02-20 13:36:04 +00:00
node_runtime util: Always use posix_spawn on macOS even with pre_exec hooks (#49090) 2026-02-13 20:16:11 +01:00
notifications Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
ollama ollama: Don't override model's default stop tokens (#48119) 2026-03-17 10:39:54 +00:00
onboarding theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
open_ai open_ai: Support structured OpenAI tool output content (#51832) 2026-03-18 12:06:54 +00:00
open_path_prompt theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
open_router Add user picked model to be used as a default for open router provider when generating comments and thread summary (#47475) 2026-02-12 14:02:16 +00:00
opencode agent: Add Opencode Zen provider (#49589) 2026-03-23 12:48:49 +00:00
outline Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
outline_panel Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
panel ui: Refactor the Button component icon methods (#51496) 2026-03-13 14:13:12 -03:00
paths Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
picker theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
platform_title_bar Implement non-macos titlebars for the new sidebar (#52794) 2026-03-31 02:46:07 +00:00
prettier Fix FormatSelections to only format selected ranges, not entire document (#51593) 2026-03-31 12:48:22 +03:00
project devcontainer: Implement remote support for git checkpoint operations (#48896) 2026-04-02 09:43:42 -07:00
project_benchmarks gpui: Extract gpui_platform out of gpui (#49277) 2026-02-19 18:57:49 +01:00
project_panel Own the workspace list in MultiWorkspace (#52546) 2026-03-30 22:06:53 +00:00
project_symbols theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
prompt_store zed_agent: Pick rules file in order described in docs (#52495) 2026-03-26 13:48:18 +00:00
proto devcontainer: Implement remote support for git checkpoint operations (#48896) 2026-04-02 09:43:42 -07:00
recent_projects sidebar: Add button to open the remote projects modal in projects picker (#52932) 2026-04-01 19:28:51 -03:00
refineable
release_channel
remote Clean up worktree setup in tests (#52934) 2026-04-01 23:37:12 +00:00
remote_connection theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
remote_server devcontainer: Implement remote support for git checkpoint operations (#48896) 2026-04-02 09:43:42 -07:00
repl theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
reqwest_client Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
rope Swap arrayvec crate for heapless to use LenT optimization (#47101) 2026-03-21 14:05:30 +01:00
rpc Bump Rust version to 1.94 (#51086) 2026-03-30 09:06:59 +00:00
rules_library ui: Improve the end_hover method API in the ListItem component (#52862) 2026-03-31 21:23:42 -03:00
scheduler Remove Executor::close() (#50970) 2026-03-07 04:11:45 +00:00
schema_generator theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
search Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
session Fix shared database test isolation (#51809) 2026-03-18 12:05:57 -07:00
settings Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
settings_content editor: Support disabling semantic token highlighting via empty rules (#52963) 2026-04-02 06:43:16 +00:00
settings_json Remove some outdated comments (#52432) 2026-03-25 12:07:34 -06:00
settings_macros
settings_profile_selector Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
settings_ui Expose flexible panel settings in settings UI (#52946) 2026-04-02 08:06:20 -07:00
shell_command_parser Reject shell substitutions in terminal tool commands (#51689) 2026-03-16 23:49:34 -04:00
sidebar Collect main worktree paths on threads, and query them in the sidebar (#52945) 2026-04-02 01:28:50 +00:00
snippet
snippet_provider
snippets_ui Revert PRs for landing in main (#48969) 2026-02-12 00:28:17 +00:00
sqlez sqlez: Open named in-memory databases as SQLite URIs (#50967) 2026-03-10 20:25:12 +00:00
sqlez_macros
story
storybook theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
streaming_diff
sum_tree Swap arrayvec crate for heapless to use LenT optimization (#47101) 2026-03-21 14:05:30 +01:00
svg_preview gpui: Fix BGRA conversion for SVG rendering (#52641) 2026-03-29 14:43:05 +00:00
syntax_theme Extract syntax_theme crate (#52798) 2026-03-31 08:06:37 -06:00
system_specs
tab_switcher ui: Improve the end_hover method API in the ListItem component (#52862) 2026-03-31 21:23:42 -03:00
task Don't save buffers by default when running tasks (#52976) 2026-04-02 13:09:29 +00:00
tasks_ui git: Add create git worktree hook to task system (#51337) 2026-04-01 16:14:48 -04:00
telemetry
telemetry_events
terminal Allow agent and terminal panels to be either flexible or fixed (#52694) 2026-03-30 07:56:00 -07:00
terminal_view Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
text Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
theme languages: Fix C/C++ preprocessor directive highlight regression (#49031) 2026-04-02 13:24:15 +00:00
theme_extension theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
theme_importer theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
theme_selector theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
theme_settings ui: Make UI independent from settings crate (#52578) 2026-03-27 15:31:49 +00:00
time_format time_format: Add Windows implementation (#50227) 2026-02-28 21:47:30 -05:00
title_bar Remove Claude upsell (#52831) 2026-03-31 20:10:05 -06:00
toolchain_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
ui git_graph: Make the graph canvas resizable (#52953) 2026-04-02 10:45:29 -04:00
ui_input agent_ui: Mask API key input in Add LLM provider modal (#50379) 2026-03-13 19:37:18 -03:00
ui_macros ui: Make UI independent from settings crate (#52578) 2026-03-27 15:31:49 +00:00
ui_prompt theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
util util: Fix failed to load env variables on Windows when users have custom terminal shell args (#51787) 2026-04-02 08:39:19 +02:00
util_macros
vercel
vim helix: Fix crash while moving through selections (#52922) 2026-04-02 06:42:04 +00:00
vim_mode_setting workspace: Only suppress auto-save on focus transfer for the Vim/Helix command palette (#51949) 2026-03-19 12:53:26 -04:00
watch Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
web_search
web_search_providers Assign meaningful names to some single-letter bindings (#51432) 2026-03-12 22:49:17 +00:00
which_key theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
workspace git: Add create git worktree hook to task system (#51337) 2026-04-01 16:14:48 -04:00
worktree worktree: Make expanded symlinks be indexed by default (#51382) 2026-03-31 19:33:37 +00:00
worktree_benchmarks gpui: Extract gpui_platform out of gpui (#49277) 2026-02-19 18:57:49 +01:00
x_ai Add support for streaming tool input to more providers (#50682) 2026-03-04 17:36:25 +01:00
zed Add visual tests to macOS CI (#52847) 2026-04-01 23:11:40 -04:00
zed_actions Remove Claude upsell (#52831) 2026-03-31 20:10:05 -06:00
zed_env_vars
zeta_prompt ep: Move pure diffing functions to zeta_prompt:udiff (#52959) 2026-04-02 17:00:15 +03:00
zlog zlog: Fix log file rotation never truncating original file (#50571) 2026-03-03 08:37:58 +00:00
zlog_settings
ztracing ztracing: Annotate more callsites that invoke TreeSitter (#47522) 2026-02-11 11:24:04 +00:00
ztracing_macro