On 2026-01-28 09:07, Aki Tuomi via dovecot wrote:
Hi!
To make migrating from Dovecot 2.3 to 2.4 a bit easier, we are now providing a tool that helps upgrade your existing configuration. The tool allows you to upload either a full dovecot.conf or selected ancillary configuration files from a 2.3 setup, and will attempt to convert them accordingly.
You can find the tool here: https://dovecot.org/upgrader/
We do not store any of the configurations processed by the tool, nor do we track who uses it. It's offered as-is, without any warranty or guarantee.
If you run into any issues, unexpected results, or have feedback about the tool, please let us know — it’s very much appreciated.
Please note that the tool can make mistakes, so we strongly recommend carefully reviewing and testing the output before using it in production.
There are currently no plans to release this tool as open source.
Regards, Aki Tuomi Open-Xchange oy
Hello Aki,
I found some bugs with my config in the upgrade tool. Hope I mentioned all of them. I can retest when fixed.
Conversion tool problems on 7.2.2026:
################################################################################ userdb { args = username_format=%n /etc/dovecot/users driver = passwd-file } => userdb passwd-file { driver = passwd-file passwd_file_path = /etc/dovecot/users # error here # username_format: Unknown setting: username_format (userdb_username_format or userdb_passwd-file_username_format not found either.) username_format = %{user | username} }
################################################################################ plugin { sieve = ~/.dovecot.sieve sieve_after = /etc/dovecot/sieve_after.sieve sieve_dir = ~/sieve }
=>
must be sieve_script with other parameters
Unknown section name: sieve
sieve personal { driver = file path = ~/sieve }
must be sieve_script with other parameters
Unknown section name: sieve
sieve after-0 { driver = file path = /etc/dovecot/sieve_after.sieve type = after }
################################################################################ protocol lda { mail_debug = yes =>
error here:
Invalid log_debug: event filter: syntax error, unexpected '=',
expecting end of file log_debug = filter=category=mail
################################################################################ ssl_prefer_server_ciphers = yes =>
Error here
prefer_ciphers: Invalid value: yes
prefer_ciphers = yes
Thnx.
Ciao,
Gerhard