git: 7076d083f9b5 - main - editors/zed: Update to 1.22.0

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sun, 04 Oct 2026 18:00:28 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7076d083f9b5212218fc644ca4805ede1bcddaff

commit 7076d083f9b5212218fc644ca4805ede1bcddaff
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-10-04 17:59:20 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-10-04 18:00:19 +0000

    editors/zed: Update to 1.22.0
    
    Changelog:
    - https://github.com/zed-industries/zed/releases/tag/v1.21.0
    - https://github.com/zed-industries/zed/releases/tag/v1.22.0
    
    Reported by:    GitHub (watch releases)
---
 editors/zed/Makefile                               |   2 +-
 editors/zed/Makefile.crates                        |  73 +++++-----
 editors/zed/distinfo                               | 152 ++++++++++++---------
 editors/zed/files/patch-Cargo.lock                 |  16 +--
 editors/zed/files/patch-crates_fs_src_fs.rs        |  18 +--
 .../patch-crates_fs_tests_integration_fs__tests.rs |  29 ++++
 .../patch-crates_gpui__linux_src_linux_platform.rs |  24 +---
 .../zed/files/patch-crates_gpui_src_platform.rs    |   6 +-
 editors/zed/files/patch-crates_gpui_src_window.rs  |   4 +-
 ...ch-crates_project_src_agent__registry__store.rs |   6 +-
 ...tes_project_tests_integration_project__tests.rs |  10 +-
 editors/zed/files/patch-crates_zed_Cargo.toml      |   6 +-
 editors/zed/files/patch-crates_zed_src_main.rs     |   6 +-
 editors/zed/files/patch-crates_zed_src_zed.rs      |   6 +-
 14 files changed, 201 insertions(+), 157 deletions(-)

diff --git a/editors/zed/Makefile b/editors/zed/Makefile
index 5baa1965c879..df75f31327ae 100644
--- a/editors/zed/Makefile
+++ b/editors/zed/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	zed
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.20.2
+DISTVERSION=	1.22.0
 CATEGORIES=	editors
 PKGNAMESUFFIX=	-editor
 
diff --git a/editors/zed/Makefile.crates b/editors/zed/Makefile.crates
index ac048191caac..63713dbc30bc 100644
--- a/editors/zed/Makefile.crates
+++ b/editors/zed/Makefile.crates
@@ -7,10 +7,11 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		addr2line-0.25.1 \
 		addr2line-0.26.1 \
 		adler2-2.0.1 \
+		adler32-1.2.0 \
 		aes-0.8.4 \
-		agent-client-protocol-2.0.0 \
-		agent-client-protocol-derive-2.0.0 \
-		agent-client-protocol-schema-1.5.0 \
+		agent-client-protocol-2.2.0 \
+		agent-client-protocol-derive-2.2.0 \
+		agent-client-protocol-schema-1.9.1 \
 		ahash-0.7.8 \
 		ahash-0.8.12 \
 		aho-corasick-1.1.3 \
@@ -160,7 +161,7 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		cached_proc_macro-0.25.0 \
 		cached_proc_macro_types-0.1.1 \
 		calloop-wayland-source-0.4.1 \
-		camino-1.2.1 \
+		camino-1.2.6 \
 		cap-fs-ext-4.0.3 \
 		cap-primitives-4.0.3 \
 		cap-std-4.0.3 \
@@ -293,11 +294,13 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		darling_macro-0.20.11 \
 		darling_macro-0.21.3 \
 		darling_macro-0.23.0 \
+		dary_heap-0.3.9 \
 		dashmap-6.1.0 \
 		dasp_sample-0.11.0 \
 		data-encoding-2.9.0 \
 		data-url-0.3.2 \
 		dbus-0.9.9 \
+		debug-ignore-1.0.5 \
 		debugid-0.8.0 \
 		deflate64-0.1.10 \
 		der-0.6.1 \
@@ -410,19 +413,19 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		fuchsia-cprng-0.1.1 \
 		funty-2.0.0 \
 		futures-0.1.31 \
-		futures-0.3.32 \
-		futures-channel-0.3.32 \
+		futures-0.3.34 \
+		futures-channel-0.3.34 \
 		futures-concurrency-7.7.1 \
-		futures-core-0.3.32 \
-		futures-executor-0.3.32 \
+		futures-core-0.3.34 \
+		futures-executor-0.3.34 \
 		futures-intrusive-0.5.0 \
-		futures-io-0.3.32 \
+		futures-io-0.3.34 \
 		futures-lite-1.13.0 \
 		futures-lite-2.6.1 \
-		futures-macro-0.3.32 \
-		futures-sink-0.3.32 \
-		futures-task-0.3.32 \
-		futures-util-0.3.32 \
+		futures-macro-0.3.34 \
+		futures-sink-0.3.34 \
+		futures-task-0.3.34 \
+		futures-util-0.3.34 \
 		gaoya-0.2.0 \
 		generator-0.8.9 \
 		generic-array-0.14.7 \
@@ -450,6 +453,8 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		gpu-descriptor-types-0.2.0 \
 		granit-parser-1.0.0 \
 		group-0.12.1 \
+		guppy-0.18.0 \
+		guppy-workspace-hack-0.1.0 \
 		h2-0.3.27 \
 		h2-0.4.12 \
 		half-2.7.1 \
@@ -494,7 +499,6 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		humantime-2.3.0 \
 		hyper-0.14.32 \
 		hyper-1.7.0 \
-		hyper-rustls-0.24.2 \
 		hyper-rustls-0.27.9 \
 		hyper-timeout-0.5.2 \
 		hyper-tls-0.5.0 \
@@ -522,6 +526,9 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		imagesize-0.14.0 \
 		imara-diff-0.2.0 \
 		imgref-1.12.0 \
+		include-flate-0.3.4 \
+		include-flate-codegen-0.3.4 \
+		include-flate-compress-0.3.4 \
 		indenter-0.3.4 \
 		indexmap-1.9.3 \
 		indexmap-2.14.0 \
@@ -587,6 +594,8 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		libbz2-rs-sys-0.2.2 \
 		libc-0.2.186 \
 		libdbus-sys-0.2.6 \
+		libflate-2.3.1 \
+		libflate_lz77-2.3.0 \
 		libfuzzer-sys-0.4.10 \
 		libloading-0.8.9 \
 		libm-0.2.16 \
@@ -670,9 +679,11 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		ndk-0.9.0 \
 		ndk-context-0.1.1 \
 		ndk-sys-0.6.0+11769913 \
+		nested-0.1.1 \
 		new_debug_unreachable-1.0.6 \
 		nix-0.28.0 \
 		nix-0.30.1 \
+		no_std_io2-0.9.4 \
 		nom-7.1.3 \
 		nom-8.0.0 \
 		noop_proc_macro-0.3.0 \
@@ -714,18 +725,23 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		objc2-core-audio-types-0.3.2 \
 		objc2-core-data-0.2.2 \
 		objc2-core-foundation-0.3.2 \
+		objc2-core-graphics-0.3.2 \
 		objc2-core-image-0.2.2 \
 		objc2-core-location-0.3.2 \
+		objc2-core-media-0.3.2 \
 		objc2-core-services-0.3.2 \
+		objc2-core-video-0.3.2 \
 		objc2-encode-4.1.0 \
 		objc2-foundation-0.2.2 \
 		objc2-foundation-0.3.2 \
 		objc2-io-kit-0.3.2 \
+		objc2-io-surface-0.3.2 \
 		objc2-metal-0.2.2 \
 		objc2-metal-0.3.2 \
 		objc2-open-directory-0.3.2 \
 		objc2-quartz-core-0.2.2 \
 		objc2-quartz-core-0.3.2 \
+		objc2-screen-capture-kit-0.3.2 \
 		objc2-user-notifications-0.3.2 \
 		objc_exception-0.1.2 \
 		objc_id-0.1.1 \
@@ -829,6 +845,8 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		proc-macro-crate-3.4.0 \
 		proc-macro-error-1.0.4 \
 		proc-macro-error-attr-1.0.4 \
+		proc-macro-error-attr3-3.1.1 \
+		proc-macro-error3-3.1.1 \
 		proc-macro2-1.0.107 \
 		proc-macro2-diagnostics-0.10.1 \
 		process-backend-0.1.0 \
@@ -920,6 +938,7 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		ring-0.17.14 \
 		rkyv-0.7.45 \
 		rkyv_derive-0.7.45 \
