[0.12.0] - 2025-05-26
This version includes breaking changes to the database layout and requires a migration. Please read the UPGRADING.md file for more information on how to upgrade from previous versions.
Added
- Collaboration features including Calendars over CalDAV, Contacts over CardDAV and File Storage over WebDAV.
- Peer-to-peer cluster coordination or with Apache Kafka, Redpanda, NATS or Redis.
- Incremental caching of emails, calendars, contacts and file metadata.
- Zero-copy deserialization.
- Train spam messages as ham when the sender is in the user's address book.
XOAUTH2
SASL mechanism support (#1194 #1369).- Support for RFC9698, the
JMAPACCESS
Extension for IMAP. - Search index for accounts and other principals (#1368).
- Add
description
property to OIDC ID token (#1234).
Changed
- Deprecated gossip protocol in favor of the new coordinator options.
- Renamed Git repository from
stalwartlabs/mail-server
tostalwartlabs/stalwart
and the Docker image fromstalwartlabs/mail-server
tostalwartlabs/stalwart
. - Renamed multiple settings:
server.http.*
tohttp.*
.jmap.folders.*
toemail.folders.*
.jmap.account.purge.frequency
toaccount.purge.frequency
.jmap.email.auto-expunge
toemail.auto-expunge
.jmap.protocol.changes.max-history
tochanges.max-history
.storage.encryption.*
toemail.encryption.*
.
- Deprecated
lookup.default.*
settings in favor ofserver.hostname
andreport.domain
. v0.11 and before supported both, v0.12 will only support the new settings.
Fixed
- Allow undiscovered UIDs to be used in IMAP
COPY
/MOVE
operations (#1201). - Refuse loopback SMTP delivery (#1377).
- Hide the current server version (#1435).
- Use the newest
X-Spam-Status
Header (#1308). - MySQL Driver error: Transactions couldn't be nested (#1271).
- Spawn a delivery thread for
EmailSubmission/set
requests (#1540). - ACME: Don't restrict challenge types (#1522).
- Autoconfig: return
%EMAILADDRESS%
if no e-mail address is provided (#1537).