pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pitchfork: update to 2.12.1



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Sun Jun 7 21:49:44 2026 +0200
Changeset:	a7d0bfe2e5871639222c0723143f08bc4b3ed53e

Modified Files:
	TODO
	pitchfork/DESCR
	pitchfork/Makefile
	pitchfork/cargo-depends.mk
	pitchfork/distinfo
Removed Files:
	pitchfork/patches/patch-src_boot__manager.rs

Log Message:
pitchfork: update to 2.12.1

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a7d0bfe2e5871639222c0723143f08bc4b3ed53e

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 TODO                                         |   1 -
 pitchfork/DESCR                              |  30 +-
 pitchfork/Makefile                           |   2 +-
 pitchfork/cargo-depends.mk                   |  72 ++---
 pitchfork/distinfo                           | 223 +++++++------
 pitchfork/patches/patch-src_boot__manager.rs | 464 ---------------------------
 6 files changed, 164 insertions(+), 628 deletions(-)

diffs:
diff --git a/TODO b/TODO
index 0974fed300..4b0b32ae79 100644
--- a/TODO
+++ b/TODO
@@ -118,7 +118,6 @@ Suggested package updates
 	o pessulus-2.30.4
 	o pike-7.8.700
 	o pipewire-1.6
-	o pitchfork-2.12.1
 	o ppp-2.5.2
 	o py-PyPE-2.9
 	o py-etmtk-3.2.31
diff --git a/pitchfork/DESCR b/pitchfork/DESCR
index 92586936ec..18611e365c 100644
--- a/pitchfork/DESCR
+++ b/pitchfork/DESCR
@@ -1,13 +1,23 @@
-Pitchfork is a CLI for managing daemons with a focus on developer experience.
+Pitchfork is a CLI for managing daemons with a focus on developer
+experience.
 
-- Start services once - Only start daemons if they have not already been started
-- Auto start/stop - Shell hook starts daemons when entering a project directory, stops when leaving
-- Ready checks - Delay, output regex, HTTP endpoint, TCP port, or custom command
-- Dependency management - Topological start ordering with parallel execution
+- Start services once - Only start daemons if they have not already
+  been started
+- Auto start/stop - Shell hook starts daemons when entering a
+  project directory, stops when leaving
+- Ready checks - Delay, output regex, HTTP endpoint, TCP port, or
+  custom command
+- Dependency management - Topological start ordering with parallel
+  execution
 - File watching - Auto-restart daemons when source files change
-- Cron scheduling - Schedule recurring tasks with configurable retrigger modes
-- Lifecycle hooks - Run commands on ready, fail, retry, stop, and exit events
+- Cron scheduling - Schedule recurring tasks with configurable
+  retrigger modes
+- Lifecycle hooks - Run commands on ready, fail, retry, stop, and
+  exit events
 - Resource limits - Enforce memory and CPU limits per daemon
-- TUI & Web UI - Interactive terminal dashboard and browser-based interface
-- MCP server - Expose daemon management to AI assistants (Claude, Cursor, etc.)
-- Container mode - Run as PID 1 with zombie reaping and signal forwarding
+- TUI & Web UI - Interactive terminal dashboard and browser-based
+  interface
+- MCP server - Expose daemon management to AI assistants (Claude,
+  Cursor, etc.)
+- Container mode - Run as PID 1 with zombie reaping and signal
+  Forwarding
diff --git a/pitchfork/Makefile b/pitchfork/Makefile
index 557acee8c8..b00d1936ed 100644
--- a/pitchfork/Makefile
+++ b/pitchfork/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	pitchfork-2.10.0
+DISTNAME=	pitchfork-2.12.1
 CATEGORIES=	sysutils
 MASTER_SITES=	${MASTER_SITE_GITHUB:=endevco/}
 GITHUB_TAG=	v${PKGVERSION_NOREV}
diff --git a/pitchfork/cargo-depends.mk b/pitchfork/cargo-depends.mk
index d8d2498a02..b1514f670e 100644
--- a/pitchfork/cargo-depends.mk
+++ b/pitchfork/cargo-depends.mk
@@ -32,7 +32,6 @@ CARGO_CRATE_DEPENDS+=	bit-vec-0.6.3
 CARGO_CRATE_DEPENDS+=	bitflags-1.3.2
 CARGO_CRATE_DEPENDS+=	bitflags-2.11.1
 CARGO_CRATE_DEPENDS+=	block-buffer-0.10.4
-CARGO_CRATE_DEPENDS+=	block-buffer-0.12.0
 CARGO_CRATE_DEPENDS+=	block2-0.6.2
 CARGO_CRATE_DEPENDS+=	bstr-1.12.1
 CARGO_CRATE_DEPENDS+=	bumpalo-3.20.2
@@ -40,7 +39,7 @@ CARGO_CRATE_DEPENDS+=	bytemuck-1.25.0
 CARGO_CRATE_DEPENDS+=	byteorder-1.5.0
 CARGO_CRATE_DEPENDS+=	bytes-1.11.1
 CARGO_CRATE_DEPENDS+=	castaway-0.2.4
-CARGO_CRATE_DEPENDS+=	cc-1.2.60
+CARGO_CRATE_DEPENDS+=	cc-1.2.62
 CARGO_CRATE_DEPENDS+=	cesu8-1.1.0
 CARGO_CRATE_DEPENDS+=	cfg-if-1.0.4
 CARGO_CRATE_DEPENDS+=	cfg_aliases-0.2.1
@@ -53,12 +52,12 @@ CARGO_CRATE_DEPENDS+=	clap_builder-4.6.0
 CARGO_CRATE_DEPENDS+=	clap_derive-4.6.1
 CARGO_CRATE_DEPENDS+=	clap_lex-1.1.0
 CARGO_CRATE_DEPENDS+=	clap_usage-2.0.3
+CARGO_CRATE_DEPENDS+=	clx-2.1.0
 CARGO_CRATE_DEPENDS+=	colorchoice-1.0.5
 CARGO_CRATE_DEPENDS+=	combine-4.6.7
 CARGO_CRATE_DEPENDS+=	comfy-table-7.2.2
 CARGO_CRATE_DEPENDS+=	compact_str-0.9.0
 CARGO_CRATE_DEPENDS+=	console-0.16.3
-CARGO_CRATE_DEPENDS+=	const-oid-0.10.2
 CARGO_CRATE_DEPENDS+=	convert_case-0.10.0
 CARGO_CRATE_DEPENDS+=	core-foundation-0.9.4
 CARGO_CRATE_DEPENDS+=	core-foundation-0.10.1
@@ -72,7 +71,6 @@ CARGO_CRATE_DEPENDS+=	crossbeam-utils-0.8.21
 CARGO_CRATE_DEPENDS+=	crossterm-0.29.0
 CARGO_CRATE_DEPENDS+=	crossterm_winapi-0.9.1
 CARGO_CRATE_DEPENDS+=	crypto-common-0.1.7
-CARGO_CRATE_DEPENDS+=	crypto-common-0.2.1
 CARGO_CRATE_DEPENDS+=	csscolorparser-0.6.2
 CARGO_CRATE_DEPENDS+=	darling-0.20.11
 CARGO_CRATE_DEPENDS+=	darling-0.23.0
@@ -80,7 +78,7 @@ CARGO_CRATE_DEPENDS+=	darling_core-0.20.11
 CARGO_CRATE_DEPENDS+=	darling_core-0.23.0
 CARGO_CRATE_DEPENDS+=	darling_macro-0.20.11
 CARGO_CRATE_DEPENDS+=	darling_macro-0.23.0
-CARGO_CRATE_DEPENDS+=	data-encoding-2.10.0
+CARGO_CRATE_DEPENDS+=	data-encoding-2.11.0
 CARGO_CRATE_DEPENDS+=	deltae-0.3.2
 CARGO_CRATE_DEPENDS+=	der-parser-10.0.0
 CARGO_CRATE_DEPENDS+=	deranged-0.5.8
@@ -88,7 +86,6 @@ CARGO_CRATE_DEPENDS+=	derive_more-2.1.1
 CARGO_CRATE_DEPENDS+=	derive_more-impl-2.1.1
 CARGO_CRATE_DEPENDS+=	deunicode-1.6.2
 CARGO_CRATE_DEPENDS+=	digest-0.10.7
-CARGO_CRATE_DEPENDS+=	digest-0.11.2
 CARGO_CRATE_DEPENDS+=	dirs-6.0.0
 CARGO_CRATE_DEPENDS+=	dirs-sys-0.5.0
 CARGO_CRATE_DEPENDS+=	dispatch2-0.3.1
@@ -110,10 +107,11 @@ CARGO_CRATE_DEPENDS+=	fancy-regex-0.11.0
 CARGO_CRATE_DEPENDS+=	fastrand-2.4.1
 CARGO_CRATE_DEPENDS+=	file-id-0.2.3
 CARGO_CRATE_DEPENDS+=	filedescriptor-0.8.3
-CARGO_CRATE_DEPENDS+=	filetime-0.2.27
+CARGO_CRATE_DEPENDS+=	filetime-0.2.29
 CARGO_CRATE_DEPENDS+=	find-msvc-tools-0.1.9
 CARGO_CRATE_DEPENDS+=	finl_unicode-1.4.0
 CARGO_CRATE_DEPENDS+=	fixedbitset-0.4.2
+CARGO_CRATE_DEPENDS+=	flume-0.11.1
 CARGO_CRATE_DEPENDS+=	fnv-1.0.7
 CARGO_CRATE_DEPENDS+=	foldhash-0.1.5
 CARGO_CRATE_DEPENDS+=	foldhash-0.2.0
@@ -138,10 +136,10 @@ CARGO_CRATE_DEPENDS+=	gimli-0.32.3
 CARGO_CRATE_DEPENDS+=	glob-0.3.3
 CARGO_CRATE_DEPENDS+=	globset-0.4.18
 CARGO_CRATE_DEPENDS+=	globwalk-0.9.1
-CARGO_CRATE_DEPENDS+=	h2-0.4.13
+CARGO_CRATE_DEPENDS+=	h2-0.4.14
 CARGO_CRATE_DEPENDS+=	hashbrown-0.15.5
 CARGO_CRATE_DEPENDS+=	hashbrown-0.16.1
-CARGO_CRATE_DEPENDS+=	hashbrown-0.17.0
+CARGO_CRATE_DEPENDS+=	hashbrown-0.17.1
 CARGO_CRATE_DEPENDS+=	heck-0.5.0
 CARGO_CRATE_DEPENDS+=	hex-0.4.3
 CARGO_CRATE_DEPENDS+=	homedir-0.3.5
@@ -155,7 +153,6 @@ CARGO_CRATE_DEPENDS+=	humanbyte-0.2.1
 CARGO_CRATE_DEPENDS+=	humanbyte-derive-0.2.1
 CARGO_CRATE_DEPENDS+=	humansize-2.1.3
 CARGO_CRATE_DEPENDS+=	humantime-2.3.0
-CARGO_CRATE_DEPENDS+=	hybrid-array-0.4.10
 CARGO_CRATE_DEPENDS+=	hyper-1.9.0
 CARGO_CRATE_DEPENDS+=	hyper-rustls-0.27.9
 CARGO_CRATE_DEPENDS+=	hyper-util-0.1.20
@@ -171,7 +168,8 @@ CARGO_CRATE_DEPENDS+=	icu_provider-2.2.0
 CARGO_CRATE_DEPENDS+=	id-arena-2.3.0
 CARGO_CRATE_DEPENDS+=	ident_case-1.0.1
 CARGO_CRATE_DEPENDS+=	idna-1.1.0
-CARGO_CRATE_DEPENDS+=	idna_adapter-1.2.1
+CARGO_CRATE_DEPENDS+=	idna_adapter-1.2.2
+CARGO_CRATE_DEPENDS+=	if-addrs-0.13.4
 CARGO_CRATE_DEPENDS+=	ignore-0.4.25
 CARGO_CRATE_DEPENDS+=	indexmap-2.14.0
 CARGO_CRATE_DEPENDS+=	indoc-2.0.7
@@ -180,7 +178,6 @@ CARGO_CRATE_DEPENDS+=	inotify-sys-0.1.5
 CARGO_CRATE_DEPENDS+=	instability-0.3.10
 CARGO_CRATE_DEPENDS+=	interprocess-2.4.2
 CARGO_CRATE_DEPENDS+=	ipnet-2.12.0
-CARGO_CRATE_DEPENDS+=	iri-string-0.7.12
 CARGO_CRATE_DEPENDS+=	is_ci-1.2.0
 CARGO_CRATE_DEPENDS+=	is_terminal_polyfill-1.70.2
 CARGO_CRATE_DEPENDS+=	itertools-0.14.0
@@ -189,15 +186,15 @@ CARGO_CRATE_DEPENDS+=	jni-0.21.1
 CARGO_CRATE_DEPENDS+=	jni-sys-0.3.1
 CARGO_CRATE_DEPENDS+=	jni-sys-0.4.1
 CARGO_CRATE_DEPENDS+=	jni-sys-macros-0.4.1
-CARGO_CRATE_DEPENDS+=	js-sys-0.3.95
+CARGO_CRATE_DEPENDS+=	js-sys-0.3.98
 CARGO_CRATE_DEPENDS+=	kasuari-0.4.12
 CARGO_CRATE_DEPENDS+=	kdl-6.5.0
 CARGO_CRATE_DEPENDS+=	kqueue-1.1.1
-CARGO_CRATE_DEPENDS+=	kqueue-sys-1.0.4
+CARGO_CRATE_DEPENDS+=	kqueue-sys-1.1.2
 CARGO_CRATE_DEPENDS+=	lab-0.11.0
 CARGO_CRATE_DEPENDS+=	lazy_static-1.5.0
 CARGO_CRATE_DEPENDS+=	leb128fmt-0.1.0
-CARGO_CRATE_DEPENDS+=	libc-0.2.185
+CARGO_CRATE_DEPENDS+=	libc-0.2.186
 CARGO_CRATE_DEPENDS+=	libm-0.2.16
 CARGO_CRATE_DEPENDS+=	libredox-0.1.16
 CARGO_CRATE_DEPENDS+=	line-clipping-0.3.7
@@ -210,6 +207,7 @@ CARGO_CRATE_DEPENDS+=	log-0.4.29
 CARGO_CRATE_DEPENDS+=	lru-0.16.4
 CARGO_CRATE_DEPENDS+=	mac_address-1.1.8
 CARGO_CRATE_DEPENDS+=	matchit-0.8.4
+CARGO_CRATE_DEPENDS+=	mdns-sd-0.13.11
 CARGO_CRATE_DEPENDS+=	memchr-2.8.0
 CARGO_CRATE_DEPENDS+=	memmem-0.1.1
 CARGO_CRATE_DEPENDS+=	memoffset-0.9.1
@@ -222,7 +220,7 @@ CARGO_CRATE_DEPENDS+=	miniz_oxide-0.8.9
 CARGO_CRATE_DEPENDS+=	mio-1.2.0
 CARGO_CRATE_DEPENDS+=	nix-0.29.0
 CARGO_CRATE_DEPENDS+=	nix-0.30.1
-CARGO_CRATE_DEPENDS+=	nix-0.31.2
+CARGO_CRATE_DEPENDS+=	nix-0.31.3
 CARGO_CRATE_DEPENDS+=	nom-7.1.3
 CARGO_CRATE_DEPENDS+=	nom-8.0.0
 CARGO_CRATE_DEPENDS+=	notify-8.2.0
