v0.15.0

stalwartlabs/stalwartv0.15.0Dec 16, 2025by mdecimus

AI Summary

Major version introducing a linear spam classifier, native database search, and performance improvements.

Key Highlights

  • Introduced linear spam classifier using FTRL-Proximal.
  • Added Meilisearch store backend and native PostgreSQL/MySQL full-text search.
  • Added encryption-at-rest for spam training privacy.
  • Performance improvements and database access optimizations.

Breaking Changes

  • IMAP: Always return special use flags in responses

New Features

  • Linear spam classifier
  • Meilisearch store backend
  • Encryption-at-rest for spam training

Full Release Notes

## [0.15.0] - 2025-12-16

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.

## Added
- Linear spam classifier using FTRL-Proximal and feature/cuckoo hashing.
- Meilisearch store backend implementation (#1482).
- PostgreSQL and mySQL native full-text search support.
- Multiple performance improvements and database access optimizations.
- Encryption-at-rest: Spam training privacy setting. 
- Enterprise: Undelete e-mail feature now includes From/Subject/Received information.
- IMAP: Implemented new keywords and mailbox attributes described in [draft-ietf-mailmaint-messageflag-mailboxattribute-13](https://datatracker.ietf.org/doc/html/draft-ietf-mailmaint-messageflag-mailboxattribute-13)

## Changed
- IMAP: Always return special use flags in responses.

## Fixed
- JMAP: `FileNode/set` fails to delete files (#2485).
- JMAP: Return error when using `blobId` in JSContact and JSCalendar (#2431).
- Directory: Deletion of list or domain issues (#2415).
- MTA: Headers and body stripped from mail delivery subsystem failure notifications (#2344).
- MTA: Hooks only run if sieve script, milter or rewrite is configured (#2317).
- Autodiscover: Endpoint should be case insensitive (#2440).
- Housekeeper: Panic during DST transition (#2366).
- Import/Export: Fix import/export utility (#1882).
- Enterprise: Remove tenant admin permissions when license is invalid.

<hr />

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