v0.15.2

stalwartlabs/stalwartv0.15.2Dec 22, 2025by mdecimus

AI Summary

This patch release introduces OAuth device authorization endpoint and improves antispam logic, along with fixes for various search backends and JMAP/IMAP functionality.

Key Highlights

  • Added OAuth device authorization endpoint
  • Improved antispam to only auto-learn from traps or multiple RBL hits
  • Fixed MySQL search using MEDIUMTEXT for email body
  • Fixed ElasticSearch pagination implementation
  • Fixed IMAP shared folder double nesting

New Features

  • OAuth device authorization endpoint

Full Release Notes

## [0.15.2] - 2025-12-22

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
- OAuth: Add device authorization endpoint (#2225).

## Changed
- Antispam: Only auto-learn spam from traps or multiple RBL hits.

## Fixed
- mySQL search: Use `MEDIUMTEXT` field type for email body and attachments (#2544).
- PostgreSQL search: Truncate large text fields.
- ElasticSearch: Implement pagination (#2551).
- Antispam: Fix `NO_SPACE_IN_FROM` spam tag detection logic (#2372).
- IMAP: Fix shared folder double nesting (test suite credits to @ochnygosch) (#2358).
- JMAP: Use latest `Received` header in JMAP `Email/import` (credits to @apexskier) (#2374).
- JMAP: Return unsorted search results when the index is not ready (#2544).
- LDAP: Lowercase attribute comparison (credits to @pdf) (#2363).
- CLI: Fix same-host JMAP redirection on non-standard ports (#2271).

<hr />

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