v0.16.9

QwenLM/Qwen3-VLv0.16.9Jun 16, 2026by github-actions[bot]

AI Summary

A maintenance release for Stalwart Mail Server addressing security and stability issues in JMAP, Sieve, FoundationDB, MTA, and CardDAV modules.

Key Highlights

  • Added ACME preferred certificate chain support
  • Fixed JMAP methods leaking IDs of non-shared objects
  • Fixed Sieve invalid cert handling in http_header function
  • Fixed MTA message rescheduling/editing persistence issues
  • Added ACME freshness check when renewing certificates

New Features

  • ACME preferred certificate chain support
  • ACME freshness check

Full Release Notes

## [0.16.9] - 2026-06-15

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
- ACME: Allow specifying a preferred certificate chain.

## Changed

## Fixed
- JMAP: `*/changes` methods leak ids of non-shared objects (reported by @5ud0er).
- Sieve: Do not allow invalid certs in `http_header` function.
- FoundationDB: Fix read version cache expiration logic.
- MTA: Re-scheduling or editing a queued message reports success but persists nothing for recipients in a non-`default` virtual queue.
- CardDAV: Version requests included in `address-data` are ignored.
- ACME: Add freshness check when renewing certificates.
- Autodiscover v2: Read email address from query parameters.
- Sieve: Do not keep copies of redirected messages when `keep` is not specified.
- Registry: Object ids are parsed as numbers.


<hr />

### Check binary attestation [here](https://github.com/stalwartlabs/stalwart/attestations/31329451)