Radish alpha
r
Radicle desktop app
Radicle
Git (anonymous pull)
Log in to clone via SSH
Bump rad-artifact, iroh and iroh-blobs
Daniel Norman committed 7 days ago
commit 8c62a43574f831d2eb34a4abd5628591e5393f92
parent aa91ec508fd65053a50865e34acc57101dd83910
7 files changed +547 -574
modified Cargo.lock
@@ -244,6 +244,15 @@ dependencies = [
]

[[package]]
+
name = "arc-swap"
+
version = "1.9.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207"
+
dependencies = [
+
 "rustversion",
+
]
+

+
[[package]]
name = "arrayref"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -484,16 +493,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"

[[package]]
-
name = "base32"
-
version = "0.4.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa"
-

-
[[package]]
-
name = "base32"
-
version = "0.5.1"
+
name = "base16ct"
+
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "022dfe9eb35f19ebbcb51e0b40a5ab759f46ad60cadf7297e0bd085afb50e076"
+
checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6"

[[package]]
name = "base64"
@@ -606,9 +609,9 @@ dependencies = [

[[package]]
name = "block-buffer"
-
version = "0.11.0"
+
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "96eb4cdd6cf1b31d671e9efe75c5d1ec614776856cefbe109ca373554a6d514f"
+
checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be"
dependencies = [
 "hybrid-array",
]
@@ -940,6 +943,17 @@ dependencies = [
]

[[package]]
+
name = "chacha20"
+
version = "0.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601"
+
dependencies = [
+
 "cfg-if",
+
 "cpufeatures 0.3.0",
+
 "rand_core 0.10.1",
+
]
+

+
[[package]]
name = "chrono"
version = "0.4.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1027,6 +1041,12 @@ dependencies = [
]

[[package]]
+
name = "cmov"
+
version = "0.5.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746"
+

