diff --git a/Cargo.lock b/Cargo.lock index 439bec3e..b7ae7e1c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -141,7 +141,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] @@ -153,7 +153,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -164,7 +164,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -251,7 +251,7 @@ checksum = "e0af050e27e5d57aa14975f97fe47a134c46a390f91819f23a625319a7111bfa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -624,7 +624,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -646,7 +646,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -673,7 +673,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -689,7 +689,7 @@ source = "git+https://github.com/stalwartlabs/mail-server?rev=3b950cecec01b4b108 dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -815,7 +815,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1296,7 +1296,7 @@ dependencies = [ [[package]] name = "imap-codec" -version = "2.0.0-alpha.7" +version = "2.0.0-alpha.8" dependencies = [ "abnf-core", "base64 0.22.1", @@ -1330,9 +1330,9 @@ dependencies = [ [[package]] name = "imap-proto" -version = "0.16.6" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1f9b30846c3d04371159ef3a0413ce7c1ae0a8c619cd255c60b3d902553f22" +checksum = "25f6af35c6a517aea5c72314abe90134980d2ae6a763809b50c208b3e429d71f" dependencies = [ "nom", ] @@ -1350,7 +1350,7 @@ dependencies = [ "rand 0.10.1", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -1397,7 +1397,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "zstd", ] @@ -1471,9 +1471,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jieba-macros" @@ -1620,9 +1620,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f" [[package]] name = "lru-cache" @@ -1737,9 +1737,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.7.5" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "minimal-lexical" @@ -1972,7 +1972,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2061,7 +2061,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2100,9 +2100,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -2145,7 +2145,7 @@ dependencies = [ "rustc-hash", "rustls 0.23.34", "socket2 0.6.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -2166,7 +2166,7 @@ dependencies = [ "rustls 0.23.34", "rustls-pki-types", "slab", - "thiserror 2.0.17", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -2188,9 +2188,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.40" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -2639,20 +2639,20 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -2798,9 +2798,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -2824,7 +2824,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2838,11 +2838,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -2853,18 +2853,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2967,7 +2967,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3067,7 +3067,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3112,9 +3112,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-xid" @@ -3292,7 +3292,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "wasm-bindgen-shared", ] @@ -3423,7 +3423,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3434,7 +3434,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3735,7 +3735,7 @@ dependencies = [ "heck", "indexmap", "prettyplease", - "syn 2.0.106", + "syn 2.0.117", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -3751,7 +3751,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -3859,7 +3859,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] @@ -3880,7 +3880,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3900,7 +3900,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] @@ -3921,7 +3921,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3954,7 +3954,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3979,7 +3979,7 @@ dependencies = [ "memchr", "pbkdf2", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "xz2", "zeroize", @@ -3987,6 +3987,12 @@ dependencies = [ "zstd", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zopfli" version = "0.8.3" diff --git a/imap-codec/Cargo.toml b/imap-codec/Cargo.toml index 3cc2b6e5..87267ae9 100644 --- a/imap-codec/Cargo.toml +++ b/imap-codec/Cargo.toml @@ -3,7 +3,7 @@ name = "imap-codec" description = "Rock-solid and complete codec for IMAP" keywords = ["email", "imap", "codec", "parser"] categories = ["email", "parser-implementations", "encoding", "network-programming"] -version = "2.0.0-alpha.7" +version = "2.0.0-alpha.8" authors = ["Damian Poddebniak "] repository = "https://github.com/duesee/imap-codec" license = "MIT OR Apache-2.0" @@ -87,7 +87,7 @@ base64 = { version = "0.22", default-features = false, features = ["alloc"] } chrono = { version = "0.4", default-features = false, features = ["alloc"] } imap-types = { version = "2.0.0-alpha.6", path = "../imap-types", default-features = false } nom = { version = "7", default-features = false } -log = { version = "0.4.28", default-features = false } +log = { version = "0.4.31", default-features = false } [package.metadata.docs.rs] all-features = true diff --git a/imap-codec/benchmark/Cargo.toml b/imap-codec/benchmark/Cargo.toml index 7f6aaf09..8cc03259 100644 --- a/imap-codec/benchmark/Cargo.toml +++ b/imap-codec/benchmark/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" imap-types = { path = "../../imap-types" } imap-codec = { path = "../../imap-codec" } criterion = "0.7.0" -imap-proto = "0.16.6" +imap-proto = "0.16.7" imap-proto-stalwart = { package = "imap_proto", git = "https://github.com/stalwartlabs/mail-server", rev = "3b950cecec01b4b1083cc900d6742c11a665afab" } tokio = { version = "*", features = ["signal"] } diff --git a/imap-codec/benchmark/benches/command.rs b/imap-codec/benchmark/benches/command.rs index 4e42068d..933c4a0a 100644 --- a/imap-codec/benchmark/benches/command.rs +++ b/imap-codec/benchmark/benches/command.rs @@ -1,4 +1,6 @@ -use criterion::{Criterion, black_box, criterion_group, criterion_main}; +use std::hint::black_box; + +use criterion::{Criterion, criterion_group, criterion_main}; use imap_codec::{CommandCodec, decode::Decoder, encode::Encoder, imap_types::command::Command}; use imap_proto_stalwart::{ Command as ImapProtoStalwartCommand, receiver::Receiver as ImapProtoStalwartReceiver, diff --git a/imap-codec/benchmark/benches/greeting.rs b/imap-codec/benchmark/benches/greeting.rs index 07dba5c3..f470e202 100644 --- a/imap-codec/benchmark/benches/greeting.rs +++ b/imap-codec/benchmark/benches/greeting.rs @@ -1,4 +1,6 @@ -use criterion::{Criterion, black_box, criterion_group, criterion_main}; +use std::hint::black_box; + +use criterion::{Criterion, criterion_group, criterion_main}; use imap_codec::{GreetingCodec, decode::Decoder, encode::Encoder, imap_types::response::Greeting}; use imap_types::{ auth::AuthMechanism, diff --git a/imap-codec/benchmark/benches/response.rs b/imap-codec/benchmark/benches/response.rs index c82342b8..b28fe770 100644 --- a/imap-codec/benchmark/benches/response.rs +++ b/imap-codec/benchmark/benches/response.rs @@ -1,6 +1,6 @@ -use std::num::NonZeroU32; +use std::{hint::black_box, num::NonZeroU32}; -use criterion::{Criterion, black_box, criterion_group, criterion_main}; +use criterion::{Criterion, criterion_group, criterion_main}; use imap_codec::{ResponseCodec, decode::Decoder, encode::Encoder, imap_types::response::Response}; use imap_proto::Response as ImapProtoResponse; use imap_types::{core::Vec1, fetch::MessageDataItem, response::Data}; diff --git a/imap-types/Cargo.toml b/imap-types/Cargo.toml index e3dc6c88..4cdc4ca1 100644 --- a/imap-types/Cargo.toml +++ b/imap-types/Cargo.toml @@ -37,12 +37,12 @@ bounded-static = { version = "0.8.0", default-features = false, features = ["all chrono = { version = "0.4", default-features = false } rand = { version = "0.10", default-features = false, features = ["thread_rng"], optional = true } serde = { version = "1.0.228", features = ["derive"], optional = true } -thiserror = "2.0.17" +thiserror = "2.0.18" [dev-dependencies] criterion = { version = "0.7.0", default-features = false } rand = { version = "0.10", default-features = false } -serde_json = { version = "1.0.145", default-features = false } +serde_json = { version = "1.0.150", default-features = false } [[example]] name = "serde_json"