@@ -76,97 +76,97 @@ tw-dialect = { git = "https://github.com/ThinkWatchProject/ThinkWatch-Core.git",
7676tw-guard = { git = " https://github.com/ThinkWatchProject/ThinkWatch-Core.git" , tag = " v0.74.0" }
7777
7878# Web framework
79- axum = { version = " 0.8" , features = [" macros" , " ws" ] }
80- tower = " 0.5"
81- tower-http = { version = " 0.7" , features = [
79+ axum = { version = " 0.8.9 " , features = [" macros" , " ws" ] }
80+ tower = " 0.5.3 "
81+ tower-http = { version = " 0.7.1 " , features = [
8282 " cors" , " trace" , " compression-gzip" , " request-id" ,
8383 " limit" , " timeout" , " catch-panic" , " sensitive-headers" , " set-header" ,
8484] }
85- tokio = { version = " 1" , features = [" rt-multi-thread" , " macros" , " net" , " time" , " sync" , " io-util" , " signal" ] }
85+ tokio = { version = " 1.53.3 " , features = [" rt-multi-thread" , " macros" , " net" , " time" , " sync" , " io-util" , " signal" ] }
8686
8787# Database
8888sqlx = { version = " 0.9" , features = [" runtime-tokio" , " postgres" , " uuid" , " chrono" , " json" , " migrate" , " rust_decimal" ] }
89- rust_decimal = { version = " 1" , features = [" serde" , " serde-with-str" ] }
90- clickhouse = { version = " 0.15" , features = [" time" , " chrono" ] }
89+ rust_decimal = { version = " 1.43.0 " , features = [" serde" , " serde-with-str" ] }
90+ clickhouse = { version = " 0.15.3 " , features = [" time" , " chrono" ] }
9191
9292# Redis
9393# `enable-rustls` gives fred its rustls connector, for `rediss://` URLs.
9494# The connector itself is built in `think_watch_common::redis_config`
9595# with the same TLS stack the HTTP client uses (below): rustls on
9696# aws-lc-rs, the platform's roots through rustls-platform-verifier. No
9797# OpenSSL anywhere, so the static musl image needs nothing new.
98- fred = { version = " 10" , features = [" subscriber-client" , " i-scripts" , " enable-rustls" ] }
99- rustls = { version = " 0.23" , default-features = false , features = [" aws_lc_rs" , " std" , " tls12" ] }
100- rustls-platform-verifier = " 0.7"
98+ fred = { version = " 10.1.0 " , features = [" subscriber-client" , " i-scripts" , " enable-rustls" ] }
99+ rustls = { version = " 0.23.45 " , default-features = false , features = [" aws_lc_rs" , " std" , " tls12" ] }
100+ rustls-platform-verifier = " 0.7.1 "
101101
102102# Auth
103103# Crypto-critical crates are pinned with `=` so a silent minor-release
104104# change (e.g. a JWT lib's validation-default flip) can't sneak in via
105105# `cargo update`. Bumps are deliberate and reviewed.
106106jsonwebtoken = { version = " =11.1.0" , features = [" rust_crypto" ] }
107107argon2 = " =0.6.0"
108- openidconnect = { version = " 4" , features = [" reqwest" ] }
108+ openidconnect = { version = " 4.0.1 " , features = [" reqwest" ] }
109109totp-rs = { version = " 6" , default-features = false , features = [" std" , " gen_secret" , " otpauth" ] }
110- data-encoding = " 2"
110+ data-encoding = " 2.11.1 "
111111
112112# Serialization
113- serde = { version = " 1" , features = [" derive" ] }
114- serde_json = " 1"
113+ serde = { version = " 1.0.229 " , features = [" derive" ] }
114+ serde_json = " 1.0.154 "
115115
116116# HTTP client (upstream proxy)
117- reqwest = { version = " 0.13" , features = [" stream" , " json" , " rustls" ] }
118- hyper = { version = " 1" , features = [" full" ] }
119- hyper-util = " 0.1"
120- http-body-util = " 0.1"
121- bytes = " 1"
117+ reqwest = { version = " 0.13.5 " , features = [" stream" , " json" , " rustls" ] }
118+ hyper = { version = " 1.12.0 " , features = [" full" ] }
119+ hyper-util = " 0.1.21 "
120+ http-body-util = " 0.1.5 "
121+ bytes = " 1.12.1 "
122122
123123# Async
124- futures = " 0.3"
125- tokio-stream = " 0.1"
126- async-stream = " 0.3"
124+ futures = " 0.3.34 "
125+ tokio-stream = " 0.1.19 "
126+ async-stream = " 0.3.6 "
127127
128128sha2 = " =0.11.0"
129129sha1 = " =0.11.0"
130130hmac = " =0.13.0"
131131p256 = { version = " =0.14.0" , features = [" ecdsa" ] }
132132ecdsa = { version = " =0.17.0" , features = [" algorithm" ] }
133- rand = " 0.10"
134- hex = " 0.4"
133+ rand = " 0.10.3 "
134+ hex = " 0.4.3 "
135135# Crypto primitives are pinned exactly so a `cargo update` can never swap
136136# a verification default underneath the at-rest envelope.
137137aes-gcm = " =0.11.1"
138138subtle = " =2.6.1"
139- url = " 2"
139+ url = " 2.5.8 "
140140
141141# Observability
142- tracing = " 0.1"
143- tracing-subscriber = { version = " 0.3" , features = [" env-filter" , " json" ] }
144- metrics = " 0.24"
145- metrics-exporter-prometheus = { version = " 0.18" , default-features = false }
142+ tracing = " 0.1.44 "
143+ tracing-subscriber = { version = " 0.3.23 " , features = [" env-filter" , " json" ] }
144+ metrics = " 0.24.6 "
145+ metrics-exporter-prometheus = { version = " 0.18.3 " , default-features = false }
146146
147147# Config
148- dotenvy = " 0.15"
148+ dotenvy = " 0.15.7 "
149149
150150# API documentation
151151utoipa = { version = " 6" , features = [" axum_extras" , " uuid" , " chrono" ] }
152- utoipa-swagger-ui = { version = " 10" , features = [" axum" ] }
152+ utoipa-swagger-ui = { version = " 10.0.1 " , features = [" axum" ] }
153153
154154# AWS SigV4 for the S3-compatible body store. Bedrock's signing,
155155# eventstream unframing and model catalog come from tw-bedrock.
156156# NOTE: "hardcoded-credentials" is the AWS SDK feature name for constructing
157157# Credentials from explicit access_key/secret_key values (as opposed to the
158158# default credential chain). This does NOT embed credentials in the binary —
159159# they are loaded at runtime from encrypted configuration.
160- aws-sigv4 = " 1"
161- aws-credential-types = { version = " 1" , features = [" hardcoded-credentials" ] }
160+ aws-sigv4 = " 1.6.0 "
161+ aws-credential-types = { version = " 1.3.0 " , features = [" hardcoded-credentials" ] }
162162
163163# Utils
164- arc-swap = " 1"
165- xxhash-rust = { version = " 0.8" , features = [" xxh3" ] }
166- uuid = { version = " 1" , features = [" v4" , " v5" , " serde" ] }
167- chrono = { version = " 0.4" , features = [" serde" ] }
168- thiserror = " 2"
169- anyhow = " 1"
164+ arc-swap = " 1.9.2 "
165+ xxhash-rust = { version = " 0.8.19 " , features = [" xxh3" ] }
166+ uuid = { version = " 1.28.0 " , features = [" v4" , " v5" , " serde" ] }
167+ chrono = { version = " 0.4.45 " , features = [" serde" ] }
168+ thiserror = " 2.0.21 "
169+ anyhow = " 1.0.104 "
170170
171171# Workspace crates
172172think-watch-common = { path = " crates/common" }
0 commit comments