v0.16.27

stalwartlabs/stalwartv0.16.27Oct 18, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on fixing critical bugs in IMAP, iTIP, OAuth, and WebDAV protocols. Notable improvements include correcting email delivery state handling, fixing Apple Calendar display issues, and tightening security regarding loopback URIs.

Key Highlights

  • Fixed IMAP `APPEND`, `COPY`, and `SEARCH` commands to correctly update JMAP `EmailDelivery` states.
  • Resolved iTIP issues where moved occurrences displayed incorrectly in Apple Calendar due to missing `VTIMEZONE` definitions.
  • Enhanced OAuth security by rejecting loopback redirect URIs without a path.
  • Fixed WebDAV `PROPFIND` responses so Windows Explorer correctly displays the account's file structure.

Full Release Notes

## [0.16.27] - 2026-10-18

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

## Changed

## Fixed
- IMAP:
  - `APPEND` and `COPY`/`MOVE` into another account's mailbox do not change the JMAP `EmailDelivery` state.
  - `SEARCH RETURN` with `MIN` or `MAX` alongside `ALL` returns only the minimum and maximum in `ALL`, and `SAVE` combined with `MIN` or `MAX` and `ALL` or `COUNT` saves only the minimum and maximum instead of every match.
- iTIP: Merging a received update does not copy the `VTIMEZONE` definitions it carries, so an occurrence moved by an external organizer can reference a `TZID` (for example `W. Europe Standard Time`) the stored event no longer defines, and Apple Calendar shows both the original and the moved occurrence.
- OAuth: Loopback redirect URIs without a path (for example `http://127.0.0.1:45678`) are not matched against registered loopback URIs on any port and are rejected by dynamic client registration.
- WebDAV: `PROPFIND` `allprop` returns `DAV:current-user-principal`, so Windows Explorer shows every file and folder under the account name.


<hr />

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

Related Repositories