Skip to content

maddy 0.3.0

Compare
Choose a tag to compare
@foxcpp foxcpp released this 31 May 18:06
· 508 commits to master since this release
v0.3.0
ab948e1

Stability: This version is believed to be stable enough for use in use
non-critical deployments.

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
documentation.

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
Postfix).

  • 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 and this release will be amended.

🔒 Attached tarballs are signed using PGP key 3197 BBD9 5137 E682 A597 17B4 34BB 2007 0813 96F4