+		rle-decode-fast-1.0.3 \
 		rmp-0.8.14 \
 		rmpv-1.3.0 \
 		roughr-merman-0.12.3 \
@@ -941,7 +960,6 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		rustix-1.1.4 \
 		rustix-linux-procfs-0.1.1 \
 		rustix-openpty-0.2.0 \
-		rustls-0.21.12 \
 		rustls-0.23.40 \
 		rustls-native-certs-0.8.3 \
 		rustls-pemfile-1.0.4 \
@@ -949,7 +967,6 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		rustls-pki-types-1.12.0 \
 		rustls-platform-verifier-0.7.0 \
 		rustls-platform-verifier-android-0.1.1 \
-		rustls-webpki-0.101.7 \
 		rustls-webpki-0.103.13 \
 		rustversion-1.0.22 \
 		rusty-fork-0.3.1 \
@@ -969,7 +986,6 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		screencapturekit-sys-0.2.8 \
 		scroll-0.12.0 \
 		scroll_derive-0.12.1 \
-		sct-0.7.1 \
 		sdd-4.6.2 \
 		sea-bae-0.2.2 \
 		sea-orm-1.1.10 \
@@ -984,11 +1000,11 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		security-framework-sys-2.15.0 \
 		selectors-0.37.0 \
 		self_cell-1.2.2 \
-		semver-1.0.27 \
-		serde-1.0.228 \
+		semver-1.0.28 \
+		serde-1.0.229 \
 		serde_bytes-0.11.19 \
-		serde_core-1.0.228 \
-		serde_derive-1.0.228 \
+		serde_core-1.0.229 \
+		serde_derive-1.0.229 \
 		serde_derive_internals-0.29.1 \
 		serde_fmt-1.0.3 \
 		serde_json-1.0.151 \
@@ -1033,7 +1049,7 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		skrifa-0.40.0 \
 		slab-0.4.11 \
 		slotmap-1.0.7 \
-		smallvec-1.15.1 \
+		smallvec-1.16.1 \
 		smart-default-0.7.1 \
 		smol-2.0.2 \
 		smol_str-0.3.6 \
@@ -1083,17 +1099,10 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		svgtypes-0.16.1 \
 		swash-0.2.6 \
 		symphonia-0.5.5 \
-		symphonia-bundle-flac-0.5.5 \
-		symphonia-bundle-mp3-0.5.5 \
-		symphonia-codec-aac-0.5.5 \
 		symphonia-codec-pcm-0.5.5 \
-		symphonia-codec-vorbis-0.5.5 \
 		symphonia-core-0.5.5 \
-		symphonia-format-isomp4-0.5.5 \
-		symphonia-format-ogg-0.5.5 \
 		symphonia-format-riff-0.5.5 \
 		symphonia-metadata-0.5.5 \
-		symphonia-utils-xiph-0.5.5 \
 		syn-1.0.109 \
 		syn-2.0.117 \
 		syn-3.0.3 \
@@ -1115,6 +1124,7 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		tao-core-video-sys-0.2.0 \
 		tap-1.0.1 \
 		target-lexicon-0.13.5 \
+		target-spec-3.7.0 \
 		tauri-winrt-notification-0.7.3 \
 		tempfile-3.27.0 \
 		tendril-0.5.1 \
@@ -1141,7 +1151,6 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		tokio-io-0.1.13 \
 		tokio-macros-2.7.0 \
 		tokio-native-tls-0.3.1 \
-		tokio-rustls-0.24.1 \
 		tokio-rustls-0.26.4 \
 		tokio-socks-0.5.2 \
 		tokio-stream-0.1.17 \
@@ -1475,7 +1484,9 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		zip-0.6.6 \
 		zmij-1.0.23 \
 		zstd-0.11.2+zstd.1.5.2 \
+		zstd-0.13.3 \
 		zstd-safe-5.0.2+zstd.1.5.2 \
+		zstd-safe-7.3.0 \
 		zstd-sys-2.0.16+zstd.1.5.7 \
 		zune-core-0.5.1 \
 		zune-inflate-0.2.54 \
@@ -1505,10 +1516,10 @@ CARGO_CRATES=	accesskit-0.24.1 \
 		tree-sitter-heex@git+https://github.com/zed-industries/tree-sitter-heex?rev=1dd45142fbb05562e35b2040c6129c9bca346592\#1dd45142fbb05562e35b2040c6129c9bca346592 \
 		wasm_thread@git+https://github.com/zed-industries/wasm_thread?rev=0cf96c7708dfb97ccf3da50347e25edcf75d6937\#0cf96c7708dfb97ccf3da50347e25edcf75d6937 \
 		dap-types@git+https://github.com/zed-industries/dap-types?rev=1b461b310481d01e02b2603c16d7144b926339f8\#1b461b310481d01e02b2603c16d7144b926339f8 \
+		pet,pet-conda,pet-core,pet-env-var-path,pet-fs,pet-global-virtualenvs,pet-hatch,pet-homebrew,pet-jsonrpc,pet-linux-global-python,pet-mac-commandlinetools,pet-mac-python-org,pet-mac-xcode,pet-pipenv,pet-pixi,pet-poetry,pet-pyenv,pet-python-utils,pet-reporter,pet-telemetry,pet-uv,pet-venv,pet-virtualenv,pet-virtualenvwrapper,pet-windows-registry,pet-windows-store,pet-winpython@git+https://github.com/zed-industries/python-environment-tools.git?rev=5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f\#5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f \
 		async-pipe@git+https://github.com/zed-industries/async-pipe-rs?rev=82d00a04211cf4e1236029aa03e6b6ce2a74c553\#82d00a04211cf4e1236029aa03e6b6ce2a74c553 \
 		wprcontrol@git+https://github.com/zed-industries/wprcontrol?rev=cd811f7\#cd811f7d744f65291e13131b1d907fda63ed91a1 \
 		nvim-rs@git+https://github.com/KillTheMule/nvim-rs?rev=764dd270c642f77f10f3e19d05cc178a6cbe69f3\#764dd270c642f77f10f3e19d05cc178a6cbe69f3 \
-		pet,pet-conda,pet-core,pet-env-var-path,pet-fs,pet-global-virtualenvs,pet-hatch,pet-homebrew,pet-jsonrpc,pet-linux-global-python,pet-mac-commandlinetools,pet-mac-python-org,pet-mac-xcode,pet-pipenv,pet-pixi,pet-poetry,pet-pyenv,pet-python-utils,pet-reporter,pet-telemetry,pet-uv,pet-venv,pet-virtualenv,pet-virtualenvwrapper,pet-windows-registry,pet-windows-store,pet-winpython@git+https://github.com/microsoft/python-environment-tools.git?rev=bb8e04607b96a3865d6aa4bb2a5a5a82ce05b5f0\#bb8e04607b96a3865d6aa4bb2a5a5a82ce05b5f0 \
 		gh-workflow,gh-workflow-macros@git+https://github.com/zed-industries/gh-workflow?rev=37f3c0575d379c218a9c455ee67585184e40d43f\#37f3c0575d379c218a9c455ee67585184e40d43f \
 		alacritty_terminal@git+https://github.com/zed-industries/alacritty?rev=4c129667ce56611becdc82de6e28218c80e2e88f\#4c129667ce56611becdc82de6e28218c80e2e88f \
 		tree-sitter-typescript@git+https://github.com/zed-industries/tree-sitter-typescript?rev=e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899\#e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899 \
diff --git a/editors/zed/distinfo b/editors/zed/distinfo
index 5b9a12f8cc53..d3efe3419424 100644
--- a/editors/zed/distinfo
+++ b/editors/zed/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1789710044
+TIMESTAMP = 1791118727
 SHA256 (rust/crates/accesskit-0.24.1.crate) = d3b7f7f85a7e5f68090000ed7622545829afd484d210358702ae4cb97dd0c320
 SIZE (rust/crates/accesskit-0.24.1.crate) = 36947
 SHA256 (rust/crates/accesskit_atspi_common-0.19.1.crate) = 023da0e5097f46df7092d5280b02efb9bbf8d93298daeced42652463e357d636
@@ -17,14 +17,16 @@ SHA256 (rust/crates/addr2line-0.26.1.crate) = 59317f77929f0e679d39364702289274de
 SIZE (rust/crates/addr2line-0.26.1.crate) = 43193
 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
 SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
+SIZE (rust/crates/adler32-1.2.0.crate) = 6411
 SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0
 SIZE (rust/crates/aes-0.8.4.crate) = 124812
