From e3945332684af9b7c5fc610db050c74b4e8eb652 Mon Sep 17 00:00:00 2001 From: atlas Date: Thu, 16 Jul 2026 15:39:37 +0200 Subject: [PATCH] feat(#2529): bump reqwest 0.12 -> 0.13 Now that matrix-sdk 0.18 is on main, reqwest 0.13.1 is already in the tree transitively. Point the workspace crates at it directly. reqwest 0.13 renamed the rustls feature set: - rustls-tls -> rustls - rustls-tls-native-roots -> rustls-native-certs - (webpki-roots is now a separate feature) hive-forge keeps its dual-trust story (system/native store for the hive CA + bundled Mozilla roots for public CAs) by enabling rustls-native-certs + webpki-roots explicitly. forgejo-api 0.11 resolves cleanly against reqwest 0.13 (no conflict). rusqlite 0.40 is intentionally NOT bumped here: matrix-sdk-sqlite 0.18 still pins rusqlite 0.37, so 0.40's libsqlite3-sys 0.38 would hit the links="sqlite3" single-owner conflict. Deferred until upstream moves. --- Cargo.lock | 168 ++++++++++++++++++++++++++++-------------- Cargo.toml | 4 +- hive-forge/Cargo.toml | 23 +++--- 3 files changed, 125 insertions(+), 70 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4828ec8a..57bf51ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -477,6 +477,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.4" @@ -1522,7 +1528,7 @@ dependencies = [ "http-body-util", "hyper", "hyper-util", - "reqwest 0.12.28", + "reqwest 0.13.1", "rmcp", "rusqlite", "schemars", @@ -1610,7 +1616,7 @@ dependencies = [ "opentelemetry_sdk", "petgraph", "problem_details", - "reqwest 0.12.28", + "reqwest 0.13.1", "rusqlite", "serde", "serde_json", @@ -1641,7 +1647,7 @@ dependencies = [ "anyhow", "clap", "forgejo-api", - "reqwest 0.12.28", + "reqwest 0.13.1", "serde", "serde_json", "time", @@ -1666,7 +1672,7 @@ dependencies = [ "matrix-sdk", "mime", "mime_guess", - "reqwest 0.12.28", + "reqwest 0.13.1", "rmcp", "schemars", "serde", @@ -1872,7 +1878,6 @@ dependencies = [ "hyper", "hyper-util", "rustls", - "rustls-native-certs", "tokio", "tokio-rustls", "tower-service", @@ -2173,32 +2178,27 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jni" -version = "0.22.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ + "cesu8", "cfg-if", "combine", - "jni-macros", - "jni-sys", + "jni-sys 0.3.1", "log", - "simd_cesu8", - "thiserror 2.0.18", + "thiserror 1.0.69", "walkdir", - "windows-link", + "windows-sys 0.45.0", ] [[package]] -name = "jni-macros" -version = "0.22.4" +name = "jni-sys" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "simd_cesu8", - "syn 2.0.119", + "jni-sys 0.4.1", ] [[package]] @@ -2482,7 +2482,7 @@ dependencies = [ "oauth2-reqwest", "percent-encoding", "pin-project-lite", - "reqwest 0.13.4", + "reqwest 0.13.1", "ruma", "rustls", "rustls-native-certs", @@ -2832,7 +2832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234fb5c965bbce983ee5de636a7a51d6a3223da8067ea02f9ab2d2d78ac08be2" dependencies = [ "oauth2", - "reqwest 0.13.4", + "reqwest 0.13.1", ] [[package]] @@ -2883,7 +2883,7 @@ dependencies = [ "bytes", "http", "opentelemetry", - "reqwest 0.13.4", + "reqwest 0.13.1", ] [[package]] @@ -2898,7 +2898,7 @@ dependencies = [ "opentelemetry-proto", "opentelemetry_sdk", "prost", - "reqwest 0.13.4", + "reqwest 0.13.1", "serde_json", "thiserror 2.0.18", ] @@ -3491,7 +3491,6 @@ dependencies = [ "pin-project-lite", "quinn", "rustls", - "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", @@ -3511,9 +3510,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.13.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" dependencies = [ "base64", "bytes", @@ -3529,12 +3528,16 @@ dependencies = [ "hyper-util", "js-sys", "log", + "mime_guess", "percent-encoding", "pin-project-lite", "quinn", "rustls", + "rustls-native-certs", "rustls-pki-types", "rustls-platform-verifier", + "serde", + "serde_json", "sync_wrapper", "tokio", "tokio-rustls", @@ -3547,6 +3550,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", + "webpki-roots", ] [[package]] @@ -3841,9 +3845,9 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.7.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", @@ -4173,22 +4177,6 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" -[[package]] -name = "simd_cesu8" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" -dependencies = [ - "rustc_version", - "simdutf8", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "siphasher" version = "1.0.3" @@ -4482,9 +4470,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.3" +version = "1.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +checksum = "317fafbbe3f02fc663dad00ea6186197de963cd4190e86a26d8d0fae095539af" dependencies = [ "bytes", "libc", @@ -5022,9 +5010,9 @@ dependencies = [ [[package]] name = "wasm-streams" -version = "0.5.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -5209,13 +5197,22 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5227,34 +5224,67 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5267,24 +5297,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index 916a8ad0..2809b988 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,9 +73,9 @@ tokio = { version = "1", features = [ tokio-stream = { version = "0.1", features = ["sync"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } -reqwest = { version = "0.12", default-features = false, features = [ +reqwest = { version = "0.13", default-features = false, features = [ "json", - "rustls-tls", + "rustls", ] } hyper = { version = "1", features = ["client", "http1"] } hyper-util = { version = "0.1", features = ["tokio"] } diff --git a/hive-forge/Cargo.toml b/hive-forge/Cargo.toml index 72c0cfc8..2a4675c0 100644 --- a/hive-forge/Cargo.toml +++ b/hive-forge/Cargo.toml @@ -20,17 +20,18 @@ url.workspace = true time.workspace = true reqwest = { workspace = true, features = [ "json", - # Trust the OS/system CA store (rustls-native-certs), not only the - # bundled webpki roots, so hive-forge validates the hive gateway's - # self-signed leaf once the hive CA is in the agent's trust store - # (embedded into agent flakes via security.pki.certificateFiles). The - # bundled webpki roots stay enabled (workspace `rustls-tls`), so this is - # additive — public CAs still validate; the native store adds the hive - # CA. Cargo unifies features across the build, so native-root loading is - # enabled for every reqwest client; harmless (a superset of roots, and - # on NixOS the system store already includes the Mozilla bundle). - "rustls-tls-native-roots", - "rustls-tls", + # Trust the OS/system CA store (`rustls-native-certs`), plus the bundled + # Mozilla roots (`webpki-roots`), so hive-forge validates the hive + # gateway's self-signed leaf once the hive CA is in the agent's trust + # store (embedded into agent flakes via security.pki.certificateFiles) + # AND public CAs still validate. Cargo unifies features across the build, + # so both root sources are enabled for every reqwest client; harmless (a + # superset of roots, and on NixOS the system store already includes the + # Mozilla bundle). (reqwest 0.13 renamed the 0.12 `rustls-tls` / + # `rustls-tls-native-roots` features to `rustls` / `rustls-native-certs`.) + "rustls", + "rustls-native-certs", + "webpki-roots", "blocking", "multipart", ] }