From 5db0ef275b620f5f03c3f0e11cbc2f3351bb918c Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Tue, 25 Feb 2025 07:17:55 +0000 Subject: [PATCH] chore: update shuttle-* deps --- examples/Cargo.lock | 1386 +++++++++++------------ examples/flexible-responders/Cargo.toml | 2 +- examples/powerful-extractors/Cargo.toml | 2 +- examples/shuttle/Cargo.toml | 4 +- static/img/logo-icon-bg.png | Bin 0 -> 49586 bytes 5 files changed, 645 insertions(+), 749 deletions(-) create mode 100644 static/img/logo-icon-bg.png diff --git a/examples/Cargo.lock b/examples/Cargo.lock index f920055..f161334 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "actix-codec" @@ -8,7 +8,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags 2.5.0", + "bitflags", "bytes", "futures-core", "futures-sink", @@ -29,7 +29,7 @@ dependencies = [ "actix-service", "actix-utils", "actix-web", - "bitflags 2.5.0", + "bitflags", "bytes", "derive_more 0.99.18", "futures-core", @@ -55,7 +55,7 @@ dependencies = [ "actix-utils", "ahash", "base64 0.22.1", - "bitflags 2.5.0", + "bitflags", "brotli", "bytes", "bytestring", @@ -63,8 +63,8 @@ dependencies = [ "encoding_rs", "flate2", "futures-core", - "h2", - "http", + "h2 0.3.26", + "http 0.2.12", "httparse", "httpdate", "itoa", @@ -73,7 +73,7 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rand", + "rand 0.8.5", "sha1", "smallvec", "tokio", @@ -89,7 +89,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -100,7 +100,7 @@ checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" dependencies = [ "bytestring", "cfg-if", - "http", + "http 0.2.12", "regex", "regex-lite", "serde", @@ -156,7 +156,7 @@ dependencies = [ "actix-web", "anyhow", "derive_more 1.0.0", - "rand", + "rand 0.8.5", "serde", "serde_json", "tracing", @@ -178,7 +178,7 @@ dependencies = [ "rustls-pki-types", "tokio", "tokio-openssl", - "tokio-rustls 0.26.0", + "tokio-rustls", "tokio-util", "tracing", ] @@ -245,7 +245,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -322,7 +322,7 @@ dependencies = [ "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.34", ] [[package]] @@ -434,28 +434,6 @@ dependencies = [ "futures", ] -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "async-trait" version = "0.1.80" @@ -464,9 +442,15 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.3.0" @@ -498,51 +482,6 @@ dependencies = [ "paste", ] -[[package]] -name = "axum" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - [[package]] name = "backtrace" version = "0.3.71" @@ -582,7 +521,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.5.0", + "bitflags", "cexpr", "clang-sys", "itertools", @@ -593,18 +532,12 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", - "syn 2.0.87", + "syn", "which", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.5.0" @@ -647,17 +580,11 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "bytestring" @@ -694,6 +621,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -706,7 +639,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -745,18 +678,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" -[[package]] -name = "comfy-table" -version = "6.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e959d788268e3bf9d35ace83e81b124190378e4c91c9067524675e33394b8ba" -dependencies = [ - "crossterm 0.26.1", - "strum 0.24.1", - "strum_macros 0.24.3", - "unicode-width", -] - [[package]] name = "convert_case" version = "0.4.0" @@ -774,23 +695,13 @@ dependencies = [ "hkdf", "hmac", "percent-encoding", - "rand", + "rand 0.8.5", "sha2", "subtle", "time", "version_check", ] -[[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-sys" version = "0.8.6" @@ -815,62 +726,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" -dependencies = [ - "bitflags 2.5.0", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -878,7 +733,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -912,7 +767,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn", ] [[package]] @@ -923,7 +778,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -961,7 +816,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.87", + "syn", ] [[package]] @@ -990,7 +845,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", "unicode-xid", ] @@ -1002,7 +857,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", "unicode-xid", ] @@ -1028,7 +883,7 @@ dependencies = [ "dsl_auto_type", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -1037,7 +892,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" dependencies = [ - "syn 2.0.87", + "syn", ] [[package]] @@ -1051,6 +906,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "dsl_auto_type" version = "0.1.0" @@ -1062,7 +928,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -1258,7 +1124,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -1308,8 +1174,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1321,7 +1189,7 @@ dependencies = [ "cfg-if", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1364,8 +1232,8 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.2.6", + "http 0.2.12", + "indexmap", "slab", "tokio", "tokio-util", @@ -1373,10 +1241,23 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "h2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.2.0", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] [[package]] name = "hashbrown" @@ -1386,14 +1267,14 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "headers" -version = "0.3.9" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" dependencies = [ "base64 0.21.7", "bytes", "headers-core", - "http", + "http 1.2.0", "httpdate", "mime", "sha1", @@ -1401,11 +1282,11 @@ dependencies = [ [[package]] name = "headers-core" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http", + "http 1.2.0", ] [[package]] @@ -1465,13 +1346,36 @@ dependencies = [ ] [[package]] -name = "http-body" -version = "0.4.6" +name = "http" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", - "http", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.2.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.2.0", + "http-body", "pin-project-lite", ] @@ -1486,15 +1390,15 @@ name = "http2" version = "1.0.0" dependencies = [ "actix-web", - "rustls 0.23.23", - "rustls-pemfile 2.2.0", + "rustls", + "rustls-pemfile", ] [[package]] name = "httparse" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -1510,52 +1414,60 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", - "h2", - "http", + "h2 0.4.8", + "http 1.2.0", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http", + "http 1.2.0", "hyper", - "rustls 0.21.12", + "hyper-util", + "rustls", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", + "tower-service", + "webpki-roots", ] [[package]] -name = "hyper-timeout" -version = "0.4.1" +name = "hyper-util" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.2.0", + "http-body", "hyper", "pin-project-lite", + "socket2", "tokio", - "tokio-io-timeout", + "tower-service", + "tracing", ] [[package]] @@ -1581,6 +1493,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1589,12 +1619,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1603,16 +1644,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206ca75c9c03ba3d4ace2460e57b189f39f43de612c2f85836e65c929701bb2d" -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.2.6" @@ -1620,7 +1651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown", ] [[package]] @@ -1708,7 +1739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.48.5", ] [[package]] @@ -1727,6 +1758,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "local-channel" version = "0.1.5" @@ -1776,12 +1813,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "memchr" version = "2.7.2" @@ -1935,7 +1966,7 @@ version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ - "bitflags 2.5.0", + "bitflags", "cfg-if", "foreign-types", "libc", @@ -1952,7 +1983,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -1967,63 +1998,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "opentelemetry" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a" -dependencies = [ - "futures-core", - "futures-sink", - "indexmap 2.2.6", - "js-sys", - "once_cell", - "pin-project-lite", - "thiserror 1.0.61", - "urlencoding", -] - -[[package]] -name = "opentelemetry-http" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f51189ce8be654f9b5f7e70e49967ed894e84a06fc35c6c042e64ac1fc5399e" -dependencies = [ - "async-trait", - "bytes", - "http", - "opentelemetry", -] - -[[package]] -name = "opentelemetry_sdk" -version = "0.21.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "once_cell", - "opentelemetry", - "ordered-float", - "percent-encoding", - "rand", - "thiserror 1.0.61", -] - -[[package]] -name = "ordered-float" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" -dependencies = [ - "num-traits", -] - [[package]] name = "overload" version = "0.1.1" @@ -2050,7 +2024,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2065,26 +2039,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -2142,7 +2096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.87", + "syn", ] [[package]] @@ -2164,7 +2118,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -2177,35 +2131,55 @@ dependencies = [ ] [[package]] -name = "prost" -version = "0.12.6" +name = "quinn" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", - "prost-derive", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.1", + "rustls", + "socket2", + "thiserror 2.0.11", + "tokio", + "tracing", ] [[package]] -name = "prost-derive" -version = "0.12.6" +name = "quinn-proto" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn 2.0.87", + "bytes", + "getrandom 0.2.15", + "rand 0.8.5", + "ring", + "rustc-hash 2.1.1", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.11", + "tinyvec", + "tracing", + "web-time", ] [[package]] -name = "prost-types" -version = "0.12.6" +name = "quinn-udp" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ - "prost", + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.52.0", ] [[package]] @@ -2235,8 +2209,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.2", + "zerocopy 0.8.20", ] [[package]] @@ -2246,7 +2231,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.2", ] [[package]] @@ -2258,13 +2253,23 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a509b1a2ffbe92afab0e55c8fd99dea1c280e8171bd2d88682bb20bc41cbc2c" +dependencies = [ + "getrandom 0.3.1", + "zerocopy 0.8.20", +] + [[package]] name = "redox_syscall" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 2.5.0", + "bitflags", ] [[package]] @@ -2343,59 +2348,60 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2", - "http", + "http 1.2.0", "http-body", + "http-body-util", "hyper", "hyper-rustls", + "hyper-util", "ipnet", "js-sys", "log", "mime", - "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "quinn", + "rustls", + "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", + "tower", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "webpki-roots", - "winreg", + "windows-registry", ] [[package]] name = "reqwest-middleware" -version = "0.2.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" +checksum = "64e8975513bd9a7a43aad01030e79b3498e05db14e9d945df6483e8cf9b8c4c4" dependencies = [ "anyhow", "async-trait", - "http", + "http 1.2.0", "reqwest", "serde", - "task-local-extensions", "thiserror 1.0.61", + "tower-service", ] [[package]] @@ -2431,28 +2437,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rmp" -version = "0.8.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" -dependencies = [ - "byteorder", - "num-traits", - "paste", -] - -[[package]] -name = "rmp-serde" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" -dependencies = [ - "byteorder", - "rmp", - "serde", -] - [[package]] name = "rustc-demangle" version = "0.1.24" @@ -2465,6 +2449,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc_version" version = "0.4.0" @@ -2480,25 +2470,13 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags", "errno", "libc", "linux-raw-sys", "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - [[package]] name = "rustls" version = "0.23.23" @@ -2508,21 +2486,13 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", + "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -2537,15 +2507,8 @@ name = "rustls-pki-types" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", - "untrusted", + "web-time", ] [[package]] @@ -2587,16 +2550,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "semver" version = "1.0.23" @@ -2623,7 +2576,7 @@ checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -2708,9 +2661,9 @@ dependencies = [ [[package]] name = "shuttle-actix-web" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21af2c2ac47e561fa29a64681b342fad9d556e1fbde4abc9627a42641358bad0" +checksum = "0868bfec90f1e277ce2a6e47cbfdf6c8eb8e71fff3d65a40161231bdfd244abf" dependencies = [ "actix-web", "num_cpus", @@ -2719,141 +2672,90 @@ dependencies = [ [[package]] name = "shuttle-api-client" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9fd4345091aa0f5b8bd24b42bc14a78c2b71fdc48e17998305433614c2a56c5" +checksum = "2f04f6eba0ae4cc63f4515a8cf67da8c05c3a0c5181e35d3e21de45fe5f5fca3" dependencies = [ "anyhow", "async-trait", "headers", - "http", + "http 1.2.0", "percent-encoding", "reqwest", "reqwest-middleware", - "rmp-serde", "serde", "serde_json", "shuttle-common", "tokio", "tokio-tungstenite", "url", - "uuid", ] [[package]] name = "shuttle-codegen" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f952c8f559b90777000f7b4803c0bc983405599f2c0b2c68da1569ccd64016" +checksum = "701694093686a47be47e6a3bf14e6cf0e3f68b73446ab06720740b61a0b46cbd" dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] name = "shuttle-common" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709313a6ac5aa68df4793b6c733c2fc554aa298bdafdc193d8386131bab17480" +checksum = "fe67fd538b14ab589db991ffb97dcfe3bad425c9e4f70ec6ba0873a82fb80d61" dependencies = [ - "anyhow", - "async-trait", "chrono", - "comfy-table", - "crossterm 0.27.0", - "http", - "opentelemetry", - "opentelemetry-http", - "pin-project", - "reqwest", + "http 1.2.0", "semver", "serde", "serde_json", - "strum 0.26.2", - "thiserror 2.0.3", - "tower", + "strum", "tracing", - "tracing-opentelemetry", - "tracing-subscriber", "typeshare", - "url", - "uuid", "zeroize", ] -[[package]] -name = "shuttle-proto" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a7e0f26860c9acba9533cd5659a9c8b0a0e76b44307628e2925541ac1373fc" -dependencies = [ - "futures-core", - "prost", - "prost-types", - "shuttle-common", - "tonic", -] - [[package]] name = "shuttle-runtime" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47bd47a75e9a09eb623cb4f00fce5f49ed9a968a7a60523d0d94c0d5af677f44" +checksum = "3105e9dc49260d271d672d24ad1eaded4cce2797d85404ca263181d13490949d" dependencies = [ "anyhow", "async-trait", + "http-body", + "http-body-util", "hyper", + "hyper-util", "serde", "serde_json", "shuttle-api-client", "shuttle-codegen", "shuttle-common", - "shuttle-proto", "shuttle-service", "strfmt", "tokio", - "tokio-stream", - "tokio-util", - "tonic", "tracing", "tracing-subscriber", ] [[package]] name = "shuttle-service" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5dcd25164380881233e676bd897de629a7d719bf02214c1b6ba16a2d2079c9" +checksum = "b71f5573199cfafbd03129989d104781891929624d94c52291145a46a5c7ed34" dependencies = [ "anyhow", "async-trait", "serde", "shuttle-common", "strfmt", - "thiserror 2.0.3", -] - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", + "thiserror 2.0.11", ] [[package]] @@ -2896,6 +2798,12 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static-files" version = "1.0.0" @@ -2916,32 +2824,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - [[package]] name = "strum" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" dependencies = [ - "strum_macros 0.26.2", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", + "strum_macros", ] [[package]] @@ -2954,7 +2843,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn", ] [[package]] @@ -2963,17 +2852,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.87" @@ -2987,38 +2865,22 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", + "futures-core", ] [[package]] -name = "system-configuration-sys" -version = "0.5.0" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "task-local-extensions" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" -dependencies = [ - "pin-utils", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -3041,11 +2903,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.11", ] [[package]] @@ -3056,18 +2918,18 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -3111,6 +2973,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -3144,16 +3016,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.5.0" @@ -3162,7 +3024,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -3177,49 +3039,29 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.23", + "rustls", "rustls-pki-types", "tokio", ] -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-tungstenite" -version = "0.20.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.21.12", + "rustls", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", "tungstenite", "webpki-roots", ] @@ -3237,64 +3079,32 @@ dependencies = [ "tokio", ] -[[package]] -name = "tonic" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.21.7", - "bytes", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower" -version = "0.4.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", - "pin-project", "pin-project-lite", - "rand", - "slab", + "sync_wrapper", "tokio", - "tokio-util", "tower-layer", "tower-service", - "tracing", ] [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -3316,7 +3126,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -3340,24 +3150,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c67ac25c5407e7b961fafc6f7e9aa5958fd297aada2d20fa2ae1737357e55596" -dependencies = [ - "js-sys", - "once_cell", - "opentelemetry", - "opentelemetry_sdk", - "smallvec", - "tracing", - "tracing-core", - "tracing-log", - "tracing-subscriber", - "web-time", -] - [[package]] name = "tracing-serde" version = "0.1.3" @@ -3397,21 +3189,20 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", - "http", + "http 1.2.0", "httparse", "log", - "rand", - "rustls 0.21.12", + "rand 0.9.0", + "rustls", + "rustls-pki-types", "sha1", - "thiserror 1.0.61", - "url", + "thiserror 2.0.11", "utf-8", ] @@ -3440,7 +3231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" dependencies = [ "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -3452,33 +3243,12 @@ dependencies = [ "version_check", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-width" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" - [[package]] name = "unicode-xid" version = "0.2.4" @@ -3503,14 +3273,13 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", - "serde", ] [[package]] @@ -3521,18 +3290,24 @@ dependencies = [ "serde", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - [[package]] name = "utf-8" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.1" @@ -3546,7 +3321,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93d59ca99a559661b96bf898d8fce28ed87935fd2bea9f05983c1464dd6c71b1" dependencies = [ "getrandom 0.3.1", - "serde", ] [[package]] @@ -3618,7 +3392,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn", "wasm-bindgen-shared", ] @@ -3652,7 +3426,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3675,9 +3449,9 @@ dependencies = [ [[package]] name = "web-time" -version = "0.2.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -3685,9 +3459,12 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +dependencies = [ + "rustls-pki-types", +] [[package]] name = "websockets" @@ -3738,7 +3515,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -3756,7 +3563,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3776,18 +3583,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "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]] @@ -3798,9 +3605,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -3810,9 +3617,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -3822,15 +3629,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -3840,9 +3647,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -3852,9 +3659,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -3864,9 +3671,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -3876,19 +3683,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "wit-bindgen-rt" @@ -3896,7 +3693,43 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" dependencies = [ - "bitflags 2.5.0", + "bitflags", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", ] [[package]] @@ -3905,7 +3738,16 @@ version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ - "zerocopy-derive", + "zerocopy-derive 0.7.34", +] + +[[package]] +name = "zerocopy" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde3bb8c68a8f3f1ed4ac9221aad6b10cece3e60a8e2ea54a6a2dec806d0084c" +dependencies = [ + "zerocopy-derive 0.8.20", ] [[package]] @@ -3916,7 +3758,39 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea57037071898bf96a6da35fd626f4f27e9cee3ead2a6c703cf09d472b2e700" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", ] [[package]] @@ -3925,6 +3799,28 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "zstd" version = "0.13.1" diff --git a/examples/flexible-responders/Cargo.toml b/examples/flexible-responders/Cargo.toml index f395fb0..d26e6fe 100644 --- a/examples/flexible-responders/Cargo.toml +++ b/examples/flexible-responders/Cargo.toml @@ -6,4 +6,4 @@ edition.workspace = true [dependencies] actix-web = "4" -serde = "1.0" +serde = "1" diff --git a/examples/powerful-extractors/Cargo.toml b/examples/powerful-extractors/Cargo.toml index bdacd09..aa96f22 100644 --- a/examples/powerful-extractors/Cargo.toml +++ b/examples/powerful-extractors/Cargo.toml @@ -6,4 +6,4 @@ edition.workspace = true [dependencies] actix-web = "4" -serde = "1.0" +serde = "1" diff --git a/examples/shuttle/Cargo.toml b/examples/shuttle/Cargo.toml index 1ae5d53..1f7bdf3 100644 --- a/examples/shuttle/Cargo.toml +++ b/examples/shuttle/Cargo.toml @@ -7,7 +7,7 @@ edition.workspace = true # [dependencies] actix-web = "4" -shuttle-actix-web = "0.50" -shuttle-runtime = "0.50" +shuttle-actix-web = "0.52" +shuttle-runtime = "0.52" tokio = "1" # diff --git a/static/img/logo-icon-bg.png b/static/img/logo-icon-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..e72e4a7602a32b71b7baf88f36a5232864988cd5 GIT binary patch literal 49586 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%0DWVk7C}lZ>WUs+V*Ui#G?(=JY zy#K=WOOGCobB^z4dB0z;_v`(7JE~XIic!KgzV>kC*E|Kp2dKXv9fsh`Yg5C;sa&PCGZ(m{c7LGzHmt~c!UT%l;xyV(Qw@bFY6cbK z3D4Z3?Ah}#`;_{?Cz@X?_rKrR$UY0W8Z!k0;#qcf(AfIh3ZPNm1N1Pj8t{uxT}V`v z^Qx`&ADZJ#Ae;`n5&=UHyhN8~Hu(qxT(@*-fR42(KiOc{Q>?bob=a z*Oo5l(}??%vo5e&VkXDDBl=9)%ad(l23idrIkNrLtMJbCk11L!xXtROJ`9qyqg2pa zbgzGa4ez?{fMui??X9Gy3n$1i2uh%_%T8MyaDZ__)An!nUFEL(cF#O|*FJrx)x7b; z119ZKW@BouWz#h^RlE~Xj#ZDiJz?m8s;VmDQ*Ce<{Y!RH)qVC4Q_%>CB`qQ8novBYx<%r7t`EG8W!0J zjX@f)0F-adCiM%M{BJK~^J&%xCs|tV4I$YO=WqF_uVy9#+?~CHgXJzuqb+B+6UZT` zW{=k?WEZ ze?6F=SktgE6Skm#Gb(LWpUXQ&j(rEcM}4i>ZH z?b`@xo1Ab9XALgrup))lu5By<;M;EOK2>AQu!SIWWaDS)AjnoxF*Q;=EH9ri>d~Qo zLi%lKyQb|0gJic zKe6V5p^m9rRM{KV!b(t4`byV4=PZ{MW=SmS`P~Q4a5cG(FD0LVGLU9 zs(fxV!6dbOZaB%wM`xQZ`*G>Ie*fX_T^AP@(>QBm_tHtQWM|eZYG?%e zF!rbybXB0p!XV_iS}Mnf5>KkXo3}U3>X*Qe;BC?RGxHA@B~u9}Y5VSZOWoafFR*=q zLjk>Ol6JBZ+Kvy_sez?=cEmOY z8TI)5>mf*l%GiEu9&WsYn=VczsA24p0?)@moC+=U%G`|B940u*2jAinAeGFGa*Ak6oXVoSh4RL-BB?Jgn#*++amT zg(y0(&n7JqXS>4aZ_3Ec(VOBvM$v$YM0#arC|!FsyqcC27Qf+IHLw}L zLNB&eOFr$O@9yb&rKM=G#^BbtJ$yM*MW6~>ztyks+a>iy(fbWV)eYAo1150wF*1 zV~A+=zhT<8uS4g&3C>M9q#Qnz##;}Zu{CL$f$*8ynS}SCedsj=cw5`Vopapj9m!hT zHejYD4z;d%K`xZ;{)`j>Ai^X^NsoNYyX)qk+D<<-lSMv|c9yDl$ArzP@6)j4k+Dvq zD(D`p!=Jw!G}9K1GHn7&kk&;;$hos5?PDa8QZhIm=b$hm1yab8wpNG^yvJKX(y0@9 z=+BC^g@FERtOPwbUtbi2j_dbAROxwVv;4kiF0LCtVb7K~12dr)sp_^AkKB@tPvvlT z%JrMbnG)5xk9#Mp8F1VFe0#Q8e7t>#3?O|GxqG0D>e_71Qox`j<-~+R@3jqA#?5Lc zB-Az+j$IYI*+cfAJfZx=LMj`E4Fd&J@~;Y8)o%@$P%~$h-2(U3t1XgG2QyX1%hlB` zn@@&>3R5`IciW+n6)Yr*v7lG?Y~_MH_u!x)&9F_`Mye*|rtyV$G})-ts=q_G=wG!G zq&i<-7?<*t7-a6K%?ooWUk&%JeB2wTj<7y+^u8CX&QQA8Y>&A8YfZI(7OMyj7s5|~ zkOmLN;Ep)KN&G~;qUWA}UCnpS*O6J76+fdXVT^TN43ka|Iw8DyQ`u_nh*>&LmAv%6 zShlDMQVgzA7PK_2gwB0Zsn;5_Oa_i2348ars=4_*7lT+K#7O@5@yG{h-Zzq-a%)xZ zrEI_JuR~&C%fsU~(ni^_V?kz%d@HX|4wA|3kE#kz0pT&i%?9i&Sf;-^zNhId`5)ff zcK!ORe?rWMJ5sJ&7>=5EvliSUtCNSVUc5NVLpIiWh_C~&DjdlwE=Hg;^{(H&=+ZK1 z%uW8l&$;=!-`#MI6cUY$_4+2N4$p{?K3e4=n1+^ADGBO3<{fr8IEqeXx9B=y#z5wl zFivlV!H7J52rJe8{;f|xe$iwp`EhadivR!B|2&P){XRR7-eRSv^R@VJ=FWDq&$kQs F>A%+5m2Ut5 literal 0 HcmV?d00001