diff --git a/CHANGELOG.md b/CHANGELOG.md index bca5497a..5697ff90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ If you are upgrading from v0.15.x, replace the binary and update the webadmin. ## Fixed - mySQL search: Use `MEDIUMTEXT` field type for email body and attachments (#2544). - PostgreSQL search: Truncate large text fields. -- ElasticSearch: Implement pagination (#2552). +- ElasticSearch: Implement pagination (#2551). - Antispam: Fix `NO_SPACE_IN_FROM` spam tag detection logic (#2372). - IMAP: Fix shared folder double nesting (test suite credits to @ochnygosch) (#2358). - JMAP: Use latest `Received` header in JMAP `Email/import` (credits to @apexskier) (#2374). diff --git a/Cargo.lock b/Cargo.lock index f06c94bb..0ea503a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1147,7 +1147,7 @@ dependencies = [ [[package]] name = "common" -version = "0.15.1" +version = "0.15.2" dependencies = [ "aes-gcm-siv", "ahash", @@ -1637,7 +1637,7 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "dav" -version = "0.15.1" +version = "0.15.2" dependencies = [ "calcard 0.3.2", "chrono", @@ -1659,7 +1659,7 @@ dependencies = [ [[package]] name = "dav-proto" -version = "0.15.1" +version = "0.15.2" dependencies = [ "calcard 0.3.2", "chrono", @@ -1825,7 +1825,7 @@ dependencies = [ [[package]] name = "directory" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "argon2", @@ -2078,7 +2078,7 @@ dependencies = [ [[package]] name = "email" -version = "0.15.1" +version = "0.15.2" dependencies = [ "aes", "aes-gcm", @@ -2198,7 +2198,7 @@ dependencies = [ [[package]] name = "event_macro" -version = "0.15.1" +version = "0.15.2" dependencies = [ "proc-macro2", "quote", @@ -2686,7 +2686,7 @@ dependencies = [ [[package]] name = "groupware" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "calcard 0.3.2", @@ -2991,7 +2991,7 @@ dependencies = [ [[package]] name = "http" -version = "0.15.1" +version = "0.15.2" dependencies = [ "async-stream", "base64 0.22.1", @@ -3101,7 +3101,7 @@ dependencies = [ [[package]] name = "http_proto" -version = "0.15.1" +version = "0.15.2" dependencies = [ "common", "compact_str", @@ -3402,7 +3402,7 @@ checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" [[package]] name = "imap" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "common", @@ -3429,7 +3429,7 @@ dependencies = [ [[package]] name = "imap_proto" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "chrono", @@ -3690,7 +3690,7 @@ dependencies = [ [[package]] name = "jmap" -version = "0.15.1" +version = "0.15.2" dependencies = [ "aes-gcm", "aes-gcm-siv", @@ -3800,7 +3800,7 @@ dependencies = [ [[package]] name = "jmap_proto" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "calcard 0.3.2", @@ -4260,7 +4260,7 @@ dependencies = [ [[package]] name = "managesieve" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "common", @@ -4369,7 +4369,7 @@ checksum = "c797b9d6bb23aab2fc369c65f871be49214f5c759af65bde26ffaaa2b646b492" [[package]] name = "migration" -version = "0.15.1" +version = "0.15.2" dependencies = [ "base64 0.22.1", "bincode 1.3.3", @@ -4612,7 +4612,7 @@ dependencies = [ [[package]] name = "nlp" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "bincode 1.3.3", @@ -5355,7 +5355,7 @@ dependencies = [ [[package]] name = "pop3" -version = "0.15.1" +version = "0.15.2" dependencies = [ "common", "directory", @@ -5554,7 +5554,7 @@ dependencies = [ [[package]] name = "proc_macros" -version = "0.15.1" +version = "0.15.2" dependencies = [ "proc-macro2", "quote", @@ -7092,7 +7092,7 @@ dependencies = [ [[package]] name = "services" -version = "0.15.1" +version = "0.15.2" dependencies = [ "aes-gcm", "aes-gcm-siv", @@ -7309,7 +7309,7 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smtp" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "blake3", @@ -7411,7 +7411,7 @@ dependencies = [ [[package]] name = "spam-filter" -version = "0.15.1" +version = "0.15.2" dependencies = [ "common", "compact_str", @@ -7509,14 +7509,14 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stalwart" -version = "0.15.1" +version = "0.15.2" dependencies = [ "common", "dav", "directory", "email", "groupware", - "http 0.15.1", + "http 0.15.2", "imap", "jemallocator", "jmap", @@ -7535,7 +7535,7 @@ dependencies = [ [[package]] name = "stalwart-cli" -version = "0.15.1" +version = "0.15.2" dependencies = [ "clap", "console", @@ -7566,7 +7566,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "store" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "arc-swap", @@ -7730,7 +7730,7 @@ dependencies = [ [[package]] name = "tests" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "async-trait", @@ -7751,7 +7751,7 @@ dependencies = [ "form_urlencoded", "futures", "groupware", - "http 0.15.1", + "http 0.15.2", "http-body-util", "http_proto", "hyper 1.8.1", @@ -8286,7 +8286,7 @@ dependencies = [ [[package]] name = "trc" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "base64 0.22.1", @@ -8373,7 +8373,7 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "types" -version = "0.15.1" +version = "0.15.2" dependencies = [ "blake3", "compact_str", @@ -8570,7 +8570,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" -version = "0.15.1" +version = "0.15.2" dependencies = [ "ahash", "base64 0.22.1", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 2a99b696..de537b79 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Stalwart Labs LLC "] license = "AGPL-3.0-only OR LicenseRef-SEL" repository = "https://github.com/stalwartlabs/cli" homepage = "https://github.com/stalwartlabs/cli" -version = "0.15.1" +version = "0.15.2" edition = "2024" readme = "README.md" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index 564af99e..8f731694 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "common" -version = "0.15.1" +version = "0.15.2" edition = "2024" build = "build.rs" diff --git a/crates/dav-proto/Cargo.toml b/crates/dav-proto/Cargo.toml index f1f3b7db..ebe615a6 100644 --- a/crates/dav-proto/Cargo.toml +++ b/crates/dav-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dav-proto" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/dav/Cargo.toml b/crates/dav/Cargo.toml index 2dca88dc..c78595ff 100644 --- a/crates/dav/Cargo.toml +++ b/crates/dav/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dav" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/directory/Cargo.toml b/crates/directory/Cargo.toml index f4efea2f..30c45a33 100644 --- a/crates/directory/Cargo.toml +++ b/crates/directory/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "directory" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/email/Cargo.toml b/crates/email/Cargo.toml index dc14e201..3f1eb9e7 100644 --- a/crates/email/Cargo.toml +++ b/crates/email/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "email" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/groupware/Cargo.toml b/crates/groupware/Cargo.toml index ba4b468e..d3f530e1 100644 --- a/crates/groupware/Cargo.toml +++ b/crates/groupware/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groupware" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/http-proto/Cargo.toml b/crates/http-proto/Cargo.toml index ed7fabe4..09039243 100644 --- a/crates/http-proto/Cargo.toml +++ b/crates/http-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "http_proto" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/http/Cargo.toml b/crates/http/Cargo.toml index 676a7211..cbf39e1b 100644 --- a/crates/http/Cargo.toml +++ b/crates/http/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "http" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/imap-proto/Cargo.toml b/crates/imap-proto/Cargo.toml index 51dbd628..1e7cdd49 100644 --- a/crates/imap-proto/Cargo.toml +++ b/crates/imap-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imap_proto" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/imap/Cargo.toml b/crates/imap/Cargo.toml index 288185ba..7a0541cc 100644 --- a/crates/imap/Cargo.toml +++ b/crates/imap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imap" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/jmap-proto/Cargo.toml b/crates/jmap-proto/Cargo.toml index fbfe7706..70baf4b3 100644 --- a/crates/jmap-proto/Cargo.toml +++ b/crates/jmap-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jmap_proto" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/jmap/Cargo.toml b/crates/jmap/Cargo.toml index 5df24796..f0db8c20 100644 --- a/crates/jmap/Cargo.toml +++ b/crates/jmap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jmap" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 2a84a912..559e4144 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", "webdav", "server"] categories = ["email"] license = "AGPL-3.0-only OR LicenseRef-SEL" -version = "0.15.1" +version = "0.15.2" edition = "2024" [[bin]] diff --git a/crates/managesieve/Cargo.toml b/crates/managesieve/Cargo.toml index 873d2924..5ea8eaed 100644 --- a/crates/managesieve/Cargo.toml +++ b/crates/managesieve/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "managesieve" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/migration/Cargo.toml b/crates/migration/Cargo.toml index c92f12f5..16c434a8 100644 --- a/crates/migration/Cargo.toml +++ b/crates/migration/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "migration" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/nlp/Cargo.toml b/crates/nlp/Cargo.toml index e2c4f46b..cd060dd8 100644 --- a/crates/nlp/Cargo.toml +++ b/crates/nlp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nlp" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/pop3/Cargo.toml b/crates/pop3/Cargo.toml index ce9ccad2..9f84198a 100644 --- a/crates/pop3/Cargo.toml +++ b/crates/pop3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pop3" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/services/Cargo.toml b/crates/services/Cargo.toml index 047967cd..42c2e528 100644 --- a/crates/services/Cargo.toml +++ b/crates/services/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "services" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/smtp/Cargo.toml b/crates/smtp/Cargo.toml index 8f0337ea..47a82ff5 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.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/spam-filter/Cargo.toml b/crates/spam-filter/Cargo.toml index 3f92305a..e7a01ee6 100644 --- a/crates/spam-filter/Cargo.toml +++ b/crates/spam-filter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spam-filter" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/store/Cargo.toml b/crates/store/Cargo.toml index 78c8714d..da2b0740 100644 --- a/crates/store/Cargo.toml +++ b/crates/store/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "store" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/trc/Cargo.toml b/crates/trc/Cargo.toml index f625b91d..504f231d 100644 --- a/crates/trc/Cargo.toml +++ b/crates/trc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "trc" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/trc/event-macro/Cargo.toml b/crates/trc/event-macro/Cargo.toml index 8725ebae..25a24a78 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.15.1" +version = "0.15.2" edition = "2024" [lib] diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml index b11e0ecd..6e2df1d8 100644 --- a/crates/types/Cargo.toml +++ b/crates/types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "types" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index 04846c5e..a8fed2a3 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "utils" -version = "0.15.1" +version = "0.15.2" edition = "2024" [dependencies] diff --git a/crates/utils/proc-macros/Cargo.toml b/crates/utils/proc-macros/Cargo.toml index 6efa2fab..4463672d 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.15.1" +version = "0.15.2" edition = "2024" [lib] diff --git a/tests/Cargo.toml b/tests/Cargo.toml index e69e2ddb..6f62d1f2 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tests" -version = "0.15.1" +version = "0.15.2" edition = "2024" [features] diff --git a/tests/src/store/query.rs b/tests/src/store/query.rs index f0ffd54a..cd7c1bf5 100644 --- a/tests/src/store/query.rs +++ b/tests/src/store/query.rs @@ -285,32 +285,34 @@ pub async fn test(store: SearchStore, do_insert: bool) { println!("\nInsert took {} ms.", now.elapsed().as_millis()); } - let ids = store - .query_account( - SearchQuery::new(SearchIndex::Email) - .with_filters(vec![SearchFilter::eq(SearchField::AccountId, 0u32)]) - .with_comparator(SearchComparator::ascending(EmailSearchField::ReceivedAt)) - .with_mask(mask.clone()), - ) - .await - .unwrap() - .into_iter() - .collect::(); - assert_eq!(ids, mask); - let ids = store - .query_account( - SearchQuery::new(SearchIndex::Email) - .with_filters(vec![ - SearchFilter::eq(SearchField::AccountId, 0u32), - SearchFilter::ge(SearchField::DocumentId, 0u32), - ]) - .with_mask(mask.clone()), - ) - .await - .unwrap() - .into_iter() - .collect::(); - assert_eq!(ids, mask); + if store.internal_fts().is_none() { + let ids = store + .query_account( + SearchQuery::new(SearchIndex::Email) + .with_filters(vec![SearchFilter::eq(SearchField::AccountId, 0u32)]) + .with_comparator(SearchComparator::ascending(EmailSearchField::ReceivedAt)) + .with_mask(mask.clone()), + ) + .await + .unwrap() + .into_iter() + .collect::(); + assert_eq!(ids, mask); + let ids = store + .query_account( + SearchQuery::new(SearchIndex::Email) + .with_filters(vec![ + SearchFilter::eq(SearchField::AccountId, 0u32), + SearchFilter::ge(SearchField::DocumentId, 0u32), + ]) + .with_mask(mask.clone()), + ) + .await + .unwrap() + .into_iter() + .collect::(); + assert_eq!(ids, mask); + } println!("Running account filter tests..."); let now = Instant::now();