v0.16.6
stalwartlabs/stalwartv0.16.6May 20, 2026by github-actions[bot]
AI Summary
Introduces 58 new DNS provider integrations, updates JMAP File Storage to draft-14, and fixes issues with DAV ACLs, JMAP threading, and ACME authorizations.
Key Highlights
- 58 new DNS provider integrations added
- JMAP File Storage updated to draft-14
- ACME DNS-01 authorizations performed sequentially
- DNS updater improvements including TXT record handling
New Features
- 58 new DNS provider integrations
- JMAP File Storage draft update
- ACME sequential DNS-01 authorization
- DNS updater improvements
Full Release Notes
## [0.16.6] - 2026-05-20
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](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING/v0_16.md) for more information on how to upgrade from previous versions.
## Added
- Added 58 new DNS provider integrations (see [dns-update](https://github.com/stalwartlabs/dns-update/blob/main/CHANGELOG.md#dns-update-040) crate for details).
- DNS updater: Log DNS record types and values.
- Sieve: Allow User Sieve scripts to access `orcpt`.
- MTA: Log when messages are rejected or discarded by the spam classifier.
## Changed
- Bump JMAP File Storage to [draft-ietf-jmap-filenode-14](https://datatracker.ietf.org/doc/html/draft-ietf-jmap-filenode-14).
- Accept password hashes with `$` or `{` prefixes as secure secrets.
## Fixed
- DAV: `acl-principal-prop-set` REPORT enforced the wrong privilege.
- JMAP: `Thread/get` did not filter by per-mailbox ACLs on shared accounts.
- IMAP: `UID FETCH N:*` could miss messages moved into a SELECTed mailbox by another connection.
- DNS updater:
- Skip `v=spf1 a -all` records for apex domains.
- RFC2136 TSIG: regression related to multiplexer.
- Route53: Chunk `TXT` records when they exceed 255 characters.
- ACME:
- Update `defaultCertificateId` when renewing a certificate that is currently set as default.
- Perform `DNS-01` authorizations sequentially to avoid race conditions in some DNS providers.
- Allow internal TLDs and special characters in e-mail addresses.
- Websocket: Perform case insensitive matching during upgrade.
- LDAP: Synchronize accounts when expanding mailing list recipients.
- Sieve: `replace` action adds an extra `From` header.
- ACL: Orphaned ACL entries for deleted accounts cause JMAP session errors.
<hr />
### Check binary attestation [here](https://github.com/stalwartlabs/stalwart/attestations/28096453)