+
[[package]]
name = "cobs"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1119,6 +1139,16 @@ dependencies = [

[[package]]
name = "core-foundation"
+
version = "0.9.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+
dependencies = [
+
 "core-foundation-sys",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-foundation"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
@@ -1140,7 +1170,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1"
dependencies = [
 "bitflags 2.11.1",
-
 "core-foundation",
+
 "core-foundation 0.10.0",
 "core-graphics-types",
 "foreign-types",
 "libc",
@@ -1153,7 +1183,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97"
dependencies = [
 "bitflags 2.11.1",
-
 "core-foundation",
+
 "core-foundation 0.10.0",
 "core-graphics-types",
 "foreign-types",
 "libc",
@@ -1166,7 +1196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
dependencies = [
 "bitflags 2.11.1",
-
 "core-foundation",
+
 "core-foundation 0.10.0",
 "libc",
]

@@ -1356,6 +1386,15 @@ dependencies = [
]

[[package]]
+
name = "ctutils"
+
version = "0.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e"
+
dependencies = [
+
 "cmov",
+
]
+

+
[[package]]
name = "curve25519-dalek"
version = "4.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1372,16 +1411,16 @@ dependencies = [

[[package]]
name = "curve25519-dalek"
-
version = "5.0.0-pre.1"
+
version = "5.0.0-pre.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6f9200d1d13637f15a6acb71e758f64624048d85b31a5fdbfd8eca1e2687d0b7"
+
checksum = "335f1947f241137a14106b6f5acc5918a5ede29c9d71d3f2cb1678d5075d9fc3"
dependencies = [
 "cfg-if",
 "cpufeatures 0.2.17",
 "curve25519-dalek-derive",
-
 "digest 0.11.0-rc.10",
+
 "digest 0.11.3",
 "fiat-crypto 0.3.0",
-
 "rand_core 0.9.5",
+
 "rand_core 0.10.1",
 "rustc_version",
 "serde",
 "subtle",
@@ -1406,9 +1445,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4204e8808fcdd40bed39e49371f13f56d6984c32bc03dcb577d2a40b989b9d68"
dependencies = [
 "amplify",
-
 "base32 0.4.0",
 "cyphergraphy",
-
 "sha3",
]

[[package]]
@@ -1469,15 +1506,15 @@ dependencies = [

[[package]]
name = "data-encoding"
-
version = "2.9.0"
+
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
+
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"

[[package]]
name = "data-encoding-macro"
-
version = "0.1.18"
+
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d"
+
checksum = "3259c913752a86488b501ed8680446a5ed2d5aeac6e596cb23ba3800768ea32c"
dependencies = [
 "data-encoding",
 "data-encoding-macro-internal",
@@ -1485,9 +1522,9 @@ dependencies = [

[[package]]
name = "data-encoding-macro-internal"
-
version = "0.1.16"
+
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976"
+
checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090"
dependencies = [
 "data-encoding",
 "syn 2.0.117",
@@ -1715,11 +1752,11 @@ dependencies = [

[[package]]
name = "digest"
-
version = "0.11.0-rc.10"
+
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "afa94b64bfc6549e6e4b5a3216f22593224174083da7a90db47e951c4fb31725"
+
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
-
 "block-buffer 0.11.0",
+
 "block-buffer 0.12.0",
 "const-oid 0.10.2",
 "crypto-common 0.2.1",
]
@@ -1770,17 +1807,6 @@ dependencies = [

[[package]]
name = "dlopen2"
-
version = "0.5.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa"
-
dependencies = [
-
 "libc",
-
 "once_cell",
-
 "winapi",
-
]
-

-
[[package]]
-
name = "dlopen2"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4"
@@ -1803,15 +1829,6 @@ dependencies = [
]

[[package]]
-
name = "document-features"
-
version = "0.2.12"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
-
dependencies = [
-
 "litrs",
-
]
-

-
[[package]]
name = "dom_query"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1987,12 +2004,12 @@ dependencies = [

[[package]]
name = "ed25519"
-
version = "3.0.0-rc.4"
+
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c6e914c7c52decb085cea910552e24c63ac019e3ab8bf001ff736da9a9d9d890"
+
checksum = "29fcf32e6c73d1079f83ab4d782de2d81620346a5f38c6237a86a22f8368980a"
dependencies = [
-
 "pkcs8 0.11.0-rc.11",
-
 "serde",
+
 "pkcs8 0.11.0",
+
 "serdect",
 "signature 3.0.0",
]

@@ -2010,15 +2027,15 @@ dependencies = [

[[package]]
name = "ed25519-dalek"
-
version = "3.0.0-pre.1"
+
version = "3.0.0-pre.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1"
+
checksum = "20449acd54b660981ae5caa2bcb56d1fe7f25f2e37a38ec507400fab034d4bb6"
dependencies = [
-
 "curve25519-dalek 5.0.0-pre.1",
-
 "ed25519 3.0.0-rc.4",
-
 "rand_core 0.9.5",
+
 "curve25519-dalek 5.0.0-pre.6",
+
 "ed25519 3.0.0",
+
 "rand_core 0.10.1",
 "serde",
-
 "sha2 0.11.0-rc.2",
+
 "sha2 0.11.0",
 "signature 3.0.0",
 "subtle",
 "zeroize",
@@ -2036,7 +2053,7 @@ version = "0.13.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
-
 "base16ct",
+
 "base16ct 0.2.0",
 "crypto-bigint",
 "digest 0.10.7",
 "ff",
@@ -2097,18 +2114,6 @@ dependencies = [
]

[[package]]
-
name = "enum-as-inner"
-
version = "0.6.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
-
dependencies = [
-
 "heck 0.5.0",
-
 "proc-macro2",
-
 "quote",
-
 "syn 2.0.117",
-
]
-

-
[[package]]
name = "enum-assoc"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2169,13 +2174,13 @@ checksum = "3afcf4effa2c44390b9912544582d5af29e10dc4c816c5dbebf748e1c7416faa"

[[package]]
name = "fastbloom"
-
version = "0.14.1"
+
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4"
+
checksum = "ef975e30683b2d965054bb0a836f8973857c4ebf6acf274fe46617cd285060d8"
dependencies = [
-
 "getrandom 0.3.3",
+
 "foldhash 0.2.0",
 "libm",
-
 "rand 0.9.4",
+
 "portable-atomic",
 "siphasher 1.0.1",
]

@@ -2673,11 +2678,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
dependencies = [
 "cfg-if",
-
 "js-sys",
 "libc",
 "r-efi 5.2.0",
 "wasi 0.14.2+wasi-0.2.4",
-
 "wasm-bindgen",
]

[[package]]
@@ -2690,6 +2693,7 @@ dependencies = [
 "js-sys",
 "libc",
 "r-efi 6.0.0",
+
 "rand_core 0.10.1",
 "wasip2",
 "wasip3",
 "wasm-bindgen",
@@ -2981,9 +2985,9 @@ dependencies = [

[[package]]
name = "hashbrown"
-
version = "0.16.1"
+
version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
+
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
dependencies = [
 "allocator-api2",
 "equivalent",
@@ -3023,26 +3027,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"

[[package]]
-
name = "hickory-proto"
-
version = "0.25.2"
+
name = "hickory-net"
+
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502"
+
checksum = "e2295ed2f9c31e471e1428a8f88a3f0e1f4b27c15049592138d1eebe9c35b183"
dependencies = [
 "async-trait",
 "bytes",
 "cfg-if",
 "data-encoding",
-
 "enum-as-inner",
 "futures-channel",
 "futures-io",
 "futures-util",
 "h2",
+
 "hickory-proto",
 "http",
 "idna",
 "ipnet",
-
 "once_cell",
-
 "rand 0.9.4",
-
 "ring",
+
 "jni 0.22.4",
+
 "rand 0.10.1",
 "rustls",
 "thiserror 2.0.18",
 "tinyvec",
@@ -3053,22 +3056,47 @@ dependencies = [
]

[[package]]
+
name = "hickory-proto"
+
version = "0.26.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0bab31817bfb44672a252e97fe81cd0c18d1b2cf892108922f6818820df8c643"
+
dependencies = [
+
 "data-encoding",
+
 "idna",
+
 "ipnet",
+
 "jni 0.22.4",
+
 "once_cell",
+
 "prefix-trie",
+
 "rand 0.10.1",
+
 "ring",
+
 "thiserror 2.0.18",
+
 "tinyvec",
+
 "tracing",
+
 "url",
+
]
+

+
[[package]]
name = "hickory-resolver"
-
version = "0.25.2"
+
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a"
+
checksum = "f0d58d28879ceecde6607729660c2667a081ccdc082e082675042793960f178c"
dependencies = [
 "cfg-if",
 "futures-util",
+
 "hickory-net",
 "hickory-proto",
 "ipconfig",
+
 "ipnet",
+
 "jni 0.22.4",
 "moka",
+
 "ndk-context",
 "once_cell",
 "parking_lot",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
 "resolv-conf",
 "rustls",
 "smallvec",
+
 "system-configuration",
 "thiserror 2.0.18",
 "tokio",
 "tokio-rustls",
@@ -3209,7 +3237,6 @@ dependencies = [
 "tokio",
 "tokio-rustls",
 "tower-service",
-
 "webpki-roots",
]

[[package]]
@@ -3397,11 +3424,10 @@ dependencies = [

[[package]]
name = "igd-next"
-
version = "0.16.2"
+
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97"
+
checksum = "bac9a3c8278f43b4cd8463380f4a25653ac843e5b177e1d3eaf849cc9ba10d4d"
dependencies = [
-
 "async-trait",
 "attohttpc",
 "bytes",
 "futures",
@@ -3410,7 +3436,7 @@ dependencies = [
 "hyper",
 "hyper-util",
 "log",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
 "tokio",
 "url",
 "xmltree",
@@ -3524,9 +3550,12 @@ dependencies = [

[[package]]
name = "ipnet"
-
version = "2.11.0"
+
version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
+
checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2"
+
dependencies = [
+
 "serde",
+
]

[[package]]
name = "iri-string"
@@ -3540,22 +3569,25 @@ dependencies = [

[[package]]
name = "iroh"
-
version = "0.97.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "feb56e7e4b0ec7fba7efa6a236b016a52b5d927d50244aceb9e20566159b1a32"
+
checksum = "b98e206e3d3f2642f5c08c413755fc0ac19b54ae1a656af88be03454ce3ed2e6"
dependencies = [
 "backon",
+
 "blake3",
 "bytes",
 "cfg_aliases",
+
 "ctutils",
 "data-encoding",
 "derive_more 2.1.1",
-
 "ed25519-dalek 3.0.0-pre.1",
+
 "ed25519-dalek 3.0.0-pre.7",
 "futures-util",
-
 "getrandom 0.3.3",
+
 "getrandom 0.4.2",
 "hickory-resolver",
 "http",
 "ipnet",
 "iroh-base",
+
 "iroh-dns",
 "iroh-metrics",
 "iroh-relay",
 "n0-error",
@@ -3567,12 +3599,10 @@ dependencies = [
 "noq-udp",
 "papaya",
 "pin-project",
-
 "pkarr",
-
 "pkcs8 0.11.0-rc.11",
 "portable-atomic",
 "portmapper",
-
 "rand 0.9.4",
-
 "reqwest 0.12.28",
+
 "rand 0.10.1",
+
 "reqwest",
 "rustc-hash",
 "rustls",
 "rustls-pki-types",
@@ -3580,7 +3610,6 @@ dependencies = [
 "serde",
 "smallvec",
 "strum",
-
 "sync_wrapper",
 "time",
 "tokio",
 "tokio-stream",
@@ -3593,19 +3622,21 @@ dependencies = [

[[package]]
name = "iroh-base"
-
version = "0.97.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "55a354e3396b62c14717ee807dfee9a7f43f6dad47e4ac0fd1d49f1ffad14ef0"
+
checksum = "2160a45265eba3bd290ce698f584c9b088bee47e518e9ec4460d5e5888ef660e"
dependencies = [
-
 "curve25519-dalek 5.0.0-pre.1",
+
 "curve25519-dalek 5.0.0-pre.6",
 "data-encoding",
+
 "data-encoding-macro",
 "derive_more 2.1.1",
-
 "digest 0.11.0-rc.10",
-
 "ed25519-dalek 3.0.0-pre.1",
+
 "digest 0.11.3",
+
 "ed25519-dalek 3.0.0-pre.7",
+
 "getrandom 0.4.2",
 "n0-error",
-
 "rand_core 0.9.5",
+
 "rand 0.10.1",
 "serde",
-
 "sha2 0.11.0-rc.2",
+
 "sha2 0.11.0",
 "url",
 "zeroize",
 "zeroize_derive",
@@ -3613,32 +3644,34 @@ dependencies = [

[[package]]
name = "iroh-blobs"
-
version = "0.99.0"
+
version = "0.101.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "51b06914e77bd07bc1b3600096be66e2a63d391e8f4a901f61771630e20f2116"
+
checksum = "c6e351f5c1db08dcfb456e6299bda0881e1ba95a360f0913a5e57344c1538fb2"
dependencies = [
 "arrayvec",
 "bao-tree",
 "bytes",
 "cfg_aliases",
 "chrono",
+
 "constant_time_eq",
 "data-encoding",
 "derive_more 2.1.1",
-
 "futures-lite",
 "genawaiter",
+
 "getrandom 0.4.2",
 "hex",
 "iroh",
 "iroh-base",
 "iroh-io",
 "iroh-metrics",
 "iroh-tickets",
+
 "iroh-util",
 "irpc",
 "n0-error",
 "n0-future",
 "nested_enum_utils",
 "noq",
 "postcard",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
 "range-collections",
 "redb",
 "ref-cast",
@@ -3651,6 +3684,30 @@ dependencies = [
]

[[package]]
+
name = "iroh-dns"
+
version = "1.0.0-rc.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c8b6d2946350d398c9d2d795bb99b04f22e8414c8a8ad9c5c3c0c5b7899af9a4"
+
dependencies = [
+
 "arc-swap",
+
 "cfg_aliases",
+
 "derive_more 2.1.1",
+
 "hickory-resolver",
+
 "iroh-base",
+
 "n0-error",
+
 "n0-future",
+
 "ndk-context",
+
 "rand 0.10.1",
+
 "reqwest",
+
 "rustls",
+
 "simple-dns",
+
 "strum",
+
 "tokio",
+
 "tracing",
+
 "url",
+
]
+

+
[[package]]
name = "iroh-io"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3665,14 +3722,14 @@ dependencies = [

[[package]]
name = "iroh-metrics"
-
version = "0.38.1"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5828152c482cf9d95f3039848ac2be5e6e47c41dbf3695a453e6c02739c50d2c"
+
checksum = "d102597d0ee523f17fdb672c532395e634dbe945429284c811430d63bacc0d8a"
dependencies = [
 "iroh-metrics-derive",
 "itoa",
 "n0-error",
-
 "postcard",
+
 "portable-atomic",
 "ryu",
 "serde",
 "tracing",
@@ -3680,9 +3737,9 @@ dependencies = [

[[package]]
name = "iroh-metrics-derive"
-
version = "0.4.1"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "cab063c2bfd6c3d5a33a913d4fdb5252f140db29ec67c704f20f3da7e8f92dbf"
+
checksum = "91c8e0c97f1dc787107f388433c349397c565572fe6406d600ff7bb7b7fe3b30"
dependencies = [
 "heck 0.5.0",
 "proc-macro2",
@@ -3692,22 +3749,23 @@ dependencies = [

[[package]]
name = "iroh-relay"
-
version = "0.97.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d786b260cadfe82ae0b6a9e372e8c78949096a06c857d1c3521355cefced0f55"
+
checksum = "54f490405e42dd2ecf16be18a3587d2665401e94a498094f12322eaa6d5ebb2b"
dependencies = [
 "blake3",
 "bytes",
 "cfg_aliases",
 "data-encoding",
 "derive_more 2.1.1",
-
 "getrandom 0.3.3",
+
 "getrandom 0.4.2",
 "hickory-resolver",
 "http",
 "http-body-util",
 "hyper",
 "hyper-util",
 "iroh-base",
+
 "iroh-dns",
 "iroh-metrics",
 "lru",
 "n0-error",
@@ -3716,10 +3774,9 @@ dependencies = [
 "noq-proto",
 "num_enum",
 "pin-project",
-
 "pkarr",
 "postcard",
-
 "rand 0.9.4",
-
 "reqwest 0.12.28",
+
 "rand 0.10.1",
+
 "reqwest",
 "rustls",
 "rustls-pki-types",
 "serde",
@@ -3734,14 +3791,13 @@ dependencies = [
 "vergen-gitcl",
 "webpki-roots",
 "ws_stream_wasm",
-
 "z32",
]

[[package]]
name = "iroh-tickets"
-
version = "0.4.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ab64bac4bb573b9cfd2142bd2876ed65ca792efbc4398361a4ee51a0f9afbed6"
+
checksum = "0a4b7fbfa10582f6b4f6b013eef1d21987d3df5fd42c0f7707d5de6abd34f8e9"
dependencies = [
 "data-encoding",
 "derive_more 2.1.1",
@@ -3752,10 +3808,24 @@ dependencies = [
]

[[package]]
+
name = "iroh-util"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e7705450a124b2b05f7caad505620ab5ac3bf4eb6b85018e6b9bca36329fd031"
+
dependencies = [
+
 "derive_more 2.1.1",
+
 "iroh",
+
 "n0-error",
+
 "n0-future",
+
 "tokio",
+
 "tracing",
+
]
+

+
[[package]]
name = "irpc"
-
version = "0.13.0"
+
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4f47b7c52662d673df377b5ac40c121c7ff56eb764e520fae6543686132f7957"
+
checksum = "0d38567eed2ed120e1040386930eb3b9ce6ca8a94b13c20a1b3b6535f253b00c"
dependencies = [
 "futures-buffered",
 "futures-util",
@@ -3775,9 +3845,9 @@ dependencies = [

[[package]]
name = "irpc-derive"
-
version = "0.10.0"
+
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "83c1a4b460634aeed6dc01236a0047867de70e30562d91a0ad031dcb3ac33fb4"
+
checksum = "6d8030c02dce4c9a8aecfb6e0870ee13ba3060096d88f6c1309919af8f197793"
dependencies = [
 "proc-macro2",
 "quote",
@@ -3859,7 +3929,7 @@ dependencies = [
 "cesu8",
 "cfg-if",
 "combine",
-
 "jni-sys",
+
 "jni-sys 0.3.0",
 "log",
 "thiserror 1.0.69",
 "walkdir",
@@ -3867,12 +3937,61 @@ dependencies = [
]

[[package]]
+
name = "jni"
+
version = "0.22.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498"
+
dependencies = [
+
 "cfg-if",
+
 "combine",
+
 "jni-macros",
+
 "jni-sys 0.4.1",
+
 "log",
+
 "simd_cesu8",
+
 "thiserror 2.0.18",
+
 "walkdir",
+
 "windows-link 0.2.1",
+
]
+

+
[[package]]
+
name = "jni-macros"
+
version = "0.22.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "rustc_version",
+
 "simd_cesu8",
+
 "syn 2.0.117",
+
]
+

+
[[package]]
name = "jni-sys"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"

[[package]]
+
name = "jni-sys"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2"
+
dependencies = [
+
 "jni-sys-macros",
+
]
+

+
[[package]]
+
name = "jni-sys-macros"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264"
+
dependencies = [
+
 "quote",
+
 "syn 2.0.117",
+
]
+

+
[[package]]
name = "jobserver"
version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3923,15 +4042,6 @@ dependencies = [
]

[[package]]
-
name = "keccak"
-
version = "0.1.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
-
dependencies = [
-
 "cpufeatures 0.2.17",
-
]
-

-
[[package]]
name = "keyboard-types"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4084,12 +4194,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"

[[package]]
-
name = "litrs"
-
version = "1.0.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
-

-
[[package]]
name = "lock_api"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4123,11 +4227,11 @@ dependencies = [

[[package]]
name = "lru"
-
version = "0.16.4"
+
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39"
+
checksum = "8a860605968fce16869fd239cf4237a82f3ac470723415db603b0e8b6c8d4fb9"
dependencies = [
-
 "hashbrown 0.16.1",
+
 "hashbrown 0.17.1",
]

[[package]]
@@ -4336,9 +4440,9 @@ dependencies = [

[[package]]
name = "n0-error"
-
version = "0.1.3"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "af4782b4baf92d686d161c15460c83d16ebcfd215918763903e9619842665cae"
+
checksum = "223e946a84aa91644507a6b7865cfebbb9a231ace499041c747ab0fd30408212"
dependencies = [
 "n0-error-macros",
 "spez",
@@ -4346,9 +4450,9 @@ dependencies = [

[[package]]
name = "n0-error-macros"
-
version = "0.1.3"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "03755949235714b2b307e5ae89dd8c1c2531fb127d9b8b7b4adf9c876cd3ed18"
+
checksum = "565305a21e6b3bf26640ad98f05a0fda12d3ab4315394566b52a7bddb8b34828"
dependencies = [
 "proc-macro2",
 "quote",
@@ -4378,9 +4482,9 @@ dependencies = [

[[package]]
name = "n0-watcher"
-
version = "0.6.1"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "38795f7932e6e9d1c6e989270ef5b3ff24ebb910e2c9d4bed2d28d8bae3007dc"
+
checksum = "928d8039a66cce5efcfd35e88b32d3defc8eba630b3ac451522997f563956a52"
dependencies = [
 "derive_more 2.1.1",
 "n0-error",
@@ -4394,7 +4498,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
dependencies = [
 "bitflags 2.11.1",
-
 "jni-sys",
+
 "jni-sys 0.3.0",
 "log",
 "ndk-sys",
 "num_enum",
@@ -4403,12 +4507,18 @@ dependencies = [
]

[[package]]
+
name = "ndk-context"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+

+
[[package]]
name = "ndk-sys"
version = "0.6.0+11769913"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
dependencies = [
-
 "jni-sys",
+
 "jni-sys 0.3.0",
]

[[package]]
@@ -4425,24 +4535,26 @@ dependencies = [

[[package]]
name = "netdev"
-
version = "0.40.1"
+
version = "0.43.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1b0a0096d9613ee878dba89bbe595f079d373e3f1960d882e4f2f78ff9c30a0a"
+
checksum = "57bacaf873ee4eab5646f99b381b271ec75e716902a67cf962c0f328c5eb5bfb"
dependencies = [
 "block2 0.6.1",
 "dispatch2",
-
 "dlopen2 0.5.0",
+
 "dlopen2",
 "ipnet",
 "libc",
 "mac-addr",
 "netlink-packet-core",
-
 "netlink-packet-route",
+
 "netlink-packet-route 0.29.0",
 "netlink-sys",
 "objc2-core-foundation",
+
 "objc2-core-wlan",
+
 "objc2-foundation 0.3.1",
 "objc2-system-configuration",
 "once_cell",
 "plist",
-
 "windows-sys 0.59.0",
+
 "windows-sys 0.61.2",
]

[[package]]
@@ -4467,6 +4579,18 @@ dependencies = [
]

[[package]]
+
name = "netlink-packet-route"
+
version = "0.30.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "be8919612f6028ab4eacbbfe1234a9a43e3722c6e0915e7ff519066991905092"
+
dependencies = [
+
 "bitflags 2.11.1",
+
 "libc",
+
 "log",
+
 "netlink-packet-core",
+
]
+

+
[[package]]
name = "netlink-proto"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4495,9 +4619,9 @@ dependencies = [

[[package]]
name = "netwatch"
-
version = "0.15.0"
+
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3b1b27babe89ef9f2237bc6c028bea24fa84163a1b6f8f17ff93573ebd7d861f"
+
checksum = "b5bfbba77b994ce69f1d40fc66fd8abbd23df62ce4aea61fbb34d638106a2549"
dependencies = [
 "atomic-waker",
 "bytes",
@@ -4510,7 +4634,7 @@ dependencies = [
 "n0-watcher",
 "netdev",
 "netlink-packet-core",
-
 "netlink-packet-route",
+
 "netlink-packet-route 0.30.0",
 "netlink-proto",
 "netlink-sys",
 "noq-udp",
@@ -4577,12 +4701,13 @@ checksum = "549e471b99ccaf2f89101bec68f4d244457d5a95a9c3d0672e9564124397741d"

[[package]]
name = "noq"
-
version = "0.17.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8df966fb44ac763bc86da97fa6c811c54ae82ef656575949f93c6dae0c9f09bf"
+
checksum = "22739e0831e40f5ab7d6ac5317ed80bfe5fb3f44be57d23fa2eea8bff83fb303"
dependencies = [
 "bytes",
 "cfg_aliases",
+
 "derive_more 2.1.1",
 "noq-proto",
 "noq-udp",
 "pin-project-lite",
@@ -4598,24 +4723,25 @@ dependencies = [

[[package]]
name = "noq-proto"
-
version = "0.16.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5c61b72abd670eebc05b5cf720e077b04a3ef3354bc7bc19f1c3524cb424db7b"
+
checksum = "7cee32450cf726b223ac4154003c93cb52fbde159ab1240990e88945bf3ae35e"
dependencies = [
 "aes-gcm",
 "bytes",
 "derive_more 2.1.1",
 "enum-assoc",
 "fastbloom",
-
 "getrandom 0.3.3",
+
 "getrandom 0.4.2",
 "identity-hash",
 "lru-slab",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
+
 "rand_pcg 0.10.2",
 "ring",
 "rustc-hash",
 "rustls",
 "rustls-pki-types",
-
 "rustls-platform-verifier",
+
 "rustls-platform-verifier 0.7.0",
 "slab",
 "sorted-index-buffer",
 "thiserror 2.0.18",
@@ -4626,9 +4752,9 @@ dependencies = [

[[package]]
name = "noq-udp"
-
version = "0.9.0"
+
version = "1.0.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "bb9be4fedd6b98f3ba82ccd3506f4d0219fb723c3f97c67e12fe1494aa020e44"
+
checksum = "78633d1fe1bde91d12bcabb230ac9edb890857414c6d44f3212e0d309525b5ff"
dependencies = [
 "cfg_aliases",
 "libc",
@@ -4638,21 +4764,6 @@ dependencies = [
]

[[package]]
-
name = "ntimestamp"
-
version = "1.0.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c50f94c405726d3e0095e89e72f75ce7f6587b94a8bd8dc8054b73f65c0fd68c"
-
dependencies = [
-
 "base32 0.5.1",
-
 "document-features",
-
 "getrandom 0.2.16",
-
 "httpdate",
-
 "js-sys",
-
 "once_cell",
-
 "serde",
-
]
-

-
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4869,6 +4980,19 @@ dependencies = [
]

[[package]]
+
name = "objc2-core-wlan"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5b0343dfef1016d82dd3b7e7383c0afd618437eca6fd03d5139a499ad9f97e6b"
+
dependencies = [
+
 "bitflags 2.11.1",
+
 "objc2 0.6.4",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.1",
+
 "objc2-security",
+
]
+

+
[[package]]
name = "objc2-encode"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5120,7 +5244,7 @@ version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2"
dependencies = [
-
 "base16ct",
+
 "base16ct 0.2.0",
 "ecdsa",
 "elliptic-curve",
 "primeorder",
@@ -5487,27 +5611,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"

[[package]]
-
name = "pkarr"
-
version = "5.0.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0db5bc018bd8e26cb7e7913623292e5eddd71caf29801ea2b2bd627167044e05"
-
dependencies = [
-
 "base32 0.5.1",
-
 "bytes",
-
 "cfg_aliases",
-
 "document-features",
-
 "ed25519 3.0.0-rc.4",
-
 "ed25519-dalek 3.0.0-pre.1",
-
 "getrandom 0.4.2",
-
 "ntimestamp",
-
 "pkcs8 0.11.0-rc.11",
-
 "self_cell",
-
 "serde",
-
 "simple-dns",
-
 "thiserror 2.0.18",
-
]
-

-
[[package]]
name = "pkcs1"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5530,9 +5633,9 @@ dependencies = [

[[package]]
name = "pkcs8"
-
version = "0.11.0-rc.11"
+
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577"
+
checksum = "451913da69c775a56034ea8d9003d27ee8948e12443eae7c038ba100a4f21cb7"
dependencies = [
 "der 0.8.0",
 "spki 0.8.0",
@@ -5611,26 +5714,28 @@ name = "portable-atomic"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
+
dependencies = [
+
 "serde",
+
]

[[package]]
name = "portmapper"
-
version = "0.15.0"
+
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "74748bc706fa6b6aebac6bbe0bbe0de806b384cb5c557ea974f771360a4e3858"
+
checksum = "aec2a8809e3f7dba624776bb223da9fed49c413c60b3bef21aadcb67a5e35944"
dependencies = [
 "base64 0.22.1",
 "bytes",
 "derive_more 2.1.1",
-
 "futures-lite",
-
 "futures-util",
 "hyper-util",
 "igd-next",
 "iroh-metrics",
 "libc",
 "n0-error",
+
 "n0-future",
 "netwatch",
 "num_enum",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
 "serde",
 "smallvec",
 "socket2",
@@ -5708,6 +5813,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"

[[package]]
+
name = "prefix-trie"
+
version = "0.8.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4cf6e3177f0684016a5c209b00882e15f8bdd3f3bb48f0491df10cd102d0c6e7"
+
dependencies = [
+
 "either",
+
 "ipnet",
+
 "num-traits",
+
]
+

+
[[package]]
name = "prettyplease"
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5889,129 +6005,36 @@ dependencies = [
]

[[package]]
-
name = "quick-xml"
-
version = "0.39.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "721da970c312655cde9b4ffe0547f20a8494866a4af5ff51f18b7c633d0c870b"
-
dependencies = [
-
 "memchr",
-
]
-

-
[[package]]
-
name = "quinn"
-
version = "0.11.9"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
-
dependencies = [
-
 "bytes",
-
 "cfg_aliases",
-
 "pin-project-lite",
-
 "quinn-proto",
-
 "quinn-udp",
-
 "rustc-hash",
-
 "rustls",
-
 "socket2",
-
 "thiserror 2.0.18",
-
 "tokio",
-
 "tracing",
-
 "web-time",
-
]
-

-
[[package]]
-
name = "quinn-proto"
-
version = "0.11.14"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098"
-
dependencies = [
-
 "bytes",
-
 "getrandom 0.3.3",
-
 "lru-slab",
-
 "rand 0.9.4",
-
 "ring",
-
 "rustc-hash",
-
 "rustls",
-
 "rustls-pki-types",
-
 "slab",
-
 "thiserror 2.0.18",
-
 "tinyvec",
-
 "tracing",
-
 "web-time",
-
]
-

-
[[package]]
-
name = "quinn-udp"
-
version = "0.5.14"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
-
dependencies = [
-
 "cfg_aliases",
-
 "libc",
-
 "once_cell",
-
 "socket2",
-
 "tracing",
-
 "windows-sys 0.60.2",
-
]
-

-
[[package]]
-
name = "quote"
-
version = "1.0.40"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
-
dependencies = [
-
 "proc-macro2",
-
]
-

-
[[package]]
-
name = "r-efi"
-
version = "5.2.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
-

-
[[package]]
-
name = "r-efi"
-
version = "6.0.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
-

-
[[package]]
-
name = "radicle"
-
version = "0.22.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "31fcfcac7b87b1a3677dccae9979046b949fb529d3061214c55b82d643c3b39a"
-
dependencies = [
-
 "amplify",
-
 "base64 0.21.7",
-
 "bytesize",
-
 "crossbeam-channel",
-
 "cyphernet",
-
 "dunce",
-
 "fast-glob",
-
 "fastrand",
-
 "git2",
-
 "indexmap 2.9.0",
-
 "libc",
-
 "log",
-
 "multibase",
-
 "nonempty 0.9.0",
-
 "radicle-cob 0.19.0",
-
 "radicle-core 0.2.0",
-
 "radicle-crypto 0.16.0",
-
 "radicle-git-metadata 0.2.0",
-
 "radicle-git-ref-format",
-
 "radicle-localtime",
-
 "radicle-oid 0.1.0",
-
 "radicle-ssh",
-
 "serde",
-
 "serde-untagged",
-
 "serde_json",
-
 "siphasher 1.0.1",
-
 "sqlite",
-
 "thiserror 2.0.18",
-
 "uds_windows",
-
 "unicode-normalization",
+
name = "quick-xml"
+
version = "0.39.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "721da970c312655cde9b4ffe0547f20a8494866a4af5ff51f18b7c633d0c870b"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "quote"
+
version = "1.0.40"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+
dependencies = [
+
 "proc-macro2",
]

[[package]]
+
name = "r-efi"
+
version = "5.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+

+
[[package]]
+
name = "r-efi"
+
version = "6.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
+

+
[[package]]
name = "radicle"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6031,13 +6054,13 @@ dependencies = [
 "log",
 "nonempty 0.9.0",
 "qcheck",
-
 "radicle-cob 0.20.0",
-
 "radicle-core 0.3.0",
-
 "radicle-crypto 0.17.0",
-
 "radicle-git-metadata 0.2.0",
+
 "radicle-cob",
+
 "radicle-core",
+
 "radicle-crypto",
+
 "radicle-git-metadata",
 "radicle-git-ref-format",
 "radicle-localtime",
-
 "radicle-oid 0.2.0",
+
 "radicle-oid",
 "serde",
 "serde-untagged",
 "serde_json",
@@ -6051,13 +6074,12 @@ dependencies = [

[[package]]
name = "radicle-artifact"
-
version = "0.9.0"
+
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ac7110efb4c901d193bb4759a2543097ed63ff746cf1d2227236d807162285ff"
+
checksum = "61b574a0eec0ee16f5a57394b89a638eaac0a14b55ae014cebc049c369746af7"
dependencies = [
 "blake3",
 "bytes",
-
 "chrono",
 "cid",
 "clap",
 "dunce",
@@ -6069,7 +6091,7 @@ dependencies = [
 "multihash",
 "n0-future",
 "nonempty 0.11.0",
-
 "radicle 0.22.1",
+
 "radicle",
 "serde",
 "serde_json",
 "thiserror 2.0.18",
@@ -6081,27 +6103,6 @@ dependencies = [

[[package]]
name = "radicle-cob"
-
version = "0.19.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "cd49b584b0a61cba52cfd8ec873bb5f3cbc50763d020a4c333aeffa95a5c839e"
-
dependencies = [
-
 "fastrand",
-
 "git-ref-format-core",
-
 "git2",
-
 "log",
-
 "nonempty 0.9.0",
-
 "radicle-crypto 0.16.0",
-
 "radicle-dag",
-
 "radicle-git-metadata 0.1.0",
-
 "radicle-oid 0.1.0",
-
 "serde",
-
 "serde_json",
-
 "signature 2.2.0",
-
 "thiserror 2.0.18",
-
]
-

-
[[package]]
-
name = "radicle-cob"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59e5d3e54429dff785bee3f80b334d67b701f4bd66b7e825d1b4efa8435bba74"
@@ -6111,10 +6112,10 @@ dependencies = [
 "git2",
 "log",
 "nonempty 0.9.0",
-
 "radicle-crypto 0.17.0",
+
 "radicle-crypto",
 "radicle-dag",
-
 "radicle-git-metadata 0.2.0",
-
 "radicle-oid 0.2.0",
+
 "radicle-git-metadata",
+
 "radicle-oid",
 "serde",
 "serde_json",
 "signature 2.2.0",
@@ -6123,22 +6124,6 @@ dependencies = [

[[package]]
name = "radicle-core"
-
version = "0.2.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "617b55b262b946470a355052a6d72c7f8efc724b8d8068021234cda74df7dd30"
-
dependencies = [
-
 "git2",
-
 "multibase",
-
 "radicle-crypto 0.16.0",
-
 "radicle-oid 0.1.0",
-
 "schemars 1.2.1",
-
 "serde",
-
 "sqlite",
-
 "thiserror 2.0.18",
-
]
-

-
[[package]]
-
name = "radicle-core"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "656cf8f177c04702ac4b4702e622c75a370da0634f925c56c10cab5cadf7487f"
@@ -6146,8 +6131,8 @@ dependencies = [
 "git2",
 "multibase",
 "qcheck",
-
 "radicle-crypto 0.17.0",
-
 "radicle-oid 0.2.0",
+
 "radicle-crypto",
+
 "radicle-oid",
 "schemars 1.2.1",
 "serde",
 "sqlite",
@@ -6156,26 +6141,6 @@ dependencies = [

[[package]]
name = "radicle-crypto"
-
version = "0.16.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f77cf406d3e448de958e3a821bb09612bb2f97ac1dbb2ee314b59264cde8281d"
-
dependencies = [
-
 "amplify",
-
 "cyphernet",
-
 "ec25519",
-
 "git-ref-format-core",
-
 "multibase",
-
 "radicle-ssh",
-
 "serde",
-
 "signature 2.2.0",
-
 "sqlite",
-
 "ssh-key",
-
 "thiserror 2.0.18",
-
 "zeroize",
-
]
-

-
[[package]]
-
name = "radicle-crypto"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "514c5e0c63134b80da4cbcca9a22f7b5cdd741ec63c6acce16ad9389b0f0cd6e"
@@ -6222,15 +6187,6 @@ dependencies = [

[[package]]
name = "radicle-git-metadata"
-
version = "0.1.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "522d7fa07dfe61981b5d96e9aeb2b7fb2f4a8d5804638e928eaedb33e423eccb"
-
dependencies = [
-
 "thiserror 2.0.18",
-
]
-

-
[[package]]
-
name = "radicle-git-metadata"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db7817cae00f00f0e9a804b08e32d7846e97ae66fff8114d5a0d8c848de80ad5"
@@ -6260,7 +6216,7 @@ dependencies = [
 "nonempty 0.11.0",
 "once_cell",
 "qcheck",
-
 "radicle 0.24.0",
+
 "radicle",
 "serde",
 "serde_json",
 "thiserror 2.0.18",
@@ -6279,16 +6235,6 @@ dependencies = [

[[package]]
name = "radicle-oid"
-
version = "0.1.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d95c486f589d4f5ef7bd8fce56419854d90cc63a8bbcebe021e0a4f4cca75ac9"
-
dependencies = [
-
 "git2",
-
 "serde",
-
]
-

-
[[package]]
-
name = "radicle-oid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e60c3fab5115369bee5b757dab3ba9b93825236d3edde230742becb36ba0930a"
@@ -6299,17 +6245,6 @@ dependencies = [
]

[[package]]
-
name = "radicle-ssh"
-
version = "0.10.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "216e9e1259d8c857cdb38b2f832fb117e8e26478f110b9a2690bca20b87ec9c5"
-
dependencies = [
-
 "thiserror 1.0.69",
-
 "winpipe",
-
 "zeroize",
-
]
-

-
[[package]]
name = "radicle-std-ext"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6345,7 +6280,7 @@ dependencies = [
 "git2",
 "infer",
 "log",
-
 "radicle 0.24.0",
+
 "radicle",
 "radicle-surf",
 "radicle-types",
 "serde",
@@ -6379,7 +6314,7 @@ dependencies = [
 "iroh-blobs",
 "log",
 "mime-infer",
-
 "radicle 0.24.0",
+
 "radicle",
 "radicle-artifact",
 "radicle-job",
 "radicle-localtime",
@@ -6433,7 +6368,7 @@ dependencies = [
 "rand_chacha 0.2.2",
 "rand_core 0.5.1",
 "rand_hc",
-
 "rand_pcg",
+
 "rand_pcg 0.2.1",
]

[[package]]
@@ -6458,6 +6393,17 @@ dependencies = [
]

[[package]]
+
name = "rand"
+
version = "0.10.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207"
+
dependencies = [
+
 "chacha20 0.10.0",
+
 "getrandom 0.4.2",
+
 "rand_core 0.10.1",
+
]
+

+
[[package]]
name = "rand_chacha"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6515,6 +6461,12 @@ dependencies = [
]

[[package]]
+
name = "rand_core"
+
version = "0.10.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
+

+
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6533,6 +6485,15 @@ dependencies = [
]

[[package]]
+
name = "rand_pcg"
+
version = "0.10.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a"
+
dependencies = [
+
 "rand_core 0.10.1",
+
]
+

+
[[package]]
name = "range-collections"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6567,9 +6528,9 @@ dependencies = [

[[package]]
name = "redb"
-
version = "2.6.3"
+
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8eca1e9d98d5a7e9002d0013e18d5a9b000aee942eb134883a82f06ebffb6c01"
+
checksum = "8e925444704b5f17d32bf42f5b6e2df050bceebc3dcd6e71cc73dafe8092e839"
dependencies = [
 "libc",
]
@@ -6666,9 +6627,9 @@ dependencies = [

[[package]]
name = "reqwest"
-
version = "0.12.28"
+
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
+
checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801"
dependencies = [
 "base64 0.22.1",
 "bytes",
@@ -6684,12 +6645,11 @@ dependencies = [
 "log",
 "percent-encoding",
 "pin-project-lite",
-
 "quinn",
 "rustls",
 "rustls-pki-types",
+
 "rustls-platform-verifier 0.6.2",
 "serde",
 "serde_json",
-
 "serde_urlencoded",
 "sync_wrapper",
 "tokio",
 "tokio-rustls",
@@ -6700,42 +6660,7 @@ dependencies = [
 "url",
 "wasm-bindgen",
 "wasm-bindgen-futures",
-
 "wasm-streams 0.4.2",
-
 "web-sys",
-
 "webpki-roots",
-
]
-

-
[[package]]
-
name = "reqwest"
-
version = "0.13.2"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801"
-
dependencies = [
-
 "base64 0.22.1",
-
 "bytes",
-
 "futures-core",
-
 "futures-util",
-
 "http",
-
 "http-body",
-
 "http-body-util",
-
 "hyper",
-
 "hyper-util",
-
 "js-sys",
-
 "log",
-
 "percent-encoding",
-
 "pin-project-lite",
-
 "serde",
-
 "serde_json",
-
 "sync_wrapper",
-
 "tokio",
-
 "tokio-util",
-
 "tower",
-
 "tower-http",
-
 "tower-service",
-
 "url",
-
 "wasm-bindgen",
-
 "wasm-bindgen-futures",
-
 "wasm-streams 0.5.0",
+
 "wasm-streams",
 "web-sys",
]

@@ -6952,9 +6877,30 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
dependencies = [
-
 "core-foundation",
+
 "core-foundation 0.10.0",
+
 "core-foundation-sys",
+
 "jni 0.21.1",
+
 "log",
+
 "once_cell",
+
 "rustls",
+
 "rustls-native-certs",
+
 "rustls-platform-verifier-android",
+
 "rustls-webpki",
+
 "security-framework",
+
 "security-framework-sys",
+
 "webpki-root-certs",
+
 "windows-sys 0.61.2",
+
]
+

+
[[package]]
+
name = "rustls-platform-verifier"
+
version = "0.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0"
+
dependencies = [
+
 "core-foundation 0.10.0",
 "core-foundation-sys",
-
 "jni",
+
 "jni 0.22.4",
 "log",
 "once_cell",
 "rustls",
@@ -7090,7 +7036,7 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
dependencies = [
-
 "base16ct",
+
 "base16ct 0.2.0",
 "der 0.7.10",
 "generic-array",
 "pkcs8 0.10.2",
@@ -7114,7 +7060,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
dependencies = [
 "bitflags 2.11.1",
-
 "core-foundation",
+
 "core-foundation 0.10.0",
 "core-foundation-sys",
 "libc",
 "security-framework-sys",
@@ -7361,6 +7307,16 @@ dependencies = [
]

[[package]]
+
name = "serdect"
+
version = "0.4.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "66cf8fedced2fcf12406bcb34223dffb92eaf34908ede12fed414c82b7f00b3e"
+
dependencies = [
+
 "base16ct 1.0.0",
+
 "serde",
+
]
+

+
[[package]]
name = "serialize-to-javascript"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7402,6 +7358,12 @@ dependencies = [
]

[[package]]
+
name = "sha1_smol"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
+

+
[[package]]
name = "sha2"
version = "0.10.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7414,23 +7376,13 @@ dependencies = [

[[package]]
name = "sha2"
-
version = "0.11.0-rc.2"
+
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924"
+
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
dependencies = [
 "cfg-if",
-
 "cpufeatures 0.2.17",
-
 "digest 0.11.0-rc.10",
-
]
-

-
[[package]]
-
name = "sha3"
-
version = "0.10.8"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
-
dependencies = [
-
 "digest 0.10.7",
-
 "keccak",
+
 "cpufeatures 0.3.0",
+
 "digest 0.11.3",
]

[[package]]
@@ -7518,6 +7470,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"

[[package]]
+
name = "simd_cesu8"
+
version = "1.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33"
+
dependencies = [
+
 "rustc_version",
+
 "simdutf8",
+
]
+

+
[[package]]
name = "simdutf8"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7746,7 +7708,7 @@ dependencies = [
 "aes",
 "aes-gcm",
 "cbc",
-
 "chacha20",
+
 "chacha20 0.9.1",
 "cipher",
 "ctr",
 "poly1305",
@@ -8115,6 +8077,27 @@ dependencies = [
]

[[package]]
+
name = "system-configuration"
+
version = "0.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
+
dependencies = [
+
 "bitflags 2.11.1",
+
 "core-foundation 0.9.4",
+
 "system-configuration-sys",
+
]
+

+
[[package]]
+
name = "system-configuration-sys"
+
version = "0.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
+
dependencies = [
+
 "core-foundation-sys",
+
 "libc",
+
]
+

+
[[package]]
name = "system-deps"
version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8141,17 +8124,17 @@ checksum = "a33f7f9e486ade65fcf1e45c440f9236c904f5c1002cdc7fc6ae582777345ce4"
dependencies = [
 "bitflags 2.11.1",
 "block2 0.6.1",
-
 "core-foundation",
+
 "core-foundation 0.10.0",
 "core-graphics 0.25.0",
 "crossbeam-channel",
 "dbus",
 "dispatch2",
-
 "dlopen2 0.8.2",
+
 "dlopen2",
 "dpi",
 "gdkwayland-sys",
 "gdkx11-sys",
 "gtk",
-
 "jni",
+
 "jni 0.21.1",
 "libc",
 "log",
 "ndk",
@@ -8224,7 +8207,7 @@ dependencies = [
 "gtk",
 "heck 0.5.0",
 "http",
-
 "jni",
+
 "jni 0.21.1",
 "libc",
 "log",
 "mime",
@@ -8237,7 +8220,7 @@ dependencies = [
 "percent-encoding",
 "plist",
 "raw-window-handle",
-
 "reqwest 0.13.2",
+
 "reqwest",
 "serde",
 "serde_json",
 "serde_repr",
@@ -8464,7 +8447,7 @@ dependencies = [
 "dpi",
 "gtk",
 "http",
-
 "jni",
+
 "jni 0.21.1",
 "objc2 0.6.4",
 "objc2-ui-kit",
 "objc2-web-kit",
@@ -8487,7 +8470,7 @@ checksum = "a3989df2ae1c476404fe0a2e8ffc4cfbde97e51efd613c2bb5355fbc9ab52cf0"
dependencies = [
 "gtk",
 "http",
-
 "jni",
+
 "jni 0.21.1",
 "log",
 "objc2 0.6.4",
 "objc2-app-kit",
@@ -8620,7 +8603,7 @@ dependencies = [
 "axum",
 "hyper",
 "lexopt",
-
 "radicle 0.24.0",
+
 "radicle",
 "radicle-surf",
 "radicle-types",
 "serde",
@@ -8824,20 +8807,21 @@ dependencies = [

[[package]]
name = "tokio-websockets"
-
version = "0.12.3"
+
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b1b6348ebfaaecd771cecb69e832961d277f59845d4220a584701f72728152b7"
+
checksum = "dad543404f98bfc969aeb71994105c592acfc6c43323fddcd016bb208d1c65cb"
dependencies = [
 "base64 0.22.1",
 "bytes",
 "futures-core",
 "futures-sink",
-
 "getrandom 0.3.3",
+
 "getrandom 0.4.2",
 "http",
 "httparse",
-
 "rand 0.9.4",
+
 "rand 0.10.1",
 "ring",
 "rustls-pki-types",
+
 "sha1_smol",
 "simdutf8",
 "tokio",
 "tokio-rustls",
@@ -8993,9 +8977,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"

[[package]]
name = "tracing"
-
version = "0.1.41"
+
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
+
checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
dependencies = [
 "log",
 "pin-project-lite",
@@ -9005,9 +8989,9 @@ dependencies = [

[[package]]
name = "tracing-attributes"
-
version = "0.1.28"
+
version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
+
checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
 "proc-macro2",
 "quote",
@@ -9016,9 +9000,9 @@ dependencies = [

[[package]]
name = "tracing-core"
-
version = "0.1.33"
+
version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
+
checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
dependencies = [
 "once_cell",
 "valuable",
@@ -9589,32 +9573,21 @@ dependencies = [
 "anyhow",
 "derive_builder",
 "rustversion",
-
 "vergen-lib 9.1.0",
+
 "vergen-lib",
]

[[package]]
name = "vergen-gitcl"
-
version = "1.0.8"
+
version = "9.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b9dfc1de6eb2e08a4ddf152f1b179529638bedc0ea95e6d667c014506377aefe"
+
checksum = "77ff3b5300a085d6bcd8fc96a507f706a28ae3814693236c9b409db71a1d15b9"
dependencies = [
 "anyhow",
 "derive_builder",
 "rustversion",
 "time",
 "vergen",
-
 "vergen-lib 0.1.6",
-
]
-

-
[[package]]
-
name = "vergen-lib"
-
version = "0.1.6"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9b07e6010c0f3e59fcb164e0163834597da68d1f864e2b8ca49f74de01e9c166"
-
dependencies = [
-
 "anyhow",
-
 "derive_builder",
-
 "rustversion",
+
 "vergen-lib",
]

[[package]]
@@ -9797,19 +9770,6 @@ dependencies = [

[[package]]
name = "wasm-streams"
-
version = "0.4.2"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65"
-
dependencies = [
-
 "futures-util",
-
 "js-sys",
-
 "wasm-bindgen",
-
 "wasm-bindgen-futures",
-
 "web-sys",
-
]
-

-
[[package]]
-
name = "wasm-streams"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb"
@@ -10869,7 +10829,7 @@ dependencies = [
 "gtk",
 "http",
 "javascriptcore-rs",
-
 "jni",
+
 "jni 0.21.1",
 "libc",
 "ndk",
 "objc2 0.6.4",
@@ -11038,12 +10998,6 @@ dependencies = [
]

[[package]]
-
name = "z32"
-
version = "1.3.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2164e798d9e3d84ee2c91139ace54638059a3b23e361f5c11781c2c6459bde0f"
-

-
[[package]]
name = "zerocopy"
version = "0.8.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
modified crates/radicle-tauri/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.0.0"
authors = ["Rudolfs Osins <rudolfs@osins.org>", "Sebastian Martinez <me@sebastinez.dev>"]
license = "MIT OR Apache-2.0"
edition = "2021"
-
rust-version = "1.86"
+
rust-version = "1.91"
publish = false

[lib]
modified crates/radicle-types/Cargo.toml
@@ -15,12 +15,12 @@ log = { version = "0.4.22" }
infer = { version = "0.19.0" }
mime-infer = { version = "3.0.0" }
radicle = { version = "0.24" }
-
radicle-artifact = { version = "0.9", features = ["share"] }
+
radicle-artifact = { version = "0.13", features = ["share"] }
radicle-job = { version = "0.6" }
radicle-localtime = { version = "0.1.0", features = ["serde"] }
radicle-surf = { version = "0.27.1", features = ["serde"] }
-
iroh = { version = "0.97" }
-
iroh-blobs = { version = "0.99", features = ["fs-store"] }
+
iroh = { version = "1.0.0-rc.0" }
+
iroh-blobs = { version = "0.101", features = ["fs-store"] }
cid = { version = "0.11" }
futures-lite = { version = "2" }
rand = { version = "0.9" }
modified crates/radicle-types/src/seeder.rs
@@ -59,7 +59,7 @@ fn load_or_generate_key(path: &PathBuf) -> Result<iroh::SecretKey, Error> {
            .map_err(|_| Error::Iroh(format!("malformed iroh key at {}", path.display())))?;
        Ok(iroh::SecretKey::from_bytes(&bytes))
    } else {
-
        let secret = iroh::SecretKey::generate(&mut rand::rng());
+
        let secret = iroh::SecretKey::generate();
        write_key(path, &secret)?;
        Ok(secret)
    }
modified crates/radicle-types/src/traits/release.rs
@@ -70,7 +70,7 @@ pub trait Releases: Profile {

        let mut out = Vec::new();
        for item in releases
-
            .find_by_oid(oid)
+
            .find_by_commit(oid)
            .map_err(|e| Error::Iroh(e.to_string()))?
        {
            let (id, release) = item.map_err(|e| Error::Iroh(e.to_string()))?;
modified crates/radicle-types/src/traits/release_mut.rs
@@ -10,7 +10,10 @@ use crate::traits::release::Releases;

pub trait ReleasesMut: Releases {
    /// Find a release for the commit OID, or create it. Returns the
-
    /// release id as a string for the frontend.
+
    /// release id as a string for the frontend. Idempotent.
+
    ///
+
    /// radicle-artifact 0.12 dropped its built-in `find_or_create_by_oid`
+
    /// in favour of an explicit two-step pattern; we recreate that here.
    fn create_or_open_release(
        &self,
        rid: identity::RepoId,
@@ -21,10 +24,26 @@ pub trait ReleasesMut: Releases {
        let repo = profile.storage.repository(rid)?;

        let mut releases = ReleasesStore::open(&repo).map_err(|e| Error::Iroh(e.to_string()))?;
-
        let release = releases
-
            .find_or_create_by_oid(oid, &signer)
-
            .map_err(|e| Error::Iroh(e.to_string()))?;
-
        Ok(release.id().to_string())
+

+
        let existing = {
+
            let mut iter = releases
+
                .find_by_commit(oid)
+
                .map_err(|e| Error::Iroh(e.to_string()))?;
+
            match iter.next() {
+
                Some(item) => Some(item.map_err(|e| Error::Iroh(e.to_string()))?.0),
+
                None => None,
+
            }
+
        };
+
        let id = match existing {
+
            Some(id) => id,
+
            None => {
+
                let release = releases
+
                    .create(oid, None, &signer)
+
                    .map_err(|e| Error::Iroh(e.to_string()))?;
+
                *release.id()
+
            }
+
        };
+
        Ok(id.to_string())
    }

    fn add_artifact(
modified rust-toolchain.toml
@@ -1,4 +1,4 @@
[toolchain]
-
channel = "1.90"
+
channel = "1.91"
profile = "default"
components = [ "rust-src" ]