From c0fdee6843103e3e1ff65c195e000b293ed0ac42 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sun, 23 Mar 2025 16:23:18 +0100 Subject: [PATCH] v0.11.7 --- CHANGELOG.md | 21 +++++++++++++++ Cargo.lock | 40 ++++++++++++++--------------- crates/cli/Cargo.toml | 2 +- crates/common/Cargo.toml | 2 +- crates/directory/Cargo.toml | 2 +- crates/email/Cargo.toml | 2 +- crates/imap-proto/Cargo.toml | 2 +- crates/imap/Cargo.toml | 2 +- crates/jmap-proto/Cargo.toml | 2 +- crates/jmap/Cargo.toml | 2 +- crates/main/Cargo.toml | 2 +- crates/managesieve/Cargo.toml | 2 +- crates/nlp/Cargo.toml | 2 +- crates/pop3/Cargo.toml | 2 +- crates/smtp/Cargo.toml | 2 +- crates/spam-filter/Cargo.toml | 2 +- crates/store/Cargo.toml | 2 +- crates/trc/Cargo.toml | 2 +- crates/trc/event-macro/Cargo.toml | 2 +- crates/utils/Cargo.toml | 2 +- crates/utils/proc-macros/Cargo.toml | 2 +- tests/Cargo.toml | 2 +- tests/src/directory/sql.rs | 32 ++++++++++++----------- 23 files changed, 78 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96a5da80..8f722a2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,27 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.11.7] - 2025-03-23 + +To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. + +### Added +- LDAP attribute to indicate password change (#1156). + +### Changed +- Lazy DKIM key parsing (#1211). +- Enable `edns0` for system resolver by default (#1282). +- Bump FoundationDB to `7.3`. + +### Fixed +- Fix incorrect `UIDNEXT` when mailbox is empty (#1201). +- Sender variable not set when evaluating `must-match-sender` (#1294). +- Do not panic when mailboxId is not found (#1293). +- Prioritize local over span keys when serializing webhook payloads (#1250). +- Allow TLS name mismatch as per RFC7671 Section 5.1. +- Try with implicit MX when no MX records are found. +- SQL `secrets` directory query. + ## [0.11.5] - 2025-02-01 To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. diff --git a/Cargo.lock b/Cargo.lock index 3f468546..5e6960ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1204,7 +1204,7 @@ dependencies = [ [[package]] name = "common" -version = "0.11.5" +version = "0.11.7" dependencies = [ "aes-gcm-siv", "ahash 0.8.11", @@ -1799,7 +1799,7 @@ dependencies = [ [[package]] name = "directory" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "argon2", @@ -2046,7 +2046,7 @@ dependencies = [ [[package]] name = "email" -version = "0.11.5" +version = "0.11.7" dependencies = [ "aes", "aes-gcm", @@ -2163,7 +2163,7 @@ dependencies = [ [[package]] name = "event_macro" -version = "0.11.5" +version = "0.11.7" dependencies = [ "proc-macro2", "quote", @@ -3281,7 +3281,7 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] name = "imap" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "common", @@ -3307,7 +3307,7 @@ dependencies = [ [[package]] name = "imap_proto" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "chrono", @@ -3532,7 +3532,7 @@ dependencies = [ [[package]] name = "jmap" -version = "0.11.5" +version = "0.11.7" dependencies = [ "aes-gcm", "aes-gcm-siv", @@ -3607,7 +3607,7 @@ dependencies = [ [[package]] name = "jmap_proto" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "fast-float", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "mail-server" -version = "0.11.5" +version = "0.11.7" dependencies = [ "common", "directory", @@ -4008,7 +4008,7 @@ dependencies = [ [[package]] name = "managesieve" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "bincode", @@ -4286,7 +4286,7 @@ dependencies = [ [[package]] name = "nlp" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "bincode", @@ -4831,7 +4831,7 @@ dependencies = [ [[package]] name = "pop3" -version = "0.11.5" +version = "0.11.7" dependencies = [ "common", "directory", @@ -4990,7 +4990,7 @@ dependencies = [ [[package]] name = "proc_macros" -version = "0.11.5" +version = "0.11.7" dependencies = [ "proc-macro2", "quote", @@ -6520,7 +6520,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smtp" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "bincode", @@ -6609,7 +6609,7 @@ dependencies = [ [[package]] name = "spam-filter" -version = "0.11.5" +version = "0.11.7" dependencies = [ "common", "decancer", @@ -6663,7 +6663,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stalwart-cli" -version = "0.11.5" +version = "0.11.7" dependencies = [ "clap", "console", @@ -6694,7 +6694,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "store" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "arc-swap", @@ -6903,7 +6903,7 @@ dependencies = [ [[package]] name = "tests" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "async-trait", @@ -7342,7 +7342,7 @@ dependencies = [ [[package]] name = "trc" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "base64 0.22.1", @@ -7589,7 +7589,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" -version = "0.11.5" +version = "0.11.7" dependencies = [ "ahash 0.8.11", "base64 0.22.1", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index f4f58351..808865c4 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Stalwart Labs Ltd. "] license = "AGPL-3.0-only OR LicenseRef-SEL" repository = "https://github.com/stalwartlabs/cli" homepage = "https://github.com/stalwartlabs/cli" -version = "0.11.5" +version = "0.11.7" edition = "2024" readme = "README.md" resolver = "2" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index d3ea574e..6e2096cb 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "common" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/directory/Cargo.toml b/crates/directory/Cargo.toml index c7d2c4ee..f439d786 100644 --- a/crates/directory/Cargo.toml +++ b/crates/directory/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "directory" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/email/Cargo.toml b/crates/email/Cargo.toml index a8b95a98..09ed59d0 100644 --- a/crates/email/Cargo.toml +++ b/crates/email/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "email" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/imap-proto/Cargo.toml b/crates/imap-proto/Cargo.toml index 6bfd91b8..52b2c9d6 100644 --- a/crates/imap-proto/Cargo.toml +++ b/crates/imap-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imap_proto" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/imap/Cargo.toml b/crates/imap/Cargo.toml index d2f2c871..4d6ea575 100644 --- a/crates/imap/Cargo.toml +++ b/crates/imap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imap" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/jmap-proto/Cargo.toml b/crates/jmap-proto/Cargo.toml index 60f9432d..06272c97 100644 --- a/crates/jmap-proto/Cargo.toml +++ b/crates/jmap-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jmap_proto" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/jmap/Cargo.toml b/crates/jmap/Cargo.toml index b9edbcee..4cee0141 100644 --- a/crates/jmap/Cargo.toml +++ b/crates/jmap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jmap" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 657115be..cdef9426 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -7,7 +7,7 @@ homepage = "https://stalw.art" keywords = ["imap", "jmap", "smtp", "email", "mail", "server"] categories = ["email"] license = "AGPL-3.0-only OR LicenseRef-SEL" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/managesieve/Cargo.toml b/crates/managesieve/Cargo.toml index 955f7f09..ad00e03c 100644 --- a/crates/managesieve/Cargo.toml +++ b/crates/managesieve/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "managesieve" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/nlp/Cargo.toml b/crates/nlp/Cargo.toml index a9ea2bf6..a75696ea 100644 --- a/crates/nlp/Cargo.toml +++ b/crates/nlp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nlp" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/pop3/Cargo.toml b/crates/pop3/Cargo.toml index ff9c1ec2..ae76914b 100644 --- a/crates/pop3/Cargo.toml +++ b/crates/pop3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pop3" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/smtp/Cargo.toml b/crates/smtp/Cargo.toml index c013eb68..065fcce4 100644 --- a/crates/smtp/Cargo.toml +++ b/crates/smtp/Cargo.toml @@ -7,7 +7,7 @@ homepage = "https://stalw.art/smtp" keywords = ["smtp", "email", "mail", "server"] categories = ["email"] license = "AGPL-3.0-only OR LicenseRef-SEL" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/spam-filter/Cargo.toml b/crates/spam-filter/Cargo.toml index e9c15754..90a0dcba 100644 --- a/crates/spam-filter/Cargo.toml +++ b/crates/spam-filter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spam-filter" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/store/Cargo.toml b/crates/store/Cargo.toml index 542ebdb9..cdda51ae 100644 --- a/crates/store/Cargo.toml +++ b/crates/store/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "store" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/trc/Cargo.toml b/crates/trc/Cargo.toml index 35352c40..b62e0d72 100644 --- a/crates/trc/Cargo.toml +++ b/crates/trc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "trc" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/trc/event-macro/Cargo.toml b/crates/trc/event-macro/Cargo.toml index 9eb9a2ac..e2455958 100644 --- a/crates/trc/event-macro/Cargo.toml +++ b/crates/trc/event-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "event_macro" -version = "0.11.5" +version = "0.11.7" edition = "2024" [lib] diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index 23699967..2e6a85ad 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "utils" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/crates/utils/proc-macros/Cargo.toml b/crates/utils/proc-macros/Cargo.toml index cf32bacc..e7f8c008 100644 --- a/crates/utils/proc-macros/Cargo.toml +++ b/crates/utils/proc-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "proc_macros" -version = "0.11.5" +version = "0.11.7" edition = "2024" [lib] diff --git a/tests/Cargo.toml b/tests/Cargo.toml index da5483e9..faf46ba0 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tests" -version = "0.11.5" +version = "0.11.7" edition = "2024" resolver = "2" diff --git a/tests/src/directory/sql.rs b/tests/src/directory/sql.rs index 0eb5e1eb..f8aafee3 100644 --- a/tests/src/directory/sql.rs +++ b/tests/src/directory/sql.rs @@ -5,8 +5,8 @@ */ use directory::{ - backend::{internal::manage::ManageDirectory, RcptType}, - QueryBy, Type, ROLE_USER, + QueryBy, ROLE_USER, Type, + backend::{RcptType, internal::manage::ManageDirectory}, }; use mail_send::Credentials; @@ -14,7 +14,7 @@ use mail_send::Credentials; use store::{InMemoryStore, Store}; use crate::directory::{ - map_account_id, map_account_ids, DirectoryTest, IntoTestPrincipal, TestPrincipal, + DirectoryTest, IntoTestPrincipal, TestPrincipal, map_account_id, map_account_ids, }; use super::DirectoryStore; @@ -39,7 +39,7 @@ async fn sql_directory() { let store = DirectoryStore { store: config.stores.stores.remove(directory_id).unwrap(), }; - let base_store = config.stores.stores.get(directory_id).unwrap(); + let base_store = &store.store; let core = config.server; // Create tables @@ -193,17 +193,19 @@ async fn sql_directory() { ..Default::default() } ); - assert!(handle - .query( - QueryBy::Credentials(&Credentials::Plain { - username: "bill".to_string(), - secret: "invalid".to_string() - }), - true - ) - .await - .unwrap() - .is_none()); + assert!( + handle + .query( + QueryBy::Credentials(&Credentials::Plain { + username: "bill".to_string(), + secret: "invalid".to_string() + }), + true + ) + .await + .unwrap() + .is_none() + ); // Get user by name assert_eq!(