maddy 0.2.0 **Stability:** This version is believed to be stable enough for use in use non-critical deployments. Database structure for `sql` (imapsql) module is compatible with 0.1. Configuration requires some changes. == Incompatible changes & migration notes - `alias_file` is replaced with generic `rewrite_rcpt` module that can use any "table"-like structure for lookups. **Migration**: Replace `alias_file /etc/maddy/aliases` with `alias file_table /etc/maddy/aliases`. If multiple - `rewrite_rcpt` now relies on tables to handle regexp and static replacements. **Migration**: Replace `replace_rcpt postmaster postmaster@$(primary_domain)` with `replace_rcpt static { entry postmaster postmaster@$(primary_domain)`. Replace `replace_rcpt "(.+)\+(.+)@(.+)" "$1@$3"` with `replace_rcpt regexp "(.+)\+(.+)@(.+)" "$1@$3"`. - Module `sql` is renamed to `imapsql`. Change its name in the configuration block definition for `local_mailboxes`/`local_authdb`. - Configuration parser now requires a new line after `}` closing the block. == New features - Authentication code is refined and generalized. It permits the implementation of additional more complex SASL mechanisms such as TLS client certificate authentication and OAuth2 support. These are not implemented in 0.2 though. What is currently accessible is the ability to use multiple password-based authentication providers to allow user login based on any match from any credentials store configured. - Generic Postfix-like string lookup abstraction is introduced. Alias rewriting is updated to use. Additionally, it is possible to use it for password-based authentication now. Currently implemented "tables" are: `identity` (returns the lookup key), `dummy` (empty table), `sql_table` (returns the result of a SQL query), `static` (hardcoded mapping), `regexp` (Regular Expression-based rewrite of lookup key). - `sign_dkim` module now supports multiple domains in a single configuration, avoiding the need for complex dispatching. - `maddy -v` output now includes compile-time defaults for `state_dir`, `runtime_dir` and configuration path. - `build.sh` script can now customize default values for `state_dir` and `runtime_dir`. == Bug fixes * Fix race in `file_table` reload test (a91d8c2) * Fix misuse of TriesCount in queue (ceda725) * Fix queue retry delay calculation (4b3e7ce)