Commit Graph

  • 8c69f9fecb docs: describe both fork changes and record public source availability namailu-unified-password namailu 2026-08-18 12:21:47 +02:00
  • e446052e06 JMAP session urls follow the requested host (STALWART_PUBLIC_URL_HOSTS) namailu 2026-08-17 15:40:42 +00:00
  • dc9c52ae1d docs: point fork metadata at canonical repository root 2026-07-29 15:20:13 +02:00
  • b4c5c4c25c docs: record pending public repository creation root 2026-07-29 02:35:02 +02:00
  • 831f3dc677 feat(auth): verify Basic credentials through OIDC provider root 2026-07-29 02:31:01 +02:00
  • 425d034ae7 Use of Voluntary Application Server Identification (VAPID) in JMAP Web Push v0.16.14 Maurus Decimus 2026-07-20 13:55:00 +02:00
  • 2553d8ee4c Fix Telemetry: Tasks are serialized to the wrong store when using separate stores for telemetry and data Maurus Decimus 2026-07-20 11:35:46 +02:00
  • 3cc348726b Fix MTA: queue_name variable not available in rate limiter expressions Maurus Decimus 2026-07-19 23:09:31 +02:00
  • 2d08933fbc Fix Calendar: No expanded occurrences are returned for a daily recurrences crossing DST Maurus Decimus 2026-07-19 22:59:03 +02:00
  • 152db36247 Fix HTTP: Disable allowedEndpoints expression in recovery mode Maurus Decimus 2026-07-19 22:09:17 +02:00
  • acd45e1f9e Fix JMAP: Stale push subscription can block verification of a new one Maurus Decimus 2026-07-19 21:50:37 +02:00
  • c105cff8fb Fix CalDAV: calendar-query REPORT returns empty calendar-data for JMAP-created events Maurus Decimus 2026-07-19 21:27:01 +02:00
  • 2bce0d22fd Fix JMAP: PushSubscription/set rejects the unpadded base64url keys the W3C Push API produces Maurus Decimus 2026-07-19 21:00:45 +02:00
  • 2c04d4473c Fix IMAP: Pipelined STORE and EXPUNGE can execute out of order Maurus Decimus 2026-07-19 16:02:20 +02:00
  • f967132971 Fix MTA: DMARC is skipped when MAIL FROM SPF is unavailable Maurus Decimus 2026-07-19 15:44:06 +02:00
  • 3de53f9c31 Fix JMAP: CalendarEvent/set silently ignores ifInState Maurus Decimus 2026-07-19 15:29:55 +02:00
  • 2d4d3a55be Fix JMAP: Email/import does not send push notifications for imported messages Maurus Decimus 2026-07-19 15:22:54 +02:00
  • eacec4c45d Fix JMAP: Web Push payloads with Content-Encoding: aes128gcm should not be base64-encoded but sent as raw bytes Maurus Decimus 2026-07-19 15:17:40 +02:00
  • 6076659e4d Fix Calendar: Scheduling invitations on a shared, non-owned calendar fail with MAIL FROM unauthorized Maurus Decimus 2026-07-19 12:19:50 +02:00
  • 18dbbda298 Fix Calendar: Uppercase MAILTO calendar addresses become invalid SMTP recipients Maurus Decimus 2026-07-19 10:29:07 +02:00
  • bd44943661 Fix JMAP: Read-only sharee cannot set isSubscribed on a shared mailbox Maurus Decimus 2026-07-19 07:54:33 +02:00
  • 6fb4d2b628 IMAP: Mailbox object-quota only enforced in JMAP Maurus Decimus 2026-07-19 07:52:31 +02:00
  • 45602a35ba Various FreeBSD improvements (#3219) Martin 2026-07-14 08:56:05 +02:00
  • 764c2c1e1c v0.16.13 Maurus Decimus 2026-07-12 19:18:29 +02:00
  • 602025464b Fix Sieve: add Received headers to auto-generated messages and detect loops Maurus Decimus 2026-07-12 16:03:53 +02:00
  • ca5971e9a1 Fix Misconfigured in-memory store cannot be recovered in recovery mode Maurus Decimus 2026-07-12 16:02:28 +02:00
  • 0f6fb0c321 Fix MTA: Resume queue processing does not work Maurus Decimus 2026-07-12 15:51:37 +02:00
  • b5c703e4e3 Fix DNS Management: CAA management deletes too third-party CAA entries Maurus Decimus 2026-07-12 15:48:08 +02:00
  • 8d54d0b44c Fix Directory: Update local groups only when the external directory includes a group attribute Maurus Decimus 2026-07-12 15:34:04 +02:00
  • e8192d1920 Fix JMAP VacationResponse: isEnabled reset to false whenever properties are changed Maurus Decimus 2026-07-12 15:20:50 +02:00
  • b8122c8e0f Fix Sieve: add Received headers to auto-generated messages and detect loops Maurus Decimus 2026-07-12 15:08:17 +02:00
  • f7e82c3fbc Fix Branding: Custom logos for domains do not work Maurus Decimus 2026-07-12 15:04:26 +02:00
  • b17da02d3e Fix JMAP: Return RFC-3339-conformant UTCDate literals in capabilities: min 0001-01-01T00:00:00Z, max 9999-12-31T23:59:59Z Maurus Decimus 2026-07-12 14:58:31 +02:00
  • f73fefdd69 Fix: Reject invalid duration values (e.g. 1h30m) Maurus Decimus 2026-07-12 14:43:51 +02:00
  • 2543ec7067 Bump dependencies Maurus Decimus 2026-07-12 11:39:02 +02:00
  • 520dbe9d71 Add FreeBSD support to install.sh and update docs (#3216) Martin 2026-07-11 12:48:10 +02:00
  • 9a5f5c11f7 Add FreeBSD (x86_64, aarch64) support (#3214) Martin 2026-07-10 11:19:51 +02:00
  • e21fc8bc9d Clippy fixes Maurus Decimus 2026-07-09 15:26:03 +02:00
  • e2d0505013 Disable DANE when there are no TCP resolvers configured Maurus Decimus 2026-07-09 09:48:05 +02:00
  • 448f735d55 Fix Store PostgreSQL channel binding (#3212) Hugh Cole-Baker 2026-07-08 22:00:16 +01:00
  • 1cadee382f Update PR action Maurus Decimus 2026-07-08 22:59:13 +02:00
  • 546d801810 Updated contributing guidelines Maurus Decimus 2026-07-08 15:23:47 +02:00
  • 548ff03f30 OAuth resource indicators: Accept imap, smtp, pop3 and sieve as valid resource indicators for OAuth access tokens Maurus Decimus 2026-07-06 15:37:57 +02:00
  • d368b53ca1 DMARCbis implementation Maurus Decimus 2026-07-05 16:34:57 +02:00
  • fb993f0cc1 Cluster: Broadcast MTA queue refresh events to all nodes Maurus Decimus 2026-07-05 12:05:46 +02:00
  • aad2cbcde1 Fix Network listener: Accept loop spins all CPU cores with no back-off when the process hits EMFILE (too many open files) Maurus Decimus 2026-07-05 12:02:26 +02:00
  • 5325b57dff Fix Calendar scheduling: Wrong RSVP base URL is used Maurus Decimus 2026-07-05 11:44:56 +02:00
  • 5376d83f3a Fix Snowflake past id generation fails when the provided duration is longer than 4 years Maurus Decimus 2026-07-05 11:42:10 +02:00
  • 9908baf2eb Fix CalDAV: calendar-query REPORT returns invalid HTTP 404 when no events match the query Maurus Decimus 2026-07-05 11:39:30 +02:00
  • 74ac0a7f0d Fix Meilisearch: Limit the text search scope using attributesToSearchOn Maurus Decimus 2026-07-05 11:22:09 +02:00
  • 448a0c1b08 OIDC directory: Fetch name and group claims from userinfo endpoint when missing from the JWT token Maurus Decimus 2026-07-05 11:02:35 +02:00
  • eb42a8272d Fix Auto-ban: IP block expiration ignores per-reason ban durations Maurus Decimus 2026-07-05 10:26:18 +02:00
  • fb6f0c65a2 Fix Directory: Removing a user from all groups does not sync the changes correctly Maurus Decimus 2026-07-05 10:12:02 +02:00
  • 03c55362ef Fix IDN: sanitize_email rejects valid Punycode domains Maurus Decimus 2026-07-05 09:58:54 +02:00
  • 4b8ea03e7e Masked emails: Return UnknownRecipient only for disabled or expired masked emails Maurus Decimus 2026-07-05 09:56:35 +02:00
  • 00ca557340 Fix OIDC: Allow ports in redirect_uri for loopback addresses Maurus Decimus 2026-07-04 07:39:16 +02:00
  • 94b33187a0 DKIM2 tests Maurus Decimus 2026-07-03 20:07:37 +02:00
  • c5796b4e7a DKIMv2 signing Maurus Decimus 2026-07-03 16:51:57 +02:00
  • 186d9feecb DKIM2 verification Maurus Decimus 2026-07-01 16:20:02 +02:00
  • e3c6f95bfd Bump to mail-auth 0.11 Maurus Decimus 2026-06-30 11:53:55 +02:00
  • 5f58fdb92b Fix Registry: Changing the type of an existing account from user to group panics Maurus Decimus 2026-06-28 19:10:00 +02:00
  • 7e7e254328 Fix Prometheus: event counters are exported with incorrect metric names Maurus Decimus 2026-06-28 18:53:45 +02:00
  • 8d229d6c9b Fix PostgreSQL: Include error chain in error messages Maurus Decimus 2026-06-28 18:50:47 +02:00
  • 0c8e567888 Fix OIDC: ECDSA private key support for SEC1 format. Maurus Decimus 2026-06-28 18:35:12 +02:00
  • 000691a285 List active blobs helper script Maurus Decimus 2026-06-26 17:47:17 +02:00
  • 9b49a1729b List active blobs helper script Maurus Decimus 2026-06-26 17:38:04 +02:00
  • 0eb08b9fb3 Fix DANE: Treat DNSSEC bogus as a temporary failures to prevent downgrade attacks Maurus Decimus 2026-06-25 19:24:10 +02:00
  • 0b520b6334 v0.16.11 Maurus Decimus 2026-06-25 11:13:29 +02:00
  • 93b3b70616 Redis Sentinel support as an in-memory store and cluster coordinator backend (closes #2430) Maurus Decimus 2026-06-25 10:26:23 +02:00
  • ab7d81e486 Encryption-at-rest: Support for AES-256-GCM and ChaCha20-Poly1305 for S/MIME (closes #161) Maurus Decimus 2026-06-25 09:53:07 +02:00
  • 9525a891f3 Bump to mail-auth 0.9.2 + minor schema fixes Maurus Decimus 2026-06-24 19:08:27 +02:00
  • 4bb2c687e1 Fix Webhooks: event IDs collide for same event type emitted in the same second Maurus Decimus 2026-06-24 15:03:14 +02:00
  • d1dd00558f S3: Support for allowInvalidCerts option to allow connecting to S3 endpoints with invalid TLS certificates Maurus Decimus 2026-06-24 14:21:11 +02:00
  • 174f6b599c Fix JMAP: Principal/query returns broad results when a name or email filter cannot be resolved Maurus Decimus 2026-06-23 18:03:51 +02:00
  • 14593e6f72 TLS: Update search index when file-backed certificates are refreshed Maurus Decimus 2026-06-23 17:58:04 +02:00
  • 46f03f7dad DANE: Verify DNSSEC is supported by the resolver before attempting to validate TLSA records Maurus Decimus 2026-06-23 11:09:43 +02:00
  • df164e07c8 DANE: Verify DNSSEC is supported by the resolver before attempting to validate TLSA records Maurus Decimus 2026-06-22 23:13:45 +02:00
  • cd00849d44 v0.16.10 Maurus Decimus 2026-06-21 15:57:14 +02:00
  • 94bea19f01 DANE: Improper TLSA record validation (#2328 - credits to @vdukhovni) Maurus Decimus 2026-06-21 15:23:53 +02:00
  • d33c4afbc1 IMAP Extension for Object Identifiers (draft-ietf-mailmaint-imap-objectid-bis-04) Maurus Decimus 2026-06-21 11:29:27 +02:00
  • 097e3ffe94 Fix Cache: Invalidate negative email caches when an account is created Maurus Decimus 2026-06-20 09:38:59 +02:00
  • 0958d97925 International Domain Names (IDN) support (closes #207) Maurus Decimus 2026-06-20 09:02:26 +02:00
  • 52a938297b IMAP: Discard oversized non-synchronizing literals (fixes #2768) Maurus Decimus 2026-06-19 18:36:38 +02:00
  • 4fd86298fa IMAP: GETJMAPACCESS command to discover the JMAP session resource URL (closes #2736) Maurus Decimus 2026-06-19 18:16:40 +02:00
  • cff46f26d4 ACME: reuseKey option to allow reusing private keys in renewals Maurus Decimus 2026-06-19 18:10:04 +02:00
  • ad47f03f48 DANE: Improper TLSA record validation (fixes #2328) Maurus Decimus 2026-06-19 17:14:26 +02:00
  • 88412f9540 Troubleshoot tool: Use the configured source IP address when connecting to remote servers (fixes #2867) Maurus Decimus 2026-06-19 17:04:43 +02:00
  • cd6cd04b40 Sieve: include statements ignore capitalisation of sub-script names (fixes #1643) Maurus Decimus 2026-06-19 12:22:32 +02:00
  • 0e004b5b56 Fix JMAP tests Maurus Decimus 2026-06-19 12:13:19 +02:00
  • 79b9d08f03 Fix JMAP: Return unparsable ids in notFound / notUpdated / notDestroyed / notCopied instead of dropping them Maurus Decimus 2026-06-19 09:58:44 +02:00
  • d174e415fb Fix JMAP: Email/query: Improper anchor handling Maurus Decimus 2026-06-18 19:16:22 +02:00
  • 18411f8e9e Fix JMAP: Require accountId argument on requests Maurus Decimus 2026-06-18 19:05:07 +02:00
  • 169590208d Fix JMAP: Reject requests that do not specify application/json in the Content-Type header Maurus Decimus 2026-06-18 18:17:55 +02:00
  • 739c0b5d3b Fix JMAP: Methods are only available if their capability is in using Maurus Decimus 2026-06-18 18:08:56 +02:00
  • 7c4d1df9ba Fix JMAP: Email/set, Email/copy, Email/import, Mailbox/set duplicate name Maurus Decimus 2026-06-18 17:48:22 +02:00
  • ef9c74821d Fix JMAP: Email/query: Non-standard header values are not searchable Maurus Decimus 2026-06-18 17:22:45 +02:00
  • 30d12588a2 Fix JMAP: Email/query: Wrong sort order on hasKeyword, allInThreadHaveKeyword, and someInThreadHaveKeyword conditions Maurus Decimus 2026-06-18 17:21:03 +02:00
  • 64619e4e3e Fix JMAP: Thread/changes never emits a container delete when a thread becomes empty Maurus Decimus 2026-06-18 16:57:02 +02:00
  • 63284599d7 Fix JMAP: EmailSubmission/set must return sendAt and undoStatus in the created response Maurus Decimus 2026-06-18 16:34:49 +02:00
  • 4e9b4c1651 Fix JMAP: VacationResponse singleton handling Maurus Decimus 2026-06-18 16:27:27 +02:00