@@ -269,7 +267,7 @@ CARGO_CRATE_DEPENDS+=	owo-colors-4.3.0
 CARGO_CRATE_DEPENDS+=	parking_lot-0.12.5
 CARGO_CRATE_DEPENDS+=	parking_lot_core-0.9.12
 CARGO_CRATE_DEPENDS+=	parse-zoneinfo-0.3.1
-CARGO_CRATE_DEPENDS+=	pastey-0.2.1
+CARGO_CRATE_DEPENDS+=	pastey-0.2.2
 CARGO_CRATE_DEPENDS+=	pem-3.0.6
 CARGO_CRATE_DEPENDS+=	percent-encoding-2.3.2
 CARGO_CRATE_DEPENDS+=	pest-2.8.6
@@ -282,7 +280,6 @@ CARGO_CRATE_DEPENDS+=	phf_generator-0.11.3
 CARGO_CRATE_DEPENDS+=	phf_macros-0.11.3
 CARGO_CRATE_DEPENDS+=	phf_shared-0.11.3
 CARGO_CRATE_DEPENDS+=	pin-project-lite-0.2.17
-CARGO_CRATE_DEPENDS+=	plain-0.2.3
 CARGO_CRATE_DEPENDS+=	plist-1.8.0
 CARGO_CRATE_DEPENDS+=	portable-atomic-1.13.1
 CARGO_CRATE_DEPENDS+=	potential_utf-0.1.5
@@ -308,7 +305,6 @@ CARGO_CRATE_DEPENDS+=	ratatui-widgets-0.3.0
 CARGO_CRATE_DEPENDS+=	rcgen-0.14.7
 CARGO_CRATE_DEPENDS+=	recvmsg-1.0.0
 CARGO_CRATE_DEPENDS+=	redox_syscall-0.5.18
-CARGO_CRATE_DEPENDS+=	redox_syscall-0.7.4
 CARGO_CRATE_DEPENDS+=	redox_users-0.5.2
 CARGO_CRATE_DEPENDS+=	ref-cast-1.0.25
 CARGO_CRATE_DEPENDS+=	ref-cast-impl-1.0.25
@@ -318,8 +314,8 @@ CARGO_CRATE_DEPENDS+=	regex-syntax-0.8.10
 CARGO_CRATE_DEPENDS+=	reqwest-0.13.1
 CARGO_CRATE_DEPENDS+=	rev_lines-0.3.0
 CARGO_CRATE_DEPENDS+=	ring-0.17.14
-CARGO_CRATE_DEPENDS+=	rmcp-1.5.0
-CARGO_CRATE_DEPENDS+=	rmcp-macros-1.5.0
+CARGO_CRATE_DEPENDS+=	rmcp-1.7.0
+CARGO_CRATE_DEPENDS+=	rmcp-macros-1.7.0
 CARGO_CRATE_DEPENDS+=	rmp-0.8.15
 CARGO_CRATE_DEPENDS+=	rmp-serde-1.3.1
 CARGO_CRATE_DEPENDS+=	roff-0.2.2
@@ -330,13 +326,13 @@ CARGO_CRATE_DEPENDS+=	rustc-demangle-0.1.27
 CARGO_CRATE_DEPENDS+=	rustc_version-0.4.1
 CARGO_CRATE_DEPENDS+=	rusticata-macros-4.1.0
 CARGO_CRATE_DEPENDS+=	rustix-1.1.4
-CARGO_CRATE_DEPENDS+=	rustls-0.23.38
+CARGO_CRATE_DEPENDS+=	rustls-0.23.40
 CARGO_CRATE_DEPENDS+=	rustls-native-certs-0.8.3
 CARGO_CRATE_DEPENDS+=	rustls-pemfile-2.2.0
-CARGO_CRATE_DEPENDS+=	rustls-pki-types-1.14.0
+CARGO_CRATE_DEPENDS+=	rustls-pki-types-1.14.1
 CARGO_CRATE_DEPENDS+=	rustls-platform-verifier-0.6.2
 CARGO_CRATE_DEPENDS+=	rustls-platform-verifier-android-0.1.1
-CARGO_CRATE_DEPENDS+=	rustls-webpki-0.103.12
+CARGO_CRATE_DEPENDS+=	rustls-webpki-0.103.13
 CARGO_CRATE_DEPENDS+=	rustversion-1.0.22
 CARGO_CRATE_DEPENDS+=	ryu-1.0.23
 CARGO_CRATE_DEPENDS+=	same-file-1.0.6
@@ -356,7 +352,6 @@ CARGO_CRATE_DEPENDS+=	serde_path_to_error-0.1.20
 CARGO_CRATE_DEPENDS+=	serde_spanned-1.1.1
 CARGO_CRATE_DEPENDS+=	serde_urlencoded-0.7.1
 CARGO_CRATE_DEPENDS+=	sha2-0.10.9
-CARGO_CRATE_DEPENDS+=	sha2-0.11.0
 CARGO_CRATE_DEPENDS+=	shared_child-1.1.1
 CARGO_CRATE_DEPENDS+=	shared_thread-0.2.0
 CARGO_CRATE_DEPENDS+=	shell-words-1.1.1
@@ -365,12 +360,14 @@ CARGO_CRATE_DEPENDS+=	sigchld-0.2.4
 CARGO_CRATE_DEPENDS+=	signal-hook-0.3.18
 CARGO_CRATE_DEPENDS+=	signal-hook-mio-0.2.5
 CARGO_CRATE_DEPENDS+=	signal-hook-registry-1.4.8
-CARGO_CRATE_DEPENDS+=	siphasher-1.0.2
+CARGO_CRATE_DEPENDS+=	siphasher-1.0.3
 CARGO_CRATE_DEPENDS+=	slab-0.4.12
 CARGO_CRATE_DEPENDS+=	slug-0.1.6
 CARGO_CRATE_DEPENDS+=	smallvec-1.15.1
 CARGO_CRATE_DEPENDS+=	smappservice-rs-0.1.3
+CARGO_CRATE_DEPENDS+=	socket2-0.5.10
 CARGO_CRATE_DEPENDS+=	socket2-0.6.3
+CARGO_CRATE_DEPENDS+=	spin-0.9.8
 CARGO_CRATE_DEPENDS+=	stable_deref_trait-1.2.1
 CARGO_CRATE_DEPENDS+=	static_assertions-1.1.0
 CARGO_CRATE_DEPENDS+=	strsim-0.11.1
@@ -405,7 +402,7 @@ CARGO_CRATE_DEPENDS+=	time-0.3.45
 CARGO_CRATE_DEPENDS+=	time-core-0.1.7
 CARGO_CRATE_DEPENDS+=	time-macros-0.2.25
 CARGO_CRATE_DEPENDS+=	tinystr-0.8.3
-CARGO_CRATE_DEPENDS+=	tokio-1.52.1
+CARGO_CRATE_DEPENDS+=	tokio-1.52.3
 CARGO_CRATE_DEPENDS+=	tokio-macros-2.7.0
 CARGO_CRATE_DEPENDS+=	tokio-rustls-0.26.4
 CARGO_CRATE_DEPENDS+=	tokio-stream-0.1.18
@@ -415,7 +412,7 @@ CARGO_CRATE_DEPENDS+=	toml_datetime-1.1.1+spec-1.1.0
 CARGO_CRATE_DEPENDS+=	toml_parser-1.1.2+spec-1.1.0
 CARGO_CRATE_DEPENDS+=	toml_writer-1.1.1+spec-1.1.0
 CARGO_CRATE_DEPENDS+=	tower-0.5.3
-CARGO_CRATE_DEPENDS+=	tower-http-0.6.8
+CARGO_CRATE_DEPENDS+=	tower-http-0.6.10
 CARGO_CRATE_DEPENDS+=	tower-layer-0.3.3
 CARGO_CRATE_DEPENDS+=	tower-service-0.3.3
 CARGO_CRATE_DEPENDS+=	tracing-0.1.44
@@ -448,15 +445,15 @@ CARGO_CRATE_DEPENDS+=	want-0.3.1
 CARGO_CRATE_DEPENDS+=	wasi-0.11.1+wasi-snapshot-preview1
 CARGO_CRATE_DEPENDS+=	wasip2-1.0.3+wasi-0.2.9
 CARGO_CRATE_DEPENDS+=	wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06
-CARGO_CRATE_DEPENDS+=	wasm-bindgen-0.2.118
-CARGO_CRATE_DEPENDS+=	wasm-bindgen-futures-0.4.68
-CARGO_CRATE_DEPENDS+=	wasm-bindgen-macro-0.2.118
-CARGO_CRATE_DEPENDS+=	wasm-bindgen-macro-support-0.2.118
-CARGO_CRATE_DEPENDS+=	wasm-bindgen-shared-0.2.118
+CARGO_CRATE_DEPENDS+=	wasm-bindgen-0.2.121
+CARGO_CRATE_DEPENDS+=	wasm-bindgen-futures-0.4.71
+CARGO_CRATE_DEPENDS+=	wasm-bindgen-macro-0.2.121
+CARGO_CRATE_DEPENDS+=	wasm-bindgen-macro-support-0.2.121
+CARGO_CRATE_DEPENDS+=	wasm-bindgen-shared-0.2.121
 CARGO_CRATE_DEPENDS+=	wasm-encoder-0.244.0
 CARGO_CRATE_DEPENDS+=	wasm-metadata-0.244.0
 CARGO_CRATE_DEPENDS+=	wasmparser-0.244.0
-CARGO_CRATE_DEPENDS+=	web-sys-0.3.95
+CARGO_CRATE_DEPENDS+=	web-sys-0.3.98
 CARGO_CRATE_DEPENDS+=	webpki-root-certs-1.0.7
 CARGO_CRATE_DEPENDS+=	wezterm-bidi-0.2.3
 CARGO_CRATE_DEPENDS+=	wezterm-blob-leases-0.1.1
@@ -490,6 +487,7 @@ CARGO_CRATE_DEPENDS+=	windows-strings-0.4.2
 CARGO_CRATE_DEPENDS+=	windows-strings-0.5.1
 CARGO_CRATE_DEPENDS+=	windows-sys-0.45.0
 CARGO_CRATE_DEPENDS+=	windows-sys-0.52.0
+CARGO_CRATE_DEPENDS+=	windows-sys-0.59.0
 CARGO_CRATE_DEPENDS+=	windows-sys-0.60.2
 CARGO_CRATE_DEPENDS+=	windows-sys-0.61.2
 CARGO_CRATE_DEPENDS+=	windows-targets-0.42.2
@@ -522,7 +520,7 @@ CARGO_CRATE_DEPENDS+=	windows_x86_64_msvc-0.52.6
 CARGO_CRATE_DEPENDS+=	windows_x86_64_msvc-0.53.1
 CARGO_CRATE_DEPENDS+=	winnow-0.6.24
 CARGO_CRATE_DEPENDS+=	winnow-0.7.15
-CARGO_CRATE_DEPENDS+=	winnow-1.0.1
+CARGO_CRATE_DEPENDS+=	winnow-1.0.3
 CARGO_CRATE_DEPENDS+=	wit-bindgen-0.51.0
 CARGO_CRATE_DEPENDS+=	wit-bindgen-0.57.1
 CARGO_CRATE_DEPENDS+=	wit-bindgen-core-0.51.0
@@ -532,13 +530,13 @@ CARGO_CRATE_DEPENDS+=	wit-component-0.244.0
 CARGO_CRATE_DEPENDS+=	wit-parser-0.244.0
 CARGO_CRATE_DEPENDS+=	writeable-0.6.3
 CARGO_CRATE_DEPENDS+=	x509-parser-0.18.1
-CARGO_CRATE_DEPENDS+=	xx-2.5.4
+CARGO_CRATE_DEPENDS+=	xx-2.2.0
 CARGO_CRATE_DEPENDS+=	yasna-0.5.2
 CARGO_CRATE_DEPENDS+=	yoke-0.8.2
 CARGO_CRATE_DEPENDS+=	yoke-derive-0.8.2
 CARGO_CRATE_DEPENDS+=	zerocopy-0.8.48
 CARGO_CRATE_DEPENDS+=	zerocopy-derive-0.8.48
-CARGO_CRATE_DEPENDS+=	zerofrom-0.1.7
+CARGO_CRATE_DEPENDS+=	zerofrom-0.1.8
 CARGO_CRATE_DEPENDS+=	zerofrom-derive-0.1.7
 CARGO_CRATE_DEPENDS+=	zeroize-1.8.2
 CARGO_CRATE_DEPENDS+=	zerotrie-0.2.4
diff --git a/pitchfork/distinfo b/pitchfork/distinfo
index 8830ac8813..627adebfdb 100644
--- a/pitchfork/distinfo
+++ b/pitchfork/distinfo
@@ -96,9 +96,6 @@ Size (bitflags-2.11.1.crate) = 49082 bytes
 BLAKE2s (block-buffer-0.10.4.crate) = 4422d2b2ea2e697a7339956a06cff79b3c5d6b263fbf51993c90fef1f9a0a9ef
 SHA512 (block-buffer-0.10.4.crate) = b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
 Size (block-buffer-0.10.4.crate) = 10538 bytes
-BLAKE2s (block-buffer-0.12.0.crate) = e57deef98f0ea479fffc48bf76ba323eb65cdb12ecc1c8312412a1b5afaeee9a
-SHA512 (block-buffer-0.12.0.crate) = 3ebe9faa231d777f76dbb7b78c72eebd913b109cf929b0a66399758d06829a7c1cc9ab06f8ac951739d91be0cb402a49bff918228359399367ce8e69a112da78
-Size (block-buffer-0.12.0.crate) = 14926 bytes
 BLAKE2s (block2-0.6.2.crate) = 230721d026f101141d7a5339503297451f8ec2c25de86cee99bfee92138c4a81
 SHA512 (block2-0.6.2.crate) = 865a855e84c975d9a879159e888f097ce2314972c8e01506d2a3b3b65afc9dbe042d764da903df6746925cef6281cec93478bc13df3316ca112c901db8e3fc38
 Size (block2-0.6.2.crate) = 34505 bytes
@@ -120,9 +117,9 @@ Size (bytes-1.11.1.crate) = 78584 bytes
 BLAKE2s (castaway-0.2.4.crate) = ef3d95ac9709ba3fd42e6f70548f6f70f0f058382754343736f131b9ab68289a
 SHA512 (castaway-0.2.4.crate) = 15b88016bbeae50146401607549b077b329c9bbae25768536360a964bd5c3b598feedce0365ca4b2662c7b94081062fc469f6a1049fc38187d79daac77b20481
 Size (castaway-0.2.4.crate) = 12546 bytes
