diff --git a/.github/workflows/sanity.yml b/.github/workflows/sanity.yml index 359dddde1..d9c365051 100644 --- a/.github/workflows/sanity.yml +++ b/.github/workflows/sanity.yml @@ -57,7 +57,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: bnjbvr/cargo-machete@v0.6.2 + - uses: bnjbvr/cargo-machete@v0.7.0 check-commit-message: name: Validate commit messages diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index f65e562c2..cb7e858d2 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: rustsec/audit-check@v1.4.1 + - uses: rustsec/audit-check@v2.0.0 with: token: ${{ secrets.GITHUB_TOKEN }} clippy: diff --git a/Cargo.lock b/Cargo.lock index 0e49e88f5..952008122 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -328,11 +328,11 @@ checksum = "cab2a5582fe222b2b298035ecfd4264835cbe82bd02201d64a8801eb5ceae5e6" [[package]] name = "attohttpc" -version = "0.26.1" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f77d243921b0979fbbd728dd2d5162e68ac8252976797c24eb5b3a6af9090dc" +checksum = "412b79ce053cef36eda52c25664b45ec92a21769488e20d5a8bf0b3c9e1a28cb" dependencies = [ - "http 0.2.12", + "http 1.2.0", "log", "native-tls", "serde", @@ -348,9 +348,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-creds" -version = "0.36.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390ad3b77f3e21e01a4a0355865853b681daf1988510b0b15e31c0c4ae7eb0f6" +checksum = "7f84143206b9c72b3c5cb65415de60c7539c79cd1559290fddec657939131be0" dependencies = [ "attohttpc", "home", @@ -518,7 +518,7 @@ dependencies = [ [[package]] name = "bench" -version = "0.1.1" +version = "0.1.2" dependencies = [ "async-trait", "clap", @@ -1822,12 +1822,6 @@ dependencies = [ "ahash 0.7.8", ] -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" - [[package]] name = "hashbrown" version = "0.14.5" @@ -2256,7 +2250,7 @@ dependencies = [ [[package]] name = "iggy" -version = "0.6.62" +version = "0.6.63" dependencies = [ "aes-gcm", "ahash 0.8.11", @@ -2305,7 +2299,7 @@ dependencies = [ [[package]] name = "iggy-cli" -version = "0.8.4" +version = "0.8.5" dependencies = [ "ahash 0.8.11", "anyhow", @@ -2324,7 +2318,7 @@ dependencies = [ [[package]] name = "iggy_examples" -version = "0.0.4" +version = "0.0.5" dependencies = [ "ahash 0.8.11", "anyhow", @@ -3103,12 +3097,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-multimap" -version = "0.6.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", - "hashbrown 0.13.2", + "hashbrown 0.14.5", ] [[package]] @@ -3488,9 +3482,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.30.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" dependencies = [ "memchr", "serde", @@ -3860,24 +3854,25 @@ dependencies = [ [[package]] name = "rust-ini" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091" +checksum = "4e310ef0e1b6eeb79169a1171daf9abcb87a2e17c03bee2c4bb100b55c75409f" dependencies = [ "cfg-if", "ordered-multimap", + "trim-in-place", ] [[package]] name = "rust-s3" -version = "0.34.0" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6679da8efaf4c6f0c161de0961dfe95fb6e9049c398d6fbdada2639f053aedb" +checksum = "c3df3f353b1f4209dcf437d777cda90279c397ab15a0cd6fd06bd32c88591533" dependencies = [ "async-trait", "aws-creds", "aws-region", - "base64 0.21.7", + "base64 0.22.1", "bytes", "cfg-if", "futures", @@ -4274,7 +4269,7 @@ dependencies = [ [[package]] name = "server" -version = "0.4.94" +version = "0.4.95" dependencies = [ "ahash 0.8.11", "anyhow", @@ -5068,6 +5063,12 @@ dependencies = [ "tracing-log", ] +[[package]] +name = "trim-in-place" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc" + [[package]] name = "triomphe" version = "0.1.11" diff --git a/bench/Cargo.toml b/bench/Cargo.toml index 1f0f807d6..36a0cee32 100644 --- a/bench/Cargo.toml +++ b/bench/Cargo.toml @@ -1,26 +1,26 @@ [package] name = "bench" -version = "0.1.1" +version = "0.1.2" edition = "2021" [dependencies] -async-trait = "0.1.82" -clap = { version = "4.5.17", features = ["derive"] } -colored = "2.0.4" +async-trait = "0.1.83" +clap = { version = "4.5.23", features = ["derive"] } +colored = "2.2.0" csv = "1.3.1" derive-new = "0.7.0" derive_more = "1.0.0" figlet-rs = "0.1.5" -futures = "0.3.30" +futures = "0.3.31" human_format = "1.1.0" iggy = { path = "../sdk" } integration = { path = "../integration" } nonzero_lit = "0.1.2" -serde = { version = "1.0.210", features = ["derive"] } -tokio = { version = "1.40.0", features = ["full"] } -toml = "0.8.14" -tracing = { version = "0.1.37" } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } +serde = { version = "1.0.217", features = ["derive"] } +tokio = { version = "1.42.0", features = ["full"] } +toml = "0.8.19" +tracing = { version = "0.1.41" } +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } [[bin]] name = "iggy-bench" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index cc8e8d8ae..c19eba4cc 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iggy-cli" -version = "0.8.4" +version = "0.8.5" edition = "2021" authors = ["bartosz.ciesla@gmail.com"] repository = "https://github.com/iggy-rs/iggy" @@ -16,18 +16,18 @@ login-session = ["dep:keyring"] [dependencies] ahash = { version = "0.8.11", features = ["serde"] } -anyhow = "1.0.86" -clap = { version = "4.5.17", features = ["derive"] } -clap_complete = "4.5.26" +anyhow = "1.0.95" +clap = { version = "4.5.23", features = ["derive"] } +clap_complete = "4.5.40" figlet-rs = "0.1.5" iggy = { path = "../sdk", features = ["iggy-cli"], version = "0.6.60" } -keyring = { version = "3.2.0", features = ["sync-secret-service", "vendored"], optional = true } +keyring = { version = "3.6.1", features = ["sync-secret-service", "vendored"], optional = true } passterm = "=2.0.1" thiserror = "2.0.9" -tokio = { version = "1.40.0", features = ["full"] } -tracing = "0.1.37" -tracing-appender = "0.2.2" -tracing-subscriber = { version = "0.3.18", default-features = false, features = ["fmt", "env-filter"] } +tokio = { version = "1.42.0", features = ["full"] } +tracing = "0.1.41" +tracing-appender = "0.2.3" +tracing-subscriber = { version = "0.3.19", default-features = false, features = ["fmt", "env-filter"] } [[bin]] name = "iggy" diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 6563814a5..6cfc12ee5 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iggy_examples" -version = "0.0.4" +version = "0.0.5" edition = "2021" [[example]] @@ -53,14 +53,14 @@ path = "src/new-sdk/producer/main.rs" [dependencies] ahash = { version = "0.8.11", features = ["serde"] } -anyhow = "1.0.86" -bytes = "1.6.0" -clap = { version = "4.5.17", features = ["derive"] } -futures-util = "0.3.30" +anyhow = "1.0.95" +bytes = "1.9.0" +clap = { version = "4.5.23", features = ["derive"] } +futures-util = "0.3.31" iggy = { path = "../sdk" } rand = "0.8.5" -serde = { version = "1.0.210", features = ["derive", "rc"] } -serde_json = "1.0.127" -tokio = { version = "1.40.0", features = ["full"] } -tracing = { version = "0.1.37" } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } +serde = { version = "1.0.217", features = ["derive", "rc"] } +serde_json = "1.0.134" +tokio = { version = "1.42.0", features = ["full"] } +tracing = { version = "0.1.41" } +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } diff --git a/integration/Cargo.toml b/integration/Cargo.toml index cb4213825..1150890b8 100644 --- a/integration/Cargo.toml +++ b/integration/Cargo.toml @@ -5,30 +5,30 @@ edition = "2021" [dependencies] ahash = { version = "0.8.11", features = ["serde"] } -assert_cmd = "2.0.14" -async-trait = "0.1.82" -bytes = "1.6.0" -chrono = "0.4.38" -ctor = "0.2.8" +assert_cmd = "2.0.16" +async-trait = "0.1.83" +bytes = "1.9.0" +chrono = "0.4.39" +ctor = "0.2.9" derive_more = "1.0.0" -env_logger = "0.11.5" -futures = "0.3.30" +env_logger = "0.11.6" +futures = "0.3.31" humantime = "2.1.0" iggy = { path = "../sdk", features = ["iggy-cli"] } -keyring = "3.2.1" +keyring = "3.6.1" lazy_static = "1.5.0" -libc = "0.2.158" +libc = "0.2.169" log = "0.4.22" -predicates = "3.1.0" -regex = "1.10.4" -serial_test = "3.1.1" +predicates = "3.1.3" +regex = "1.11.1" +serial_test = "3.2.0" server = { path = "../server" } -tempfile = "3.10.1" -tokio = { version = "1.40.0", features = ["full"] } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } -uuid = { version = "1.1.0", features = ["v7", "fast-rng", "zerocopy"] } -xxhash-rust = { version = "0.8.12", features = ["xxh32"] } -zip = "2.2.0" +tempfile = "3.14.0" +tokio = { version = "1.42.0", features = ["full"] } +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } +uuid = { version = "1.11.0", features = ["v7", "fast-rng", "zerocopy"] } +xxhash-rust = { version = "0.8.15", features = ["xxh32"] } +zip = "2.2.2" # Some tests are failing in CI due to lack of IPv6 interfaces # inside the docker containers. This is a temporary workaround (hopefully). diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index 2e013d001..96cbd85b4 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iggy" -version = "0.6.62" +version = "0.6.63" description = "Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second." edition = "2021" license = "MIT" @@ -14,54 +14,54 @@ readme = "../README.md" [dependencies] aes-gcm = "0.10.3" ahash = { version = "0.8.11", features = ["serde"] } -anyhow = "1.0.86" -async-broadcast = { version = "0.7.1" } +anyhow = "1.0.95" +async-broadcast = { version = "0.7.2" } async-dropper = { version = "0.3.1", features = ["tokio", "simple"] } -async-trait = "0.1.82" +async-trait = "0.1.83" base64 = "0.22.1" -byte-unit = { version = "5.1.4", default-features = false, features = [ +byte-unit = { version = "5.1.6", default-features = false, features = [ "serde", "byte", "std", ] } -bytes = "1.6.0" -chrono = { version = "0.4.38" } -clap = { version = "4.5.17", features = ["derive"] } -comfy-table = { version = "7.1.1", optional = true } +bytes = "1.9.0" +chrono = { version = "0.4.39" } +clap = { version = "4.5.23", features = ["derive"] } +comfy-table = { version = "7.1.3", optional = true } crc32fast = "1.4.2" -dashmap = "6.0.1" +dashmap = "6.1.0" derive_more = { version = "1.0.0", features = ["full"] } dirs = "5.0.1" fast-async-mutex = { version = "0.6.7", optional = true } -flume = "0.11.0" -futures = "0.3.30" -futures-util = "0.3.30" +flume = "0.11.1" +futures = "0.3.31" +futures-util = "0.3.31" humantime = "2.1.0" -keyring = { version = "3.2.0", optional = true, features = ["sync-secret-service", "vendored"] } -lazy_static = "1.4.0" +keyring = { version = "3.6.1", optional = true, features = ["sync-secret-service", "vendored"] } +lazy_static = "1.5.0" passterm = { version = "2.0.1", optional = true } -quinn = { version = "0.11.5" } -regex = "1.10.4" -reqwest = { version = "0.12.9", default-features = false, features = ["json", "rustls-tls"] } +quinn = { version = "0.11.6" } +regex = "1.11.1" +reqwest = { version = "0.12.11", default-features = false, features = ["json", "rustls-tls"] } reqwest-middleware = { version = "0.4.0", features = ["json"] } reqwest-retry = "0.7.0" -rustls = { version = "0.23.10", features = ["ring"] } -serde = { version = "1.0.210", features = ["derive", "rc"] } -serde_json = "1.0.127" -serde_with = { version = "3.8.1", features = ["base64"] } -strum = { version = "0.26.2", features = ["derive"] } -thiserror = "2.0.3" -tokio = { version = "1.40.1", features = ["full"] } -tokio-rustls = { version = "0.26.0" } -toml = "0.8.14" -tracing = { version = "0.1.40" } -uuid = { version = "1.1.0", features = ["v7", "fast-rng", "zerocopy"] } -webpki-roots = { version = "0.26.6" } +rustls = { version = "0.23.20", features = ["ring"] } +serde = { version = "1.0.217", features = ["derive", "rc"] } +serde_json = "1.0.134" +serde_with = { version = "3.12.0", features = ["base64"] } +strum = { version = "0.26.3", features = ["derive"] } +thiserror = "2.0.9" +tokio = { version = "1.42.0", features = ["full"] } +tokio-rustls = { version = "0.26.1" } +toml = "0.8.19" +tracing = { version = "0.1.41" } +uuid = { version = "1.11.0", features = ["v7", "fast-rng", "zerocopy"] } +webpki-roots = { version = "0.26.7" } [build-dependencies] convert_case = "0.6.0" -serde = { version = "1.0.210", features = ["derive", "rc"] } -serde_derive = "1.0.194" +serde = { version = "1.0.217", features = ["derive", "rc"] } +serde_derive = "1.0.217" [features] default = ["tokio_lock"] diff --git a/server/Cargo.toml b/server/Cargo.toml index 7a2fb13a9..3675f0ba7 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "server" -version = "0.4.94" +version = "0.4.95" edition = "2021" build = "src/build.rs" @@ -11,31 +11,31 @@ tokio-console = ["dep:console-subscriber", "tokio/tracing"] [dependencies] ahash = { version = "0.8.11" } -anyhow = "1.0.86" -async-trait = "0.1.82" +anyhow = "1.0.95" +async-trait = "0.1.83" atone = "0.3.7" -axum = "0.7.5" +axum = "0.7.9" axum-server = { version = "0.7.1", features = ["tls-rustls"] } bcrypt = "0.16.0" bincode = "1.3.3" -blake3 = "1.5.4" -bytes = "1.6.0" -chrono = "0.4.38" -clap = { version = "4.5.17", features = ["derive"] } -console-subscriber = { version = "0.4.0", optional = true } -dashmap = "6.0.1" +blake3 = "1.5.5" +bytes = "1.9.0" +chrono = "0.4.39" +clap = { version = "4.5.23", features = ["derive"] } +console-subscriber = { version = "0.4.1", optional = true } +dashmap = "6.1.0" derive_more = "1.0.0" dotenvy = { version = "0.15.7" } error_set = { version = "0.8.5", features = ["tracing"] } figlet-rs = "0.1.5" figment = { version = "0.10.19", features = ["toml", "env"] } -flume = "0.11.0" -futures = "0.3.30" +flume = "0.11.1" +futures = "0.3.31" iggy = { path = "../sdk" } jsonwebtoken = "9.3.0" -moka = { version = "0.12.5", features = ["future"] } -openssl = { version = "0.10.66", features = ["vendored"] } -opentelemetry = { version = "0.27.0", features = ["trace", "logs"] } +moka = { version = "0.12.8", features = ["future"] } +openssl = { version = "0.10.68", features = ["vendored"] } +opentelemetry = { version = "0.27.1", features = ["trace", "logs"] } opentelemetry-appender-tracing = { version = "0.27.0", features = ["log"] } opentelemetry-otlp = { version = "0.27.0", features = [ "logs", @@ -47,47 +47,47 @@ opentelemetry-otlp = { version = "0.27.0", features = [ "tokio", ] } opentelemetry-semantic-conventions = { version = "0.27.0" } -opentelemetry_sdk = { version = "0.27.0", features = [ +opentelemetry_sdk = { version = "0.27.1", features = [ "rt-tokio", "logs", "trace", "tokio", ] } -prometheus-client = "0.22.2" -quinn = { version = "0.11.5" } -rcgen = "0.13.1" -reqwest = { version = "0.12.4", features = [ +prometheus-client = "0.22.3" +quinn = { version = "0.11.6" } +rcgen = "0.13.2" +reqwest = { version = "0.12.11", features = [ "rustls-tls", "rustls-tls-no-provider", ] } ring = "0.17.8" -rust-s3 = { version = "0.34.0", features = ["default"] } -rustls = { version = "0.23.10" } -rustls-pemfile = "2.1.2" -serde = { version = "1.0.210", features = ["derive", "rc"] } -serde_json = "1.0.127" -serde_with = { version = "3.8.1", features = ["base64", "macros"] } -static-toml = "1.2.0" +rust-s3 = { version = "0.35.1", features = ["default"] } +rustls = { version = "0.23.20" } +rustls-pemfile = "2.2.0" +serde = { version = "1.0.217", features = ["derive", "rc"] } +serde_json = "1.0.134" +serde_with = { version = "3.12.0", features = ["base64", "macros"] } +static-toml = "1.3.0" strip-ansi-escapes = "0.2.0" -strum = { version = "0.26.2", features = ["derive"] } -sysinfo = "0.33.0" +strum = { version = "0.26.3", features = ["derive"] } +sysinfo = "0.33.1" thiserror = "2.0.9" -tokio = { version = "1.40.0", features = ["full"] } +tokio = { version = "1.42.0", features = ["full"] } tokio-native-tls = "0.3.1" -toml = "0.8.14" -tower-http = { version = "0.6.1", features = [ +toml = "0.8.19" +tower-http = { version = "0.6.2", features = [ "add-extension", "cors", "trace", ] } -tracing = { version = "0.1.40" } +tracing = { version = "0.1.41" } tracing-appender = "0.2.3" tracing-opentelemetry = { version = "0.28.0" } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } -ulid = "1.1.2" -uuid = { version = "1.1.0", features = ["v7", "fast-rng", "zerocopy"] } -xxhash-rust = { version = "0.8.12", features = ["xxh32"] } -zip = "2.2.0" +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } +ulid = "1.1.3" +uuid = { version = "1.11.0", features = ["v7", "fast-rng", "zerocopy"] } +xxhash-rust = { version = "0.8.15", features = ["xxh32"] } +zip = "2.2.2" [target.'cfg(not(target_env = "msvc"))'.dependencies] mimalloc = { version = "0.1", optional = true } @@ -96,9 +96,9 @@ mimalloc = { version = "0.1", optional = true } mimalloc = { version = "0.1", features = ["override"] } [build-dependencies] -figment = { version = "0.10.18", features = ["json", "toml", "env"] } +figment = { version = "0.10.19", features = ["json", "toml", "env"] } serde_json = "1.0.134" -vergen-git2 = { version = "1.0.0", features = [ +vergen-git2 = { version = "1.0.2", features = [ "build", "cargo", "rustc", diff --git a/server/src/archiver/s3.rs b/server/src/archiver/s3.rs index 901579ee5..b242da5d8 100644 --- a/server/src/archiver/s3.rs +++ b/server/src/archiver/s3.rs @@ -45,7 +45,7 @@ impl S3Archiver { ) .map_err(|_| ArchiverError::CannotInitializeS3Archiver)?; Ok(Self { - bucket, + bucket: *bucket, tmp_upload_dir: config.tmp_upload_dir, }) } diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 4a90da87b..8560a3611 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -8,10 +8,10 @@ name = "data-seeder-tool" path = "src/data-seeder/main.rs" [dependencies] -anyhow = "1.0.86" -clap = { version = "4.5.17", features = ["derive"] } +anyhow = "1.0.95" +clap = { version = "4.5.23", features = ["derive"] } iggy = { path = "../sdk" } rand = "0.8.5" -tokio = { version = "1.40.0", features = ["full"] } -tracing = { version = "0.1.37" } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } +tokio = { version = "1.42.0", features = ["full"] } +tracing = { version = "0.1.41" } +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] }