Skip to content

Release history

wildduck releases

Scalable no-SPOF IMAP/POP3 mail server.

All releases

35 shown

Review required
v1.48.2 Bug fix
Dependencies

Bug fixes

v1.48.1 Bug fix
Security fixes
  • ZMS-55: Added safeguards against deflate output zip bomb
Full changelog

1.48.1 (2026-05-11)

Bug Fixes

  • build(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 (#1066) (d1c065a)
  • build(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#1055) (0156abf)
  • bump deps (#1067) (e76c480)
  • fix slack and deploy workflows (#1059) (ebd5b61)
  • ZMS-49-3: Parse negative literal size, fix literal handling, fix 0 byte literal handling, add tests (#1065) (54f42f3)
  • ZMS-49: Various security and QoL fixes (#1056) (2bfaa31)
  • ZMS-50: bump deps and fix utf-8 address parsing (#1061) (715ad37)
  • ZMS-55: Add safeguards against deflate output zip bomb (#1062) (c223f42)
  • ZMS-59: Fix bug: Audit not picking archived messages (#1064) (b844849)
v1.47.1 Bug fix

Changing mailbox retention now applies to existing past messages.

Full changelog

1.47.1 (2026-04-08)

Bug Fixes

  • ZMS-43: Changing mailbox retention applies to past messages (#1038) (8c11c3b)
v1.47.0 New feature
Notable features
  • Optimized Redis fanout strategy for notifications
Full changelog

1.47.0 (2026-04-08)

Features

  • ZMS-8: optimize redis fanout strategy for notifications (#992) (b069698)

Bug Fixes

  • ZMS-45: Implement totp nonce system for safer totp checks (#1042) (2eba521)
  • ZMS-8-2: add support for legacy wd_events channel parallel to new distributed fan-out strategy (#1044) (7bf6a9d)
v1.46.26 Bug fix

Added Content-Disposition header for attachment downloads.

Full changelog

1.46.26 (2026-03-30)

Bug Fixes

  • Added Content-Disposition header to attachment download endpoint response headers (#1032) (2759a1b)
  • bump deps (#1039) (a3d1d2f)
  • ZMS-28: filters, return full http forwarding target (#1027) (39e0155)
  • ZMS-31: Log updates stream if configured (#1028) (d90ae09)
  • ZMS-40: marked.spam webhook add verificationResults to payload (#1029) (df2f69d)
  • ZMS-44: Add require2faEnabled flag to user (#1035) (e30ba0c)
v1.46.25 Bug fix

Fixed RFC‑2231 regex handling for multi‑digit continuations.

Full changelog

1.46.25 (2026-03-12)

Bug Fixes

  • fix rfc-2231 regex (multi digit continuation), add tests (#1020) (420c1e2)
  • variable typo fix (a4dafca)
  • ZMS-16: implement message deduplication on MX receive (#1000) (6a836b8)
  • ZMS-19: Improve gelf error logging (#1009) (bf916eb)
  • ZMS-2: Make imapcommand error logs less critical and without stack trace (#1024) (82f9c1a)
  • ZMS-26: On move fetch target mailbox's user only one (#1022) (c195fc4)
  • ZMS-29: Various IMAP fixes (#1023) (dd3b927)
  • ZMS-30: Update verification results return schema (#1025) (a0c0636)
v1.46.24 Bug fix

Fixed small messages search issues and added subject logging in archiving.

Full changelog

1.46.24 (2026-03-06)

Bug Fixes

  • #86c89t0yc: Remove --platform=${BUILDPLATFORM} from Dockerfile (#1004) (ad1c444)
  • ZMS-23: messageHandler delAsync add subject to archived log (#1012) (1634f49)
  • ZMS-24: small messages search fixes (#1014) (4b91116)
  • ZMS-27: when creating thread use $literal for subject (#1017) (6efc5a4)
v1.46.23 Bug fix

Fixed race condition errors when uploading small attachment chunks.

Full changelog

1.46.23 (2026-02-25)

Bug Fixes

  • RFC5987-filename: ZMS-14: Allow RFC5987 encoded filenames (filename*=charset'language'text) (#993) (53e220a)
  • ZMS-3: reduce race condition errors when uploading sub-chunk size attachments (#997) (524529e)
v1.46.22 Bug fix

Fixed messages search `q` parameter parsing for AND full‑text queries.

Full changelog

1.46.22 (2026-02-16)

Bug Fixes

  • api-filters: ZMS-15: unify FilterAction and FilterActionUpdate joi schemas, allow actions to be nullable (#994) (17fcf3c)
  • api-messages-search: ZMSA-80: fix messages search q param parsing for AND fulltext search (#995) (d3e9f63)
  • api: ZMSA-74: fix api endpoints' input and output object types (#988) (ec1ed40)
  • update test workflow, bump mongodb action version (#998) (fe2d4a5)
v1.46.21 Bug fix

Fixed messages search query parameter parsing and improved Redis logging handling.

Full changelog

1.46.21 (2026-02-09)

Bug Fixes

  • logging-autoreply: ZMSA-65: loggelf autoreply error in filterHandler.storeMessage (#983) (7b43049)
  • logging-redis: ZMSA-78: Improve redis config, error logging and retry handling (#987) (86d2627)
  • messages-search: ZMSA-80: fix SearchString import. Fix messages search q param parsing, add search tests for q param (#990) (312f9f7)
  • ZMSA-64: on API outbound email sends add passwordType: master to envelope object (#978) (24ba575)
v1.46.20 Bug fix

Reverted the rebuild fix for multipart parts in imap-indexer.

Full changelog

1.46.20 (2026-01-29)

Bug Fixes

  • docs: update docs (#981) (d7f3658)
  • imap-indexer: Revert "fix(rebuild): ZMSA-48: fix rebuilding of multipart parts (#942)" (#980) (545800d)
v1.46.15 Bug fix

Fixed POP3 pipelining race condition causing "invalid reply" errors.

Full changelog

1.46.15 (2026-01-08)

Bug Fixes

  • imap-connection: ZMS-106: fix notification locking issues (#949) (459bdae)
  • pop3: fix pipelining race condition causing mpop "invalid reply" errors (#950) (ea86c9f)
v1.46.14 Bug fix

Fixed a possible EventEmitter memory leak in POP3-TLSSocket.

Full changelog

1.46.14 (2026-01-06)

Bug Fixes

  • advertise extended capabilities pre-auth (matches Gmail/Yahoo/Outlook behavior) (#943) (81f30cb)
  • POP3-TLSSocket: ZMSA-57 fix bug: Possible EventEmitter memory leak detected. 11 timeout listeners added to [TLSSocket] (#939) (b9d8957)
  • userHandler-asyncGetDeleted: ZMSA-52: user-handler create new asyncGetDeleted function to get deleted user by username, id, main address (#947) (f8e14f5)
v1.46.13 Bug fix

Fixed POP3 TOP command error after stream end and DKIM legacy decipher issues.

Full changelog

1.46.13 (2025-12-16)

Bug Fixes

  • crypto.createDecipher: ZMSA-47: dkim legacy decipher fixes (#935) (538b22e)
  • pop3top: ZMSA-55: fix POP3 TOP -ERR write after end (#938) (42a7b4a)
v1.46.12 Maintenance

Minor fixes and improvements.

Full changelog

1.46.12 (2025-12-09)

Bug Fixes

  • workflows-deps: ZMSA-46: update release workflow and other workflows , update deps (#933) (cbf6dee)
v1.46.11 Bug fix

Fixed a critical deadlock in gridstore upload and resolved a critical SNICallback bug in the POP3 server.

Full changelog

1.46.11 (2025-12-04)

Bug Fixes

  • gridstore-upload: ZMSA-17: fix gridstore upload deadlock (#918) (4ab6f8e)
  • pop3-snicallback: ZMSA-43: fix critical SNICallback bug in POP3 server (#931) (5fa7139)
  • tls-logging: ZMSA-40: where possible use _ip in gelf logs instead of _remoteAddress (#929) (25ce95f)
v1.46.10 New feature
Notable features
  • Config option SECLEVEL=0 enables TLSv1 and TLSv1.1 support
Full changelog

1.46.10 (2025-12-02)

Bug Fixes

  • add config to allow use of SECLEVEL=0 to enable TLSv1 and TLSv1.1 support (#926) (2ebb072)
  • api-docs: ZMSA-36: update docs (#925) (34c650d)
  • authlog: ZMSA-34: authLog add protocol for better logging in user update and asp generate and delete (#924) (cf66a99)
  • tls-sni-logging: ZMSA-38: imap and pop3 servers when tls errors log meta regardless of error (#928) (97149a8)
  • ZMSA-27: addressregister add disabled field migration - don't run when testing application (#919) (94ee526)
  • ZMSA-28: make migrations configurable (#922) (a58d037)
  • ZMSA-33: request user information also return requirePasswordChange flag value (#923) (c42ad5c)
v1.46.9 Bug fix

Fixed POP3 TOP counter calculation, updated password handling to clear the change‑required flag.

Full changelog

1.46.9 (2025-11-25)

Bug Fixes

  • req_existingPassword: ZMSA-32: censor existingPassword in gelf logs (#917) (1d04818)
  • ZMSA-29: POP3 TOP command calculate counters correctly and correctly update them (#914) (4442eb5)
  • ZMSA-31: when updating password set requirePasswordChange false (#916) (551860c)
v1.46.8 Bug fix

Fixed a bug where updating user information with a new password did not perform pwned password checks.

Full changelog

1.46.8 (2025-11-19)

Bug Fixes

  • ZMSA-24: when updating user info and setting new password reset pwned checks (#912) (1e2bdcd)
v1.46.7 Bug fix

Fixed pwned checks, logging improvements, and reset handling for compromised passwords.

Full changelog

1.46.7 (2025-11-19)

Bug Fixes

  • ZMSA-17: improve filterHandler and messageHandler logging (#907) (03c4ffd)
  • ZMSA-21 & ZMSA-22: fixes to pwned check and return pwned infor on get user api query (#909) (f494c83)
  • ZMSA-24: unset lastPwnedCheck and passwordPwned when resetting user password (#911) (78fbe8a)
v1.46.6 Bug fix

Fixed uncaught exception `dest.on` is not a function.

Full changelog

1.46.6 (2025-11-13)

Bug Fixes

  • check password against hibp on hardfail too (#904) (34e6be8)
  • fixed uncaught exception dest.on is not a fn (closes #858) (#905) (f8bae92)
  • hibp-use-keepalive: ZMSA-12: use keepalive when querying HIBP database (#900) (1d42bc7)
  • hibp: ZMSA-11: check user password in HIBP after successful password check (#901) (ca38ef2)
  • messageHandler-logging: ZMSA-15: improve message-handler logging (#903) (5c508fe)
  • threading: ZMS-281: refactor threading (#899) (81c746c)
v1.46.3 Bug fix

Fixed handling of missing parsedHeader.from in IMAP onAppend logging.

Full changelog

1.46.3 (2025-10-27)

Bug Fixes

  • addAsync-thread: ZMSA-2: message addAsync, if a message is referenced then use reference's thread (#889) (2e89a0e)
  • addressregister-migration: ZMSA-6: improve addressregister migration script (#892) (de6ee9f)
  • health: ZMSA-4: health endpoint also add WD API version (#890) (35ed9fc)
  • imap-onAppend-logging: ZMSA-7: onappend logging - parsedHeader.from might not exist (#894) (27fcd73)
  • threading: ZMSA-5: if referencing a deleted thread then recreate it (#893) (7b88109)
v1.46.2 Maintenance

Minor fixes and improvements.

Full changelog

1.46.2 (2025-10-17)

Bug Fixes

  • ZMSA-1: update release workflow, update deps, use updated deps, scope package (#887) (e3d3221)
v1.46.1 Bug fix

Fixed IMAP append logging improvements and plugin handler updates.

Full changelog

1.46.1 (2025-10-14)

Bug Fixes

  • imap-append: ZMS-276: imap append improve logging add new fields to logging (#884) (6e4b701)
  • pluginhandler: ZMS-269: plugins - use wild-plugins, update options, allow for dynamic config (#886) (479e5bc)
v1.46.0 Breaking risk
Breaking changes
  • Removed support for node v16 and v18
Full changelog

1.46.0 (2025-10-07)

Features

  • deps-node: ZMS-267: Bump Deps, Update API Docs, Remove support for node v16 and v18 (#867) (48ee3ea)

Bug Fixes

  • addressregister: ZMS-268: add new addressregister endpoint to disable an entry or edit it (#873) (08e5070)
  • fulltext-filter: ZMS-257: Add boolean logic to fulltext filter (#863) (06569f6)
  • messages-search: ZMS-271: optimize user messages search query (#876) (63811c7)
  • migrations: ZMS-274 Implement MongoDb Migrations in Wildduck (#879) (f71972d)
  • pop3download-log: ZMS-263: POP3RETR OK also log transferred bytes' size (#872) (5411118)
  • pwned-check: ZMS-264: Add feature to check password with PwnedPassword API on User Login (#864) (fb01977)
  • search-apply: ZMS-275: search-apply allow to delete found messages (#881) (1dc422f)
  • update api docs (#880) (a38a704)
v1.45.13 Bug fix

Fixed `getMessages` to honor an unset/untrue unseen flag and enabled searching exclusively for seen messages.

Full changelog

1.45.13 (2025-09-11)

Bug Fixes

  • domaincache: ZMS-266: domaincache add updates where necessary (#866) (eef9703)
  • getmessages: ZMS-260: messages.js getMessages allow unseen request flag to be false (#861) (aab6608)
  • messages-search: ZMS-265: messages.js search, allow to search for only seen messages (#865) (d0bd732)
v1.45.12 Bug fix

Fixed on‑expunge handling to return “0 EXISTS” when no messages are deleted.

Full changelog

1.45.12 (2025-08-22)

Bug Fixes

  • domaincache-and-domainaliases: ZMS-259 add wildcard address check when adding domain to mongodb cache (#859) (4ce3eed)
  • on-expunge: ZMS-255 for client compatibility in case no messages were deleted during expunge return no * 0 EXISTS (#853) (897b4b3)
  • submit-addressregister: ZMS-256 when submitting draft for delivery update addressregister (#852) (b0eef8d)
v1.45.11 Bug fix
⚠ Upgrade required
  • Docker Compose: removed CMD_ARGS, now uses APPCONF environment variable
  • Updated docker-compose-wd-image to use the latest wildduck image from GHCR
Full changelog

1.45.11 (2025-08-01)

Bug Fixes

  • add check for session existence before writing to session writeStream in message-handler (#843) (95bc33c)
  • connection-management: implement connection management, POP3 timeout fixes, and comprehensive documentation (#835) (70aed51)
  • docker-compose-wd-image: ZMS-250 use up-to-date wildduck image from GHCR (#842) (0ce50fd)
  • docker-compose: ZMS-250 update docker-compose, remove CMD_ARGS, use APPCONF in environment variables instead (#841) (68e83e4)
  • docs-attachments: ZMS-251 add missing fields in the response schema of attachments when fetching messages (#846) (765c46c)
  • domaincache: ZMS-247 implement domain cache to store all used domains of users (#845) (4adfce0)
  • logging: ZMS-216 add logs for debugging timeout issue (#823) (dc56afc)
  • revert recent readme changes, keep only necessary info (#848) (0f1a55c)
  • setup-script: ZMS-252 Install script updates (#847) (c209b3a)
v1.45.10 Bug fix

Fixed gridstore download stream to prevent start being larger than end.

Full changelog

1.45.10 (2025-07-22)

Bug Fixes

  • addressregister-search: Make addressregister able to find addresses by domain ZMS-243 (#832) (5631bd4)
  • addressregister-tests: add more addressregister tests ZMS-245 (#834) (213fcb8)
  • docs-response-bimi: update getMessages endpoint - set the correct bimi response type ZMS-244 (#831) (60b374e)
  • gridstore-downloadstream: In gridstore download stream ensure that start is never bigger than end ZMS-235 (#828) (3dfe218)
  • imap-parser: Rewrite imap-parser, fix common issues ZMS-234 (#830) (3639d11)
  • messages.js-tests: ZMS-228 add initial tests for messages.js endpoints (#838) (cc3d7b6)
v1.45.9 Bug fix

Fixed API script errors and release artifact publishing issues.

Full changelog

1.45.9 (2025-06-12)

Bug Fixes

  • (workflow): fix api.js, fix release artifacts publishing ZMS-241 (#826) (8c4af47)
v1.45.8 Bug fix

Fixed deleteMany callbacks not being functions and added async versions.

Full changelog

1.45.8 (2025-06-11)

Bug Fixes

  • deleteMany: Fix deleteMany callback is not a function. Create async versions of functions ZMS-232 (#821) (8ada099)
  • deploy-zip: use runner.temp to store temporary files (#819) (7f5409f)
  • pagination-paginatedField: check for correct mongopaging cursor ZMS-229 (#822) (3c9ecc7)
  • ZMS-238 remove callback based deleteMany from attachment storage. (#824) (c3a3163)
  • ZMS-239 parse datestring to isostring when logging request params (#825) (b026f07)

Beta — feedback welcome: [email protected]