v0.16.13
diffusionstudio/corev0.16.13Jul 12, 2026by github-actions[bot]
AI Summary
Adds FreeBSD support and fixes numerous bugs across OAuth, PostgreSQL, JMAP, Directory, DNS, Sieve, and MTA components. Includes fixes for duration validation and branding issues.
Key Highlights
- Added FreeBSD support
- Fixed OAuth resource indicators (imap, smtp, pop3, sieve)
- Fixed JMAP VacationResponse and Capabilities (RFC-3339 dates)
- Fixed DNS CAA management and multiple provider issues
- Fixed Sieve loop detection and MTA queue processing
New Features
- FreeBSD support
Full Release Notes
## [0.16.13] - 2026-07-12 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 - FreeBSD support. ## Changed ## Fixed - OAuth resource indicators: Accept `imap`, `smtp`, `pop3` and `sieve` as valid resource indicators for OAuth access tokens. - PostgreSQL: Incomplete channel binding implementation. - JMAP: - VacationResponse: `isEnabled` reset to false whenever properties are changed. - Capabilities: Return RFC-3339-conformant UTCDate literals in capabilities: min `0001-01-01T00:00:00Z`, max `9999-12-31T23:59:59Z`. - Directory: Update local groups only when the external directory includes a group attribute. - DNS Management: - CAA management deletes too third-party CAA entries. - Multiple provider fixes (see `dns-update` crate changelog). - Reject invalid duration values (e.g. `1h30m`). - Branding: Custom logos for domains do not work. - Sieve: add `Received` headers to auto-generated messages and detect loops. - MTA: Resume queue processing does not work. - Misconfigured in-memory store cannot be recovered in recovery mode. <hr /> ### Check binary attestation [here](https://github.com/stalwartlabs/stalwart/attestations/34968854)