maddy 0.3.0 released

Message ID
DKIM signature
Download raw message
**Stability:** This version is believed to be stable enough for use in use
non-critical deployments.

## Change log

### Breaking changes

* Minimal supported Go version is increased to Go 1.14

maddy keeps tracking latest Go version to benefit from language and
library improvements.

build.sh script will automatically download a newer toolchain version
if system installed version is too old.

* Fully separate authentication from IMAP access

Now there is no uniform database that is used both for IMAP index and
authenticaiton. This allows completely independent implementation and 
leveraging of maddy modular framework for more flexible authentication

This is a breaking change that also affects how password hashes are
calculated and requires destructive changes to databases created in 
0.2 order to use with 0.3. A migration utility is created to assist
with that. See Upgrading page in documentation for detailed instructions. 

### New features

* Preliminary milter client implementation

This release introduces limited implementation of milter client protocol. Due
to a number of differences between how maddy handles internal filtering and
protocol model "milters" currently cannot make most modifications to the
message content and is limited to prepending headers and quarantining or
rejecting message.

* source_in, destination_in directives for message pipeline

Directives `source_in` and `destination_in` allow matching of message senders
or recipients against lists sources from table modules (files, SQL queries,
etc). See maddy-smtp(5) for details.

* Dovecot authentication client support

maddy now implements client side of Dovecot authentication protocol allowing it
to be used with Dovecot as an IMAP server instead of builtin server.

* Dovecot-compatible sasld endpoint

Additional, maddy also implements Dovecot-compatible sasld endpoint
that allows it to be used as a source for authentication data for other
servers that support Dovecot authentication protocol (e.g. SMTP servers like

* lmtp_downstream delivery target

maddy now has full implementation of LMTP client allowing messages to be
forwarded to other software that speaks LMTP protocol.

* endpoint/smtp: Allow to choose the IP to use for outbound smtp.

* modify/dkim: Allow to sign emails from subdomains using a top domain key

### Improvements

* cmd/maddyctl: Create a set of typical mailboxes on IMAP account creation
* endpoint/smtp: Send 535 on permanent authentication failure
* target: Make Received generation more robust in case of missing data
* config: Support scheme:IP:PORT syntax for endpoint declaration

### Bug fixes

* storage/imapsql: Fix SPECIAL-USE support being accidentally disabled
* Fix and improve -v flag description
* endpoint/smtp: Fix missing server hostname in Received header
* target/remote: Do not fail delivery with null return path

### Documentation improvements

* Fix a number of links in documentation
* Add page about IMAP-only configuration
* Mention disabled HZGB2312 support
* Add smtp-only.md page
* Add imap-only.md page
* Add FAQ page
* Add upgrading instructions page

## Build artifacts

There is no binary tarballs for this release as Alpine Linux 3.12 ships Go 1.13.
This will be addressed in the future.

Source tarballs are available as usual, on GitHub and https://foxcpp.dev/maddy-builds/.

8288ec5970d0bbfacff64603e59e00c112d8c44c73e460ef3716dc4eeb4db384  maddy-0.3.0-src.tar.zst
Export thread (mbox)