From 08345f38a594885116e7a1a89fe27b963c1d9a00 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sun, 5 Jan 2025 14:17:52 +0100 Subject: [PATCH] v0.11.0 --- .github/ISSUE_TEMPLATE/bug_report.yml | 5 +++-- CHANGELOG.md | 27 +++++++++++++++++++++++++++ UPGRADING.md | 13 +++++++++++++ crates/main/Cargo.toml | 4 ++-- tests/Cargo.toml | 4 ++-- 5 files changed, 47 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 7171ae20..fab395b3 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -31,9 +31,9 @@ body: label: Version description: What version of our software are you running? options: + - v0.11.x - v0.10.x - - v0.9.x - - v0.8.x or lower + - v0.9.x or lower validations: required: true - type: dropdown @@ -58,6 +58,7 @@ body: - SQLite - Filesystem - S3-compatible + - Azure - type: dropdown id: directory attributes: diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b11ed6..bda9584f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,33 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.11.0] - 2025-01-06 + +This version includes breaking changes to the configuration file. Please read [UPGRADING.md](UPGRADING.md) for details. + +### Added +- Spam filter rewritten in Rust for a significant performance improvement. +- Multiple spam filter improvements (#947) such as training spam/ham when moving between inbox and spam folders (#819). +- Improved distributed locking and handling of large distributed SMTP queues. +- ASN and GeoIP lookups. +- Bulk operations REST endpoints (#925). +- Faster S3-FIFO caching. +- Support adding the `Delivered-To` header (#916). +- Semver compatibility checks when upgrading (#844). +- Sharded In-Memory Store. + +### Changed +- Removed authentication rate limit (no longer necessary since there is fail2ban). +- Pipes have been deprecated in favor of MTA hooks. + +### Fixed +- OpenPGP EOF error (#1024). +- Convert emails obtained from external directories to lowercase (#1004). +- LDAP: Support both name and email fields to be mapped to the same attribute. +- Admin role can't be assigned if an acccount with the same name exists. +- Fix macro detection in DNS record generation (#978). +- Use host FQDN in install script (#1003). + ## [0.10.7] - 2024-12-04 To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. diff --git a/UPGRADING.md b/UPGRADING.md index a07a1cca..afc4560b 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -1,3 +1,16 @@ +Upgrading from `v0.10.x` to `v0.11.0` +------------------------------------ + +Version `0.11.0` introduces breaking changes to the spam filter configuration. No data migration is required but, if changes were made to the previous spam filter, the configuration of the new spam filter should be reviewed. In particular: + +- `lookup.spam-*` settings are no longer used, these have been replaced by `spam-filter.*` settings. Review the [updated documentation](http://stalw.art/docs/spamfilter/overview). +- Previous `spam-filter` and `track-replies` Sieve scripts cannot be used with the new version. They have been replaced by a built-in spam filter written in Rust. +- Cache settings have changed, see the [documentation](https://stalw.art/docs/server/cache) for details. +- Support for Pipes was removed in favor of MTA hooks and Milter. +- `config.resource.spam-filter` is now `spam-filter.resource`. +- `config.resource.webadmin` is now `spam-filter.webadmin`. +- `authentication.rate-limit` was removed as security is handled by fail2ban. + Upgrading from `v0.9.x` to `v0.10.0` ----------------------------------- diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 264d902d..9b3965da 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -34,8 +34,8 @@ tokio = { version = "1.23", features = ["full"] } jemallocator = "0.5.0" [features] -#default = ["sqlite", "postgres", "mysql", "rocks", "elastic", "s3", "redis", "azure", "enterprise"] -default = ["rocks", "enterprise"] +default = ["sqlite", "postgres", "mysql", "rocks", "elastic", "s3", "redis", "azure", "enterprise"] +#default = ["rocks", "enterprise"] sqlite = ["store/sqlite"] foundationdb = ["store/foundation", "common/foundation"] postgres = ["store/postgres"] diff --git a/tests/Cargo.toml b/tests/Cargo.toml index ccddd211..24b8a8d0 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -5,8 +5,8 @@ edition = "2021" resolver = "2" [features] -#default = ["sqlite", "postgres", "mysql", "rocks", "elastic", "s3", "redis", "azure", "foundationdb"] -default = ["sqlite", "postgres", "mysql", "rocks", "s3", "redis", "foundationdb"] +default = ["sqlite", "postgres", "mysql", "rocks", "elastic", "s3", "redis", "azure", "foundationdb"] +#default = ["sqlite", "postgres", "mysql", "rocks", "s3", "redis", "foundationdb"] #default = ["rocks"] sqlite = ["store/sqlite"] foundationdb = ["store/foundation", "common/foundation"]