ITADN
stalwartlabs/stalwart

版本发布 8

v0.15.5
? · 2026-02-14

## [0.15.5] - 2026-02-14 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 ## Changed ## Fixed - IMAP/JMAP: OOM when `mail-parser` returns cyclical MIME structures. - Tracing: Fix tracing indexing when using separate stores. - JMAP: Fix `upToId` computation in `*/queryChanges`. - JMAP: Include createdIds when the property is present. - JMAP: Respect query arguments in `Email/queryChanges`. - JMAP: Return the correct container/item change id when there are no changes.

v0.15.4
? · 2026-01-19

## [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.

v0.15.3
? · 2025-12-29

## [0.15.3] - 2025-12-29 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 - Polish locale support (contributed by @mrxkp) (#2480) ## Changed ## Fixed - Meilisearch: Return correct error messages when failing to create indexes (#2574) - PostgreSQL search: Truncate emails to 650kb for full-text search indexing. - FoundationDB search: Batch large transactions (#2567). - Spam filter: Fix training sample size checks - IMAP: Fix UTF7 encoding with Emojis (contributed by @dojiong) (#2564).

v0.15.2
? · 2025-12-22

## [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).

v0.15.1
? · 2025-12-17

## [0.15.1] - 2025-12-17 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 ## Changed ## Fixed - PostgreSQL: Sanitize search index values (#2533) - Elasticsearch: Ignore `resource_already_exists_exception` errors when creating indexes (#2535) - Migrate 0.13.x data (#2534)

v0.14.1
? · 2025-10-28

## [0.14.1] - 2025-10-28 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 - Autoconfig for CalDAV, CardDAV and WebDAV (#1937) ## Changed - HTTP: Remove HTTP STS `preload` directive. ## Fixed - Directory: Keep OTP Auth and AppPasswords unless the remote directory provides new ones (#2319) - JMAP: Fix `ContactCard/set` and `CalendarEvent/set` destroy methods (#2308).

v0.13.4
? · 2025-09-30

## [0.13.4] - 2025-09-30 If you are upgrading from v0.11.x or v0.12.x, this version includes **breaking changes** to the message queue and MTA configuration. Please read the [UPGRADING.md](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING.md) file for more information on how to upgrade from previous versions. ## Added ## Changed - JMAP: Protocol layer rewrite for zero-copy deserialization and architectural improvements. ## Fixed - JMAP: References to previous method fail when there are no results (#1507). - JMAP: Enforce quota checks on `Blob/copy`. - JMAP: `Mailbox/get` fails without `accountId` argument (#1936). - JMAP: Do not return `invalidProperties` when email update doesn't contain changes (#1139) - IMAP: Unbounded memory allocation in request parser. - IMAP: Wrong permission checked for GETACL. - iTIP: Include date properties in `REPLY` (#2102). - OIDC: Do not set `username` field if it is the same as the `email` field. - Telemetry: Fix `calculateMetrics` housekeeper task (#2155). - Directory: Always use `rsplit` to extract the domain part from email addresses.

v0.13.3
? · 2025-09-09

## [0.13.3] - 2025-09-10 If you are upgrading from v0.11.x or v0.12.x, this version includes **breaking changes** to the message queue and MTA configuration. Please read the [UPGRADING.md](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING.md) file for more information on how to upgrade from previous versions. ## Added - CLI: Health checks (contributed by @Codekloeppler) ## Changed - WebDAV: Assisted discovery v2 ## Fixed - iTIP: Do not send a REPLY when deleting an event that was not accepted. - iTIP: Include event details in REPLY messages (#2102). - iTIP: Add organizer to iMIP replies if missing to deal with MS Exchange 2010 bug. - OIDC: Do not overwrite locally defined aliases (#2065). - HTTP: Scan ban should only be triggered by HTTP parse errors. - HTTP: Skip scanner fail2ban checks when the proxy client IP can't be parsed (#2121). - JMAP: Do not allow roles to be removed from system mailboxes (#1977). - JMAP WS: Fix panic when using invalid server url. - SMTP: Do no send `EHLO` twice when `STARTTLS` is unavailable (#2050). - IMAP: Allow `ENABLE UTF8` in IMAPrev1. - IMAP: Include `administer` permission in ACL responses. - IMAP: Add owner rights to ACL get responses. - IMAP: Do not auto-train Bayes when moving messages from Junk to Trash. - IMAP/ManageSieve: Increase maximum quoted argument size (#2039). - CalDAV: Limit recurrence expansions in calendar reports. - WebDAV: Do not fix percent encoding on WebDAV FS (#2036).