[0.16.0] - 2026-04-20
This version includes multiple breaking changes. If you are upgrading from v0.15.x and below, please read the upgrading documentation for more information on how to upgrade from previous versions.
Added
- Web UI rewritten from the ground up using the JMAP management API, featuring a refreshed design and addressing 76 enhancement requests and bug fixes.
- CLI rewritten from the ground up to use the JMAP management API.
- Security enhancements:
- Password strength enforcement using the
zxcvbnalgorithm - Password expiration, rotation policies and IP address restrictions for user accounts
- App Passwords with limited access (#1609), labels (#2255), IP address restrictions and expiration dates
- API keys with limited access, labels, IP address restrictions and expiration dates
- Auto-ban comments and details about the triggering event (#1321)
- Auto-ban expiration after a configurable time period (#964)
- Password strength enforcement using the
- DNS Management:
- Automatic DNS management of
MX,TXT,CNAME,SRV,CAAandTLSArecords (#463 #1017 #1419 #2438 #1370 #1406 #1371) - Automatic update of
TLSArecords when ACME certificates change (#1664) - RFC2136
SIG(0)support (#856) - Route53 provider support (contributed by @jimmystewpot)
- Google Cloud DNS provider support (contributed by @jimmystewpot)
- Bunny provider support (contributed by @angeloanan)
- Porkbun provider support (contributed by @jeffesquivels)
- DNSimple provider support (contributed by @NelsonVides)
- Spaceship provider support (contributed by @matserix)
- Automatic DNS management of
- DKIM:
- ACME/TLS:
- OIDC and OAuth:
- LDAP:
- Directory:
- Account configuration and discovery:
- Automatic Configuration of Email, Calendar, and Contact Server Settings (draft-mailmaint-uaautoconf-04) (#2201)
- MS Autodiscover V2 support (#679)
- Sieve: Allow deactivating scripts without deleting them (#1251).
- Tracing: Enable events only mode (#2276)
- Clustering:
Changed
- Replaced REST API with JMAP API (#2262 #959 #1480)
- Removed support for Authenticated Received Chain (ARC) sealing (learn more).
- Directory: Removed
smtp,imapandmemorydirectory backends. - Use
aws-lcfor cryptographic operations instead ofring. - Use
rustls-platform-verifierfor TLS certificate verification instead ofwebpki(#247).
Fixed
- Directory:
- Cannot remove built-in "admin" role from user once it was assigned (#1467)
- Delete associated records (#963)
- Updated Role permissions not applied (#2038)
- Recreated account cannot log in until server is restarted (#1469)
- Subaddressing does not work for groups (#475)
- New LDAP aliases are rejected (#1318).
- Validate account and group names (#2209)
- MTA:
- JMAP:
- Fix
inMailboxOtherThanquery logic. - Fix
hasAttachmentsearch field (#2778)
- Fix
- IMAP:
- Increment argument max length to
8000bytes - ACL: Add
RIGHTScapability (#2762) - ACL: Fix
ACL SETpermission override.
- Increment argument max length to
- WebDAV:
- Return
304NOT_MODIFIEDonIf-None-Match - Use RFC 2616 instead of RFC 1123 for date formatting
- Fix ACL container/item mismatch in reports.
- CalDAV: Allow organized properties to be present in
PUTrequests if they are equal to the existing ones. - CalDAV: Enforce cumulative iCalendar instances cap in CalDAV free-busy REPORT handler
- Return
- Configuration: Prefix parsing issues (#2495)
- OIDC: JWKS Exposes Symmetric Signing Key
- SQLite: Fix thread pool exhaustion.
- PostgreSQL: Use clean recycling method on connection pool
- Meilisearch: Make
idsorteable. - ACME: Fix wrong origin for subdomain updates (#2360)
- Spam filter: Skip invalid messages during training.
- Calendar: Include minutes in localized invite templates (#2828)
- HTTP: Fix
204CORS preflight responses