summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md18
-rw-r--r--UPGRADING.md37
-rw-r--r--crates/trc/src/event/level.rs8
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