-BLAKE2s (cc-1.2.60.crate) = 3ada3f91840c5e1ecfca34b3a65b7defef20467985ec3b185c36aaf717a6de24
-SHA512 (cc-1.2.60.crate) = d67fd7400bd1d20f26f7a6743ac02ad09dba0b8002172b87907f4a7ae2487ee41feb2f24fe375ca91a3ac4fde1dc8b48b6703b74297c9eb42bd1e91ac8fe4e80
-Size (cc-1.2.60.crate) = 97051 bytes
+BLAKE2s (cc-1.2.62.crate) = 5cb0707f26d1d431e32a5d8210a729f6a4af0b846841d695345d6c1011476fbc
+SHA512 (cc-1.2.62.crate) = 0701ef643e7e2c646c7895bd544f9ebc862ad83ca11a640a7f8b1fb5d6d9617ea45eaa8646019daff52d86d32823235fc098598554340b9bf0f91190e06f3012
+Size (cc-1.2.62.crate) = 97212 bytes
 BLAKE2s (cesu8-1.1.0.crate) = 1082a3d65334100f15ea3aa96f0e5f3fddc340e4cd9c64b1c9d7a3c601d7e2af
 SHA512 (cesu8-1.1.0.crate) = 2d902b624c7ccfe3633c7bcf99b833b120c0ed7760ea825bfb2fa03ae90df543e637efd46e0743782b81e468e0fd3b534956ffca81f9bdfbf742ff3beae8f8b8
 Size (cesu8-1.1.0.crate) = 10555 bytes
@@ -159,6 +156,9 @@ Size (clap_lex-1.1.0.crate) = 13470 bytes
 BLAKE2s (clap_usage-2.0.3.crate) = e56374070449a89fcfb91b40f363f6a79fa6adf4a733139bd84aafcb5f3ca679
 SHA512 (clap_usage-2.0.3.crate) = 87cf1a2295c3d9093d2c140979d736443e6477460cb0d4ce5f581862c6d48b6d272c947d877ab79b920fa063020df4d0c3b242893e0773d9e38c1ac9d0098ee2
 Size (clap_usage-2.0.3.crate) = 11623 bytes
+BLAKE2s (clx-2.1.0.crate) = f3310c5f521cc655871fd7277cbf136a4a745f3f50849959cd7b07cea71a5846
+SHA512 (clx-2.1.0.crate) = bbacac78d526f3951d3f4df671b6dad76c374f6c316eac6665e713bab66a10b4239937539b26902a22346d83a75b8c890780ace1510053dfc9bddfc5985c6212
+Size (clx-2.1.0.crate) = 55117 bytes
 BLAKE2s (colorchoice-1.0.5.crate) = a785eed27917a44f9fcabcc0f8f6cb60ab00ccc9938e9873d496041141c85445
 SHA512 (colorchoice-1.0.5.crate) = af3a5e7e837b280cd8f0578d2ba2a04443d4c5a445577f444af9edeef6cdb47de134f77b07ceda76ea6b2c73b9c10e1d7e3e1beabfd22b85869585c35db88bd5
 Size (colorchoice-1.0.5.crate) = 8187 bytes
@@ -174,9 +174,6 @@ Size (compact_str-0.9.0.crate) = 72135 bytes
 BLAKE2s (console-0.16.3.crate) = fa06ed9a18853b90426197c5d017e2db62668016353189dcb605fe4b4c9cb6af
 SHA512 (console-0.16.3.crate) = c9dc46360bd2c0d7bd4bb34ef1c44edcec4c2ae23141888a7800ee1e0e85b0e020501b6d880ac71731f9e43c1010664b7a5ee5f62348ca272f9bdf6d76caa0eb
 Size (console-0.16.3.crate) = 34041 bytes
-BLAKE2s (const-oid-0.10.2.crate) = e9ea0863972f6bb51838334caed96357b40dfb5d5f972797e8c724342d97013e
-SHA512 (const-oid-0.10.2.crate) = 9ad6ecce2c1d4c177b53d602b9b610442701e72daffa370af71553a380cdfdbea800fb8d7413aa2df273121dd6d0a511fac4b64a10bcd2e046ec19b4eadad007
-Size (const-oid-0.10.2.crate) = 61449 bytes
 BLAKE2s (convert_case-0.10.0.crate) = 17160119fd5a93552b4f5e4cc4c0292da2c73ccbbd33f414d0f99c2d2d60a5d4
 SHA512 (convert_case-0.10.0.crate) = f96a54fed1a158c007cf32d68e0ebdb94482c36e53cb5ac0af0ede5970094f2eeae76f161d56a7fd9766d0ada199c65d850d50dd2edd8db661cbfbf80903b9b4
 Size (convert_case-0.10.0.crate) = 24083 bytes
@@ -216,9 +213,6 @@ Size (crossterm_winapi-0.9.1.crate) = 16027 bytes
 BLAKE2s (crypto-common-0.1.7.crate) = 917164761478458c50b863d4ab928c0d47b25de36c2b2e8834bc7df2da71809a
 SHA512 (crypto-common-0.1.7.crate) = dcf3a6fc81f2b6528696dc762427fb198faa9b5effe1ee9fbda795da08b0560cfd6c286b55f1360864e95284bd9a52edabcf39fa9bcce71ff0621dbfef538c82
 Size (crypto-common-0.1.7.crate) = 9619 bytes
-BLAKE2s (crypto-common-0.2.1.crate) = d10f58c8649bd645932a08fbaff9e56c0b1f0231b105345a6f105a0defa8a8e8
-SHA512 (crypto-common-0.2.1.crate) = d13dc1662ddad2ab5cbd350a9bfe22a1143ec4748d1be2b707bdf32461a3988e9bef20f5a74eab2dc1365c532f653f425450eef9c80498ce16ed4f071cf38ac6
-Size (crypto-common-0.2.1.crate) = 15165 bytes
 BLAKE2s (csscolorparser-0.6.2.crate) = fa5b85f0366a9dbec9b114acd245c9f633d819a86cd2b169bbba3c10b456ff3b
 SHA512 (csscolorparser-0.6.2.crate) = 4debf9354da3be93da9dbf497ea7a92f367d84ef07f6eae893e06c818e02914846c34099327a1426f9268d38510d5e254eb02952e312c38ce6d30cf859571d95
 Size (csscolorparser-0.6.2.crate) = 16859 bytes
@@ -240,9 +234,9 @@ Size (darling_macro-0.20.11.crate) = 2532 bytes
 BLAKE2s (darling_macro-0.23.0.crate) = 91ff89f7eb61afe288a578064565c68aa991d5b1003ebe848569cdc087b3572f
 SHA512 (darling_macro-0.23.0.crate) = f6565876c9846b1295be23eda6decbba817c64c3e2ba56fb0009c2acb68d542481dbb033b0e753dfb1eb967f24f87b781869c8bd5018a7789066229a4919c8c3
 Size (darling_macro-0.23.0.crate) = 2480 bytes
-BLAKE2s (data-encoding-2.10.0.crate) = c822c2d7f9e0d3ea4eb7129c4ac76ef65f4cd4d61fa12d804b31db3c95fa1bff
-SHA512 (data-encoding-2.10.0.crate) = b7811d5620214f4d6361e37ea9dba7cbd9e24cb55066086f240c38a9dd27f31ac86fb358c515704d82cc50fa59e42070d7fabe5949d9355f23453488baf8058c
-Size (data-encoding-2.10.0.crate) = 22293 bytes
+BLAKE2s (data-encoding-2.11.0.crate) = 56f6ef12fc494fcd46699128d79332448e70d1e6efbedf786df4c96e8a817e95
+SHA512 (data-encoding-2.11.0.crate) = 2e70bca84d0545e59d4ae4ad1ef61afef6c55a09a2056dd8f88bbc1ddd22318eba6faf1be4e0529d4e89bc7b3094798cf4597a1efcff1a4e9b7f3f3d037e5bb3
+Size (data-encoding-2.11.0.crate) = 22677 bytes
 BLAKE2s (deltae-0.3.2.crate) = f812b8281a6c56894bdb62a60a1df464dd6d1a88746251b538fa9cad8fc10e8d
 SHA512 (deltae-0.3.2.crate) = d48d5afe625168ca87af8a759b7245e0e324ab78b57714d55ae19363d9ba74d7eb7a6c641fe2a3af5567ad0b47be8aeaf2ddf48080be355561a2e9a03e1076ba
 Size (deltae-0.3.2.crate) = 1918626 bytes
@@ -264,9 +258,6 @@ Size (deunicode-1.6.2.crate) = 172772 bytes
 BLAKE2s (digest-0.10.7.crate) = b911195b0979a1cd8687a4a5a2c1a8900c92fe823cdf2f1b439f759315061807
 SHA512 (digest-0.10.7.crate) = 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
 Size (digest-0.10.7.crate) = 19557 bytes
-BLAKE2s (digest-0.11.2.crate) = 609dc191a583a4a6acc6a2b3d6651e39989ad7f5a3a70a3d7c441fc6884f873b
-SHA512 (digest-0.11.2.crate) = 3896a79e584f406ba424f263886e4a169bf757a0871f2e2c8203b5feab75482b7e9fae4aeec33f78ac0f7f14101ee012c32c0476fbebf4d2900532a97c61d849
-Size (digest-0.11.2.crate) = 28579 bytes
 BLAKE2s (dirs-6.0.0.crate) = 4f63ff424740a4552b3b41091f43e845e0d720a6091ece6c9a5aefe24c297ca1
 SHA512 (dirs-6.0.0.crate) = f29f0f932aa627bada67db5bd9d2661b5fb3b18d07030f5d88da28de7049eb872a2f35756cf29c094aacbc2429a3a333b54fb94d70e470288d3ca091cf6d4aa8
 Size (dirs-6.0.0.crate) = 14190 bytes
@@ -330,9 +321,9 @@ Size (file-id-0.2.3.crate) = 10148 bytes
 BLAKE2s (filedescriptor-0.8.3.crate) = 46f1007b93bba7f8fd5b1120b6ca66b1f6ca70ed28965dcb33116b1d55d80492
 SHA512 (filedescriptor-0.8.3.crate) = 1d403271dcbb846666acc8df2b2f738c35c1ff3f37af8a87c7c0cee3b73bef1b7b75885e426d27c5ec0ee1f3c4f1a31ba63b5a11eb3805eb675a399d1b5f9b40
 Size (filedescriptor-0.8.3.crate) = 12635 bytes
-BLAKE2s (filetime-0.2.27.crate) = 6d8355d049060294bbe31407c78b52aea1ea9acd41873c208e6288e83538f918
-SHA512 (filetime-0.2.27.crate) = f1daa3074b0686b54e6232b663ddcc442c991e35a49743630206f40b55d710687d9eebc525a47ac747bc123d8301d8374fea7c1dc6d05ea916e76612bc4c70dd
-Size (filetime-0.2.27.crate) = 16678 bytes
+BLAKE2s (filetime-0.2.29.crate) = 46755545d0aae56b50c1d6f248e28b032676ab6cba9d8801647f86c7dba0c00a
+SHA512 (filetime-0.2.29.crate) = 95314f25a34829740e2177c651afad66075f154e461279f67282240bbf815ec03ea6e751d8ce1e8d25c7da7199fe6e4e89dbb643264bb18fa210875742935d8e
+Size (filetime-0.2.29.crate) = 16977 bytes
 BLAKE2s (find-msvc-tools-0.1.9.crate) = a62ce966e69815f44f2749cda23bae8872df3012f2bfd0c3c9b0fc988ed3bfae
 SHA512 (find-msvc-tools-0.1.9.crate) = 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de
 Size (find-msvc-tools-0.1.9.crate) = 31493 bytes
@@ -342,6 +333,9 @@ Size (finl_unicode-1.4.0.crate) = 66414 bytes
 BLAKE2s (fixedbitset-0.4.2.crate) = 4b9d305e9a18e8ccdf747fa067106c885d45e3856780140107551f9aaee4812c
 SHA512 (fixedbitset-0.4.2.crate) = 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
 Size (fixedbitset-0.4.2.crate) = 15954 bytes
+BLAKE2s (flume-0.11.1.crate) = 38244022620d1442f94c17806c5817356dca636a8884af1ba1f5f3495c916a89
+SHA512 (flume-0.11.1.crate) = 652c1baecd5ffe080c1acf2fd195523907ecc1e96e3eb15acb6e72739ac057730b88047b229774556bee7956f64dea11c3be7b7906102613552b179df4a27842
+Size (flume-0.11.1.crate) = 67947 bytes
 BLAKE2s (fnv-1.0.7.crate) = ffa8e3e3e120c65486f2575822704aa79aac381f375d7295875475e36775ff09
 SHA512 (fnv-1.0.7.crate) = 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
 Size (fnv-1.0.7.crate) = 11266 bytes
@@ -414,18 +408,18 @@ Size (globset-0.4.18.crate) = 28970 bytes
 BLAKE2s (globwalk-0.9.1.crate) = d20ddd2ab1239a6069079b5fc644ed5aaa6281f83b86c738d898f674f653fe5a
 SHA512 (globwalk-0.9.1.crate) = 9c95d6832950b35cf6ac87bd986116a75c847f11dd2e96ec0cbeb6c223ff901c949429669698cd75c4244a60c3de7df9adec648bc531303cdfba889e09f29448
 Size (globwalk-0.9.1.crate) = 12572 bytes
-BLAKE2s (h2-0.4.13.crate) = d944377bbef6480be1d30ce1548773cdd1d883e9b0411a4e6bca6732e839da8e
-SHA512 (h2-0.4.13.crate) = 14140113cc9bd97c69a395191b6182bb7890aeb76ae8de2082f982fcb31e3b7f0965402c3bcd73ea6446079e514e4f07ee95307d0cde8afc978b145474dbc09f
-Size (h2-0.4.13.crate) = 176861 bytes
+BLAKE2s (h2-0.4.14.crate) = 11c4d5f69e54243109b4e573ba5043ea2d7bc0d1f14acc7d8f1380607b76eb22
+SHA512 (h2-0.4.14.crate) = 94735142a1559359f686f31dcd4b9247d8be8dc0e45b2a192c7c2ee9773165c78fcbc6fdd5822c39bc30daa47a2b63067df1d5cad92cfdf8a9da017fb15863e8
+Size (h2-0.4.14.crate) = 177377 bytes
 BLAKE2s (hashbrown-0.15.5.crate) = 1a36841024cdb79a3bbe26ba54428af05d838f73640c5ca7aa5db7c8ecd0e82e
 SHA512 (hashbrown-0.15.5.crate) = 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692
 Size (hashbrown-0.15.5.crate) = 140908 bytes
 BLAKE2s (hashbrown-0.16.1.crate) = 008312b14ac41a35952dfcc9eb9e7d5c89ab81567d4251ea5848b6615c7530f4
 SHA512 (hashbrown-0.16.1.crate) = 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
 Size (hashbrown-0.16.1.crate) = 147785 bytes
-BLAKE2s (hashbrown-0.17.0.crate) = a88039d0e8a163584b14fb77bf2778b3003d23f1d7ea860f1fa3d25984a07adb
-SHA512 (hashbrown-0.17.0.crate) = 248f5333b23cb83fd8e439a17df85d0f5bea6dadb0e7cf2cd2d3bd0049494c125ea4fdf74ce2623884d2a3884d444689a0a7cfc9b52ad3d8de40f7498c56ef06
-Size (hashbrown-0.17.0.crate) = 154597 bytes
+BLAKE2s (hashbrown-0.17.1.crate) = d885c90268125c6a8c8970572622ac4d53d6560d16da40e73f42bfaf6690fd9b
+SHA512 (hashbrown-0.17.1.crate) = 4b6a5a76ec2f020fe34cfa5f5bf4b518ab7d278ece657804663972b6a5ebd64f775bd75d229b7e202702bed9d5b63ddef4de6e274fafe3129809791c6802526a
+Size (hashbrown-0.17.1.crate) = 155512 bytes
 BLAKE2s (heck-0.5.0.crate) = 0bc71a5746c9d1e7c913d096fb68f1d422464744e18adc592540b291882f5660
 SHA512 (heck-0.5.0.crate) = f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
 Size (heck-0.5.0.crate) = 11517 bytes