-SHA256 (rust/crates/agent-client-protocol-2.0.0.crate) = 6d87bc7769eba641753ba5dc52f73ec3765d51022c6753bf040967125ddc86a8
-SIZE (rust/crates/agent-client-protocol-2.0.0.crate) = 211657
-SHA256 (rust/crates/agent-client-protocol-derive-2.0.0.crate) = 3abd4080f51e4f24f5042beb7fb7a66ede29a2dc1c2582c329532e1c27264ddc
-SIZE (rust/crates/agent-client-protocol-derive-2.0.0.crate) = 5234
-SHA256 (rust/crates/agent-client-protocol-schema-1.5.0.crate) = d5c231915b4ab578c722eca2d1bd7df4d300bfd6cac3b8e9f0d1e3ddc95b187c
-SIZE (rust/crates/agent-client-protocol-schema-1.5.0.crate) = 222973
+SHA256 (rust/crates/agent-client-protocol-2.2.0.crate) = 13f780597b2c88ab83d02509bcc3e86366751f86fa12114005e35c55ed691763
+SIZE (rust/crates/agent-client-protocol-2.2.0.crate) = 289325
+SHA256 (rust/crates/agent-client-protocol-derive-2.2.0.crate) = f4893bfb11e0e193aa5a64611a126ee87567acb1879556519c902722899229de
+SIZE (rust/crates/agent-client-protocol-derive-2.2.0.crate) = 5285
+SHA256 (rust/crates/agent-client-protocol-schema-1.9.1.crate) = 1d595a79e1665d02c91c7dd1bedd118501e75cc0a3d5b1651b5150ec4c5c1e0d
+SIZE (rust/crates/agent-client-protocol-schema-1.9.1.crate) = 199654
 SHA256 (rust/crates/ahash-0.7.8.crate) = 891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9
 SIZE (rust/crates/ahash-0.7.8.crate) = 38550
 SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
@@ -323,8 +325,8 @@ SHA256 (rust/crates/cached_proc_macro_types-0.1.1.crate) = ade8366b8bd5ba243f0a5
 SIZE (rust/crates/cached_proc_macro_types-0.1.1.crate) = 1813
 SHA256 (rust/crates/calloop-wayland-source-0.4.1.crate) = 138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa
 SIZE (rust/crates/calloop-wayland-source-0.4.1.crate) = 11247
-SHA256 (rust/crates/camino-1.2.1.crate) = 276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609
-SIZE (rust/crates/camino-1.2.1.crate) = 41364
+SHA256 (rust/crates/camino-1.2.6.crate) = bbbad30e4b4c14a39e3cc8aed085a12a327257c316619c93581e017bc52be591
+SIZE (rust/crates/camino-1.2.6.crate) = 39988
 SHA256 (rust/crates/cap-fs-ext-4.0.3.crate) = 56ff379b70af8e08307a8f65e7040c7301cb4a572538ade16b4984f0da77847f
 SIZE (rust/crates/cap-fs-ext-4.0.3.crate) = 16995
 SHA256 (rust/crates/cap-primitives-4.0.3.crate) = 8b5f74729fd2f44701d1a8eb47e906cdb3ccd9ec0f02baad85a744b791940b18
@@ -589,6 +591,8 @@ SHA256 (rust/crates/darling_macro-0.21.3.crate) = d38308df82d1080de0afee5d069fa1
 SIZE (rust/crates/darling_macro-0.21.3.crate) = 2535
 SHA256 (rust/crates/darling_macro-0.23.0.crate) = ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d
 SIZE (rust/crates/darling_macro-0.23.0.crate) = 2480
+SHA256 (rust/crates/dary_heap-0.3.9.crate) = 8b1e3a325bc115f096c8b77bbf027a7c2592230e70be2d985be950d3d5e60ebe
+SIZE (rust/crates/dary_heap-0.3.9.crate) = 27054
 SHA256 (rust/crates/dashmap-6.1.0.crate) = 5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf
 SIZE (rust/crates/dashmap-6.1.0.crate) = 24828
 SHA256 (rust/crates/dasp_sample-0.11.0.crate) = 0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f
@@ -599,6 +603,8 @@ SHA256 (rust/crates/data-url-0.3.2.crate) = be1e0bca6c3637f992fc1cc7cbc52a78c1ef
 SIZE (rust/crates/data-url-0.3.2.crate) = 23862
 SHA256 (rust/crates/dbus-0.9.9.crate) = 190b6255e8ab55a7b568df5a883e9497edc3e4821c06396612048b430e5ad1e9
 SIZE (rust/crates/dbus-0.9.9.crate) = 106151
+SHA256 (rust/crates/debug-ignore-1.0.5.crate) = ffe7ed1d93f4553003e20b629abe9085e1e81b1429520f897f8f8860bc6dfc21
+SIZE (rust/crates/debug-ignore-1.0.5.crate) = 12016
 SHA256 (rust/crates/debugid-0.8.0.crate) = bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d
 SIZE (rust/crates/debugid-0.8.0.crate) = 12757
 SHA256 (rust/crates/deflate64-0.1.10.crate) = 26bf8fc351c5ed29b5c2f0cbbac1b209b74f60ecd62e675a998df72c49af5204
@@ -823,32 +829,32 @@ SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65
 SIZE (rust/crates/funty-2.0.0.crate) = 13160
 SHA256 (rust/crates/futures-0.1.31.crate) = 3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678
 SIZE (rust/crates/futures-0.1.31.crate) = 157731
-SHA256 (rust/crates/futures-0.3.32.crate) = 8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d
-SIZE (rust/crates/futures-0.3.32.crate) = 61234
-SHA256 (rust/crates/futures-channel-0.3.32.crate) = 07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d
-SIZE (rust/crates/futures-channel-0.3.32.crate) = 33213
+SHA256 (rust/crates/futures-0.3.34.crate) = 9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3
+SIZE (rust/crates/futures-0.3.34.crate) = 61966
+SHA256 (rust/crates/futures-channel-0.3.34.crate) = b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4
+SIZE (rust/crates/futures-channel-0.3.34.crate) = 33165
 SHA256 (rust/crates/futures-concurrency-7.7.1.crate) = 175cd8cca9e1d45b87f18ffa75088f2099e3c4fe5e2f83e42de112560bea8ea6
 SIZE (rust/crates/futures-concurrency-7.7.1.crate) = 82630
-SHA256 (rust/crates/futures-core-0.3.32.crate) = 7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d
-SIZE (rust/crates/futures-core-0.3.32.crate) = 14684
-SHA256 (rust/crates/futures-executor-0.3.32.crate) = baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d
-SIZE (rust/crates/futures-executor-0.3.32.crate) = 18581
+SHA256 (rust/crates/futures-core-0.3.34.crate) = 92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e
+SIZE (rust/crates/futures-core-0.3.34.crate) = 14692
+SHA256 (rust/crates/futures-executor-0.3.34.crate) = 031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432
+SIZE (rust/crates/futures-executor-0.3.34.crate) = 18560
 SHA256 (rust/crates/futures-intrusive-0.5.0.crate) = 1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f
 SIZE (rust/crates/futures-intrusive-0.5.0.crate) = 85563
-SHA256 (rust/crates/futures-io-0.3.32.crate) = cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718
-SIZE (rust/crates/futures-io-0.3.32.crate) = 9191
+SHA256 (rust/crates/futures-io-0.3.34.crate) = 53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed
+SIZE (rust/crates/futures-io-0.3.34.crate) = 9189
 SHA256 (rust/crates/futures-lite-1.13.0.crate) = 49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce
 SIZE (rust/crates/futures-lite-1.13.0.crate) = 37058
 SHA256 (rust/crates/futures-lite-2.6.1.crate) = f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad
 SIZE (rust/crates/futures-lite-2.6.1.crate) = 46095
