Dovecot and Pigeonhole v2.4.2 released
Hi!
We are pleased to release version 2.4.2 of Dovecot and Pigeonhole.
Important notice that we are adding new dependency of libpcre2 in this release to implement support for regular expressions in more safe manner.
This release adds support for Debian Trixie and Red Hat Enterprise Linux 10, and removes support for Debian Bullseye and Red Hat Enterprise Linux 8.
https://dovecot.org/releases/2.4/dovecot-2.4.2.tar.gz https://dovecot.org/releases/2.4/dovecot-2.4.2.tar.gz.sig https://pigeonhole.dovecot.org/releases/2.4/dovecot-pigeonhole-2.4.2.tar.gz https://pigeonhole.dovecot.org/releases/2.4/dovecot-pigeonhole-2.4.2.tar.gz....
Binary packages in https://repo.dovecot.org/ Docker images in https://hub.docker.com/r/dovecot/dovecot
--
Dovecot NEWS
- CVE-2025-30189: Passdb oauth2 (not oauth2 mechanism), passdb passwd, passdb bsdauth, and userdb passwd drivers would cause users to be cached with same cache key when auth cache was enabled.
 - auth: Remove proxy_always field.
 - config: Change settings history parsing to use python3.
 - doveadm: Print table formatter - Print empty values as "-".
 - imapc: Propagate remote error codes properly.
 - lda: Default mail_home=$HOME environment if not using userdb lookup
 - lib-dcrypt: Salt for new version 2 keys has been increased to 16 bytes.
 - lib-dregex: Add libpcre2 based regular expression support to Dovecot, if the library is missing, disable all regular expressions. This adds libpcre2-32 as build dependency.
 - lib-oauth2: jwt - Allow nbf and iat to point 1 second into future.
 - lib: Replace libicu with our own unicode library. Removes libicu as build dependency.
 - login-common: If proxying fails due to remote having invalid SSL cert, don't reconnect.
 
- auth: Add ssl_client_cert_fp and ssl_client_cert_pubkey_fp fields, see https://doc.dovecot.org/latest/core/summaries/settings.html#ssl_peer_certifi... for more information.
 - config: Add support for $SET:filter/path/setting.
 - config: Improve @group includes to work with overwriting their settings.
 - doveadm kick: Add support for kicking multiple usernames
 - doveadm mailbox status: Add support for deleted status item.
 - imap, imap-client: Add experimental partial IMAP4rev2 support.
 - imap: Implement support for UTF8=ACCEPT for APPEND
 - lib-oauth2, oauth2: Add oauth2_token_expire_grace setting.
 - lmtp: lmtp-client - Support command pipelining.
 - login-common: Support local/remote blocks better.
 - master: accept() unix/inet connections before creating child process to handle it. This reduces timeouts when child processes are slow to spawn themselves.
 
- SMTPUTF8 was accepted even when it wasn't enabled.
 - auth, *-login: Direct logging with -L parameter was not working.
 - auth: Crash occured when OAUTH token validation failed with oauth2_use_worker_with_mech=yes.
 - auth: Invalid field handling crashes were fixed.
 - auth: ldap - Potential crash could happen at deinit.
 - auth: mech-gssapi - Server sending empty initial response would cause errors.
 - auth: mech-winbind - GSS-SPNEGO mechanism was erroneously marked as not accepting NUL.
 - config: Multiple issues with $SET handling has been fixed.
 - configure: Building without LDAP didn't work.
 - doveadm: If source user didn't exist, a crash would occur.
 - imap, pop3, submission, imap-urlauth: USER environment usage was broken when running standalone.
 - imap-hibernate: Statistics would get truncated on unhibernation.
 - imap: "SEARCH MIMEPART FILENAME ENDS" command could have accessed memory outside allocated buffer, resulting in a crash.
 - imapc: Fetching partial headers would cause other cached headers to be cached empty, breaking e.g. imap envelope responses when caching to disk.
 - imapc: Shared namespace's INBOX mailbox was not always uppercased.
 - imapc: imapc_features=guid-forced GUID generation was not working correctly.
 - lda: USER environment was not accepted if -d hasn't been specified.
 - lib-http: http-url - Significant path percent encoding through parse and create was not preserved. This is mainly important for Dovecot's Lua bindings for lib-http.
 - lib-settings: Crash would occur when using %variables in SET_FILE type settings.
 - lib-storage: Attachment flags were attempted to be added for readonly mailboxes with mail_attachment_flags=add-flags.
 - lib-storage: Root directory for unusable shared namespaces was unnecessarily attempted to be created.
 - lib: Crash would occur when config was reloaded and logging to syslog.
 - login-common: Crash might have occured when login proxy was destroyed.
 - sqlite: The sqlite_journal_mode=wal setting didn't actually do anything.
 - Many other bugs have been fixed.
 
--
Pigeonhole NEWS
- lib-sieve: Use new regular expression library in core.
 - managesieve: Add default service_extra_groups=$SET:default_internal_group.
 
- lib-sieve: Add support for "extlists" extension.
 - lib-sieve: regex - Allow unicode comparator.
 
- lib-sieve-tool: sieve-tool - All sieve_script settings were overriden.
 - lib-sieve: storage: dict: sieve_script_dict filter was missing from settings.
 - sieve-ldap-storage: Fix compile without LDAP.
 