@@ -465,9 +459,6 @@ Size (humansize-2.1.3.crate) = 11953 bytes
 BLAKE2s (humantime-2.3.0.crate) = e1a20adb524d7cfb09e89da5037a2c7f0e6e573765c96b4cbc7aec9477678fb1
 SHA512 (humantime-2.3.0.crate) = 7d98eb3bab8876a7ca45a5964b0ecb1ed10fce991a53f12236221e654d1405d425a7841be110da3579f6d5a62c6840195f5605e55a951cc653b6926215d8fbea
 Size (humantime-2.3.0.crate) = 23242 bytes
-BLAKE2s (hybrid-array-0.4.10.crate) = 18b4eba23e385729fc17d106a7128bbf15b8bc0d35ef0c99f2143cc20c365ece
-SHA512 (hybrid-array-0.4.10.crate) = 12a5884b11b4ec82a03028bbd9d65d19e5e5e4a78ff2e6d46c4cffbc256684831fff850653d6d7c6a6583a6f2c91ba6ed184a1f2ec30341ae4110f33a5341d6d
-Size (hybrid-array-0.4.10.crate) = 35046 bytes
 BLAKE2s (hyper-1.9.0.crate) = 7328b2f42d56ab2edb9273ff332869c5268a2a46b3860e2abd0b08c92936a334
 SHA512 (hyper-1.9.0.crate) = 869a96c81a475acca48f890f2ec7e6c071cc7265b56bd85d89c8ad879f5c651ba0e5d4c849a540d882c69080c89625716ab80f5f897ad0587b092ac624ef87ae
 Size (hyper-1.9.0.crate) = 160126 bytes
@@ -513,9 +504,12 @@ Size (ident_case-1.0.1.crate) = 3492 bytes
 BLAKE2s (idna-1.1.0.crate) = 0515fede863b0e4cd8d159ce5125a674a13e5b57e290c307825ab5eed2a34edf
 SHA512 (idna-1.1.0.crate) = 1d49993145fe694f33f7c71ebe62face416f2229b12690cec23ae2e4be2fc1c5aa5ad5651d815ab70057b68edc450ef6004306a775b920b8773c221c0fe6c106
 Size (idna-1.1.0.crate) = 148747 bytes
-BLAKE2s (idna_adapter-1.2.1.crate) = 4205d3eef8c4f29ee729420a04228d73b4ec42958736f348a942316aa2b9c07d
-SHA512 (idna_adapter-1.2.1.crate) = e94555b58646c596fe64006ee6f4458962987ceedc3341a12694d809cc298c38799fb56b382adaa966e3171b1f62b7835fbb2e688251e742deb7067975bf1aba
-Size (idna_adapter-1.2.1.crate) = 10389 bytes
+BLAKE2s (idna_adapter-1.2.2.crate) = 1b56e16057793f5a80a750123bedb2b4787e4fab7e2c229e3a3ec184b9a8b9e2
+SHA512 (idna_adapter-1.2.2.crate) = c80655c107506022fe6b6d69af7ca2418b070ee66150d743b662e656a2ae04d4ea7b41f7f182fda9fedfa2626e70db30734f8e9af18d23ee39da0c2d4a21949a
+Size (idna_adapter-1.2.2.crate) = 10444 bytes
+BLAKE2s (if-addrs-0.13.4.crate) = 7dc96996ee6495a41c5d07f134a9f272c0c3184196ea35046d0a2187fd45102a
+SHA512 (if-addrs-0.13.4.crate) = 29669b0fd391768a4ea02200ce8b0412163b536891e799910d3f5284b3b377db4bd29ae12b6273a6d6a4efc4d24ec7ec4dca0e23e308177045cbc21a8056ea01
+Size (if-addrs-0.13.4.crate) = 14570 bytes
 BLAKE2s (ignore-0.4.25.crate) = 0f9d5fd030f889f9325117766e5407a9617f38b8d931daf8419f44b1648ac3fc
 SHA512 (ignore-0.4.25.crate) = 0dc0f2b2405dbce760e4bfb544ad56f94547e111e309622b3c1791ffefe33b66fcdc89f15f03e358794e42e8ec4c739a62d43a462d512682329b227cd419cea7
 Size (ignore-0.4.25.crate) = 59154 bytes
@@ -540,9 +534,6 @@ Size (interprocess-2.4.2.crate) = 150979 bytes
 BLAKE2s (ipnet-2.12.0.crate) = 341d79b87cd5c1571fd0ac390d7c43fbda2fda9ecd342125c1c95b296b7bed4d
 SHA512 (ipnet-2.12.0.crate) = 5255990d2d1024ec0a46f19516a9ec006f61bee82cca02c08ae907722bacbdeab90d2c6f362563b530f394f523310b628dd1661cc0c7199f99814a51dd1628ee
 Size (ipnet-2.12.0.crate) = 31000 bytes
-BLAKE2s (iri-string-0.7.12.crate) = b475cc24d6dce1fdf769cbf75ee443a44a611f845774d0db1f40573df510c669
-SHA512 (iri-string-0.7.12.crate) = ec92620d3ad5ee78c5fbf9497fa71be08322bc85a0b92399d8ba4843d828e5c77873f641be6497da8bbf8d23dbdf6b250c3ab8e43bf5fc2b3ebbfdde33e9408d
-Size (iri-string-0.7.12.crate) = 161843 bytes
 BLAKE2s (is_ci-1.2.0.crate) = 913abdd5da2ddaa48e042389e33fb47b62daf62cd3bea9254a81b024c5fdebe8
 SHA512 (is_ci-1.2.0.crate) = 0479117be842723810ae7f641e5e4b5daaa5543655de50c8e465ee600803be78901f0c0893a4953b5ff0b438216aecb479b9e40aa2c78da0655249f127edf2eb
 Size (is_ci-1.2.0.crate) = 4521 bytes
@@ -567,9 +558,9 @@ Size (jni-sys-0.4.1.crate) = 13249 bytes
 BLAKE2s (jni-sys-macros-0.4.1.crate) = 6c76ff555ee941e22cfe373c29a6b2aa762720d8b8e5609786fc72ac11355ba6
 SHA512 (jni-sys-macros-0.4.1.crate) = 07927232572ec202fa5cbb5785ae1c023dd8da30b33daa02a36f90f2bf8e52524911a158e179992edc03b9d1803eb1714352faaf5e22bb8317a7bf1379c28c9b
 Size (jni-sys-macros-0.4.1.crate) = 3301 bytes
-BLAKE2s (js-sys-0.3.95.crate) = 8005c62420e02026389d39a206702839ac11ba47e2838ecfc7a1604fe8a07664
-SHA512 (js-sys-0.3.95.crate) = 3e7a3376d6edf12643ad4e75c075bbb4eabfc59e02b0246b88d3f46f2163c932fb08a21d825589a7bc78e0fe92eb5b96502da2a20b6beb39f2ec483fc0725a27
-Size (js-sys-0.3.95.crate) = 104031 bytes
+BLAKE2s (js-sys-0.3.98.crate) = e9b382a9356de4c5fe798e8976d38babf522d7b75481c3f448385e53fdf81bfb
+SHA512 (js-sys-0.3.98.crate) = afeec49d8a6894d1c7a10d80a6d6500d8677f0c769f74beae8da820932da8ff91ff0e9abcc48fde251e617903578e65af4a9cf88972510e78ae8e1284780675c
+Size (js-sys-0.3.98.crate) = 108519 bytes
 BLAKE2s (kasuari-0.4.12.crate) = d99d1e0777798be2a84daf74cd51d80bc57968c2988b6d77a77ad4ae4e2a9e9b
 SHA512 (kasuari-0.4.12.crate) = d71c169b138d473353e184d501ac23edaa7bc5bd24488f17497a7031c08740ae76dda8c969418b357e169c3aba131119c9d3000359cfe3a841ddbade5ff9aca8
 Size (kasuari-0.4.12.crate) = 32684 bytes
@@ -579,9 +570,9 @@ Size (kdl-6.5.0.crate) = 113273 bytes
 BLAKE2s (kqueue-1.1.1.crate) = 22fa112e950aeda2d50cb4b19cc5a82fe1357611e55272edc33900683f27656c
 SHA512 (kqueue-1.1.1.crate) = 08ca26fd83c4aca32d53d85155580fac95b50709662975632aa542cb1e8a2ea5f8cc0f628194777093168a9950d485fb395bb55e7302dd25d03bd311e8ac84aa
 Size (kqueue-1.1.1.crate) = 21504 bytes
-BLAKE2s (kqueue-sys-1.0.4.crate) = c2692c55899aee72d25ec6bee0a0ef3e24dca1828c8fbca4462484405e77a70f
-SHA512 (kqueue-sys-1.0.4.crate) = 6650aef7efd7fbf4f9b6c8c6e4c1a91b79636423d46a0173dcb99de74e6f277cb02ada01cb62aa71c3f174a2c28db62a708b0aada9480fc5bde613204acb30a5
-Size (kqueue-sys-1.0.4.crate) = 7160 bytes
+BLAKE2s (kqueue-sys-1.1.2.crate) = 58e52b47b672a4592858aaa6dd77713d41dd08b27ca932963405cc4a9de0f619
+SHA512 (kqueue-sys-1.1.2.crate) = a83a3783d5f2b0b32685c9fdb597f56efcbe23e9f55697f0b3803b937690ddac6ffec8f04cec5bcd121629b24ead27bcf4c97ce708ee0879fc395961c57f4492
+Size (kqueue-sys-1.1.2.crate) = 8796 bytes
 BLAKE2s (lab-0.11.0.crate) = 22027677db1645bda1a7040b0a358c63e04296b40c73971a764ed2aafd1241bc
 SHA512 (lab-0.11.0.crate) = bb56ba0af097c5822f6e9ad51f0e4202ddd740953336f9da79af072feb0b40fcb18863f17df4ea8a076e5af719144037303b0fff4fcc0e5c37a018129a08fa91
 Size (lab-0.11.0.crate) = 15140 bytes
@@ -591,9 +582,9 @@ Size (lazy_static-1.5.0.crate) = 14025 bytes
 BLAKE2s (leb128fmt-0.1.0.crate) = 6c338ad590e2ecdfffe296873c95f883df0a381c996f4e22672b7c86efcfb219
 SHA512 (leb128fmt-0.1.0.crate) = 82fbc7f0786185453fbf11fb3ae58e71fce9780f81eb6a56d7b559e3a0c6825751dd8b64f1266aab73fe65f7483a206e42f31ee1a1b7b1801246c6dc9c2ea817
 Size (leb128fmt-0.1.0.crate) = 14138 bytes
-BLAKE2s (libc-0.2.185.crate) = 4571ea59c09944dc900f3e23b2729201780fa042c594cf127bf8140222daf20b
-SHA512 (libc-0.2.185.crate) = c8dbcaaf2e5d8377a4d1003af4a7210fbfe4f9b1e8497f07d88a231a8d5c9f67014e650a5e18e913e7b4d6a1835c4cbc9c31ce0cd224ea28acbdbb39034a300e
-Size (libc-0.2.185.crate) = 821775 bytes
+BLAKE2s (libc-0.2.186.crate) = e4ae2a7c2182c3a4f54e39cfed3d574220b3a6d54af5a40aadfd814bb8a12c6a
+SHA512 (libc-0.2.186.crate) = 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
+Size (libc-0.2.186.crate) = 821883 bytes
 BLAKE2s (libm-0.2.16.crate) = 6d38e74cf9eb0ea8314703a6db8ebbb62d270d8b754e248b627b800f315547b8
 SHA512 (libm-0.2.16.crate) = 9bc85e6cdb7fe39e5546c47f167d2ca2abcf0aefaa673eafd0dda6bb9ec03ce19433dd2b8c0e226a3c08340d5c005cdeab4c642b49ef926f2cb0681b1d9661f9
 Size (libm-0.2.16.crate) = 164243 bytes
@@ -630,6 +621,9 @@ Size (mac_address-1.1.8.crate) = 12876 bytes
 BLAKE2s (matchit-0.8.4.crate) = 96d0fdbb52d7a63600d92f0a4f6dcbfc5c15da3671872b0dca96cdf55cbb1b10
 SHA512 (matchit-0.8.4.crate) = 62cd181bb866a874c5d403ed1b14ac54628ccd356d87c5479ea88febdef2ec58e60eb02a42e8eb19cc12f14483e5aef0158608143ac2d78548f1d892910fa8ac
 Size (matchit-0.8.4.crate) = 33986 bytes
+BLAKE2s (mdns-sd-0.13.11.crate) = 2a3ead9a222c6407f1105f704a5668e0807e0afbf32821770609f4b7a4695e29
+SHA512 (mdns-sd-0.13.11.crate) = bc44672352c59b7534b4189b5c497b43cd1013e70d717501e55e3956d196ff6b7c0d2026dd2d1933878936ef4445939cd937357d05edade610d3e29da0aaad09
+Size (mdns-sd-0.13.11.crate) = 97768 bytes
 BLAKE2s (memchr-2.8.0.crate) = 9d6dade02bc948818801a90933500c8aecf86116a976d3c68dfc7e427b027efd
 SHA512 (memchr-2.8.0.crate) = 8089238153493a0ff6adf980efd1ea2ba10eeff9f33fff200268692662d24152a8c14a4dac37fbc6a55dca741701fd256174f10a9838ca66f038f08e090de12f
 Size (memchr-2.8.0.crate) = 97780 bytes
@@ -666,9 +660,9 @@ Size (nix-0.29.0.crate) = 318248 bytes
 BLAKE2s (nix-0.30.1.crate) = b0926652bc97b0c460f66a5a5e76891fa153f0c1f7ccc78acea2b6d3edc133b4
 SHA512 (nix-0.30.1.crate) = 80df8102a3a387d9cd73cd8d756b9fad5c4c4b57f6e94d9acfa24ee07af51f28ba2db70b8d37ddd6c7eae883c7acf9fc366a0100659856939210ffde1b124d87
 Size (nix-0.30.1.crate) = 342015 bytes
-BLAKE2s (nix-0.31.2.crate) = 4e5a49607ef656e3b0ebd35e39477c1fe9fd42cce2708dab1149740a1a7079b8
-SHA512 (nix-0.31.2.crate) = a7b000095cb1616b24feb12880ef9da3212cce894d70a94501a2bb200ac1d0b7e4b9dd5b993b90ea93304b192b6d28e10dbdb4509d1919ec9252b1a3433592b8
-Size (nix-0.31.2.crate) = 346284 bytes
+BLAKE2s (nix-0.31.3.crate) = 27ca0ff5834980848140d8cef606a5fba632355abd5fbf8986a604985f9ba289
+SHA512 (nix-0.31.3.crate) = 199e8f56355ab115c86a3e166c9cf53b4656a39b4643de69b34658ea74a6d91a94c08bd4d8a06a0e4dceb4cd014ea8df326c12d20b9bdae06030910cdd583643
+Size (nix-0.31.3.crate) = 347476 bytes
 BLAKE2s (nom-7.1.3.crate) = 226b78f1d2070ca94403c5e4f4cd27e43eba1397f201522f65528f19adff72fc
 SHA512 (nom-7.1.3.crate) = 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
 Size (nom-7.1.3.crate) = 117570 bytes
