From bf01b8bdec0a85ab833c4433e4bf65f6f733efb6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 22:10:53 +0000 Subject: [PATCH] chore(deps): update rust deps --- Cargo.lock | 96 ++++++++++++++++++++-------------- Cargo.toml | 76 +++++++++++++-------------- crates/auth/Cargo.toml | 2 +- crates/common/Cargo.toml | 4 +- crates/gateway/Cargo.toml | 6 +-- crates/mcp-gateway/Cargo.toml | 2 +- crates/server/Cargo.toml | 6 +-- crates/test-support/Cargo.toml | 6 +-- 8 files changed, 107 insertions(+), 91 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f34d5d3c..dd205114 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,9 +75,9 @@ checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] name = "arc-swap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b" +checksum = "380962b3d93b99642e50b9febf72c071e97e8b32d86eae9cf4ef582bb960ae6e" dependencies = [ "rustversion", ] @@ -178,9 +178,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-credential-types" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93964ffdaf57857f544be3666a5f57570bb699e934700f11b49708f61bb556e" +checksum = "576e8da35751dc85409ec1cd15999f692c277a1fbe9336780fe6f15e49dd637d" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -213,9 +213,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.6.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2312577f088c9fbf4206dfdb884cf1de9407b43e1a923cbed5237775116fc24b" +checksum = "0a3ccec0607ae3839cd76830df5ed62468ac1330acdb3dc4ec0502404113d2b6" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -234,9 +234,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02e407fb3b54891734224b9ffac8a71fdd35f542500fa1af95754a6b2beb316" +checksum = "de681a9df7ff79823b759ee17061076ec049cd61a8fa28ece4293d89c9f6964e" dependencies = [ "futures-util", "pin-project-lite", @@ -256,9 +256,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.64.1" +version = "0.64.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639b4d8f8555f24a9be649811c3eb0b4d4616f4d61daf0c32e28873bc1ea9af1" +checksum = "ba8960956e0ee0ca3f3161e62913a61bc65a7ef638ca3ef1d4c7159f8443e398" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", @@ -271,15 +271,14 @@ dependencies = [ "http-body-util", "percent-encoding", "pin-project-lite", - "pin-utils", "tracing", ] [[package]] name = "aws-smithy-runtime-api" -version = "1.19.0" +version = "1.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0730c16f91124c6a2abb4932c77e299288b3dd9f967ea2e9ec48cc6731e87a4" +checksum = "06788004dea79018413f381891da6dcca23196acd79c4d51b767fbdacc76eae4" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api-macros", @@ -305,9 +304,9 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69bb407740a197147da48238ecc94498493c9e85445732360cec180296ca45f1" +checksum = "55752025c39c0e094962fd73f1c57014b191f678612e517f219468e575af9822" dependencies = [ "base64-simd", "bytes", @@ -318,7 +317,6 @@ dependencies = [ "itoa", "num-integer", "pin-project-lite", - "pin-utils", "ryu", "serde", "time", @@ -632,9 +630,9 @@ checksum = "93a719913643003b84bd13022b4b7e703c09342cd03b679c4641c7d2e50dc34d" [[package]] name = "clickhouse" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7654154fde4d97ec1321bfe4c3965570be6fcd09e091da8afc3166ab5ee27be2" +checksum = "d6ad2112cf4ad543ceed12e48b779e82e8f3a8172374cac98d59e59feda35c69" dependencies = [ "bnum", "bstr", @@ -651,12 +649,14 @@ dependencies = [ "hyper", "hyper-util", "lz4_flex", + "rand 0.9.5", "serde", "serde_json", "thiserror 2.0.21", "time", "tokio", "tracing", + "twox-hash", "url", ] @@ -674,9 +674,9 @@ dependencies = [ [[package]] name = "clickhouse-types" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3966eea13bfc826e24d471e49cb2095727261009be59d0ac5a6c0be0286974d1" +checksum = "d7ddab58fabf3bdde7b6fa401f72b9abc7566ff015264c89aaaa71cf1d173d06" dependencies = [ "bytes", "thiserror 2.0.21", @@ -1845,9 +1845,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43" +checksum = "2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c" dependencies = [ "atomic-waker", "bytes", @@ -2332,9 +2332,9 @@ checksum = "4050469837a6ff301cd14c1f8f24f88549e6d548f24f64e2148eb0f72cebc51f" [[package]] name = "lz4_flex" -version = "0.11.6" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373f5eceeeab7925e0c1098212f2fbc4d416adec9d35051a6ab251e824c1854a" +checksum = "ecbdfe44b1bd960b68170b417450a628c43f7cf56bb3c5317e61cb230ee7f226" [[package]] name = "matchers" @@ -2458,6 +2458,18 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" +[[package]] +name = "nix" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +dependencies = [ + "bitflags 2.13.2", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -2753,12 +2765,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" -[[package]] -name = "pin-utils" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13bee6c73da26345c729282832b60b0363cf3dd9f4bfd81d8551b7a1c889a113" - [[package]] name = "pkcs1" version = "0.7.5" @@ -3615,9 +3621,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.151" +version = "1.0.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" dependencies = [ "itoa", "memchr", @@ -4520,9 +4526,9 @@ checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" [[package]] name = "tokio" -version = "1.53.2" +version = "1.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044" +checksum = "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc" dependencies = [ "bytes", "libc", @@ -4886,6 +4892,15 @@ dependencies = [ "tw-dialect", ] +[[package]] +name = "twox-hash" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86a801b3cea342a06d468c8710662aa29e5e05e4f5c0d62f00bbb7f2ad7941c2" +dependencies = [ + "rand 0.10.3", +] + [[package]] name = "typed-path" version = "0.12.3" @@ -5005,9 +5020,9 @@ dependencies = [ [[package]] name = "utoipa-swagger-ui" -version = "10.0.1" +version = "10.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5ec9d7816e4ce8ccb7e0bd7276e090cad0fcb1def4f3540e5b0f7485d7583e" +checksum = "4f1fd2f9615838885c6ff4115fde8a2b58825dc7b4617f78d29c167377a15c92" dependencies = [ "axum", "base64 0.23.1", @@ -5022,9 +5037,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.27.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97277d36b9c3ace13e58fa6e753f8b0bbbf302a18dd193240d70f9e29681059a" +checksum = "7cc1186384beb7dd8eedea376413fd654937285ea6c9cfbb928dc3043ea4b606" dependencies = [ "getrandom 0.4.3", "js-sys", @@ -5569,14 +5584,15 @@ dependencies = [ [[package]] name = "zip" -version = "8.6.0" +version = "9.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +checksum = "6e04976da629d3b04204ba8105b396a193af8ad2583b2c79bfb3ab8af580a11e" dependencies = [ "crc32fast", "flate2", "indexmap 2.14.2", "memchr", + "nix", "typed-path", "zopfli", ] diff --git a/Cargo.toml b/Cargo.toml index e582ef98..4a07cf09 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,18 +76,18 @@ tw-dialect = { git = "https://github.com/ThinkWatchProject/ThinkWatch-Core.git", tw-guard = { git = "https://github.com/ThinkWatchProject/ThinkWatch-Core.git", tag = "v0.77.0" } # Web framework -axum = { version = "0.8", features = ["macros", "ws"] } -tower = "0.5" -tower-http = { version = "0.7", features = [ +axum = { version = "0.8.9", features = ["macros", "ws"] } +tower = "0.5.3" +tower-http = { version = "0.7.1", features = [ "cors", "trace", "compression-gzip", "request-id", "limit", "timeout", "catch-panic", "sensitive-headers", "set-header", ] } -tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time", "sync", "io-util", "signal"] } +tokio = { version = "1.54.0", features = ["rt-multi-thread", "macros", "net", "time", "sync", "io-util", "signal"] } # Database sqlx = { version = "0.9", features = ["runtime-tokio", "postgres", "uuid", "chrono", "json", "migrate", "rust_decimal"] } -rust_decimal = { version = "1", features = ["serde", "serde-with-str"] } -clickhouse = { version = "0.15", features = ["time", "chrono"] } +rust_decimal = { version = "1.43.0", features = ["serde", "serde-with-str"] } +clickhouse = { version = "0.15.3", features = ["time", "chrono"] } # Redis # `enable-rustls` gives fred its rustls connector, for `rediss://` URLs. @@ -95,9 +95,9 @@ clickhouse = { version = "0.15", features = ["time", "chrono"] } # with the same TLS stack the HTTP client uses (below): rustls on # aws-lc-rs, the platform's roots through rustls-platform-verifier. No # OpenSSL anywhere, so the static musl image needs nothing new. -fred = { version = "10", features = ["subscriber-client", "i-scripts", "enable-rustls"] } -rustls = { version = "0.23", default-features = false, features = ["aws_lc_rs", "std", "tls12"] } -rustls-platform-verifier = "0.7" +fred = { version = "10.1.0", features = ["subscriber-client", "i-scripts", "enable-rustls"] } +rustls = { version = "0.23.46", default-features = false, features = ["aws_lc_rs", "std", "tls12"] } +rustls-platform-verifier = "0.7.1" # Auth # Crypto-critical crates are pinned with `=` so a silent minor-release @@ -105,51 +105,51 @@ rustls-platform-verifier = "0.7" # `cargo update`. Bumps are deliberate and reviewed. jsonwebtoken = { version = "=11.1.0", features = ["rust_crypto"] } argon2 = "=0.6.0" -openidconnect = { version = "4", features = ["reqwest"] } +openidconnect = { version = "4.0.1", features = ["reqwest"] } totp-rs = { version = "6", default-features = false, features = ["std", "gen_secret", "otpauth"] } -data-encoding = "2" +data-encoding = "2.11.1" # Serialization -serde = { version = "1", features = ["derive"] } -serde_json = "1" +serde = { version = "1.0.229", features = ["derive"] } +serde_json = "1.0.154" # HTTP client (upstream proxy) -reqwest = { version = "0.13", features = ["stream", "json", "rustls"] } -hyper = { version = "1", features = ["full"] } -hyper-util = "0.1" -http-body-util = "0.1" -bytes = "1" +reqwest = { version = "0.13.5", features = ["stream", "json", "rustls"] } +hyper = { version = "1.12.0", features = ["full"] } +hyper-util = "0.1.21" +http-body-util = "0.1.5" +bytes = "1.12.1" # Async -futures = "0.3" -tokio-stream = "0.1" -async-stream = "0.3" +futures = "0.3.34" +tokio-stream = "0.1.19" +async-stream = "0.3.6" sha2 = "=0.11.0" sha1 = "=0.11.0" hmac = "=0.13.0" p256 = { version = "=0.14.0", features = ["ecdsa"] } ecdsa = { version = "=0.17.0", features = ["algorithm"] } -rand = "0.10" -hex = "0.4" +rand = "0.10.3" +hex = "0.4.3" # Crypto primitives are pinned exactly so a `cargo update` can never swap # a verification default underneath the at-rest envelope. aes-gcm = "=0.11.1" subtle = "=2.6.1" -url = "2" +url = "2.5.8" # Observability -tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } -metrics = "0.24" -metrics-exporter-prometheus = { version = "0.18", default-features = false } +tracing = "0.1.44" +tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } +metrics = "0.24.6" +metrics-exporter-prometheus = { version = "0.18.3", default-features = false } # Config -dotenvy = "0.15" +dotenvy = "0.15.7" # API documentation utoipa = { version = "6", features = ["axum_extras", "uuid", "chrono"] } -utoipa-swagger-ui = { version = "10", features = ["axum"] } +utoipa-swagger-ui = { version = "10.0.2", features = ["axum"] } # AWS SigV4 for the S3-compatible body store. Bedrock's signing, # eventstream unframing and model catalog come from tw-bedrock. @@ -157,16 +157,16 @@ utoipa-swagger-ui = { version = "10", features = ["axum"] } # Credentials from explicit access_key/secret_key values (as opposed to the # default credential chain). This does NOT embed credentials in the binary — # they are loaded at runtime from encrypted configuration. -aws-sigv4 = "1" -aws-credential-types = { version = "1", features = ["hardcoded-credentials"] } +aws-sigv4 = "1.6.2" +aws-credential-types = { version = "1.3.1", features = ["hardcoded-credentials"] } # Utils -arc-swap = "1" -xxhash-rust = { version = "0.8", features = ["xxh3"] } -uuid = { version = "1", features = ["v4", "v5", "serde"] } -chrono = { version = "0.4", features = ["serde"] } -thiserror = "2" -anyhow = "1" +arc-swap = "1.9.3" +xxhash-rust = { version = "0.8.19", features = ["xxh3"] } +uuid = { version = "1.28.0", features = ["v4", "v5", "serde"] } +chrono = { version = "0.4.45", features = ["serde"] } +thiserror = "2.0.21" +anyhow = "1.0.104" # Workspace crates think-watch-common = { path = "crates/common" } diff --git a/crates/auth/Cargo.toml b/crates/auth/Cargo.toml index aecd00fb..cb3658bf 100644 --- a/crates/auth/Cargo.toml +++ b/crates/auth/Cargo.toml @@ -24,7 +24,7 @@ axum = { workspace = true } sqlx = { workspace = true } openidconnect = { workspace = true } reqwest = { workspace = true } -serde_urlencoded = "0.7" +serde_urlencoded = "0.7.1" tokio = { workspace = true } totp-rs = { workspace = true } data-encoding = { workspace = true } diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index b196e8bc..1f44cedb 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -46,5 +46,5 @@ url = { workspace = true } # against any S3-compatible backend including RustFS / MinIO / AWS S3). aws-sigv4 = { workspace = true } aws-credential-types = { workspace = true } -http_1x = { package = "http", version = "1" } -async-trait = "0.1" +http_1x = { package = "http", version = "1.5.0" } +async-trait = "0.1.92" diff --git a/crates/gateway/Cargo.toml b/crates/gateway/Cargo.toml index 9d138611..9ac69364 100644 --- a/crates/gateway/Cargo.toml +++ b/crates/gateway/Cargo.toml @@ -15,7 +15,7 @@ reqwest = { workspace = true } hyper = { workspace = true } hyper-util = { workspace = true } http-body-util = { workspace = true } -bytes = "1" +bytes = "1.12.1" axum = { workspace = true } tokio = { workspace = true } tokio-stream = { workspace = true } @@ -31,7 +31,7 @@ tracing = { workspace = true } fred = { workspace = true } utoipa = { workspace = true } # sha2 removed — cache now uses xxhash; HMAC signing uses hmac crate in server -regex = "1" +regex = "1.13.1" rand = { workspace = true } metrics = { workspace = true } xxhash-rust = { workspace = true } @@ -39,4 +39,4 @@ arc-swap = { workspace = true } rust_decimal = { workspace = true } [dev-dependencies] -http_1x = { package = "http", version = "1" } +http_1x = { package = "http", version = "1.5.0" } diff --git a/crates/mcp-gateway/Cargo.toml b/crates/mcp-gateway/Cargo.toml index 72a3e458..98202d65 100644 --- a/crates/mcp-gateway/Cargo.toml +++ b/crates/mcp-gateway/Cargo.toml @@ -13,7 +13,7 @@ tokio = { workspace = true } reqwest = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } -serde_urlencoded = "0.7" +serde_urlencoded = "0.7.1" uuid = { workspace = true } chrono = { workspace = true } thiserror = { workspace = true } diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index c14e4140..b262f871 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -47,15 +47,15 @@ p256 = { workspace = true } ecdsa = { workspace = true } rand = { workspace = true } data-encoding = { workspace = true } -serde_urlencoded = "0.7" +serde_urlencoded = "0.7.1" subtle = { workspace = true } url = { workspace = true } metrics = { workspace = true } metrics-exporter-prometheus = { workspace = true } -regex = "1" +regex = "1.13.1" arc-swap = { workspace = true } clickhouse = { workspace = true } [dev-dependencies] -wiremock = "0.6" +wiremock = "0.6.5" tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } diff --git a/crates/test-support/Cargo.toml b/crates/test-support/Cargo.toml index 3d0b1601..8c7a2046 100644 --- a/crates/test-support/Cargo.toml +++ b/crates/test-support/Cargo.toml @@ -20,7 +20,7 @@ think-watch-auth = { workspace = true } think-watch-gateway = { workspace = true } think-watch-mcp-gateway = { workspace = true } -async-trait = "0.1" +async-trait = "0.1.92" axum = { workspace = true } tokio = { workspace = true } tower = { workspace = true } @@ -45,8 +45,8 @@ ecdsa = { workspace = true } rand = { workspace = true } url = { workspace = true } clickhouse = { workspace = true } -once_cell = "1" -wiremock = "0.6" +once_cell = "1.21.4" +wiremock = "0.6.5" tokio-tungstenite = "0.30" futures = { workspace = true } async-stream = { workspace = true }