-SHA256 (rust/crates/futures-macro-0.3.32.crate) = e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b
-SIZE (rust/crates/futures-macro-0.3.32.crate) = 11929
-SHA256 (rust/crates/futures-sink-0.3.32.crate) = c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893
-SIZE (rust/crates/futures-sink-0.3.32.crate) = 8106
-SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393
-SIZE (rust/crates/futures-task-0.3.32.crate) = 11377
-SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6
-SIZE (rust/crates/futures-util-0.3.32.crate) = 168797
+SHA256 (rust/crates/futures-macro-0.3.34.crate) = 9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44
+SIZE (rust/crates/futures-macro-0.3.34.crate) = 11926
+SHA256 (rust/crates/futures-sink-0.3.34.crate) = 1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d
+SIZE (rust/crates/futures-sink-0.3.34.crate) = 8107
+SHA256 (rust/crates/futures-task-0.3.34.crate) = cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd
+SIZE (rust/crates/futures-task-0.3.34.crate) = 11376
+SHA256 (rust/crates/futures-util-0.3.34.crate) = 0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc
+SIZE (rust/crates/futures-util-0.3.34.crate) = 169782
 SHA256 (rust/crates/gaoya-0.2.0.crate) = 0c75195ebd4c5589a505e1f0bf81052c52f55dfa40c1afefac1f95b67846adb1
 SIZE (rust/crates/gaoya-0.2.0.crate) = 26557
 SHA256 (rust/crates/generator-0.8.9.crate) = b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae
@@ -903,6 +909,10 @@ SHA256 (rust/crates/granit-parser-1.0.0.crate) = c60388b03522b86e24b6b4595225527
 SIZE (rust/crates/granit-parser-1.0.0.crate) = 179298
 SHA256 (rust/crates/group-0.12.1.crate) = 5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7
 SIZE (rust/crates/group-0.12.1.crate) = 16516
+SHA256 (rust/crates/guppy-0.18.0.crate) = 790eaa3f2acc0210783d4af5ab8fe019ab07935d8dc0e64324120bbee9b142b7
+SIZE (rust/crates/guppy-0.18.0.crate) = 175497
+SHA256 (rust/crates/guppy-workspace-hack-0.1.0.crate) = 92620684d99f750bae383ecb3be3748142d6095760afd5cbcf2261e9a279d780
+SIZE (rust/crates/guppy-workspace-hack-0.1.0.crate) = 1031
 SHA256 (rust/crates/h2-0.3.27.crate) = 0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d
 SIZE (rust/crates/h2-0.3.27.crate) = 169180
 SHA256 (rust/crates/h2-0.4.12.crate) = f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386
@@ -991,8 +1001,6 @@ SHA256 (rust/crates/hyper-0.14.32.crate) = 41dfc780fdec9373c01bae43289ea34c972e4
 SIZE (rust/crates/hyper-0.14.32.crate) = 199622
 SHA256 (rust/crates/hyper-1.7.0.crate) = eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e
 SIZE (rust/crates/hyper-1.7.0.crate) = 157006
-SHA256 (rust/crates/hyper-rustls-0.24.2.crate) = ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590
-SIZE (rust/crates/hyper-rustls-0.24.2.crate) = 30195
 SHA256 (rust/crates/hyper-rustls-0.27.9.crate) = 33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f
 SIZE (rust/crates/hyper-rustls-0.27.9.crate) = 22935
 SHA256 (rust/crates/hyper-timeout-0.5.2.crate) = 2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0
@@ -1047,6 +1055,12 @@ SHA256 (rust/crates/imara-diff-0.2.0.crate) = 2f01d462f766df78ab820dd06f5eb70023
 SIZE (rust/crates/imara-diff-0.2.0.crate) = 163149
 SHA256 (rust/crates/imgref-1.12.0.crate) = e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8
 SIZE (rust/crates/imgref-1.12.0.crate) = 66324
+SHA256 (rust/crates/include-flate-0.3.4.crate) = 48f173716febb1ad596c16ea5637b5f1790ea32de8e627493ff82bc73b0876ce
+SIZE (rust/crates/include-flate-0.3.4.crate) = 10227
+SHA256 (rust/crates/include-flate-codegen-0.3.4.crate) = 4a7875b62a72ad3f3203cdd8950d4cf9947db036030b974b8b37ceae90c8d8c0
+SIZE (rust/crates/include-flate-codegen-0.3.4.crate) = 5457
+SHA256 (rust/crates/include-flate-compress-0.3.4.crate) = 44fbb9c5ccb9a5b67b4afa2974c27e5507ea1bf6d22828cef418e4dfaeca51dd
+SIZE (rust/crates/include-flate-compress-0.3.4.crate) = 4241
 SHA256 (rust/crates/indenter-0.3.4.crate) = 964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5
 SIZE (rust/crates/indenter-0.3.4.crate) = 11101
 SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
@@ -1177,6 +1191,10 @@ SHA256 (rust/crates/libc-0.2.186.crate) = 68ab91017fe16c622486840e4c83c9a37afeff
 SIZE (rust/crates/libc-0.2.186.crate) = 821883
 SHA256 (rust/crates/libdbus-sys-0.2.6.crate) = 5cbe856efeb50e4681f010e9aaa2bf0a644e10139e54cde10fc83a307c23bd9f
 SIZE (rust/crates/libdbus-sys-0.2.6.crate) = 1105988
+SHA256 (rust/crates/libflate-2.3.1.crate) = a4da9b700e758e57152a1fd1c52cbdc5727c1aa6d8743dc1acda917398f1d76c
+SIZE (rust/crates/libflate-2.3.1.crate) = 41265
+SHA256 (rust/crates/libflate_lz77-2.3.0.crate) = ff7a10e427698aef6eef269482776debfef63384d30f13aad39a1a95e0e098fd
+SIZE (rust/crates/libflate_lz77-2.3.0.crate) = 6463
 SHA256 (rust/crates/libfuzzer-sys-0.4.10.crate) = 5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404
 SIZE (rust/crates/libfuzzer-sys-0.4.10.crate) = 133968
 SHA256 (rust/crates/libloading-0.8.9.crate) = d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55
@@ -1343,12 +1361,16 @@ SHA256 (rust/crates/ndk-context-0.1.1.crate) = 27b02d87554356db9e9a873add8782d4e
 SIZE (rust/crates/ndk-context-0.1.1.crate) = 2205
 SHA256 (rust/crates/ndk-sys-0.6.0+11769913.crate) = ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873
 SIZE (rust/crates/ndk-sys-0.6.0+11769913.crate) = 329984
+SHA256 (rust/crates/nested-0.1.1.crate) = ca2b420f638f07fe83056b55ea190bb815f609ec5a35e7017884a10f78839c9e
+SIZE (rust/crates/nested-0.1.1.crate) = 6191
 SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
 SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
 SHA256 (rust/crates/nix-0.28.0.crate) = ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4
 SIZE (rust/crates/nix-0.28.0.crate) = 311086
 SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6
 SIZE (rust/crates/nix-0.30.1.crate) = 342015
+SHA256 (rust/crates/no_std_io2-0.9.4.crate) = 418abd1b6d34fbf6cae440dc874771b0525a604428704c76e48b29a5e67b8003
+SIZE (rust/crates/no_std_io2-0.9.4.crate) = 37503
 SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
 SIZE (rust/crates/nom-7.1.3.crate) = 117570
 SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405
@@ -1431,12 +1453,18 @@ SHA256 (rust/crates/objc2-core-data-0.2.2.crate) = 617fbf49e071c178c0b24c080767d
 SIZE (rust/crates/objc2-core-data-0.2.2.crate) = 30575
 SHA256 (rust/crates/objc2-core-foundation-0.3.2.crate) = 2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536
 SIZE (rust/crates/objc2-core-foundation-0.3.2.crate) = 180804
+SHA256 (rust/crates/objc2-core-graphics-0.3.2.crate) = e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807
+SIZE (rust/crates/objc2-core-graphics-0.3.2.crate) = 84981
 SHA256 (rust/crates/objc2-core-image-0.2.2.crate) = 55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80
 SIZE (rust/crates/objc2-core-image-0.2.2.crate) = 20050
 SHA256 (rust/crates/objc2-core-location-0.3.2.crate) = ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009
 SIZE (rust/crates/objc2-core-location-0.3.2.crate) = 17032
+SHA256 (rust/crates/objc2-core-media-0.3.2.crate) = 05ec576860167a15dd9fce7fbee7512beb4e31f532159d3482d1f9c6caedf31d
+SIZE (rust/crates/objc2-core-media-0.3.2.crate) = 118638
 SHA256 (rust/crates/objc2-core-services-0.3.2.crate) = 583300ad934cba24ff5292aee751ecc070f7ca6b39a574cc21b7b5e588e06a0b
 SIZE (rust/crates/objc2-core-services-0.3.2.crate) = 122193
+SHA256 (rust/crates/objc2-core-video-0.3.2.crate) = d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6
+SIZE (rust/crates/objc2-core-video-0.3.2.crate) = 39345
 SHA256 (rust/crates/objc2-encode-4.1.0.crate) = ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33
 SIZE (rust/crates/objc2-encode-4.1.0.crate) = 21004
 SHA256 (rust/crates/objc2-foundation-0.2.2.crate) = 0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8
