v0.15.4
stalwartlabs/stalwartv0.15.4Jan 19, 2026by mdecimus
AI Summary
This patch release adds IMAP header search mapping and Sieve spam status updates, along with numerous bug fixes for search, IMAP quota, JMAP changes, and AI API error handling.
Key Highlights
- Added IMAP HEADER SUBJECT/FROM/TO search mapping to SUBJECT/FROM/TO queries
- Added Sieve spam status update on user scripts
- Fixed search returning all document ids when no filters provided
- Fixed IMAP ALREADYEXISTS code when creating existing mailboxes
- Fixed JMAP newState computation with invalid fromChangeId
New Features
- IMAP header search mapping
- Sieve spam status updates
Full Release Notes
## [0.15.4] - 2026-01-19 If you are upgrading from v0.14.x and below, this version includes **multiple breaking changes**. Please read the [upgrading documentation](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING/v0_15.md) for more information on how to upgrade from previous versions. If you are upgrading from v0.15.x, replace the binary and update the webadmin. ## Added - IMAP: Map `HEADER SUBJECT/FROM/TO` searches to `SUBJECT/FROM/TO` queries. - Sieve: Update spam status on user scripts. ## Changed ## Fixed - Search: Return all document ids when no filters are provided. - Search: Filters not applied when a single message is in the account. - IMAP: Return `ALREADYEXISTS` code when creating existing mailboxes. - IMAP: Do not return quota resources if no quota is set. - JMAP/changes: Update `newState` with last changeId if an invalid fromChangeId is provided. - JMAP/CalendarIdentity: Do not update invalid calendar identities. - AI API: Include request error details if available. <hr /> ### Check binary attestation at [here](https://github.com/stalwartlabs/stalwart/attestations/16915717)