This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+4 more
Affected surfaces
Summary
AI summaryJMAP copy handling, MTA-STS panic, Auth scoped credential regression, Web Push VAPID parsing, Cache shard size limits, Registry ID resolution, Search reindex dropping, Migration import abort, Cluster broadcast resubscribe, Enterprise per‑tenant logo missing.
Full changelog
[0.16.15] - 2026-07-26
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 for more information on how to upgrade from previous versions.
Added
Changed
Fixed
- JMAP:
Email/copyshould returnalreadyExistswhen copying a message to a mailbox that already contains it.Email/copywithonSuccessDestroyOriginaldestroys the copy's creation id instead of the source Email id.CalendarEvent/setdoes not generate auidon create when the client omits it.CalendarEvent/setdoes not refresh theupdatedproperty (iCalendarDTSTAMP) on create or update.EmailSubmission/setrejects valid recipients whose domain is itself a public suffix (e.g.gov.in,co.uk).- Requests are rejected with
notRequestwhen a method name contains a JSON-escaped solidus (e.g.Core\/echo).
- MTA: Panic when MTA-STS is disabled and a remote MTA fetched
/.well-known/mta-sts.txt. - Auth: Scoped credentials with
SysApiKeyCreateorSysApiKeyUpdatepermissions can regain its own account's full rights. - Web Push: Valid VAPID keys are rejected when PEM-encoded with explicit EC parameters, in SEC1 (
EC PRIVATE KEY) format, or with a leading byte-order mark. - Encryption at rest: Appended messages are encrypted for accounts that did not opt in to
encryptOnAppend. - Cache: Account caches silently discard entries larger than a single
quick-cacheshard, causing constant database rebuilds. - Registry: Id references (e.g.
#certificate-...) fail to resolve ondefaultCertificateId,defaultAdminRoleIds,listenerIdsandpublicKey. - Search:
reindexdrops calendar and contact index tasks for accounts with fewer than a full batch of items. - Migration: Abort
--importwhen the target already contains data in the key range being imported. - Cluster: Broadcast subscriber re-subscribes after every message, losing bursts of cluster broadcasts during the reconnect window.
- Enterprise: Per-tenant logo is not shown on the OAuth login password and OTP screens, which are served from the server's canonical host rather than the tenant domain.
Check binary attestation here
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About stalwart
All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
Beta — feedback welcome: [email protected]