@@ -1445,6 +1473,8 @@ SHA256 (rust/crates/objc2-foundation-0.3.2.crate) = e3e0adef53c21f888deb4fa59fc5
 SIZE (rust/crates/objc2-foundation-0.3.2.crate) = 345384
 SHA256 (rust/crates/objc2-io-kit-0.3.2.crate) = 33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15
 SIZE (rust/crates/objc2-io-kit-0.3.2.crate) = 262569
+SHA256 (rust/crates/objc2-io-surface-0.3.2.crate) = 180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d
+SIZE (rust/crates/objc2-io-surface-0.3.2.crate) = 11722
 SHA256 (rust/crates/objc2-metal-0.2.2.crate) = dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6
 SIZE (rust/crates/objc2-metal-0.2.2.crate) = 75276
 SHA256 (rust/crates/objc2-metal-0.3.2.crate) = a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794
@@ -1455,6 +1485,8 @@ SHA256 (rust/crates/objc2-quartz-core-0.2.2.crate) = e42bee7bff906b14b167da2bac5
 SIZE (rust/crates/objc2-quartz-core-0.2.2.crate) = 21306
 SHA256 (rust/crates/objc2-quartz-core-0.3.2.crate) = 96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f
 SIZE (rust/crates/objc2-quartz-core-0.3.2.crate) = 30036
+SHA256 (rust/crates/objc2-screen-capture-kit-0.3.2.crate) = 74b7c5390f477482f001bc354d6571a70db7e4f8d5288e860c45521fbce11394
+SIZE (rust/crates/objc2-screen-capture-kit-0.3.2.crate) = 20675
 SHA256 (rust/crates/objc2-user-notifications-0.3.2.crate) = 9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e
 SIZE (rust/crates/objc2-user-notifications-0.3.2.crate) = 12257
 SHA256 (rust/crates/objc_exception-0.1.2.crate) = ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4
@@ -1661,6 +1693,10 @@ SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08c
 SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
 SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
 SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro-error-attr3-3.1.1.crate) = 9e564d14133360e1ae169ffde5da25881b5fa47261665b8e5713c212c27799da
+SIZE (rust/crates/proc-macro-error-attr3-3.1.1.crate) = 8158
+SHA256 (rust/crates/proc-macro-error3-3.1.1.crate) = 8f0d4471b3436c22106b21913b1dda531558918ae9b7ec55d58aa84b43552233
+SIZE (rust/crates/proc-macro-error3-3.1.1.crate) = 29595
 SHA256 (rust/crates/proc-macro2-1.0.107.crate) = 985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9
 SIZE (rust/crates/proc-macro2-1.0.107.crate) = 59588
 SHA256 (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8
@@ -1843,6 +1879,8 @@ SHA256 (rust/crates/rkyv-0.7.45.crate) = 9008cd6385b9e161d8229e1f6549dd23c3d022f
 SIZE (rust/crates/rkyv-0.7.45.crate) = 115753
 SHA256 (rust/crates/rkyv_derive-0.7.45.crate) = 503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0
 SIZE (rust/crates/rkyv_derive-0.7.45.crate) = 18972
+SHA256 (rust/crates/rle-decode-fast-1.0.3.crate) = 3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422
+SIZE (rust/crates/rle-decode-fast-1.0.3.crate) = 62086
 SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4
 SIZE (rust/crates/rmp-0.8.14.crate) = 29687
 SHA256 (rust/crates/rmpv-1.3.0.crate) = 58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9
@@ -1885,8 +1923,6 @@ SHA256 (rust/crates/rustix-linux-procfs-0.1.1.crate) = 2fc84bf7e9aa16c4f2c758f27
 SIZE (rust/crates/rustix-linux-procfs-0.1.1.crate) = 17465
 SHA256 (rust/crates/rustix-openpty-0.2.0.crate) = 1de16c7c59892b870a6336f185dc10943517f1327447096bbb7bb32cd85e2393
 SIZE (rust/crates/rustix-openpty-0.2.0.crate) = 12888
-SHA256 (rust/crates/rustls-0.21.12.crate) = 3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e
-SIZE (rust/crates/rustls-0.21.12.crate) = 285674
 SHA256 (rust/crates/rustls-0.23.40.crate) = ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b
 SIZE (rust/crates/rustls-0.23.40.crate) = 373839
 SHA256 (rust/crates/rustls-native-certs-0.8.3.crate) = 612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63
@@ -1901,8 +1937,6 @@ SHA256 (rust/crates/rustls-platform-verifier-0.7.0.crate) = 26d1e2536ce4f35f4846
 SIZE (rust/crates/rustls-platform-verifier-0.7.0.crate) = 58733
 SHA256 (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f
 SIZE (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = 13919
-SHA256 (rust/crates/rustls-webpki-0.101.7.crate) = 8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765
-SIZE (rust/crates/rustls-webpki-0.101.7.crate) = 168808
 SHA256 (rust/crates/rustls-webpki-0.103.13.crate) = 61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e
 SIZE (rust/crates/rustls-webpki-0.103.13.crate) = 87513
 SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
@@ -1941,8 +1975,6 @@ SHA256 (rust/crates/scroll-0.12.0.crate) = 6ab8598aa408498679922eff7fa985c25d58a
 SIZE (rust/crates/scroll-0.12.0.crate) = 24145
 SHA256 (rust/crates/scroll_derive-0.12.1.crate) = 1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d
 SIZE (rust/crates/scroll_derive-0.12.1.crate) = 5659
-SHA256 (rust/crates/sct-0.7.1.crate) = da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414
-SIZE (rust/crates/sct-0.7.1.crate) = 27501
 SHA256 (rust/crates/sdd-4.6.2.crate) = c25da4ae64b24edfcb0b0d30b96b2b0dbc64ec63aefeb6ec35bfc5ef167e5c9e
 SIZE (rust/crates/sdd-4.6.2.crate) = 48299
 SHA256 (rust/crates/sea-bae-0.2.2.crate) = 260bbc7148a8d6818ac5032a1b9970da1a68bdd723d45b12d59f7c1bf3565e24
@@ -1971,16 +2003,16 @@ SHA256 (rust/crates/selectors-0.37.0.crate) = 2cfaaa6035167f0e604e42723c7650d59e
 SIZE (rust/crates/selectors-0.37.0.crate) = 69573
 SHA256 (rust/crates/self_cell-1.2.2.crate) = b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89
 SIZE (rust/crates/self_cell-1.2.2.crate) = 23264
-SHA256 (rust/crates/semver-1.0.27.crate) = d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
-SIZE (rust/crates/semver-1.0.27.crate) = 30081
-SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
-SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/semver-1.0.28.crate) = 8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd
+SIZE (rust/crates/semver-1.0.28.crate) = 33064
+SHA256 (rust/crates/serde-1.0.229.crate) = 4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba
+SIZE (rust/crates/serde-1.0.229.crate) = 83669
 SHA256 (rust/crates/serde_bytes-0.11.19.crate) = a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8
 SIZE (rust/crates/serde_bytes-0.11.19.crate) = 13427
-SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
-SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
-SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
-SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_core-1.0.229.crate) = 67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48
+SIZE (rust/crates/serde_core-1.0.229.crate) = 63100
+SHA256 (rust/crates/serde_derive-1.0.229.crate) = e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348
+SIZE (rust/crates/serde_derive-1.0.229.crate) = 59864
 SHA256 (rust/crates/serde_derive_internals-0.29.1.crate) = 18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711
 SIZE (rust/crates/serde_derive_internals-0.29.1.crate) = 26189
 SHA256 (rust/crates/serde_fmt-1.0.3.crate) = e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4
@@ -2069,8 +2101,8 @@ SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e
 SIZE (rust/crates/slab-0.4.11.crate) = 18549
 SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a
 SIZE (rust/crates/slotmap-1.0.7.crate) = 61390
-SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
-SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/smallvec-1.16.1.crate) = ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891
+SIZE (rust/crates/smallvec-1.16.1.crate) = 32694
 SHA256 (rust/crates/smart-default-0.7.1.crate) = 0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1
 SIZE (rust/crates/smart-default-0.7.1.crate) = 8435
 SHA256 (rust/crates/smol-2.0.2.crate) = a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f