hi,
We are pleased to release version 2.4.2 of Dovecot and Pigeonhole.
I tried to build dovecot myself on a Debian 12 system and ran into the following error:
-- snip
...> make[3]: Entering directory '/usr/local/src/mailsystem/dovecot-2.4.2/src/lib-lua' CC test_lua-test-lua.o CC dlua-script.lo CC dlua-pushstring.lo CC dlua-error.lo CC dlua-dovecot.lo CC dlua-dovecot-http.lo CC dlua-compat.lo CC dlua-resume.lo CC dlua-table.lo CC dlua-thread.lo CC dlua-iostream.lo CC test_lua_http_client-test-lua-http-client.o dlua-iostream.c:16:28: error: field 'stream' has incomplete type 16 | struct luaL_Stream stream;-- snap
This is more for informational purposes, as I am unlikely to be able to participate in debugging.
Best regards Christoph
Hi!
This is caused by lua 5.1 incompability. We are looking into whether we intend to support Lua 5.1 or Lua 5.3+ only.
Aki
On 29/10/2025 16:27 EET ckubu via dovecot <dovecot@dovecot.org> wrote:
hi,
We are pleased to release version 2.4.2 of Dovecot and Pigeonhole.
I tried to build dovecot myself on a Debian 12 system and ran into the following error:
-- snip
...> make[3]: Entering directory '/usr/local/src/mailsystem/dovecot-2.4.2/src/lib-lua' CC test_lua-test-lua.o CC dlua-script.lo CC dlua-pushstring.lo CC dlua-error.lo CC dlua-dovecot.lo CC dlua-dovecot-http.lo CC dlua-compat.lo CC dlua-resume.lo CC dlua-table.lo CC dlua-thread.lo CC dlua-iostream.lo CC test_lua_http_client-test-lua-http-client.o dlua-iostream.c:16:28: error: field 'stream' has incomplete type 16 | struct luaL_Stream stream;-- snap
This is more for informational purposes, as I am unlikely to be able to participate in debugging.
Best regards Christoph
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
Hi Aki, hi Timo, hi list,
On 10/29/25 09:21, Aki Tuomi via dovecot wrote:
Binary packages in https://repo.dovecot.org/
following the instructions for Debian Trixie results in:
Warning: No Hash entry in Release file /var/lib/apt/lists/partial/repo.dovecot.org_ce-2.4-latest_debian_trixie_dists_trixie_InRelease which is considered strong enough for security purposes Error: The repository 'https://repo.dovecot.org/ce-2.4-latest/debian/trixie trixie InRelease' provides only weak security information. Notice: Updating from such a repository can't be done securely, and is therefore disabled by default. Notice: See apt-secure(8) manpage for repository creation and user configuration details.
The InRelease is missing SHA256/SHA512 hashes and only has MD5Sum & SHA1 hashes, see https://wiki.debian.org/DebianRepository/Format#MD5Sum.2C_SHA1.2C_SHA256 ("Clients may not use the MD5Sum and SHA1 fields for security purposes, and must require a SHA256 or a SHA512 field.").
Could you please add at least SHA256 hashes? Otherwise, the repo is useless for Trixie.
Also found: https://doc.dovecot.org/latest/ and https://doc.dovecot.org/ still redirect to .../2.4.1/ instead of .../2.4.2/ !
Best regards,
Patrick Cernko <pcernko@mpi-klsb.mpg.de> +49 681 9325 5815 Joint Scientific IT and Technical Service Max-Planck-Institute für Informatik & Software Systems
On 30/10/2025 21:47 EET Patrick Cernko via dovecot <dovecot@dovecot.org> wrote:
Hi Aki, hi Timo, hi list,
On 10/29/25 09:21, Aki Tuomi via dovecot wrote:
Binary packages in https://repo.dovecot.org/
following the instructions for Debian Trixie results in:
Warning: No Hash entry in Release file /var/lib/apt/lists/partial/repo.dovecot.org_ce-2.4-latest_debian_trixie_dists_trixie_InRelease which is considered strong enough for security purposes Error: The repository 'https://repo.dovecot.org/ce-2.4-latest/debian/trixie trixie InRelease' provides only weak security information. Notice: Updating from such a repository can't be done securely, and is therefore disabled by default. Notice: See apt-secure(8) manpage for repository creation and user configuration details.
The InRelease is missing SHA256/SHA512 hashes and only has MD5Sum & SHA1 hashes, see https://wiki.debian.org/DebianRepository/Format#MD5Sum.2C_SHA1.2C_SHA256 ("Clients may not use the MD5Sum and SHA1 fields for security purposes, and must require a SHA256 or a SHA512 field.").
Could you please add at least SHA256 hashes? Otherwise, the repo is useless for Trixie.
Also found: https://doc.dovecot.org/latest/ and https://doc.dovecot.org/ still redirect to .../2.4.1/ instead of .../2.4.2/ !
Best regards,
Patrick Cernko <pcernko@mpi-klsb.mpg.de> +49 681 9325 5815 Joint Scientific IT and Technical Service Max-Planck-Institute für Informatik & Software Systems
Hi!
The hashing issue should be fixed, the redirect issue is unfortunate over aggressive caching issue, you need to clear your local browser cache to fix that. We have fixed it already on server-side.
Aki
participants (4)
- 
                
                Aki Tuomi
 - 
                
                Aki Tuomi
 - 
                
                ckubu
 - 
                
                Patrick Cernko