Maddy
All-in-one composable mail server
A one-binary mail server learning to behave like production infrastructure.
◆Recent moves
- 2mo ago
maddy 0.9.5 fixes nested pipeline logging and systemd reload reporting
Cleanup after the logger tree refactor in 0.9.4: the message pipeline now always initialises its logger for nested pipelines, and a nil check was added on logger close. A dangling destination limiter on first RCPT error was fixed, arm64 Docker builds re-enabled, and systemd now reports READY=1 after reload — the last of these tying off the no-downtime reload work from 0.9.0.
View source ↗ - 3mo ago
maddy 0.9.4 removes the maddyctl symlink and implicit run command
Two long-deprecated conveniences are gone: the binary no longer changes behaviour when invoked as maddyctl, and running maddy with no command no longer defaults to run — a warning that had been in place since 0.6, four years earlier. The stated reason is that the CLI hacks made --log handling inconsistent, which fits the wider pattern of trading convenience for predictable behaviour. A LOGIN SASL auth directive was added and the logger tree properly restructured.
View source ↗ - 3mo ago
maddy 0.9.3 patches an LDAP injection flaw in auth.ldap
A security release fixing an LDAP injection vulnerability in the auth.ldap module, tracked as CVE-2026-40193, which could be used to extract directory information including password hashes and authorization data. Anyone authenticating against LDAP needs this one; the release also fixes dependency cycles when loading config.
View source ↗ - 4mo ago
maddy 0.9.2 fixes an rspamd panic on unspecified tls_client
A single-fix release issued two minutes after 0.9.1 to repair the rspamd integration that release broke. It changes nothing else, and exists only because the tls_client directive definition landed wrong.
View source ↗ - 4mo ago
maddy 0.9.1 flags libdns providers for removal in 0.10.0
Mostly a deprecation notice with teeth: vultr, namedotcom and leaseweb are probably losing ACME DNS-challenge support, and gandi will require Bearer-type tokens from 0.10.0 rather than API tokens. Operators using any of those need to plan now. The release also ships OpenMetrics initialisation and tls_client fixes — and shipped broken rspamd support, corrected minutes later in 0.9.2.
View source ↗ - 4mo ago
maddy 0.9.0 adds no-downtime configuration reloading
⚡ SPARKThe release that makes maddy plausible for hosts that cannot drop mail during a config change: SIGUSR2 now starts a server with the new configuration while gracefully shutting the old one down, preserving listener sockets so there is no window without an acceptor. Per-response DNSBL scoring lands alongside it, and the following five releases are largely consequences of this one.
View source ↗