Releases: docker-mailserver/docker-mailserver
v15.1.0
Useful Links
- Diff to last release: v15.0.2...v15.1.0
- Our Changelog
What's Changed
This release comes with various documentation improvements, a new configurable poll rate for the change-detector, and miscellaneous smaller bug fixes.
Note
We will begin merging changes for DMS v16.0.0 after this release, including the update to Debian 13, which is not a part of this release.
Merged Pull Requests
- docs: Fix broken README link for SRS by @c960657 in #4434
- docs: Dovecot Solr - Add compatibility note by @beertje44 in #4433
- refactor: setup CLI
open-dkim
by @polarathene in #4375 - docs: Contributing (tests) - Link to guidance for
TEST_TMP_CONFIG
by @polarathene in #4451 - feat: Configurable poll rate for
check-for-changes.sh
by @litetex in #4450 - tests: Reference the new
testssl
image location by @polarathene in #4454 - fix:
setup email list
should only work withACCOUNT_PROVISIONER=FILE
by @polarathene in #4453 - docs(xapian): Add note about config compatibility by @polarathene in #4464
- docs:
mailserver.env
- Remove unsupported SASL auth mechanisms by @worldworm in #4472 - feat: Enable reading env vars from files by @aartoni in #4359
- chore: Typo fix for debug log by @polarathene in #4480
- docs: Revise
TLS_LEVEL
ENV description by @polarathene in #4482 - docs: PROXY protocol (Traefik) - Fix config typo by @Blitz-Cloud in #4483
- fix: Ensure DMS config volume can be accessed by non-root users by @polarathene in #4487
- fix:
packages.sh
- Remove Postfix hostname workaround by @polarathene in #4493 - chore: Avoid logging a warning when
LOG_LEVEL
is unset by @polarathene in #4497 - docs: Revise docs for the
OVERRIDE_HOSTNAME
ENV by @s0ftcorn in #4492 - chore: Simplify
compose.yaml
healthcheck by @polarathene in #4498 - docs: Adjust PROXY Protocol port names by @polarathene in #4511
- docs: fix minor typo by @daks in #4513
- fix: open-dkim - Use numerical uid and gid for chown by @ap-wtioit in #4517
- fix(fail2ban): configure logrotate only when Fail2Ban is enabled by @SpeedyGonzaless in #4523
- docs: fix minor typo by @MahdiBaghbani in #4532
- docs: Fix path in dkim helper script (rspamd) by @fim-sh in #4531
- docs: Podman - Document how to setup DMS with Quadlet by @RoelSG in #4183
- chore: disable F2B
postfix-sasl
jail by @georglauterbach in #4535 - docs: Add warning about broken apple push notifications support by @dmarks100 in #4541
New Contributors
- @c960657 made their first contribution in #4434
- @litetex made their first contribution in #4450
- @aartoni made their first contribution in #4359
- @Blitz-Cloud made their first contribution in #4483
- @s0ftcorn made their first contribution in #4492
- @daks made their first contribution in #4513
- @SpeedyGonzaless made their first contribution in #4523
- @MahdiBaghbani made their first contribution in #4532
- @fim-sh made their first contribution in #4531
- @RoelSG made their first contribution in #4183
- @dmarks100 made their first contribution in #4541
v15.0.2
Useful Links
- Diff to last release: v15.0.1...v15.0.2
- Our Changelog
What's Changed
This is a patch release that fixes a bug concerning GPG encryption and signing of e-mails.
Merged Pull Requests
v15.0.1
Useful Links
- Diff to last release: v15.0.0...v15.0.1
- Our Changelog
What's Changed
This is a patch release to fix minor bugs reported after the release of v15.0.0. As always, take a brief look at the changelog (linked above).
Merged Pull Requests
- fix:
setup email restrict
configs should only prepend once by @polarathene in #4379 - fix: Support
chmod
on/var/log/mail/*
when dir is empty by @mazzz1y in #4391 - chore: Revise utility install scripts + add Smallstep
step
CLI by @polarathene in #4376 - fix:
postfix-receive-access.cf
should prepend tosmtpd_recipient_restrictions
by @polarathene in #4399 - docs: Fail2Ban - Add example with required ENV to enable by @Lasslos in #4402
- docs: Update Dovecot link in
mailserver.env
by @polarathene in #4415 - fix:
start-mailserver.sh
requiresmail_state.sh
to be sourced on restarts by @polarathene in #4417 - fix: include all files in change detection of Rspamd by @georglauterbach in #4418
- chore: Gender-neutral language by @tranquillity-codes in #4421
- fix: DMS state volume must ensure
o+x
permission by @polarathene in #4420
New Contributors
- @Lasslos made their first contribution in #4402
- @tranquillity-codes made their first contribution in #4421
v15.0.0
Useful Links
- Diff to last release: v14.0.0...v15.0.0
- Our Changelog
What's Changed
saslauthd mechanism support pam
, shadow
and mysql
was removed. getmail6 was refactored. A deprecated file path check for an Rspamd configuration file was removed. Password confirmation was added to our CLI tool as well as a debug getmail
command. The VERSION
file was removed.
Please refer to our changelog (linked above) for a comprehensive list of changes.
Merged Pull Requests
- docs:
mailserver.env
improve description forSPAM_SUBJECT
by @polarathene in #4050 - Fail2ban 1.1.0 by @casperklein in #4045
- Update logwatch ignore.conf to exclude Xapian messages about pending documents by @mmehnert in #4060
- docs: Document fix for PROXY protocol with
postscreen
by @polarathene in #4066 - docs: update
CONTRIBUTORS.md
by @github-actions in #4069 - docs: Add tutorial for configuring Dovecot FTS with Solr by @beertje44 in #4070
- feat: Add password confirmation by @casperklein in #4072
- docs: Add info regarding DKIM key rotation and non-expiry by @polarathene in #4076
- fail2ban install: remove -k (--insecure) from curl options by @casperklein in #4080
- docs: update
CONTRIBUTORS.md
by @github-actions in #4084 - fix: Update
dovecot-fts-xapian
to1.7.13
by @polarathene in #4095 - docs: Update
compose.yaml
fordovecot-solr
guide by @polarathene in #4099 - docs: TLS typo fix by @polarathene in #4106
- docs:
docker-build.md
- UpdateDOVECOT_COMMUNITY_REPO
default by @polarathene in #4111 - tests: Update
curl
note for XOAUTH2 support by @polarathene in #4118 - docs: Refactor pages for Account Management by @polarathene in #4122
- chore: Prevent Microsoft MUAs from sending reactions by @mpldr in #4120
- docs: update
CONTRIBUTORS.md
by @github-actions in #4139 - docs: Add minimal
compose.yaml
examples that demonstrate specific features by @casperklein in #4138 - ci: Remove CONTRIBUTORS.md by @casperklein in #4141
- docs: Add caveat for ENV
DMS_VMAIL_UID
value compatibility by @polarathene in #4143 - fix: Prevent
stderr
being written to/etc/postfix/main.cf
by @polarathene in #4147 - fix: Ensure main log file is tailed from the start by @polarathene in #4146
- breaking: Refactor
getmail
support by @casperklein in #4156 - chore(Dockerfile): COPY ClamAV database from debian images by @polarathene in #4160
- chore: Add comments to
start-mailserver.sh
and stop usinginherit_errexit
by @casperklein in #4161 - fix: typo in volume pathname by @Vetuska in #4165
- fix: Dovecot LDAP config should exist by @polarathene in #4175
- fix: fix incorrect link in README.md by @GallowsDove in #4184
- dependency: update
jaq
from1.3.0
to1.6.0
by @georglauterbach in #4190 - chore: Add maintenance note for LMTP by @polarathene in #4199
- ci: add dedicated feature requests to new project automatically by @georglauterbach in #4198
- tests(rspamd): Update GTube patterns by @georglauterbach in #4191
- scripts: improve DKIM path scanning in Rspamd setup by @georglauterbach in #4201
- Rspamd documentation: update Abusix signup link by @georglauterbach in #4204
- fix: Avoid alias being used as regex during dovecot dummy account userdb detection by @pitilux in #4222
- doc: add an example for using the keytype ed25519 when using DKIM & Rspamd by @georglauterbach in #4243
- ci(pr-docs): Acquire metadata from context by @polarathene in #4244
- ci: Revise
docs-preview-deploy.yml
by @pwntester in #4247 - ci(docs-preview): Refactor workflows by @polarathene in #4262
- ci(docs-preview): Acquire PR context via
gh
CLI by @polarathene in #4267 - fix: SASLAuth - Drop services for
mysql
,shadow
,pam
auth mechanisms by @polarathene in #4259 - chore: Update
jaq
to2.0.0
by @polarathene in #4277 - fix(
packages.sh
):swaks --help
by @polarathene in #4282 - ci(
bug_report.yml
): Drop the feedback input field by @polarathene in #4283 - chore(compile.sh): Consistent apt-get install command by @casperklein in #4285
- docs: Fix typo on usage page by @TheKhanj in #4294
- docs: Environment - Update Dovecot docs URL by @zespere in #4296
- docs: TLS (Caddy) - Revise advice on
tls internal
by @polarathene in #4305 - revert "fix: fix incorrect link in README.md (#4184)" by @georglauterbach in #4322
- chore: remove
VERSION
file by @georglauterbach in #4321 - docs: add ARC example to Rspamd documentation by @georglauterbach in #4328
- docs:
bind-smtp-network-interface.md
- Add bridge network config advice by @zveljkovic in #4330 - Add missing "setup debug getmail" command and documentation by @casperklein in #4346
- chore:
demo-setups/relay-compose.yaml
should use network alias by @polarathene in #4347 - fix: Better support container restarts by @georglauterbach in #4323
- chore: Migrate dovecot config from Dockerfile by @polarathene in #4350
- chore:
packages.sh
- Bump versions + housekeeping by @polarathene in #4357 - ci: Upgrade
mkdocs-material
to 9.6 by @polarathene in #4368 - docs: Fix broken ref links by @polarathene in #4366
- Make deletion of mailbox data opt-in by @casperklein in #4365
- docs: Revise Rspamd page by @polarathene in #4360
- fix: revert
__declare_readonly
overcomplication by @georglauterbach in #4372 - fix: Ensure
/var/log/mail
permissions + ownership are correct by @polarathene in #4374 - docs(rspamd): Fix Web UI link by @polarathene in #4384
- release: v15.0.0 by @georglauterbach in #4373
New Contributors
- @beertje44 made their first contribution in #4070
- @Vetuska made their first contribution in #4165
- @GallowsDove made their first contribution in #4184
- @pitilux made their firs...
v14.0.0
Useful Links
- Diff to last release: v13.3.1...v14.0.0
- Our Changelog
What's Changed
The most noteworthy change of this release is the update of the container's base image from Debian 11 ("Bullseye") to Debian 12 ("Bookworm"). This update alone involves breaking changes and requires a careful review when updating! Make sure to scan our changelog carefully.
Merged Pull Requests
- general: update base image to Debian 12 ("Bookworm") by @georglauterbach in #3403
- tests: new sending and filtering functions by @georglauterbach in #3786
- docs(fix): New external link icon workaround for mkdocs-material 9.5.5 by @polarathene in #3823
- chore: Revise improper restart message by @polarathene in #3826
- fix: Ensure configs are sanitized for parsing by @polarathene in #3819
- docs: UX Improvement - Better distinguish side nav page categories by @polarathene in #3835
- docs: Add context to
sender-cleanup
in Postfixmaster.cf
by @polarathene in #3834 - Rspamd: only declare Rspamd variables when not already declared by @georglauterbach in #3837
- setup-stack: fix error when RSPAMD_DMS_DKIM_D is not set by @ap-wtioit in #3827
- ci:
docs-preview-deploy.yml
- Use official v4download-artifact
by @polarathene in #3838 - docs: Minor revisions to
README.md
by @polarathene in #3839 - docs: Add Debian 12 breaking change for
opendmarc
package by @polarathene in #3841 - ci(fix):
docs-preview-deploy.yml
- Use the correct setting names by @polarathene in #3843 - docs: update
CONTRIBUTORS.md
by @github-actions in #3844 - docs: Remove ENV
ONE_DIR
by @polarathene in #3840 - spam: use Sieve for rewriting subject with Rspamd & SA/Amavis by @georglauterbach in #3820
- chore(deps): Bump anchore/scan-action from 3.6.0 to 3.6.1 by @dependabot in #3848
- Rspamd scripts: only correct permissions when directory exists by @georglauterbach in #3849
- fix:
packages.sh
- Downloadjaq
via releasetag
notlatest
by @polarathene in #3852 - fix: abort when (jaq) curl fails by @casperklein in #3853
- docs: Add new local dependency (
file
) for running tests by @ap-wtioit in #3856 - refactor:
relay.sh
by @polarathene in #3845 - chore:
CHANGELOG.md
- Addrsyslog
breaking changes for v14 by @casperklein in #3854 - docs: Complete rewrite of Relay Host pages by @polarathene in #3861
- fix(rspamd): Add missing comma to
local_networks
setting by @aspettl in #3862 - rspamd: add neural module config by @hanscees in #3833
- docs: misc improvements (but mostly related to Rspamd) by @georglauterbach in #3858
- Minor spelling correction by @JacksonZ03 in #3870
- docs: update
CONTRIBUTORS.md
by @github-actions in #3869 - chore(deps): Bump docker/metadata-action from 5.5.0 to 5.5.1 by @dependabot in #3878
- chore(deps): Bump anchore/scan-action from 3.6.1 to 3.6.4 by @dependabot in #3877
- docs: fix 404 in mailserver.env and default to RSA 2048 for TLS certs by @rahilarious in #3875
- Rspamd: improve DKIM key generation by @georglauterbach in #3876
- chore: Source Postgrey
whitelist_clients
config from Github by @frugan-dev in #3879 - docs: Complete rewrite of PROXY protocol guide by @polarathene in #3882
- docs: update
CONTRIBUTORS.md
by @github-actions in #3883 - fix: Apply SELinux security context after moving to mail-state by @robbertkl in #3890
- chore:
packages.sh
- Remove redundant comment by @polarathene in #3900 - fix(
setup
):open-dkim
log for conflicting implementations by @polarathene in #3899 - fix: fetchmail environment variables by @casperklein in #3901
- Fix typo and broken README link by @jessp01 in #3906
- docs: update
CONTRIBUTORS.md
by @github-actions in #3909 - chore(deps): Bump myrotvorets/set-commit-status-action from 2.0.0 to 2.0.1 by @dependabot in #3911
- feat: Configurable number of rotated log files by @doominator42 in #3907
- Rename supervisor-app.conf to dms-services.conf by @casperklein in #3908
- Fail2Ban: Align logrotate count & interval by @casperklein in #3915
- Rspamd: improve SPF, DKIM and DMARC Symbol Weights by @georglauterbach in #3913
- Fail2ban logrotate interval/count: substitute only when necessary by @casperklein in #3919
- docs: update
CONTRIBUTORS.md
by @github-actions in #3916 - chore(deps): Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 by @dependabot in #3924
- docs(TLS): Reference systemd timer example (
cerbot renew
) by @polarathene in #3921 - Rspamd: minor tweaks and follow-up for SPF, DKIM and DMARC symbols by @georglauterbach in #3923
- Rspamd: update history key in Redis configuration by @georglauterbach in #3927
- fix: Move spam to mailbox associated to the
\Junk
special-use attribute by @UltraCoderRU in #3925 - getmail: remove temp file usage by @casperklein in #3920
- Update user-patches.sh by @eltociear in #3932
- chore(deps): Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in #3934
- chore(deps): Bump nwtgck/actions-netlify from 2.1 to 3.0 by @dependabot in #3933
- docs: rewrite Kubernetes page by @georglauterbach in #3928
- docs: Update links for account management in
README.md
by @rahilarious in #3937 - docs: Add IPv6 troubleshooting tip by @polarathene in #3938
- docs: update
CONTRIBUTORS.md
by @github-actions in #3930 - Better support regular container restarts by @casperklein in #3929
- chore(deps): Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in #3947
- chore(deps): Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 by @dependabot in #3946
- Enable spamassassin only, when amavis is enabled too. by @casperklein in #3943
- docs: update
CONTRIBUTORS.md
by @github-actions in #3944 - docs: Add relay host config guide for Gmail by @in-seo in https://github.com/docker...
v13.3.1
Useful Links
- Diff to last release: v13.3.0...v13.3.1
- Our Changelog
What's Changed
This is a patch release fixing two important bugs in v13.3.0
:
- Dovecot: We now restrict the authentication mechanisms for PassDB configurations we manage (oauth2, passwd-file, ldap) (#3812). This prevents misleading auth failures from attempting to authenticate against a PassDB with incompatible auth mechanisms. When the new OAuth2 feature was enabled, it introduced false-positives with logged auth failures which triggered Fail2Ban to ban the IP.
- Rspamd: We now ensure correct ownership (
_rspamd:_rspamd
) for the Rspamd DKIM directory and files (/tmp/docker-mailserver/rspamd/dkim/
)
What's Changed
- fix(typo): comment on mailserver.env by @JamBalaya56562 in #3799
- fix: Ensure correct ownership for the Rspamd DKIM directory by @polarathene in #3813
- fix: Correctly support multiple Dovecot PassDBs by @polarathene in #3812
- docs: Minor revisions to Dovecot Sieve page by @polarathene in #3811
- chore: Raise awareness of v13 breaking change better (Proxy Protocol) by @polarathene in #3818
v13.3.0
Useful Links
- Diff to last release: v13.2.0...v13.3.0
- Our Changelog
What's Changed
The main feature that can be found in this release is added very simple OAUTH2 support. DMS now supports authentication via OAuth2 (via XOAUTH2
or OAUTHBEARER
SASL mechanisms) from capable services (like Roundcube). This does not replace the need for an ACCOUNT_PROVISIONER
(FILE
/ LDAP
), which is required for an account to receive or send mail.
Additionally, MTA-STS support for outbound mail was added to DMS. A bunch of smaller changes have made it into this release as well: Rspamd symbol scores for SPF, DKIM & DMARC have been adjusted to better align with RFC7489; smtputf8
has been disabled directly; scripts were improved (replacing wc -l
with grep -c
, etc.); and a bug fix for jaq
on arm64 was added.
As is usual business, we worked on improving the documentation. Last but not least, the test suite saw bigger changes in the area of helper functions used during tests to send test e-mails.
Merged Pull Requests
- Rspamd: add custom symbol scores for SPF, DKIM & DMARC by @georglauterbach in #3726
- chore: Disable
smtputf8
support in config directly by @polarathene in #3750 - tests: Replace
wc -l
withgrep -c
by @casperklein in #3752 - ci:
.gitattributes
- Ensureeol=lf
for shell scripts by @polarathene in #3755 - docs: SpamAssassin ENV docs refactor by @polarathene in #3756
- Fix jaq: Download platform specific binary by @casperklein in #3766
- tests: normalizations by @georglauterbach in #3747
- feat: Auth - OAuth2 (Dovecot PassDB) by @thechubbypanda in #3480
- Tiny #3480 follow up: Add missing ENABLE_OAUTH2 var by @casperklein in #3775
- feat: Add MTA-STS support for outbound mail by @jsonn in #3592
- tests: small adjustments by @georglauterbach in #3772
- fix: Revert quoting
SA_SPAM_SUBJECT
inmailserver.env
by @polarathene in #3767 - docs: Rspamd DKIM config simplify via
path
setting by @denisix in #3702 - fix: Ensure
.svbin
files are newer than.sieve
source files by @polarathene in #3779 - docs: misc improvements by @georglauterbach in #3773
- chore: Add maintenance comment for
sed
usage by @polarathene in #3789 - tests: Revise
process_check_restart.bats
by @polarathene in #3780 - fix: Ensure
setup dkim
generates DKIM keys with ownership matching the parent directory by @ap-wtioit in #3783 - docs: Guidance for binding outbound SMTP with multiple interfaces available by @norrs in #3465
- docs: Add maintenance comment for
main.cf:reject_unknown_sender_domain
by @polarathene in #3793 - tests: Revise OAuth2 tests by @polarathene in #3795
- release: v13.3 by @georglauterbach in #3781
New Contributors
v13.2.0
Useful Links
- Diff to last release: v13.1.0...v13.2.0
- Our Changelog
What's Changed
Most importantly, DMS is now protected by default against the security vulnerability called "SMTP smuggling". Moreover, we switched from raw netcat (nc
) to swaks
in our test suite - a change that is beneficial for upcoming changes and improvements to our test suite. Last but not least, the log path for Postgrey was corrected.
Merged Pull Requests
- fix:
supervisor-app.conf
- Correct the log location forpostgrey
by @polarathene in #3724 - tests: Use
swaks
instead ofnc
for sending mail by @georglauterbach in #3732 - security(Postfix): Protect against "SMTP Smuggling" attack by @georglauterbach in #3727
- Postfix: add
smtpd_data_restrictions = reject_unauth_pipelining
by @georglauterbach in #3744
v13.1.0
Useful Links
- Diff to last release: v13.0.1...v13.1.0
- Our Changelog
What's Changed
Updated
- Internal
- We now store the version that DMS is running on in the environment variable
DMS_RELEASE
and no longer in the file/VERSION
. Moreover, the update check will use this to determine whether you are running:edge
(to disable the update check if this is the case). - An option to run DMS locally was added, and the docs saw improvements (as usual).
- The quota tests were adjusted and now conform to our new standards.
- We now store the version that DMS is running on in the environment variable
- Documentation
- The troubleshooting documentation was enhanced.
Added
- Rspamd
- The ARM64 build now also uses the official PPA, making the version even for ARM64 and AMD64.
- Dovecot
- The environment variable
ENABLE_IMAP
was added, which works analogous toENABLE_POP3
.
- The environment variable
Fixed
- Internal
- A
sed
line for quota-related changes to Postfix'smain.cf
was not working as expected. This has been taken care of.
- A
Merged Pull Requests
- fix: Logging - Welcome should use
DMS_RELEASE
ENV by @polarathene in #3676 - ci: Add
run-local-instance
target toMakefile
by @georglauterbach in #3663 - docs: Troubleshooting - Bare domain misconfiguration by @polarathene in #3680
- chore: Postfix should integrate Dovecot at runtime by @polarathene in #3681
- Add warning, when update-check is enabled, but no stable release image is used by @casperklein in #3684
- scripts: Install arm64 rspamd from official repository by @p3dda in #3686
- update-check: fix 'read' exit status by @casperklein in #3688
- fix: only set
virtual_mailbox_maps
to texthash when not using LDAP by @reneploetz in #3693 - Add ENV
ENABLE_IMAP
by @casperklein in #3703 - tests(refactor): Dovecot quotas by @polarathene in #3068
- ci: Avoiding linting
CONTRIBUTORS.yml
by @polarathene in #3705 - ci: Allow lint workflow to be manually triggered by @polarathene in #3714
- ci: Remove
VERSION
fromDockerfile
by @polarathene in #3711 - fix:
sed
logic forENABLE_QUOTAS=0
is not actionable by @casperklein in #3715
New Contributors
v13.0.1
This patch release fixes two bugs that Rspamd users encountered with the v13.0.0
release. Big thanks to the those that helped to identify these issues! ❤️
What's Changed
Fixed
- Internal:
- The update check service now queries the latest GH release for a version tag (instead of from a
VERSION
file at the GH repo). This should provide more reliable update notifications (#3666)
- The update check service now queries the latest GH release for a version tag (instead of from a
- Rspamd:
- The check for correct permission on the private key when signing e-mails with DKIM was flawed. The result was that a false warning was emitted (#3669)
- When
RSPAMD_CHECK_AUTHENTICATED=0
, DKIM signing for outbound e-mail was disabled, which is undesirable (#3669). Make sure to check the documentation ofRSPAMD_CHECK_AUTHENTICATED
!
Merged Pull Requests
- docs: update
CONTRIBUTORS.md
by @github-actions in #3656 - bug fix: push
:edge
whenVERSION
is updated as well by @georglauterbach in #3662 - chore(deps): Bump anchore/scan-action from 3.3.6 to 3.3.7 by @dependabot in #3667
- hotfix: solve #3665 by @georglauterbach in #3669
- fix:
update-check.sh
should query GH Releases by @polarathene in #3666
Full Changelog: v13.0.0...v13.0.1