@@ -2169,28 +2201,14 @@ SHA256 (rust/crates/swash-0.2.6.crate) = 47846491253e976bdd07d0f9cc24b7daf24720d
 SIZE (rust/crates/swash-0.2.6.crate) = 238129
 SHA256 (rust/crates/symphonia-0.5.5.crate) = 5773a4c030a19d9bfaa090f49746ff35c75dfddfa700df7a5939d5e076a57039
 SIZE (rust/crates/symphonia-0.5.5.crate) = 12085
-SHA256 (rust/crates/symphonia-bundle-flac-0.5.5.crate) = c91565e180aea25d9b80a910c546802526ffd0072d0b8974e3ebe59b686c9976
-SIZE (rust/crates/symphonia-bundle-flac-0.5.5.crate) = 24141
-SHA256 (rust/crates/symphonia-bundle-mp3-0.5.5.crate) = 4872dd6bb56bf5eac799e3e957aa1981086c3e613b27e0ac23b176054f7c57ed
-SIZE (rust/crates/symphonia-bundle-mp3-0.5.5.crate) = 61019
-SHA256 (rust/crates/symphonia-codec-aac-0.5.5.crate) = 4c263845aa86881416849c1729a54c7f55164f8b96111dba59de46849e73a790
-SIZE (rust/crates/symphonia-codec-aac-0.5.5.crate) = 26471
 SHA256 (rust/crates/symphonia-codec-pcm-0.5.5.crate) = 4e89d716c01541ad3ebe7c91ce4c8d38a7cf266a3f7b2f090b108fb0cb031d95
 SIZE (rust/crates/symphonia-codec-pcm-0.5.5.crate) = 6795
-SHA256 (rust/crates/symphonia-codec-vorbis-0.5.5.crate) = f025837c309cd69ffef572750b4a2257b59552c5399a5e49707cc5b1b85d1c73
-SIZE (rust/crates/symphonia-codec-vorbis-0.5.5.crate) = 25527
 SHA256 (rust/crates/symphonia-core-0.5.5.crate) = ea00cc4f79b7f6bb7ff87eddc065a1066f3a43fe1875979056672c9ef948c2af
 SIZE (rust/crates/symphonia-core-0.5.5.crate) = 99682
-SHA256 (rust/crates/symphonia-format-isomp4-0.5.5.crate) = 243739585d11f81daf8dac8d9f3d18cc7898f6c09a259675fc364b382c30e0a5
-SIZE (rust/crates/symphonia-format-isomp4-0.5.5.crate) = 37184
-SHA256 (rust/crates/symphonia-format-ogg-0.5.5.crate) = 2b4955c67c1ed3aa8ae8428d04ca8397fbef6a19b2b051e73b5da8b1435639cb
-SIZE (rust/crates/symphonia-format-ogg-0.5.5.crate) = 24285
 SHA256 (rust/crates/symphonia-format-riff-0.5.5.crate) = c2d7c3df0e7d94efb68401d81906eae73c02b40d5ec1a141962c592d0f11a96f
 SIZE (rust/crates/symphonia-format-riff-0.5.5.crate) = 17993
 SHA256 (rust/crates/symphonia-metadata-0.5.5.crate) = 36306ff42b9ffe6e5afc99d49e121e0bd62fe79b9db7b9681d48e29fa19e6b16
 SIZE (rust/crates/symphonia-metadata-0.5.5.crate) = 24184
-SHA256 (rust/crates/symphonia-utils-xiph-0.5.5.crate) = ee27c85ab799a338446b68eec77abf42e1a6f1bb490656e121c6e27bfbab9f16
-SIZE (rust/crates/symphonia-utils-xiph-0.5.5.crate) = 6617
 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
 SIZE (rust/crates/syn-1.0.109.crate) = 237611
 SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99
@@ -2233,6 +2251,8 @@ SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686
 SIZE (rust/crates/tap-1.0.1.crate) = 11316
 SHA256 (rust/crates/target-lexicon-0.13.5.crate) = adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca
 SIZE (rust/crates/target-lexicon-0.13.5.crate) = 26928
+SHA256 (rust/crates/target-spec-3.7.0.crate) = 4e117cdea67a83bf392bc69fb07cfc37e948e95991eca900c413a2bb1b494807
+SIZE (rust/crates/target-spec-3.7.0.crate) = 40003
 SHA256 (rust/crates/tauri-winrt-notification-0.7.3.crate) = 9ed071c670382e85fc2f48ae706492d8c338f4f89bf72520d32f8abfe880aade
 SIZE (rust/crates/tauri-winrt-notification-0.7.3.crate) = 47668
 SHA256 (rust/crates/tempfile-3.27.0.crate) = 32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd
@@ -2285,8 +2305,6 @@ SHA256 (rust/crates/tokio-macros-2.7.0.crate) = 385a6cb71ab9ab790c5fe8d67f1645e6
 SIZE (rust/crates/tokio-macros-2.7.0.crate) = 15859
 SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
 SIZE (rust/crates/tokio-native-tls-0.3.1.crate) = 20676
-SHA256 (rust/crates/tokio-rustls-0.24.1.crate) = c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081
-SIZE (rust/crates/tokio-rustls-0.24.1.crate) = 33049
 SHA256 (rust/crates/tokio-rustls-0.26.4.crate) = 1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61
 SIZE (rust/crates/tokio-rustls-0.26.4.crate) = 35430
 SHA256 (rust/crates/tokio-socks-0.5.2.crate) = 0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f
