Notable Changes
- Automatic Quota Expiry to keep mailboxes always under quota
- Increased default Mailbox Size from 100MB to 500MB
- Support for relaying to underscore-domains (self-signed TLS) and to IP-only ("no-dns") relays
- Reduce disk pressure and increase delivery speed through disabling fsync on dovecot LMTP/IMAP delivery
- New "cmdeploy --website-only" flag to only deploy the web pages, and nothing else, to help iterating through changes.
- Experimental Docker support: https://github.com/chatmail/docker
- Rewrote filtermail in Rust, use it for DKIM verification
- Pinned dovecot versions, avoiding deployment failures
- Replaced public metrics with more detailed internal metrics, which can be fetched with prometheus
- Reduced metadata by stripping Received and DKIM-Signature headers
- Better
--ssh-host @localsupport - soon we will recommend it by default
Added
- Route
/mxdeliv/to configurable port #901 - add Prometheus textfile output #881
- make tests work with
--ssh-host localhost#856 - Introduce support for self-signed chatmail relays #855
- accept self-signed certificates for IP-only relays #846
- Strip Received headers before delivery #849
- disable appending the Received header #815
- Set default internal SMTP ports in Config #819
- add config flag to export statistics #806
- add --website-only option to run subcommand #768
- add repository_dispatch trigger to chatmail/docker for automated docker image builds #934
Changed
- automatic oldest-first message removal from mailboxes to always stay under max_mailbox_size #929
- Rewrite dovecot install logic #862, #908, #899, #913, #875
- replace DKIM verification with filtermail #831
- remove --slow from cmdeploy test #931
- replace resolvconf with static resolv.conf #928
- disable fsync for LMTP and IMAP services #925
- reconfigure acmetool from redirector to proxy mode #861
- fix VM detection, automated testing fixes, use newer chatmail-turn and move to standard BIND DNS zone format #912
- Replace filtermail with rust reimplementation #808, #910
- support specifying custom filtermail binary through environment variable #941
- prefer IPv4 in SMTP client #900
- stop installing cron package #898
- Disable IP verification on domain-literal addresses #895
- disable installing recommended packages globally on the relay #887
- remove /metrics from the website #703
- Strip DKIM-Signature header before LMTP #803
- increases default max mailbox size #792
Fixes
- handle missing inotify sysctl keys in containers #930
- detect stale dovecot binary and force restart in activate() #922
- multiple bug fixes across chatmaild and cmdeploy #883
- chown opendkim: private key #879
- start mtail after networking is fully up #942
- make sure chatmail-metadata was started #882
- remediates issue with improper concat on resolver injection #834
- properly make sure that postfix gets restarted on failure #802
- expire.py: use absolute path to maildirsize #807