As of 2.4.2, Dovecot no longer crashed and broken config vars no longer caused it to error out, so I finally (reluctantly) switched to it over 2.3, though I had to disable/change a few things to get it to work. However, my virtual namespaces were still broken, since the autosubscribe = yes option would cause the driver to attempt to create the virtual directories, and fail when they already existed. Turning off autosubscribe meant that the folders were not visible to my users without manually subscribing.
With 2.4.3, now the virtual configs that "worked" before now cause Dovecot to error out completely! Yay
It seems this commit introduced a "feature" that restricts the virtual driver to the fs list format: https://github.com/dovecot/core/commit/b4a4a32361b8f0e68ef230add6467eddd0fff...
But why? Is fs the only format that works? But maildir++ worked in both 2.3 and in previous versions of 2.4. The 2.4.3 docs (still) also recommend switching to maildir++ if desired: https://doc.dovecot.org/2.4.3/core/plugins/virtual.html#virtual-mailbox-plug...
In my config, I use maildir for everything. That means in my mailboxes and all my namespaces. But with this change, I must now use fs as my list format for the virtuals. But, I can't do that, because all list = yes namespaces in use by a mailbox must use the same list format...
So now my previously invisible virtual folders now cause Dovecot to fall over and I have to completely remove the virtual declarations from my config.
What am I supposed to do now?