@@ -807,9 +801,9 @@ Size (parking_lot_core-0.9.12.crate) = 34110 bytes
 BLAKE2s (parse-zoneinfo-0.3.1.crate) = 3922fcf45ccad8ac2a3505193fb6ebdce22c8cb65ec15ab89de65516821cfa3c
 SHA512 (parse-zoneinfo-0.3.1.crate) = 88f581dadc306585addac8a16fd3bf56f13f6b933689dc6bea36a07d9b283f9c77ed68f4175d676574062b911e3b1220bc82a79fe59ea551a7dcfee91ac74ecf
 Size (parse-zoneinfo-0.3.1.crate) = 97290 bytes
-BLAKE2s (pastey-0.2.1.crate) = 0abbe1e243523aafa370780c7f78a4c16e9a29b046b58bb9b7a31966d09ef49d
-SHA512 (pastey-0.2.1.crate) = 2fa5682d432f0a67396a9e0a7d4d4d52c23582f7939040d5b45228ee7366ade8791d7b863747282f5c744497004723db100d3e2238dfd27d5e6fe1b6cbb0fff5
-Size (pastey-0.2.1.crate) = 14416 bytes
+BLAKE2s (pastey-0.2.2.crate) = 5e9999b5cf150233ed6c121bd3b6b8a75bc4c2106d268d966ababbd8686c9c8f
+SHA512 (pastey-0.2.2.crate) = 0ace81b6f57c2e5c06e457d6ae66fd25b8260eb2f8afbc945f75ec15e5c87ce20b31702e8f33eeaef74f6a47fad6d2502a81c7dcaa825b0167a7c6d62dd99207
+Size (pastey-0.2.2.crate) = 17410 bytes
 BLAKE2s (pem-3.0.6.crate) = dca34e5000cee1239a7e797df6417400eedf5399de81de396e8a0a7dec2b805d
 SHA512 (pem-3.0.6.crate) = 4d485bc3a14d7480b6fd0627869d4093124f173a3aeaeaff4ed69a37ba50a8327e6e9325a92d1a5c8ef337b7ca812de2e74ac786eaa94a644de8daf15619de15
 Size (pem-3.0.6.crate) = 18362 bytes
@@ -846,12 +840,9 @@ Size (phf_shared-0.11.3.crate) = 15199 bytes
 BLAKE2s (pin-project-lite-0.2.17.crate) = eec243c604d00a363522121c01823158a8ed81bbf8f9274b1944784d973c8ee8
 SHA512 (pin-project-lite-0.2.17.crate) = 0cff4338e3c7b71600fb41db013efe0d01b9cb3fdf95192dc16c5bea58a0f157207ef285ceb01b6b30956f9e751577c5d2a3803103f89a8a0cc6ea728d97a4df
 Size (pin-project-lite-0.2.17.crate) = 31034 bytes
-BLAKE2s (pitchfork-2.10.0.tar.gz) = e18a14c41bd9eb7e92ff73a7b42f210f82b447b714b28c0d5aa948ebb9052e2f
-SHA512 (pitchfork-2.10.0.tar.gz) = 93165cc964e5400b92e3fbdece6b1506ea2e49bd5a098b0c68eca9a6793b791e602e609a02f6a32c5c08d74d6d6a37b16fc6d2cd215c9a472d8c23f450c17e3a
-Size (pitchfork-2.10.0.tar.gz) = 4305954 bytes
-BLAKE2s (plain-0.2.3.crate) = 87967a551971deb523fb9bb5e62f978f106ec455fae4a98da333ecaa80f35f25
-SHA512 (plain-0.2.3.crate) = 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252
-Size (plain-0.2.3.crate) = 10664 bytes
+BLAKE2s (pitchfork-2.12.1.tar.gz) = 9cbfb104060e7d6eb72351c3bad0f11c49c2c73b37cfc0f773fde58588866059
+SHA512 (pitchfork-2.12.1.tar.gz) = d8901d8a8ed1b0b5c526c3b75e81673cc7ef1c58e9dab5038f9fc35c64d59dcb843209f947beca734c2775abdcfe6cbedc3bb66d327ef53d9451a98a06f740db
+Size (pitchfork-2.12.1.tar.gz) = 4333322 bytes
 BLAKE2s (plist-1.8.0.crate) = 2bc3ba39f620b25201239efa38a09dedfadb0978a8fc876080d0c26a582e0013
 SHA512 (plist-1.8.0.crate) = c9a6b1e35196630349cf0c09f43f7bbadeb72e42876f1d93015718273b2e466b525586ad0f552494dad154561ed705bb9968deae98ee90102f63ba05bec89c97
 Size (plist-1.8.0.crate) = 54623 bytes
@@ -927,9 +918,6 @@ Size (recvmsg-1.0.0.crate) = 29694 bytes
 BLAKE2s (redox_syscall-0.5.18.crate) = 15142008cfcffdfe12059e4c1415d354d0a1f60e4fd392dcf9ac888821a0988b
 SHA512 (redox_syscall-0.5.18.crate) = 69f1cfb215666f1243616366711dbd8cadd6bb411121f48f6e4ffd7b25479efa6f900dd072d7cc6e6fb8130d95cdb42f4c0cb4ba9e05b09b1fa676ca32932101
 Size (redox_syscall-0.5.18.crate) = 30747 bytes
-BLAKE2s (redox_syscall-0.7.4.crate) = acd01d29e1d4f0d38baffa678a181ba450f6def05687326113a23c1598fe4785
-SHA512 (redox_syscall-0.7.4.crate) = e1ccb1e145c38f12069d72c865e1efc18ec260f5e96f015fa2fe54d59bd67fb8c41bbcf16246aa8f7947265684861e8a02520107d9bd7619d675be5d0f497ed8
-Size (redox_syscall-0.7.4.crate) = 28248 bytes
 BLAKE2s (redox_users-0.5.2.crate) = d0011f3421041f92c786d6b2d28450ffbe6bc270ca2b5853e1206fdfc5ccaa81
 SHA512 (redox_users-0.5.2.crate) = 0468d42c9a5aa9b8811d00b4126115bd7e92f96af4ee136cf5387939474e351fa2c01251473691aeb34f5e4c8e8804938adf1bc83b5edffb6d06869b4b816b7b
 Size (redox_users-0.5.2.crate) = 17280 bytes
@@ -957,12 +945,12 @@ Size (rev_lines-0.3.0.crate) = 10409 bytes
 BLAKE2s (ring-0.17.14.crate) = 1480ea4de12099a897e831682ebaf48ed6e688e06f58e79e496a06e227ed58bd
 SHA512 (ring-0.17.14.crate) = 88d38205dc1a1f89bd4ae887ec5c168e68a4b749b3ac0612674092331e99d14a9b8d0f4a98d72c1a3853bcc9da420402336da3ee053bedcfd598da8de93afa14
 Size (ring-0.17.14.crate) = 1502610 bytes
-BLAKE2s (rmcp-1.5.0.crate) = e1698c7266942805bee7ac8afca322035e8273557cb71aa9d96335f3562149f0
-SHA512 (rmcp-1.5.0.crate) = 7571ad347fe99061e1908374d14696b9489887bada4b685bbac7fe07e459d31d055c025915563c7c6e81cca204a2d5bb8d44848f28500d42229b4aa577fd2249
-Size (rmcp-1.5.0.crate) = 310754 bytes
-BLAKE2s (rmcp-macros-1.5.0.crate) = ed47f5ec61876535a4e5c2497d9c44a52cd1414404b4803db24f19f1724cdd0b
-SHA512 (rmcp-macros-1.5.0.crate) = d39786d91bd37301f46d05c78a37fe721d3648701fe295ff7a6e4efa05e434fbe4b0d4df3d92706c1739e8795319d65f91cedc6bb5b9d0337d948cb8f6641699
-Size (rmcp-macros-1.5.0.crate) = 21317 bytes
+BLAKE2s (rmcp-1.7.0.crate) = 009787a864e3786c359e3010a50ad1266d339a7b19e371f83e08b54c5e51b285
+SHA512 (rmcp-1.7.0.crate) = 8a453ab5071d9bbadd58e50da77fe7179234c71196128d0610f4cea8b89c9a7098bd79c7a5aad50d8d54036aa3bc12fa841f2302216d5277386949abf329237b
+Size (rmcp-1.7.0.crate) = 327632 bytes
+BLAKE2s (rmcp-macros-1.7.0.crate) = 44218975255fcb5f326c95bddc379eeb017727f6582b3bbfe1a142fa6de59523
+SHA512 (rmcp-macros-1.7.0.crate) = 3f9af36f9cab3b6e1a465773d2038121d106ac25edd91d70278499c482e95dbc6f5cde6ac0387ab8378544ca9b4f8b65f88361cbccbfee071f25a4ac269ecece
+Size (rmcp-macros-1.7.0.crate) = 21411 bytes
 BLAKE2s (rmp-0.8.15.crate) = 443f81d7e84249fb889eee92907ed9e9f66d65d443804fc64365855c844606b5
 SHA512 (rmp-0.8.15.crate) = 5c9ce772bf7ba4288b803066a7d3a02ae6e69514932db0ba6f7c43c3ddb0657125597784b6a01b77bb6f9bf8e2947d1e3e3457cc0de9e89b471154fe404bf2ef
 Size (rmp-0.8.15.crate) = 33421 bytes
@@ -993,27 +981,27 @@ Size (rusticata-macros-4.1.0.crate) = 11746 bytes
 BLAKE2s (rustix-1.1.4.crate) = 47b462406ba74a3225cf16b2e8b75855857edd58915f4033d7387b67cc694948
 SHA512 (rustix-1.1.4.crate) = 33619ed2434963a98b0846414656bcc4945ca0e9b883821869fe0cc86db4a74c6961ce1375963ae49c6b5044ad0536eda807dac1320209739c9d669bd80fd75c
 Size (rustix-1.1.4.crate) = 425241 bytes
-BLAKE2s (rustls-0.23.38.crate) = 57669b0c112ec4d74176154327bfcef0adbb1934555f3895afc393cc3885cb8a
-SHA512 (rustls-0.23.38.crate) = 2d7a65d67a0b1c081c518b7e6ec1ab13f6bc1b96e6cf6a0e2dc0d71b0bb97bf9c280753cd8f2539c80af265fee133eb6ce1fdbfe2464b609b3750705817faa6a
-Size (rustls-0.23.38.crate) = 372709 bytes
+BLAKE2s (rustls-0.23.40.crate) = 30e4093040e02358ec1bae8ff70890611db5893fdd861b8e014a8ad1ec7321ad
+SHA512 (rustls-0.23.40.crate) = d16484fd4904f4cf61e3a3612da54d91c1617d63725debceae56b46686a7fde6d5720961e7778dc3a17085c9e5fcd0ac3f2da2ed05f353ef071090dc86505aab
+Size (rustls-0.23.40.crate) = 373839 bytes
 BLAKE2s (rustls-native-certs-0.8.3.crate) = 54b2e636a90d1b4e1d949adb15cfb9844a23c2cd689d9e4d75adbaf2b3ae2f22
 SHA512 (rustls-native-certs-0.8.3.crate) = ffca026a5365a97e7a254faac2ceab188bd1cf51876a32e99b16bdf5902363c6416e8e28247f53864609d0f492646fead7b19328e376d0b8b2073e6fb3bc60a8
 Size (rustls-native-certs-0.8.3.crate) = 30380 bytes
 BLAKE2s (rustls-pemfile-2.2.0.crate) = 8d557e7cb03207804ec96b0daa5662836d9997ff8be38bf5333b76fc570f598b
 SHA512 (rustls-pemfile-2.2.0.crate) = 1e69f0b72c6060eb0a54ec8a1cb51809525b053771a1d417892205f8f5dbcf4ba45250fc0d6a836e0cc8fede06d934f0a90c47d475cd8e066dcb3f7504ddaf17
 Size (rustls-pemfile-2.2.0.crate) = 25849 bytes
-BLAKE2s (rustls-pki-types-1.14.0.crate) = 1f26f80aa8caaa8aeb6901837547f3f958c19e8ca7f4e7d73f3161b42d789af5
-SHA512 (rustls-pki-types-1.14.0.crate) = 15f8f06abf44a8f859038879db210009d499e3d5ccf33d34439ec56695f0221b143959e47bb6b1460667d838df4274b844a1a86e1cafa41efbe6694f8478e0e0
-Size (rustls-pki-types-1.14.0.crate) = 35403 bytes
+BLAKE2s (rustls-pki-types-1.14.1.crate) = e7fb1cdd9e1ba117cbca40cbc7bc67c6dee785fc193cf7fc892f145ced7db489
+SHA512 (rustls-pki-types-1.14.1.crate) = 8e711bb436c08730fb9d62fe7932db35926e04b07cdd2479c08a86153159dd296cf999a5681d9c0c69da41e3b8937cddc0f627b0219cd67f66870770e4c81ee1
+Size (rustls-pki-types-1.14.1.crate) = 35567 bytes
 BLAKE2s (rustls-platform-verifier-0.6.2.crate) = 5f2527923cdb752bf2f6c0a10c9ff271409297658e9d623487ea9bce2dc7d889
 SHA512 (rustls-platform-verifier-0.6.2.crate) = f3ff09863ff30ebfce2718fd135499c689edd37983726a4640c35ffbc40c1eff416e84047286fd27751b811dca9d627b9b7eacd1fd995c036c19a4b51102b99b
 Size (rustls-platform-verifier-0.6.2.crate) = 58924 bytes
 BLAKE2s (rustls-platform-verifier-android-0.1.1.crate) = c8d0240ebc3809d2fbfd7805badb53674ced7d89a17a1cd06880a158d2227cb6
 SHA512 (rustls-platform-verifier-android-0.1.1.crate) = f3f21b88b448f46e08da4303d225f10765d21f2397d4fbe44d5f9cf9da5ced84fa5adc5881f1db66a324cef818537e4a79bad2260b8027894029ba7e6ec16533
 Size (rustls-platform-verifier-android-0.1.1.crate) = 13919 bytes
-BLAKE2s (rustls-webpki-0.103.12.crate) = 513c0c97067e9e91f4c84897c02e161198a14fc5f33f7fe68b8919baaadba4ce
-SHA512 (rustls-webpki-0.103.12.crate) = 0673be70c4378356ceb6839e5c56befaa1303c854da63e29583bdfdf1049c5f9a817b070f67c4849cad4c207d504dc6d739dd013b5bb311d02b3eee748b5de73
-Size (rustls-webpki-0.103.12.crate) = 87202 bytes
+BLAKE2s (rustls-webpki-0.103.13.crate) = 07e998271fef95dc3756ff38b08abded4d7178bef0b7dee9df82b5caf16d6b4c
+SHA512 (rustls-webpki-0.103.13.crate) = 367829afe3432a9d80bb4da82e075dd05bc37ecaf801c0944e1af9184565d743abf92d59e6fd433e7f051daac15099273b823e6f417ec46b6b5da43bbdad59b6
+Size (rustls-webpki-0.103.13.crate) = 87513 bytes
 BLAKE2s (rustversion-1.0.22.crate) = 94885d422b9c942ceab679e86d0a2b8e6f322f655091475a6a475f0b796f48b9
 SHA512 (rustversion-1.0.22.crate) = 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
 Size (rustversion-1.0.22.crate) = 21096 bytes