@@ -2953,8 +2971,12 @@ SHA256 (rust/crates/zmij-1.0.23.crate) = 29666d0abbfad1e3dc4dcf6144730dd3a3ab225
 SIZE (rust/crates/zmij-1.0.23.crate) = 28612
 SHA256 (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4
 SIZE (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 28987
+SHA256 (rust/crates/zstd-0.13.3.crate) = e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a
+SIZE (rust/crates/zstd-0.13.3.crate) = 30514
 SHA256 (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db
 SIZE (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 17273
+SHA256 (rust/crates/zstd-safe-7.3.0.crate) = 64d80649ab6db9d9f6f9c80a40becd948eda4714a0a5ac8c4d157a32231c7882
+SIZE (rust/crates/zstd-safe-7.3.0.crate) = 26367
 SHA256 (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748
 SIZE (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 775620
 SHA256 (rust/crates/zune-core-0.5.1.crate) = cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9
@@ -3013,14 +3035,14 @@ SHA256 (zed-industries-wasm_thread-0cf96c7708dfb97ccf3da50347e25edcf75d6937_GH0.
 SIZE (zed-industries-wasm_thread-0cf96c7708dfb97ccf3da50347e25edcf75d6937_GH0.tar.gz) = 22361
 SHA256 (zed-industries-dap-types-1b461b310481d01e02b2603c16d7144b926339f8_GH0.tar.gz) = 11106a57bca99027d5f3a18a3d32af394fa522d91dbefa5b1abf70c70b19bf83
 SIZE (zed-industries-dap-types-1b461b310481d01e02b2603c16d7144b926339f8_GH0.tar.gz) = 77173
+SHA256 (zed-industries-python-environment-tools-5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f_GH0.tar.gz) = 1294e06f39e639021d11d9bd3fc27551f3353e26ed48c2184bb9660f4da835c3
+SIZE (zed-industries-python-environment-tools-5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f_GH0.tar.gz) = 1696375
 SHA256 (zed-industries-async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553_GH0.tar.gz) = ee759b95851990a402e7e121dd1d6b3ab3215746901f0dc319d0c0266f7ca09b
 SIZE (zed-industries-async-pipe-rs-82d00a04211cf4e1236029aa03e6b6ce2a74c553_GH0.tar.gz) = 5575
 SHA256 (zed-industries-wprcontrol-cd811f7d744f65291e13131b1d907fda63ed91a1_GH0.tar.gz) = 5e735e3d60a39b1df67a0755516700b90f876e82c19f7c3da51369d96bd7535c
 SIZE (zed-industries-wprcontrol-cd811f7d744f65291e13131b1d907fda63ed91a1_GH0.tar.gz) = 19787
 SHA256 (KillTheMule-nvim-rs-764dd270c642f77f10f3e19d05cc178a6cbe69f3_GH0.tar.gz) = a0b9cab774f5b0cb88f39e084d6d074992fbb717eedccc727d062f09335d6a8d
 SIZE (KillTheMule-nvim-rs-764dd270c642f77f10f3e19d05cc178a6cbe69f3_GH0.tar.gz) = 49979
-SHA256 (microsoft-python-environment-tools-bb8e04607b96a3865d6aa4bb2a5a5a82ce05b5f0_GH0.tar.gz) = e457b1d62417982a0d27261a64b30e74f1b3a8720b9581639840b5a18cc0561c
-SIZE (microsoft-python-environment-tools-bb8e04607b96a3865d6aa4bb2a5a5a82ce05b5f0_GH0.tar.gz) = 1691125
 SHA256 (zed-industries-gh-workflow-37f3c0575d379c218a9c455ee67585184e40d43f_GH0.tar.gz) = 2c5516ada74d0b493816af20bbd13478d0c27994b74ca97f8584629b033a63bb
 SIZE (zed-industries-gh-workflow-37f3c0575d379c218a9c455ee67585184e40d43f_GH0.tar.gz) = 45257
 SHA256 (zed-industries-alacritty-4c129667ce56611becdc82de6e28218c80e2e88f_GH0.tar.gz) = b74491cdb9241da05a48be50d4dbde9d33169c4422390bce41c790e64acb79da
@@ -3035,5 +3057,5 @@ SHA256 (zed-industries-tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a
 SIZE (zed-industries-tree-sitter-yaml-baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a_GH0.tar.gz) = 145319
 SHA256 (zed-industries-calloop-eb6b4fd17b9af5ecc226546bdd04185391b3e265_GH0.tar.gz) = 8698ebc194a6c3ee377cde94f4fdff590f6a7973bc7987c880801fa7fd69e5c3
 SIZE (zed-industries-calloop-eb6b4fd17b9af5ecc226546bdd04185391b3e265_GH0.tar.gz) = 94768
-SHA256 (zed-industries-zed-v1.20.2_GH0.tar.gz) = 497f190a21908e962df47a3f8095d0d67f67331bdf89992b198adc58458b469e
-SIZE (zed-industries-zed-v1.20.2_GH0.tar.gz) = 24418927
+SHA256 (zed-industries-zed-v1.22.0_GH0.tar.gz) = 43f167898740144fc6544d089a3d9fdab2fd878404759fa2ef46a109bc3bd560
+SIZE (zed-industries-zed-v1.22.0_GH0.tar.gz) = 24754327
diff --git a/editors/zed/files/patch-Cargo.lock b/editors/zed/files/patch-Cargo.lock
index f84e84ff81bb..c9d45453f0b1 100644
--- a/editors/zed/files/patch-Cargo.lock
+++ b/editors/zed/files/patch-Cargo.lock
@@ -1,6 +1,6 @@
---- Cargo.lock.orig	2026-09-17 04:10:36 UTC
+--- Cargo.lock.orig	2026-09-30 14:36:45 UTC
 +++ Cargo.lock
-@@ -8963,21 +8963,21 @@ name = "ipc-channel"
+@@ -9042,21 +9042,21 @@ name = "ipc-channel"
  
  [[package]]
  name = "ipc-channel"
@@ -30,7 +30,7 @@
  ]
  
  [[package]]
-@@ -21098,16 +21098,6 @@ name = "windows"
+@@ -21210,16 +21210,6 @@ name = "windows"
  
  [[package]]
  name = "windows"
@@ -47,7 +47,7 @@
  version = "0.61.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
-@@ -21200,19 +21190,6 @@ name = "windows-core"
+@@ -21312,19 +21302,6 @@ name = "windows-core"
  
  [[package]]
  name = "windows-core"
@@ -67,7 +67,7 @@
  version = "0.61.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
-@@ -21283,17 +21260,6 @@ name = "windows-implement"
+@@ -21395,17 +21372,6 @@ name = "windows-implement"
  
  [[package]]
  name = "windows-implement"
@@ -85,7 +85,7 @@
  version = "0.60.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
-@@ -21327,17 +21293,6 @@ name = "windows-interface"
+@@ -21439,17 +21405,6 @@ name = "windows-interface"
  
  [[package]]
  name = "windows-interface"
@@ -103,7 +103,7 @@
  version = "0.59.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
-@@ -21412,15 +21367,6 @@ name = "windows-result"
+@@ -21524,15 +21479,6 @@ name = "windows-result"
  
  [[package]]
  name = "windows-result"
@@ -119,7 +119,7 @@
  version = "0.3.4"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
-@@ -21435,16 +21381,6 @@ dependencies = [
+@@ -21547,16 +21493,6 @@ dependencies = [
  checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
  dependencies = [
   "windows-link 0.2.1",
diff --git a/editors/zed/files/patch-crates_fs_src_fs.rs b/editors/zed/files/patch-crates_fs_src_fs.rs
index fd8fad2e7da2..7ce1285eeab6 100644
--- a/editors/zed/files/patch-crates_fs_src_fs.rs
+++ b/editors/zed/files/patch-crates_fs_src_fs.rs
@@ -1,6 +1,6 @@
---- crates/fs/src/fs.rs.orig	2026-09-17 04:10:36 UTC
+--- crates/fs/src/fs.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/fs/src/fs.rs
-@@ -499,7 +499,7 @@ impl FileHandle for std::fs::File {
+@@ -501,7 +501,7 @@ impl FileHandle for std::fs::File {
          Ok(new_path)
      }
  
@@ -9,7 +9,7 @@
      fn current_path(&self, _: &Arc<dyn Fs>) -> Result<PathBuf> {
          use std::{
              ffi::{CStr, OsStr},
-@@ -508,7 +508,10 @@ impl FileHandle for std::fs::File {
+@@ -510,7 +510,10 @@ impl FileHandle for std::fs::File {
  
          let fd = self.as_fd();
          let mut kif = MaybeUninit::<libc::kinfo_file>::uninit();
@@ -21,7 +21,7 @@
  
          let result = unsafe { libc::fcntl(fd.as_raw_fd(), libc::F_KINFO, kif.as_mut_ptr()) };
          anyhow::ensure!(result != -1, "fcntl returned -1");
-@@ -520,6 +523,11 @@ impl FileHandle for std::fs::File {
+@@ -522,6 +525,11 @@ impl FileHandle for std::fs::File {
          Ok(path)
      }
  
@@ -33,7 +33,7 @@
      #[cfg(target_os = "windows")]
      fn current_path(&self, _: &Arc<dyn Fs>) -> Result<PathBuf> {
          use std::ffi::OsString;
-@@ -620,7 +628,7 @@ impl RealFs {
+@@ -622,7 +630,7 @@ impl RealFs {
      }
  }
  
@@ -42,7 +42,7 @@
  fn rename_without_replace(source: &Path, target: &Path) -> io::Result<()> {
      let source = path_to_c_string(source)?;
      let target = path_to_c_string(target)?;
-@@ -640,6 +648,27 @@ fn rename_without_replace(source: &Path, target: &Path
+@@ -642,6 +650,27 @@ fn rename_without_replace(source: &Path, target: &Path
          )
      };
  
@@ -70,7 +70,7 @@
      if result == 0 {
          Ok(())
      } else {
-@@ -667,7 +696,7 @@ fn rename_without_replace(source: &Path, target: &Path
+@@ -669,7 +698,7 @@ fn rename_without_replace(source: &Path, target: &Path
      .map_err(|_| io::Error::last_os_error())
  }
  
@@ -79,7 +79,7 @@
  fn path_to_c_string(path: &Path) -> io::Result<CString> {
      CString::new(path.as_os_str().as_bytes()).map_err(|_| {
          io::Error::new(
-@@ -824,7 +853,12 @@ impl Fs for RealFs {
+@@ -826,7 +855,12 @@ impl Fs for RealFs {
          }
  
          let use_metadata_fallback = {
@@ -93,7 +93,7 @@
              {
                  let source = source.to_path_buf();
                  let target = target.to_path_buf();
-@@ -857,7 +891,12 @@ impl Fs for RealFs {
+@@ -859,7 +893,12 @@ impl Fs for RealFs {
                  }
              }
  
diff --git a/editors/zed/files/patch-crates_fs_tests_integration_fs__tests.rs b/editors/zed/files/patch-crates_fs_tests_integration_fs__tests.rs
new file mode 100644
index 000000000000..dd563b172128
--- /dev/null
+++ b/editors/zed/files/patch-crates_fs_tests_integration_fs__tests.rs
@@ -0,0 +1,29 @@
+--- crates/fs/tests/integration/fs_tests.rs.orig	2026-10-04 12:55:16 UTC
++++ crates/fs/tests/integration/fs_tests.rs
+@@ -582,7 +582,7 @@ async fn test_rename(executor: BackgroundExecutor) {
+ }
+ 
+ #[gpui::test]
+-#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))]
++#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows", target_os = "freebsd"))]
+ async fn test_realfs_parallel_rename_without_overwrite_preserves_losing_source(
+     executor: BackgroundExecutor,
+ ) {
+@@ -610,7 +610,7 @@ async fn test_realfs_parallel_rename_without_overwrite
+ }
+ 
+ #[gpui::test]
+-#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))]
++#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows", target_os = "freebsd"))]
+ async fn test_realfs_rename_ignore_if_exists_leaves_source_and_target_unchanged(
+     executor: BackgroundExecutor,
+ ) {
+@@ -744,7 +744,7 @@ async fn assert_remove_file_unlinks_symlink(root: &Pat
+ }
+ 
+ #[gpui::test]
+-#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))]
++#[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows", target_os = "freebsd"))]
+ async fn test_realfs_copy_and_remove_semantics(cx: &mut TestAppContext) {
+     cx.executor().allow_parking();
+     let executor = cx.executor();
diff --git a/editors/zed/files/patch-crates_gpui__linux_src_linux_platform.rs b/editors/zed/files/patch-crates_gpui__linux_src_linux_platform.rs
index 6a5c99192885..e389c65f1059 100644
--- a/editors/zed/files/patch-crates_gpui__linux_src_linux_platform.rs
+++ b/editors/zed/files/patch-crates_gpui__linux_src_linux_platform.rs
@@ -1,6 +1,6 @@
---- crates/gpui_linux/src/linux/platform.rs.orig	2026-08-26 14:24:53 UTC
+--- crates/gpui_linux/src/linux/platform.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/gpui_linux/src/linux/platform.rs
-@@ -128,7 +128,7 @@ pub(crate) struct LinuxCommon {
+@@ -149,7 +149,7 @@ pub(crate) struct LinuxCommon {
      app_name: Option<String>,
      system_notifications: crate::linux::system_notifications::SystemNotificationState,
      #[cfg_attr(
@@ -8,22 +8,4 @@
 +        not(all(any(target_os = "linux", target_os = "freebsd"), any(feature = "wayland", feature = "x11"))),
          allow(dead_code)
      )]
-     wake_sender: Sender<()>,
-@@ -179,7 +179,7 @@ impl LinuxCommon {
- 
-     pub(crate) fn start_wake_listener(&mut self) {
-         if !self.wake_listener_started {
--            #[cfg(all(target_os = "linux", any(feature = "wayland", feature = "x11")))]
-+            #[cfg(all(any(target_os = "linux", target_os = "freebsd"), any(feature = "wayland", feature = "x11")))]
-             smol::spawn({
-                 let wake_sender = self.wake_sender.clone();
-                 async move {
-@@ -202,7 +202,7 @@ impl LinuxCommon {
-     }
- }
- 
--#[cfg(all(target_os = "linux", any(feature = "wayland", feature = "x11")))]
-+#[cfg(all(any(target_os = "linux", target_os = "freebsd"), any(feature = "wayland", feature = "x11")))]
- async fn listen_for_system_wake(wake_sender: Sender<()>) -> anyhow::Result<()> {
-     use futures::StreamExt as _;
- 
+     power_sender: Sender<SystemPowerEvent>,
diff --git a/editors/zed/files/patch-crates_gpui_src_platform.rs b/editors/zed/files/patch-crates_gpui_src_platform.rs
index 3528f0057e45..6f6cb19c591f 100644
--- a/editors/zed/files/patch-crates_gpui_src_platform.rs
+++ b/editors/zed/files/patch-crates_gpui_src_platform.rs
@@ -1,4 +1,4 @@
---- crates/gpui/src/platform.rs.orig	2026-09-09 15:43:20 UTC
+--- crates/gpui/src/platform.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/gpui/src/platform.rs
 @@ -2,7 +2,7 @@ mod keystroke;
  mod keyboard;
@@ -18,7 +18,7 @@
      feature = "screen-capture"
  ))]
  pub(crate) type PlatformScreenCaptureFrame = scap::frame::Frame;
-@@ -918,7 +918,7 @@ pub trait PlatformWindow: HasWindowHandle + HasDisplay
+@@ -1014,7 +1014,7 @@ pub trait PlatformWindow: HasWindowHandle + HasDisplay
      }
      fn start_window_resize(&self, _edge: ResizeEdge) {}
      fn set_exclusive_zone(&self, _zone: Pixels) {}
@@ -27,7 +27,7 @@
      fn set_exclusive_edge(&self, _edge: layer_shell::Anchor) {}
      fn set_input_region(&self, _region: Option<&[Bounds<Pixels>]>) {}
      fn window_decorations(&self) -> Decorations {
-@@ -2181,7 +2181,7 @@ pub enum WindowKind {
+@@ -2407,7 +2407,7 @@ pub enum WindowKind {
  
      /// A Wayland LayerShell window, used to draw overlays or backgrounds for applications such as
      /// docks, notifications or wallpapers.
diff --git a/editors/zed/files/patch-crates_gpui_src_window.rs b/editors/zed/files/patch-crates_gpui_src_window.rs
index ef9058f3f506..184b30642adf 100644
--- a/editors/zed/files/patch-crates_gpui_src_window.rs
+++ b/editors/zed/files/patch-crates_gpui_src_window.rs
@@ -1,6 +1,6 @@
---- crates/gpui/src/window.rs.orig	2026-09-17 04:10:36 UTC
+--- crates/gpui/src/window.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/gpui/src/window.rs
-@@ -2299,7 +2299,7 @@ impl Window {
+@@ -2393,7 +2393,7 @@ impl Window {
      /// This is only needed to disambiguate a corner-anchored surface; otherwise the
      /// edge is deduced from the anchor. The edge must be a single edge the surface
      /// is anchored to, or it is ignored. (Wayland layer-shell windows only)
diff --git a/editors/zed/files/patch-crates_project_src_agent__registry__store.rs b/editors/zed/files/patch-crates_project_src_agent__registry__store.rs
index f575271dee55..93e1bb2ee397 100644
--- a/editors/zed/files/patch-crates_project_src_agent__registry__store.rs
+++ b/editors/zed/files/patch-crates_project_src_agent__registry__store.rs
@@ -1,6 +1,6 @@
---- crates/project/src/agent_registry_store.rs.orig	2026-05-20 14:31:42 UTC
+--- crates/project/src/agent_registry_store.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/project/src/agent_registry_store.rs
-@@ -585,6 +585,8 @@ fn current_platform_key() -> Option<&'static str> {
+@@ -591,6 +591,8 @@ fn current_platform_key() -> Option<&'static str> {
          "linux"
      } else if cfg!(target_os = "windows") {
          "windows"
@@ -9,7 +9,7 @@
      } else {
          return None;
      };
-@@ -611,6 +613,11 @@ fn current_platform_key() -> Option<&'static str> {
+@@ -617,6 +619,11 @@ fn current_platform_key() -> Option<&'static str> {
          "windows" => match arch {
              "aarch64" => "windows-aarch64",
              "x86_64" => "windows-x86_64",
diff --git a/editors/zed/files/patch-crates_project_tests_integration_project__tests.rs b/editors/zed/files/patch-crates_project_tests_integration_project__tests.rs
index 5870803dad49..6dad4f8876c3 100644
--- a/editors/zed/files/patch-crates_project_tests_integration_project__tests.rs
+++ b/editors/zed/files/patch-crates_project_tests_integration_project__tests.rs
@@ -1,4 +1,4 @@
---- crates/project/tests/integration/project_tests.rs.orig	2026-09-17 04:10:36 UTC
+--- crates/project/tests/integration/project_tests.rs.orig	2026-09-30 14:36:45 UTC
 +++ crates/project/tests/integration/project_tests.rs
 @@ -68,7 +68,7 @@ use settings::{GlobalLspSettingsContent, SettingsStore
  use rand::{Rng as _, rngs::StdRng};
@@ -9,7 +9,7 @@
  use settings::{LocalSettingsKind, LocalSettingsPath};
  #[cfg(not(windows))]
  use std::os;
-@@ -8754,7 +8754,7 @@ async fn test_rescan_and_remote_updates(cx: &mut gpui:
+@@ -8770,7 +8770,7 @@ async fn test_rescan_and_remote_updates(cx: &mut gpui:
      });
  }
  
*** 99 LINES SKIPPED ***