[0.16.17] - 2026-08-10
If you are upgrading from v0.16.x, replace the binary (or run docker pull). 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
- IMAP:
- WebDAV:
RangeandIf-Rangeheader support on file downloads (RFC 7233) (#2377). - Spam filter:
url_originalexpression variable forUrlrules.
Changed
- Memory allocator: Replaced the unmaintained
jemallocatorcrate withtikv-jemallocator(contributed by @checkraisefold). - ACME registry: Use
descriptionas label property.
Fixed
- MTA:
- Certificates for domains publishing an enforcing MTA-STS policy are always validated, even in the fallback TLS strategy.
- DSN delivery date uses wrong timestamp.
FUTURERELEASE HOLDUNTILuses Unix timestamps instead of RFC 3339 date-times.
- JMAP:
EmailSubmission/queryfiltering onundoStatuscontradictsEmailSubmission/get, reporting heldFUTURERELEASEsubmissions asfinalinstead ofpending.EmailSubmission/getrequests without anidsargument iterates the wrong index.
- CardDAV:
Accept: text/vcardversion negotiation is ignored whenever another parameter such asqorcharsetfollowsversion=. - Calendar: Server-side scheduling messages place the
text/calendarpart outside themultipart/alternativeand disposed as an attachment. - Sharing: Accounts holding the
impersonatepermission never have their ACL grants collected, so shared items are never listed in JMAP sessions, CalDAV/CardDAV discovery or IMAP. - IMAP:
COPY/MOVEinto a shared folder fails withNO [ALREADYEXISTS]when the destination account already holds the message, leaving the message in the source mailbox and clients in a retry loop.BODYSTRUCTUREandENVELOPEreturn MIME parameters,Content-Description, subjects and display names as raw UTF-8 even to sessions that never enabledUTF8=ACCEPT.