v0.16.13

MightyMoud/sidekickv0.16.13Jul 12, 2026by github-actions[bot]

AI Summary

This release introduces FreeBSD support and addresses stability and compatibility issues across OAuth, JMAP, DNS management, and Sieve modules.

Key Highlights

  • Added support for FreeBSD operating system
  • Fixed OAuth to accept imap, smtp, pop3, and sieve as valid resource indicators
  • Fixed JMAP capabilities to return RFC-3339 conformant UTC dates
  • Improved Sieve script handling by adding Received headers and loop detection

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)