If you tried to install 6.2.19 on a fresh machine and it failed or hung, this release is the fix. Upgrades from existing installations were never affected. Everything in the 6.2.19 notes is in this release too. The fresh-install failure in 6.2.19 Two defects stacked, and each is worth a sentence because each is a class. The database creation failed. The SQL script runner splits a script into commands on blank lines, and SQL Server Compact — the embedded database a fresh install uses — executes one statement per command and refuses a batch. A recent change added settings to the create scripts with a single newline between inserts: three statements, one command. Full SQL Server accepts that batch, so the development database and the 1,490-test regression suite saw nothing wrong; only a fresh install runs the create script against SQL CE. The same adjacency was in the MySQL script (whose client refuses multi-statements by default too) and the PostgreSQL script. All three are fixed, and a mechanical sweep of all 199 SQL scripts confirms no multi-statement command remains in any create script or any SQL CE script. (Five upgrade scripts from the hMailServer 5.x era carry batches for the full-server backends that accept them; they have a decade of successful upgrades behind them and are deliberately left untouched.) The failure hung instead of failing. The error raised a plain message box, and /VERYSILENT /SUPPRESSMSGBOXES suppresses only the suppressible kind — so a silent install did not report the failure, it waited on a dialog with nobody at the keyboard. In CI that was ninety minutes until a person cancelled it; on a real unattended deployment it would have been forever. Every dialog in the installer (28 of them — any one was a potential silent-install hang) now takes its default button under /SUPPRESSMSGBOXES, and the installer proceeds to an exit code a deployment script can actually read. Interactive installs see exactly the dialogs they always saw. Who was affected: fresh installations of 6.2.19 using the built-in database (the default), and most likely fresh installations onto MySQL. Who was not: every upgrade of an existing installation — upgrades run the upgrade scripts, which were clean — and existing servers, whose databases already exist. How it was caught By the installer smoke test, which installs every release on a throwaway machine — and which has itself been fixed to be worth more: the silent-install step is now bounded at ten minutes instead of hanging with the job, writes and keeps the installer's own log, and on a database failure re-runs the setup tool and prints the stderr the real error had been going to all along. The 6.2.19 hang produced no evidence in ninety minutes; the instrumented re-run named the failing dialog and its exit code in ten. Also in this release (since 6.2.19) IMAP THREAD (RFC 5256), both algorithms — THREAD=ORDEREDSUBJECT THREAD=REFERENCES — with real References-chain threading: conversation trees for the clients that ask for them, bounded by the same per-command ceilings as SEARCH and SORT. An adversarial review of the new code found and fixed a stack overflow reachable through a deep reply chain, an uninterruptible header pass, and a malformed-Date sort inversion, before any of it shipped. The release-signing workflow could not name its own repository and failed on its first run; fixed, and 6.2.19's assets were signed by the re-run. This release's assets are signed the same way. Validated by the full regression suite against this binary, and by the installer smoke test against this exact installer before the release was promoted from pre-release.