@@ -1071,9 +1059,6 @@ Size (serde_urlencoded-0.7.1.crate) = 12822 bytes
 BLAKE2s (sha2-0.10.9.crate) = b0b7a333d767acd0419a8fa55bd26673d2d2b82a30ce17d140d9cd25f4d2a8d9
 SHA512 (sha2-0.10.9.crate) = 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
 Size (sha2-0.10.9.crate) = 29271 bytes
-BLAKE2s (sha2-0.11.0.crate) = 1a9c268080bcd41363ccb8577faace1febfe78353f9a41c1501acfff051f51a4
-SHA512 (sha2-0.11.0.crate) = 04164d47ac648dc498f05245e3eb4313bd61234aaa33f1ba13f6fab0cf8cd8716dc88a9c71e8264e0d6cd020ff732461cec00d92bc294e9c261a646c1988f906
-Size (sha2-0.11.0.crate) = 33969 bytes
 BLAKE2s (shared_child-1.1.1.crate) = a6857dab21c712f061305d19b177891591f7899425eaea577a8f234df4994493
 SHA512 (shared_child-1.1.1.crate) = 718c6ed1138f3cf2769815d504a2ed4a792defee66d3abaa65b46924e0151603bcfc81360ce451b1b8f1b3fe8f48144e046fb17e7c35ec3821c819b59c4ff384
 Size (shared_child-1.1.1.crate) = 14191 bytes
@@ -1098,9 +1083,9 @@ Size (signal-hook-mio-0.2.5.crate) = 14373 bytes
 BLAKE2s (signal-hook-registry-1.4.8.crate) = a1ff8fd36814ee28feca6c314ce9ba8d151ade422acd85aa4a225ad104fbf134
 SHA512 (signal-hook-registry-1.4.8.crate) = 6625d842e5040fb15c3a6a03994aabe8b3d0b752773805866858452fb03e5cab2663c89367caa15a34dc0ee7c2b830e302d9be664130c093bdbc17d7b61f045c
 Size (signal-hook-registry-1.4.8.crate) = 21668 bytes
-BLAKE2s (siphasher-1.0.2.crate) = f0365c8f125b848f12c9e373d9d1a05eedb363019c032edd8002212a535bd3ee
-SHA512 (siphasher-1.0.2.crate) = 8399a455434ffabd268c4984bc8f1fb18650df0293d6262b507fb608ff96316075880ccbaf228a9fadd8192320150b9137fc3d854aacd76a2b338b5b7fd93be2
-Size (siphasher-1.0.2.crate) = 11416 bytes
+BLAKE2s (siphasher-1.0.3.crate) = ccfa023fabdd24ffa0a54aacace8d9859d7d61559285f55c70bda0463f697180
+SHA512 (siphasher-1.0.3.crate) = dd0416e6fa8e835c25b10bf93c793c263679d64b8d56288313bf93b989e4a5b271065da11e9af266e9878db7dd73396852e2e9b164aea6c2ad837c8ff0f73bcc
+Size (siphasher-1.0.3.crate) = 11643 bytes
 BLAKE2s (slab-0.4.12.crate) = 559f0b4110089a3259a5b4140d3577d827bfe96b67286f5cda9a93a9039388c0
 SHA512 (slab-0.4.12.crate) = cf7c971b99b043d8bc102732a109717cbbec114160e4f7cc4009c66739177778623403c33d6a32efd1620e0ac7b8743c36e0e5563082af7f92f1e4caeceea0d9
 Size (slab-0.4.12.crate) = 19080 bytes
@@ -1113,9 +1098,15 @@ Size (smallvec-1.15.1.crate) = 38116 bytes
 BLAKE2s (smappservice-rs-0.1.3.crate) = 1af7f61b5ee5a08dc5ae323e47407bbddd60267b7e06e3b021e5c008c3c4b212
 SHA512 (smappservice-rs-0.1.3.crate) = a120c898cd9bbb0cb0ae83ac4a988f8651b22c46b6f83841ca0b4b571e33914deee235a87c2b9f3a2c367e810c96f1589c7b0f96fd326846990cf20aabdf9daf
 Size (smappservice-rs-0.1.3.crate) = 8300 bytes
+BLAKE2s (socket2-0.5.10.crate) = e1afd388ac62cc50ed4f50f25136bbb786f1fc351a16399ab1f34bb5043a1fc2
+SHA512 (socket2-0.5.10.crate) = 901ad0549e2702a0062040fb5c9e5664f4456c9f065f8f8ab7ea16342d83c2ff69b087633642e08e2f51a63e2ce186c45428936118a78fd4f15378910bfa9d1f
+Size (socket2-0.5.10.crate) = 58169 bytes
 BLAKE2s (socket2-0.6.3.crate) = a6607e0ad25fc6f8fd56203765d8c23f9ca6a6ec2e308bf0ecfed0aec33efe6a
 SHA512 (socket2-0.6.3.crate) = c69ed9bafe82dce5fb6333430f06dd5bea910dbc2085ae6bc3f0b5b3d2f965459a8c19e90a877dcbfec70dc8098df11ffc01dd5a401b5638c29b6dabb3891ae3
 Size (socket2-0.6.3.crate) = 59330 bytes
+BLAKE2s (spin-0.9.8.crate) = 40d356ced615c0a4f5c7680d28ed15e6af96c3f6b9a1b9db71bc0c7728a63107
+SHA512 (spin-0.9.8.crate) = b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
+Size (spin-0.9.8.crate) = 38958 bytes
 BLAKE2s (stable_deref_trait-1.2.1.crate) = b10100bc26d661fd9dce98e4be90e31ae3e6a0e723a77659f2ae67327ec492ce
 SHA512 (stable_deref_trait-1.2.1.crate) = 630721d3f8e9f3290efc250c42aba13e2325839e62167a2a611618c18c6aa58c08a53622db61a9aa920284570626b98df26b3c28009cf45b6ce1ec134b9c9f5c
 Size (stable_deref_trait-1.2.1.crate) = 8186 bytes
@@ -1218,9 +1209,9 @@ Size (time-macros-0.2.25.crate) = 24806 bytes
 BLAKE2s (tinystr-0.8.3.crate) = 2684c8d423f00c5ccf8ee7ac0e6c508bbc37f144856339e07b93ea826bc295f5
 SHA512 (tinystr-0.8.3.crate) = 1208a3502aad5783a99d05c6c546f0f9de5b468b273c0931a33829c857a159679f8720622ee0700bb8df397baa590e0411f89116327759a859ff46438ac73bfa
 Size (tinystr-0.8.3.crate) = 24710 bytes
-BLAKE2s (tokio-1.52.1.crate) = 737c665214f6cab5c24e18657e0c12258f2860ff80a6a741a20534397fcd5d4b
-SHA512 (tokio-1.52.1.crate) = 4b88b74953edb136b963fb72e279852fed62fae26b9e3378b0bc079c6b19529e8ec60cdf1520678dd0ccbbeda64b615c34bd2ddd3a27252df42f1a8076e7afb0
-Size (tokio-1.52.1.crate) = 900270 bytes
+BLAKE2s (tokio-1.52.3.crate) = cc2e5634c5835925099d3a0d3ab0d9d2f46da2bb543cdcebf274a18be6191780
+SHA512 (tokio-1.52.3.crate) = 8dd961765d86012be4bc4c24b71b495403aadb5a20fb5ded5e47ae2c49e5f117a793aeba87427edbd67eb885bd91a09d4b2f3def3cdeb1f752156556b291ee50
+Size (tokio-1.52.3.crate) = 901393 bytes
 BLAKE2s (tokio-macros-2.7.0.crate) = e73f6786825ad350ccd605ca80ea15d224797a9bcb5509d5dbc3bf26197ae8a9
 SHA512 (tokio-macros-2.7.0.crate) = c93653ec669b092e928f71ed1e7af8783a5e9899739265389ee24301a0a5a9e2b98c69539937f78926e47c13a36aa70c70eae278ba6c082306e4044a7021c2c7
 Size (tokio-macros-2.7.0.crate) = 15859 bytes
@@ -1248,9 +1239,9 @@ Size (toml_writer-1.1.1+spec-1.1.0.crate) = 18841 bytes
 BLAKE2s (tower-0.5.3.crate) = 0e162b148873dc7133eee0f0042da97be0d2b0dae53d1f88a5f694b307e35f30
 SHA512 (tower-0.5.3.crate) = 59ef5d805fbaea97ea05de33c54f7cdb76f793e5020baf25285183db20e50850f2b4906b7533330016bca4664066a97ffebcb605e4fbc2edfff8a9a244a01602
 Size (tower-0.5.3.crate) = 110488 bytes
-BLAKE2s (tower-http-0.6.8.crate) = bac8a8491fb4a03d3a3457f60a8693a9b6db318ace0bc95d811bb65e166f8f97
-SHA512 (tower-http-0.6.8.crate) = 6ed83fe61b74a6e168710200a0c01f98f0b559afae6d98b77aaec8b4e8c737d2d18b534d4e1dde5efb78f53854521a759770521cebe56adb863d76f4ba34a5c5
-Size (tower-http-0.6.8.crate) = 135827 bytes
+BLAKE2s (tower-http-0.6.10.crate) = 85ffeaff69955e2d85663c1c62c5a01dc2dce9362337bdaa97ace4a40f245e23
+SHA512 (tower-http-0.6.10.crate) = d0cdcdff3800281e4a36638b4c4a33878021c188a99e256b707e6f112fb40b7e0a8be07e0c1fbf0af22398f50227349137792c34ba20d28688eea6445a834eef
+Size (tower-http-0.6.10.crate) = 152170 bytes
 BLAKE2s (tower-layer-0.3.3.crate) = c24a4a09a3879906630fd1abe5d197f3c17154afe54e82117ed6f668285c3d3e
 SHA512 (tower-layer-0.3.3.crate) = edf36671076cd29bb32c29351b648afbf3e7134316988a697c7807db62de7a63cb0339e4db7c0f36ed60d8aced7f3e493318cccc272070c037b01e2dd189b934
 Size (tower-layer-0.3.3.crate) = 6180 bytes
