v0.14.0

stalwartlabs/stalwartv0.14.0Oct 22, 2025by mdecimus

AI Summary

Major version introducing JMAP support for Calendars, Contacts, File Storage, and Sharing.

Key Highlights

  • Added JMAP support for Calendars, Contacts, File Storage, and Sharing.
  • Added i18n support for Greek and Swedish.
  • Implemented push subscription cleanup.
  • Database schema changes for directory, calendar, contacts, sieve, and push.

Breaking Changes

  • Breaking Database Changes (migrated automatically) - Internal directory, calendar, contacts, sieve, push schemas changed
  • Replaced quota settings
  • Cluster node roles allow sharding

New Features

  • JMAP for Calendars
  • JMAP for Contacts
  • JMAP for File Storage
  • JMAP Sharing
  • i18n support (Greek, Swedish)
  • Push subscription cleanup

Full Release Notes

## [0.14.0] - 2025-10-22

If you are upgrading from v0.13.4 and below, this version includes **breaking changes** to the internal directory, calendar and contacts. Please read the [upgrading documentation](https://stalw.art/docs/install/upgrade) for more information on how to upgrade from previous versions.

## Added
- JMAP for Calendars ([draft-ietf-jmap-calendars](https://datatracker.ietf.org/doc/draft-ietf-jmap-calendars/)).
- JMAP for Contacts  ([RFC 9610](https://datatracker.ietf.org/doc/rfc9610/)).
- JMAP for File Storage ([draft-ietf-jmap-filenode](https://datatracker.ietf.org/doc/draft-ietf-jmap-filenode/)).
- JMAP Sharing ([RFC 9670](https://datatracker.ietf.org/doc/rfc9670/))
- CalDAV: support for `supported-calendar-component-set` (#1893)
- i18n: Greek language support (contributed by @infl00p)
- i18n: Swedish language support (contributed by @purung)

## Changed
- **Breaking Database Changes** (migrated automatically on first start):
  - Internal directory schema changed.
  - Calendar and Contacts storage schema changed.
  - Sieve scripts storage schema changed.
  - Push Subscriptions storage schema changed.
- Replaced `sieve.untrusted.limits.max-scripts` and `jmap.push.max-total` with `object-quota.*` settings. 
- Cluster node roles now allow sharding.

## Fixed
- Push Subscription: Clean-up of expired subscriptions and cluster notification of changes (#1248)
- CalDAV: Per-user CalDAV properties (#2058)

<hr />

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