v0.16.11
MightyMoud/sidekickv0.16.11Jun 25, 2026by github-actions[bot]
AI Summary
This patch release introduces encryption-at-rest for S/MIME using AES-256-GCM and ChaCha20-Poly1305, along with Redis Sentinel support. It includes critical bug fixes for DANE verification, JMAP query handling, and webhook event ID collisions.
Key Highlights
- Added AES-256-GCM and ChaCha20-Poly1305 encryption for S/MIME data
- Added Redis Sentinel support as an in-memory store and cluster coordinator
- Added `allowInvalidCerts` option for S3 endpoints
- Fixed DANE verification to check for DNSSEC support before validating TLSA records
- Fixed JMAP `Principal/query` broad result issues and webhook ID collisions
New Features
- Encryption-at-rest support
- S3 invalid certificate allowance
- Redis Sentinel support
Full Release Notes
## [0.16.11] - 2026-06-25 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 - Encryption-at-rest: Support for `AES-256-GCM` and `ChaCha20-Poly1305` for S/MIME (#161). - S3: Support for `allowInvalidCerts` option to allow connecting to S3 endpoints with invalid TLS certificates. - Redis Sentinel support as an in-memory store and cluster coordinator backend (#2430). ## Changed ## Fixed - DANE: Verify DNSSEC is supported by the resolver before attempting to validate TLSA records. - TLS: Update search index when file-backed certificates are refreshed. - JMAP: `Principal/query` returns broad results when a `name` or `email` filter cannot be resolved. - Webhooks: event IDs collide for same event type emitted in the same second. <hr /> ### Check binary attestation [here](https://github.com/stalwartlabs/stalwart/attestations/32653276)