diff options
-rw-r--r-- | CHANGELOG.md | 18 | ||||
-rw-r--r-- | UPGRADING.md | 37 | ||||
-rw-r--r-- | crates/trc/src/event/level.rs | 8 |
3 files changed, 59 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 085b7d7d..c8b52740 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.10.0] - 2024-09-21 + +This version includes breaking changes to how accounts are stored. Please read [UPGRADING.md](UPGRADING.md) for details. + +## Added +- Multi-tenancy (Enterprise feature). +- Branding (Enterprise feature). +- Roles and permissions. +- Full-text search re-indexing. +- Partial database backups (#497). + +### Changed + +### Fixed +- IMAP `IDLE` support for command pipelining, aka the Apple Mail iOS 18 bug (#765). +- Case insensitive INBOX `fileinto` (#763). +- Properly decode undelete account name (#761). + ## [0.9.4] - 2024-09-09 To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. diff --git a/UPGRADING.md b/UPGRADING.md index cd155135..2e2fcba7 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -1,3 +1,40 @@ +Upgrading from `v0.9.x` to `v0.10.0` +----------------------------------- + +## Important Notes + +- Version `0.10.0` introduces roles and permissions, changing how principals (accounts, groups, lists, etc.) are stored in the database. +- While the database migration is automatic, it's recommended to **back up your data** before upgrading. +- The webadmin must be upgraded **before** the mail server to maintain access post-upgrade. + +## Step-by-Step Upgrade Process + +- Upgrade the webadmin by clicking on `Manage` > `Maintenance` > `Update Webadmin`. +- Stop Stalwart and backup your data: + + ```bash + $ sudo systemctl stop stalwart-mail + $ sudo /opt/stalwart-mail/bin/stalwart-mail --config /opt/stalwart-mail/etc/config.toml --export /opt/stalwart-mail/export + $ sudo chown -R stalwart-mail:stalwart-mail /opt/stalwart-mail/export + ``` + + or, if you are using the Docker image: + + ```bash + $ docker stop stalwart-mail + $ docker run --rm -v <STALWART_DIR>:/opt/stalwart-mail -it stalwart-mail /opt/stalwart-mail/bin/stalwart-mail --config /opt/stalwart-mail/etc/config.toml --export /opt/stalwart-mail/export + ``` +- Download the `v0.10.0` mail-server for your platform from the [releases page](https://github.com/stalwartlabs/mail-server/releases/latest/) and replace the binary in `/opt/stalwart-mail/bin`. If you are using the Docker image, pull the latest image. +- Start the service: + ```bash + $ sudo systemctl start stalwart-mail + ``` + + Or, if you are using the Docker image: + ```bash + $ docker start stalwart-mail + ``` + Upgrading from `v0.8.x` to `v0.9.0` ----------------------------------- diff --git a/crates/trc/src/event/level.rs b/crates/trc/src/event/level.rs index 514c7eee..b9d58117 100644 --- a/crates/trc/src/event/level.rs +++ b/crates/trc/src/event/level.rs @@ -44,7 +44,7 @@ impl EventType { }, EventType::Jmap(_) => Level::Debug, EventType::Imap(event) => match event { - ImapEvent::ConnectionStart | ImapEvent::ConnectionEnd => Level::Info, + ImapEvent::ConnectionStart | ImapEvent::ConnectionEnd => Level::Debug, ImapEvent::GetAcl | ImapEvent::SetAcl | ImapEvent::MyRights @@ -80,7 +80,7 @@ impl EventType { ImapEvent::RawInput | ImapEvent::RawOutput => Level::Trace, }, EventType::ManageSieve(event) => match event { - ManageSieveEvent::ConnectionStart | ManageSieveEvent::ConnectionEnd => Level::Info, + ManageSieveEvent::ConnectionStart | ManageSieveEvent::ConnectionEnd => Level::Debug, ManageSieveEvent::CreateScript | ManageSieveEvent::UpdateScript | ManageSieveEvent::GetScript @@ -99,7 +99,7 @@ impl EventType { ManageSieveEvent::RawInput | ManageSieveEvent::RawOutput => Level::Trace, }, EventType::Pop3(event) => match event { - Pop3Event::ConnectionStart | Pop3Event::ConnectionEnd => Level::Info, + Pop3Event::ConnectionStart | Pop3Event::ConnectionEnd => Level::Debug, Pop3Event::Delete | Pop3Event::Reset | Pop3Event::Quit @@ -117,7 +117,7 @@ impl EventType { Pop3Event::RawInput | Pop3Event::RawOutput => Level::Trace, }, EventType::Smtp(event) => match event { - SmtpEvent::ConnectionStart | SmtpEvent::ConnectionEnd => Level::Info, + SmtpEvent::ConnectionStart | SmtpEvent::ConnectionEnd => Level::Debug, SmtpEvent::DidNotSayEhlo | SmtpEvent::EhloExpected | SmtpEvent::LhloExpected |