@@ -1347,21 +1338,21 @@ Size (wasip2-1.0.3+wasi-0.2.9.crate) = 134512 bytes
 BLAKE2s (wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = e1f94119806238d291a156dab554c9e2ee7d7d4377fa1511c8ac1610af5c92a5
 SHA512 (wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = fb136a5475fb4696902d4f4be43e0d5d28cf3bc1b6c83e5e7837499ee038f995c9f084064e2e4585dbc3bd260e0c7c95371526b04933f2c60fb6ce302416215d
 Size (wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = 123354 bytes
-BLAKE2s (wasm-bindgen-0.2.118.crate) = 29abb71b773c8e442fc26c637a10f72dfc0fa05d2a2250f7d2cedbb26d1e5ad9
-SHA512 (wasm-bindgen-0.2.118.crate) = a61545f1895fe5a6e9d33b321f8d6e888c73c44b524fc38ac667df4f0cf7cea785d072c3cffc7d7bb26d288ddce90683bcdab3ba09be929016cf1f742020e270
-Size (wasm-bindgen-0.2.118.crate) = 61149 bytes
-BLAKE2s (wasm-bindgen-futures-0.4.68.crate) = 3eabf3f6d94ab94a2dabfd2e2e7a53b2f8eff98c7fdf0260c2379334c4984d9c
-SHA512 (wasm-bindgen-futures-0.4.68.crate) = 04250ca8e3761e227e65e0d714007bed4983eea4a2755e7af3f38d342ff971c4af4e5b4bca2848cd92bf7d53ff23641ef23be5e25bd86ce1d88897c7d4a98a07
-Size (wasm-bindgen-futures-0.4.68.crate) = 8303 bytes
-BLAKE2s (wasm-bindgen-macro-0.2.118.crate) = cf28957c52dd73d1e6bc912f68bd2bc6980063f19ce097dd7cb13365d60072cc
-SHA512 (wasm-bindgen-macro-0.2.118.crate) = 9370d4abeb445a0d8a89d0fa9156611dacdece4ff809e929987436ac2d6cfb1a3625b892a90f6c1e32f7541592415eb37259ada379b39b2aeddc8f3a2f8f1b3d
-Size (wasm-bindgen-macro-0.2.118.crate) = 9288 bytes
-BLAKE2s (wasm-bindgen-macro-support-0.2.118.crate) = 150c33908a503d34fc994f85a387b429698904a98003261e9dac0a91b2173173
-SHA512 (wasm-bindgen-macro-support-0.2.118.crate) = 36896af83f1d9fc9f72b4709c600db787538b7e889b86a374ff933b5c29ef80d09a2599d54fec051b3559c896ed035243595fbdac834f909860ff47eab2f7185
-Size (wasm-bindgen-macro-support-0.2.118.crate) = 64823 bytes
-BLAKE2s (wasm-bindgen-shared-0.2.118.crate) = 44d87eb0a46e28b4f8ec6476e106af1c9c7173d69accfc2975a6a447fc0cb04f
-SHA512 (wasm-bindgen-shared-0.2.118.crate) = 916d6535f91aedf68b90d2491473d758244e664aee2d82734ed2bd377eaed90e929aa06ce95790ba120405337caea88624cf25fcedbe6af8b0820905e203fcd4
-Size (wasm-bindgen-shared-0.2.118.crate) = 10565 bytes
+BLAKE2s (wasm-bindgen-0.2.121.crate) = 4c050ee9a1749906dc1c5a7103f3db644457f6bbd4d8b00143ae4aa6955b2f5b
+SHA512 (wasm-bindgen-0.2.121.crate) = a3420d0fc119b9e1b091afa24b08c9b3692bff28d0488426641c9478ca795a0fe3564120ddbdbb2856f44864e622bea715ce13012d45a6e1b0795ae7057b55df
+Size (wasm-bindgen-0.2.121.crate) = 65838 bytes
+BLAKE2s (wasm-bindgen-futures-0.4.71.crate) = 8183dc452080bd800525b9f7a1c5bca95b9bf37d2a4d5821e46ca4ce6fcbf519
+SHA512 (wasm-bindgen-futures-0.4.71.crate) = 0de8bb6bc3313196a1d80cc29518414462d01d321ed68fea464b193f7102492c411f406f76723136b333e18ff05a4be64c151f75af78ea33daae02e4ff9d924f
+Size (wasm-bindgen-futures-0.4.71.crate) = 8239 bytes
+BLAKE2s (wasm-bindgen-macro-0.2.121.crate) = d499ec0a7e9f00b5a5c1bcaadf8f800abc8d921bae429956d2042cb234ceb8f0
+SHA512 (wasm-bindgen-macro-0.2.121.crate) = 844c4aceb5c1eef783d4ab678b189da004bbea4274de9744ea832d9644bbc08ea8b4a365ab2fcf33295fde235bfe53b21c29e7e30847d1cb0e265ed62302a1fe
+Size (wasm-bindgen-macro-0.2.121.crate) = 9294 bytes
+BLAKE2s (wasm-bindgen-macro-support-0.2.121.crate) = f84661f19791d6d0b48bfa361a108c2027fe788886639443d14562500d8b75f9
+SHA512 (wasm-bindgen-macro-support-0.2.121.crate) = ac01daf74ee83db1fd35a7733caeff29f29e1eace54b8b415c935b32b2d48d8802b30ffeea12f73f16785b670c25e5128c894a9bf173e2b112970c3ee1475197
+Size (wasm-bindgen-macro-support-0.2.121.crate) = 79901 bytes
+BLAKE2s (wasm-bindgen-shared-0.2.121.crate) = 2aad9b272751cf54d04914f163837c8adcd690496b9ff46aa05b4a7534caaa33
+SHA512 (wasm-bindgen-shared-0.2.121.crate) = 33c037993258552abebe2e3cb3fcd7064e768a4917c1ef3c87ba79b40a3201bdfd27793e78794ec09d7e257dae61a5a8ed283b7651be31c74c2384d4d62b8a86
+Size (wasm-bindgen-shared-0.2.121.crate) = 11270 bytes
 BLAKE2s (wasm-encoder-0.244.0.crate) = f51bef0f2f383e04b0c8cfbe97dd1df9057142f93c6e5603523639ffbaed6dec
 SHA512 (wasm-encoder-0.244.0.crate) = ab78662abd6bc9edcc14531a87a848eb6c26081ce9bcb9ff15415ceecb48dad98ab6066638947780c65d7689d11502d4dd2353ff3462b4f49e1c1a8c00d2c1d2
 Size (wasm-encoder-0.244.0.crate) = 85804 bytes
@@ -1371,9 +1362,9 @@ Size (wasm-metadata-0.244.0.crate) = 21500 bytes
 BLAKE2s (wasmparser-0.244.0.crate) = 1fe47a3defaf298358b6a6a1e43cd4097905f4b497bd7aa981bffac9c866b40e
 SHA512 (wasmparser-0.244.0.crate) = d1a1f549fe93e11cf4155a8f5840fa444505ca9184e28163917bd8ddb1d53cb4d2be0335e183ec24625a7db22dd5d7e22c93c697bdd4de0d537b54af4ed7d834
 Size (wasmparser-0.244.0.crate) = 265607 bytes
-BLAKE2s (web-sys-0.3.95.crate) = 74d9dacf74471edb1b146b1dc4f70e415eb6d5771f24f556aaca56149198ffc3
-SHA512 (web-sys-0.3.95.crate) = ec32f24cb0b8faab4c9bf1cc89c8a6148b3be87abaeffd79fbdc1e682dfb967f9632681bdfc9845c32199d88685a1eafa8cd223ebc3b8a5deba118b4919c3c14
-Size (web-sys-0.3.95.crate) = 671115 bytes
+BLAKE2s (web-sys-0.3.98.crate) = 56cbdbaf2e8e79aa1eff9931c73ff244f87676c313dc76427c53584248d53083
+SHA512 (web-sys-0.3.98.crate) = 35ff129b07e391ff3308c035c9afcc82289f1272282bba0fdcafdffc6bd196ea33293658f59cfda97aabdbd7e5eacc3fbbe8fb0e4c99aaffb0520cc37dcad8e4
+Size (web-sys-0.3.98.crate) = 675508 bytes
 BLAKE2s (webpki-root-certs-1.0.7.crate) = a6000551bb83baca4ea3e9e62b4611cc5fa8780d558d2e45cede9c450185d085
 SHA512 (webpki-root-certs-1.0.7.crate) = 029aef32773015c0a3caecf25dcef222787aaf61966fbd52c04c697f286007b976622f6030f94e69fadc3558ba3af22e278c9cf1cfa13cb56121c4dce7ad1f9d
 Size (webpki-root-certs-1.0.7.crate) = 146732 bytes
@@ -1473,6 +1464,9 @@ Size (windows-sys-0.45.0.crate) = 2568659 bytes
 BLAKE2s (windows-sys-0.52.0.crate) = c3fbc4dc1df8d727b7bee308e0c95dcfe190dc3f655d19dc027a7f522d496f79
 SHA512 (windows-sys-0.52.0.crate) = 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
 Size (windows-sys-0.52.0.crate) = 2576877 bytes
+BLAKE2s (windows-sys-0.59.0.crate) = 5d2e4c909fd9f3bde5e2eb73f2e77acec19a71a0f60d12047657922b583cbb26
+SHA512 (windows-sys-0.59.0.crate) = d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061
+Size (windows-sys-0.59.0.crate) = 2387323 bytes
 BLAKE2s (windows-sys-0.60.2.crate) = daf2bbdf7df252ef06247d9f47faaeb11f0514958a9b8892555986ca2b30fb66
 SHA512 (windows-sys-0.60.2.crate) = a48aa1b66479451e431032737b63dc62eac6f63c251534e258de75bbee4858829faf5e641756566f00e153b08548ba32beb437b5ea42e9531e3fcbd8eb25209d
 Size (windows-sys-0.60.2.crate) = 2518479 bytes
@@ -1569,9 +1563,9 @@ Size (winnow-0.6.24.crate) = 165680 bytes
 BLAKE2s (winnow-0.7.15.crate) = 70397d3272522e3d8d403391a08975b6ff1ac47b9d3d1f89f082d73e72c77d07
 SHA512 (winnow-0.7.15.crate) = 47c4abb8de7f024e2e85b1c0ed9ebe16b9de29ce82c536a133de9d64d99ac37191e4322221640785234a32b03a28bfa99ced738bad5088d39bfbbe2a64c99689
 Size (winnow-0.7.15.crate) = 187092 bytes
-BLAKE2s (winnow-1.0.1.crate) = 82de280cb43a242b27dff72aed53898cef93b96bd68132f1f2a43ce7e9fd6ba3
-SHA512 (winnow-1.0.1.crate) = dcd91121c980b6245ba479632d9f7ff0482a78509c21724c80af95f75ee5a36f7898de6cca637362a32bc385db3432dfa27193b836e0a23acc60bd7d4ad65d6b
-Size (winnow-1.0.1.crate) = 187973 bytes
+BLAKE2s (winnow-1.0.3.crate) = 9456c1cc1bbbcf5793bde59982715c5957cdf7206ce07fc79910305ed638d04c
+SHA512 (winnow-1.0.3.crate) = 4a31c9f0a92a551848906009670eb14e1c81f239e4841008590597cc96ccaded8d6fe863f4da3bbb7e904c6edd075a6e15f4965d2a46d317242bc6445df0a48c
+Size (winnow-1.0.3.crate) = 187990 bytes
 BLAKE2s (wit-bindgen-0.51.0.crate) = cf16eb01643719aa71a7baac9b014a8ea727ad3a94e6ac5e4eb4c8b042e7b92c
 SHA512 (wit-bindgen-0.51.0.crate) = 61380c309630ad7f415d467daf1d639ad7a3e8dcd26e5f88aacf0230b52600f150e804821b6a1df9b79cc7fdd4f1d800d043ee7eca770b1947a3cf06f893711e
 Size (wit-bindgen-0.51.0.crate) = 68035 bytes
@@ -1599,9 +1593,9 @@ Size (writeable-0.6.3.crate) = 26685 bytes
 BLAKE2s (x509-parser-0.18.1.crate) = a5f2838a9880a6e075ead6b25c4078314403bbd5f9d59df631663b87ee4edee4
 SHA512 (x509-parser-0.18.1.crate) = a30af92885d157b837832b7a3242fc8dbe5eacbce97ce5cb92a8c5e948324ec38150ca709734eb191a914f4f34d4d521ba313b72a57541a62cb254e8808535ef
 Size (x509-parser-0.18.1.crate) = 102625 bytes
-BLAKE2s (xx-2.5.4.crate) = f55df24e243318120d7ffb86b7d16888bb23d2cf506804f707725c6f5fa8aee3
-SHA512 (xx-2.5.4.crate) = 449834b0bc500caae8c0ff6573eba627895db0ada0d12f7083fe373950d588f4ceb6efc93ce62ae77268583bab30137d71ffe23474e44a369a63c7b8361e0b7c
-Size (xx-2.5.4.crate) = 82559 bytes
+BLAKE2s (xx-2.2.0.crate) = 54288b7f14c2d2ee30173d079826f7e57498fe2897a4574c8ea5bae6b3a78cd7
+SHA512 (xx-2.2.0.crate) = 162c47082a196e73d622b68f861771e0bb99d0dfa8079e2982412e3facec91d8f06eee1328f298df89d5de2e964ed40ff78b9e2b7a8bd256b3c4f5877de2c431
+Size (xx-2.2.0.crate) = 42923 bytes
 BLAKE2s (yasna-0.5.2.crate) = 25391034f1d4c9715add3175629a012024dc2a34fa85b4dc85c4dce2c100742a
 SHA512 (yasna-0.5.2.crate) = 7532b6d06b34b0a5e2b769c5d2647f910bec481d98482bf9cea212f1bd1466336d7cb117d0c2e240e7673b2825f1d091619f79814bad836d25cf3a6ca2be63e5
 Size (yasna-0.5.2.crate) = 34859 bytes
@@ -1617,9 +1611,9 @@ Size (zerocopy-0.8.48.crate) = 287554 bytes
 BLAKE2s (zerocopy-derive-0.8.48.crate) = 7b4aafffc631f3141669ed016a036eda0bfa12d0a850a7d393bbf19eb633866e
 SHA512 (zerocopy-derive-0.8.48.crate) = 7dd11845b9c07fcc6c7289f792a27c30b2eb6122a403e9cfaa59177a953a60e5e412040a085d12b31a4c52306d3e3517a7f295ba62fb4441aac8e2d5f052e3c3
 Size (zerocopy-derive-0.8.48.crate) = 97646 bytes
-BLAKE2s (zerofrom-0.1.7.crate) = 713206a7ab4ab52c79581e43c5cfef5c37480dae2b4b9859e5e6f047c25eba69
-SHA512 (zerofrom-0.1.7.crate) = e189816b92ca0f51a009b7bd63b07995aa1543ef5e69cf049ffc7f3605cd0ed48cfce958384a5775e233c25004e2289195e8c8ee1a8032f3cfc14a5e4b2cb446
-Size (zerofrom-0.1.7.crate) = 6140 bytes
+BLAKE2s (zerofrom-0.1.8.crate) = e4556207ca152d5db021585d8a1abbe8716874408e05ed958a97aa7855d54338
+SHA512 (zerofrom-0.1.8.crate) = a58d39960368594c7f1fb8aac29e8032c079439d1302a40a4b5a2f8d33b8de934f745a77fffa856c371118701c27e3841615dd68b27a838dbf8d6aa7a7744e51
+Size (zerofrom-0.1.8.crate) = 6156 bytes
 BLAKE2s (zerofrom-derive-0.1.7.crate) = 52b904d29063b9715093de99a7d4cf41fbc97b1b2960aa85c3fee707fdaed051
 SHA512 (zerofrom-derive-0.1.7.crate) = 22de0ee75a7463e6b263f17d91291d2e2800ae0b5066304b24459b58de8e528e36de77dda149d74abdecd26cab58f0ed34aa603b3361f00976929efdb3371da6
 Size (zerofrom-derive-0.1.7.crate) = 8853 bytes
@@ -1638,4 +1632,3 @@ Size (zerovec-derive-0.11.3.crate) = 22115 bytes
 BLAKE2s (zmij-1.0.21.crate) = a2d1e7214230c8f4e8c946d28215765c131da3aac89f1001daf534335307648e
 SHA512 (zmij-1.0.21.crate) = a488f11ec8721ddfe42e61d028a128818551de8fccd69d7824504e4ae2efccdc38f716fa5a10ef4de07a8a087e75e819c4a1e0790817e8539b5db697bde14585
 Size (zmij-1.0.21.crate) = 26665 bytes
-SHA1 (patch-src_boot__manager.rs) = e974c935de8fab547948c4a761d6e4ebaa4dafc8
diff --git a/pitchfork/patches/patch-src_boot__manager.rs b/pitchfork/patches/patch-src_boot__manager.rs
deleted file mode 100644
index 90ea72e0a8..0000000000
--- a/pitchfork/patches/patch-src_boot__manager.rs
+++ /dev/null
@@ -1,464 +0,0 @@
-$NetBSD$
-
-suit for non-Windows/MacOS/Linux build
-https://github.com/endevco/pitchfork/pull/429
-
---- src/boot_manager.rs.orig	2026-05-05 14:39:28.000000000 +0000
-+++ src/boot_manager.rs
-@@ -1,219 +1,279 @@
--use crate::{Result, env};
--#[cfg(target_os = "linux")]
--use auto_launcher::LinuxLaunchMode;
--#[cfg(target_os = "macos")]
--use auto_launcher::MacOSLaunchMode;
--use auto_launcher::{AutoLaunch, AutoLaunchBuilder};
--use miette::IntoDiagnostic;
-+// ─── Supported platforms (macOS, Linux, Windows) ──────────────────────────
- 
--#[cfg(any(target_os = "macos", target_os = "linux"))]
--fn build_launcher(
--    app_path: &str,
--    #[cfg(target_os = "macos")] macos_mode: MacOSLaunchMode,
--    #[cfg(target_os = "linux")] linux_mode: LinuxLaunchMode,
--) -> Result<AutoLaunch> {
--    let mut builder = AutoLaunchBuilder::new();
--    builder
--        .set_app_name("pitchfork")
--        .set_app_path(app_path)
--        .set_args(&["supervisor", "run", "--boot"]);
--
-+#[cfg(any(target_os = "macos", target_os = "linux", windows))]
-+mod imp {
-+    use crate::{Result, env};
-+    #[cfg(target_os = "linux")]
-+    use auto_launcher::LinuxLaunchMode;
-     #[cfg(target_os = "macos")]
--    builder.set_macos_launch_mode(macos_mode);
-+    use auto_launcher::MacOSLaunchMode;
-+    use auto_launcher::{AutoLaunch, AutoLaunchBuilder};
-+    use miette::IntoDiagnostic;
- 
--    #[cfg(target_os = "linux")]
--    builder.set_linux_launch_mode(linux_mode);
-+    #[cfg(any(target_os = "macos", target_os = "linux"))]
-+    fn build_launcher(
-+        app_path: &str,
-+        #[cfg(target_os = "macos")] macos_mode: MacOSLaunchMode,
-+        #[cfg(target_os = "linux")] linux_mode: LinuxLaunchMode,
-+    ) -> Result<AutoLaunch> {
-+        let mut builder = AutoLaunchBuilder::new();
-+        builder
-+            .set_app_name("pitchfork")
-+            .set_app_path(app_path)
-+            .set_args(&["supervisor", "run", "--boot"]);
- 
--    builder.build().into_diagnostic()
--}
-+        #[cfg(target_os = "macos")]
-+        builder.set_macos_launch_mode(macos_mode);
- 
--pub struct BootManager {
--    /// The launcher matching the current privilege level (used for enable).
--    current: AutoLaunch,
--    /// The other level's launcher (used to detect cross-level registrations).
--    other: AutoLaunch,
--    /// Legacy macOS LaunchAgentSystem entry (pre-1.0.3 used /Library/LaunchAgents/
--    /// instead of /Library/LaunchDaemons/ for root). Kept only for migration/cleanup.
--    #[cfg(target_os = "macos")]
--    legacy: AutoLaunch,
--}
-+        #[cfg(target_os = "linux")]
-+        builder.set_linux_launch_mode(linux_mode);
- 
--impl BootManager {
--    pub fn new() -> Result<Self> {
--        let app_path = env::PITCHFORK_BIN.to_string_lossy().to_string();
-+        builder.build().into_diagnostic()
-+    }
- 
-+    pub struct BootManager {
-+        /// The launcher matching the current privilege level (used for enable).
-+        current: AutoLaunch,
-+        /// The other level's launcher (used to detect cross-level registrations).
-+        other: AutoLaunch,
-+        /// Legacy macOS LaunchAgentSystem entry (pre-1.0.3 used /Library/LaunchAgents/
-+        /// instead of /Library/LaunchDaemons/ for root). Kept only for migration/cleanup.
-         #[cfg(target_os = "macos")]
--        let (current, other, legacy) = {
--            let is_root = nix::unistd::Uid::effective().is_root();
--            let (current_mode, other_mode) = if is_root {
-+        legacy: AutoLaunch,
-+    }
-+
-+    impl BootManager {
-+        pub fn new() -> Result<Self> {
-+            let app_path = env::PITCHFORK_BIN.to_string_lossy().to_string();
-+
-+            #[cfg(target_os = "macos")]
-+            let (current, other, legacy) = {
-+                let is_root = nix::unistd::Uid::effective().is_root();
-+                let (current_mode, other_mode) = if is_root {
-+                    (
-+                        MacOSLaunchMode::LaunchDaemonSystem,
-+                        MacOSLaunchMode::LaunchAgentUser,
-+                    )
-+                } else {
-+                    (
-+                        MacOSLaunchMode::LaunchAgentUser,
-+                        MacOSLaunchMode::LaunchDaemonSystem,
-+                    )
-+                };
-                 (
--                    MacOSLaunchMode::LaunchDaemonSystem,
--                    MacOSLaunchMode::LaunchAgentUser,
-+                    build_launcher(&app_path, current_mode)?,
-+                    build_launcher(&app_path, other_mode)?,
-+                    build_launcher(&app_path, MacOSLaunchMode::LaunchAgentSystem)?,
-                 )
--            } else {
-+            };
-+
-+            #[cfg(target_os = "linux")]
-+            let (current, other) = {
-+                let is_root = nix::unistd::Uid::effective().is_root();
-+                let (current_mode, other_mode) = if is_root {
-+                    (LinuxLaunchMode::SystemdSystem, LinuxLaunchMode::SystemdUser)
-+                } else {
-+                    (LinuxLaunchMode::SystemdUser, LinuxLaunchMode::SystemdSystem)
-+                };
-                 (
--                    MacOSLaunchMode::LaunchAgentUser,
--                    MacOSLaunchMode::LaunchDaemonSystem,
-+                    build_launcher(&app_path, current_mode)?,
-+                    build_launcher(&app_path, other_mode)?,
-                 )
-             };
--            (
--                build_launcher(&app_path, current_mode)?,
--                build_launcher(&app_path, other_mode)?,
--                build_launcher(&app_path, MacOSLaunchMode::LaunchAgentSystem)?,
--            )
--        };
- 
--        #[cfg(target_os = "linux")]
--        let (current, other) = {
--            let is_root = nix::unistd::Uid::effective().is_root();
--            let (current_mode, other_mode) = if is_root {
--                (LinuxLaunchMode::SystemdSystem, LinuxLaunchMode::SystemdUser)
--            } else {
--                (LinuxLaunchMode::SystemdUser, LinuxLaunchMode::SystemdSystem)
--            };
--            (
--                build_launcher(&app_path, current_mode)?,
--                build_launcher(&app_path, other_mode)?,
--            )
--        };
-+            // On Windows there is no root/user distinction; build two identical
-+            // launchers (AutoLaunch does not implement Clone).
-+            #[cfg(windows)]
-+            let (current, other) = (
-+                AutoLaunchBuilder::new()
-+                    .set_app_name("pitchfork")
-+                    .set_app_path(&app_path)
-+                    .set_args(&["supervisor", "run", "--boot"])
-+                    .build()
-+                    .into_diagnostic()?,
-+                AutoLaunchBuilder::new()
-+                    .set_app_name("pitchfork")
-+                    .set_app_path(&app_path)
-+                    .set_args(&["supervisor", "run", "--boot"])
-+                    .build()
-+                    .into_diagnostic()?,
-+            );
- 
--        // On Windows there is no root/user distinction; build two identical
--        // launchers (AutoLaunch does not implement Clone).
--        #[cfg(windows)]
--        let (current, other) = (
--            AutoLaunchBuilder::new()
--                .set_app_name("pitchfork")
--                .set_app_path(&app_path)
--                .set_args(&["supervisor", "run", "--boot"])
--                .build()
--                .into_diagnostic()?,
--            AutoLaunchBuilder::new()
--                .set_app_name("pitchfork")
--                .set_app_path(&app_path)
--                .set_args(&["supervisor", "run", "--boot"])
--                .build()
--                .into_diagnostic()?,
--        );
-+            #[cfg(target_os = "macos")]
-+            return Ok(Self {
-+                current,
-+                other,
-+                legacy,
-+            });
- 
--        // Unsupported platforms: auto_launcher only supports macOS, Linux, and Windows.
--        #[cfg(not(any(target_os = "macos", target_os = "linux", windows)))]
--        compile_error!("pitchfork boot management is only supported on macOS, Linux, and Windows");
-+            #[cfg(not(target_os = "macos"))]
-+            Ok(Self { current, other })
-+        }
- 
--        #[cfg(target_os = "macos")]
--        return Ok(Self {
--            current,
--            other,
--            legacy,
--        });
-+        /// Whether any registration (user- or system-level) exists.
-+        pub fn is_enabled(&self) -> Result<bool> {
-+            #[cfg(target_os = "macos")]
-+            return Ok(self.current.is_enabled().into_diagnostic()?
-+                || self.other.is_enabled().into_diagnostic()?
-+                || self.legacy.is_enabled().into_diagnostic()?);
- 
--        #[cfg(not(target_os = "macos"))]
--        Ok(Self { current, other })
--    }
-+            #[cfg(not(target_os = "macos"))]
-+            Ok(self.current.is_enabled().into_diagnostic()?
-+                || self.other.is_enabled().into_diagnostic()?)
-+        }
- 
--    /// Whether any registration (user- or system-level) exists.
--    pub fn is_enabled(&self) -> Result<bool> {
--        #[cfg(target_os = "macos")]
--        return Ok(self.current.is_enabled().into_diagnostic()?
--            || self.other.is_enabled().into_diagnostic()?
--            || self.legacy.is_enabled().into_diagnostic()?);
-+        /// Whether a registration at the *current* privilege level exists.
-+        pub fn is_current_level_enabled(&self) -> Result<bool> {
-+            self.current.is_enabled().into_diagnostic()
-+        }
- 
--        #[cfg(not(target_os = "macos"))]
--        Ok(self.current.is_enabled().into_diagnostic()?
--            || self.other.is_enabled().into_diagnostic()?)
--    }
-+        /// Whether a registration at the *other* privilege level exists.
-+        /// Used to warn the user about cross-level mismatches.
-+        /// On macOS, includes legacy entries for non-root callers (they are at a
-+        /// different privilege level) but not for root callers (legacy is same level).
-+        pub fn is_other_level_enabled(&self) -> Result<bool> {
-+            #[cfg(target_os = "macos")]
-+            return Ok(self.other.is_enabled().into_diagnostic()?
-+                || (!nix::unistd::Uid::effective().is_root()
-+                    && self.legacy.is_enabled().into_diagnostic()?));
- 
--    /// Whether a registration at the *current* privilege level exists.
--    pub fn is_current_level_enabled(&self) -> Result<bool> {
--        self.current.is_enabled().into_diagnostic()
--    }
-+            #[cfg(not(target_os = "macos"))]
-+            self.other.is_enabled().into_diagnostic()
-+        }
- 
--    /// Whether a registration at the *other* privilege level exists.
--    /// Used to warn the user about cross-level mismatches.
--    /// On macOS, includes legacy entries for non-root callers (they are at a
--    /// different privilege level) but not for root callers (legacy is same level).
--    pub fn is_other_level_enabled(&self) -> Result<bool> {
-+        /// Remove legacy macOS LaunchAgentSystem entry if present and caller is root.
-+        /// Idempotent — safe to call on every enable path, including retries after
-+        /// partial migration (new entry written but legacy removal failed).
-+        ///
-+        /// `migrated`: true when called after writing a new LaunchDaemonSystem entry
-+        /// (full migration); false when just removing a stale leftover.
-         #[cfg(target_os = "macos")]
--        return Ok(self.other.is_enabled().into_diagnostic()?
--            || (!nix::unistd::Uid::effective().is_root()
--                && self.legacy.is_enabled().into_diagnostic()?));
-+        pub fn cleanup_legacy(&self, migrated: bool) -> Result<()> {
-+            if nix::unistd::Uid::effective().is_root()
-+                && self.legacy.is_enabled().into_diagnostic()?
-+            {
-+                self.legacy.disable().into_diagnostic()?;
-+                if migrated {
-+                    info!(
-+                        "migrated legacy system-level launch entry from /Library/LaunchAgents/ to /Library/LaunchDaemons/"
-+                    );
-+                } else {
-+                    info!("removed legacy system-level launch entry from /Library/LaunchAgents/");
-+                }
-+            }
-+            Ok(())
-+        }
- 
--        #[cfg(not(target_os = "macos"))]
--        self.other.is_enabled().into_diagnostic()
--    }
-+        /// Register at the current privilege level.
-+        ///
-+        /// Returns an error if a registration at the other privilege level already
-+        /// exists, preventing user-level and system-level entries from coexisting.
-+        ///
-+        /// On macOS, migrates any legacy LaunchAgentSystem entry (from pre-1.0.3)
-+        /// to the correct LaunchDaemonSystem entry.
-+        pub fn enable(&self) -> Result<()> {
-+            // For root, legacy will be migrated so only check non-legacy other level.
-+            // For non-root, legacy cannot be migrated and is also a conflict.
-+            #[cfg(target_os = "macos")]
-+            let other_conflict = if nix::unistd::Uid::effective().is_root() {
-+                self.other.is_enabled().into_diagnostic()?
-+            } else {
-+                self.is_other_level_enabled()?
-+            };
- 
--    /// Remove legacy macOS LaunchAgentSystem entry if present and caller is root.
--    /// Idempotent — safe to call on every enable path, including retries after
--    /// partial migration (new entry written but legacy removal failed).
--    ///
--    /// `migrated`: true when called after writing a new LaunchDaemonSystem entry
--    /// (full migration); false when just removing a stale leftover.
--    #[cfg(target_os = "macos")]
--    pub fn cleanup_legacy(&self, migrated: bool) -> Result<()> {
--        if nix::unistd::Uid::effective().is_root() && self.legacy.is_enabled().into_diagnostic()? {
--            self.legacy.disable().into_diagnostic()?;
--            if migrated {
--                info!(
--                    "migrated legacy system-level launch entry from /Library/LaunchAgents/ to /Library/LaunchDaemons/"
-+            #[cfg(not(target_os = "macos"))]
-+            let other_conflict = self.other.is_enabled().into_diagnostic()?;
-+
-+            if other_conflict {
-+                miette::bail!(
-+                    "boot start is already registered at the other privilege level; \
-+                    run `pitchfork boot disable` (with appropriate privileges) to remove \
-+                    it first"
-                 );
--            } else {
--                info!("removed legacy system-level launch entry from /Library/LaunchAgents/");
-             }
-+
-+            self.current.enable().into_diagnostic()?;
-+
-+            #[cfg(target_os = "macos")]
-+            self.cleanup_legacy(true)?;
-+
-+            Ok(())
-         }
--        Ok(())
-+
-+        /// Remove registrations at *both* levels so cross-level leftovers are also
-+        /// cleaned up. Also removes legacy macOS LaunchAgentSystem entries when
-+        /// running as root. Returns Ok even if some entries could not be removed
-+        /// due to insufficient privileges — callers should check is_enabled()
-+        /// afterwards to detect incomplete cleanup.
-+        pub fn disable(&self) -> Result<()> {
-+            if self.current.is_enabled().into_diagnostic()? {
-+                self.current.disable().into_diagnostic()?;
-+            }
-+            if self.other.is_enabled().into_diagnostic()? {
-+                self.other.disable().into_diagnostic()?;
-+            }
-+            #[cfg(target_os = "macos")]
-+            if nix::unistd::Uid::effective().is_root()
-+                && self.legacy.is_enabled().into_diagnostic()?
-+            {
-+                self.legacy.disable().into_diagnostic()?;
-+            }
-+            Ok(())
-+        }
-     }
-+}
- 
--    /// Register at the current privilege level.
--    ///
--    /// Returns an error if a registration at the other privilege level already
--    /// exists, preventing user-level and system-level entries from coexisting.
--    ///
--    /// On macOS, migrates any legacy LaunchAgentSystem entry (from pre-1.0.3)
--    /// to the correct LaunchDaemonSystem entry.
--    pub fn enable(&self) -> Result<()> {
--        // For root, legacy will be migrated so only check non-legacy other level.
--        // For non-root, legacy cannot be migrated and is also a conflict.
--        #[cfg(target_os = "macos")]
--        let other_conflict = if nix::unistd::Uid::effective().is_root() {
--            self.other.is_enabled().into_diagnostic()?
--        } else {
--            self.is_other_level_enabled()?
--        };
-+// ─── Unsupported platforms ────────────────────────────────────────────────
- 
--        #[cfg(not(target_os = "macos"))]
--        let other_conflict = self.other.is_enabled().into_diagnostic()?;
-+#[cfg(not(any(target_os = "macos", target_os = "linux", windows)))]
-+mod imp {
-+    use crate::Result;
- 
--        if other_conflict {
-+    pub struct BootManager;
-+
-+    impl BootManager {
-+        pub fn new() -> Result<Self> {
-             miette::bail!(
--                "boot start is already registered at the other privilege level; \
--                run `pitchfork boot disable` (with appropriate privileges) to remove \
--                it first"
--            );
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-         }
- 
--        self.current.enable().into_diagnostic()?;
-+        pub fn is_enabled(&self) -> Result<bool> {
-+            miette::bail!(
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-+        }
- 
--        #[cfg(target_os = "macos")]
--        self.cleanup_legacy(true)?;
-+        pub fn is_current_level_enabled(&self) -> Result<bool> {
-+            miette::bail!(
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-+        }
- 
--        Ok(())
--    }
-+        pub fn is_other_level_enabled(&self) -> Result<bool> {
-+            miette::bail!(
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-+        }
- 
--    /// Remove registrations at *both* levels so cross-level leftovers are also
--    /// cleaned up. Also removes legacy macOS LaunchAgentSystem entries when
--    /// running as root. Returns Ok even if some entries could not be removed
--    /// due to insufficient privileges — callers should check is_enabled()
--    /// afterwards to detect incomplete cleanup.
--    pub fn disable(&self) -> Result<()> {
--        if self.current.is_enabled().into_diagnostic()? {
--            self.current.disable().into_diagnostic()?;
-+        pub fn enable(&self) -> Result<()> {
-+            miette::bail!(
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-         }
--        if self.other.is_enabled().into_diagnostic()? {
--            self.other.disable().into_diagnostic()?;
-+
-+        pub fn disable(&self) -> Result<()> {
-+            miette::bail!(
-+                "boot management is not supported on this platform; \
-+                only macOS, Linux, and Windows are supported"
-+            )
-         }
--        #[cfg(target_os = "macos")]
--        if nix::unistd::Uid::effective().is_root() && self.legacy.is_enabled().into_diagnostic()? {
--            self.legacy.disable().into_diagnostic()?;
--        }
--        Ok(())
-     }
- }
-+
-+pub use imp::BootManager;


Home | Main Index | Thread Index | Old Index