Jagoda Estera Ślązak
28b93801fc
chore(release): prepare for 0.7.1 ( #179 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:29 +02:00
Jagoda Estera Ślązak
0177502929
feat: switch to aws-lc-rs cryptography provider ( #178 )
...
Switches crypto provider to keep
chatmail codebase consistent,
analogous to https://github.com/chatmail/core/pull/8313
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:29 +02:00
dependabot[bot]
7ea891657a
chore(deps): Bump log from 0.4.29 to 0.4.30 ( #173 )
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.29 to 0.4.30.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.29...0.4.30 )
---
updated-dependencies:
- dependency-name: log
dependency-version: 0.4.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:29 +02:00
dependabot[bot]
a398029e2a
chore(deps): Bump memchr from 2.8.0 to 2.8.1
...
Bumps [memchr](https://github.com/BurntSushi/memchr ) from 2.8.0 to 2.8.1.
- [Commits](https://github.com/BurntSushi/memchr/compare/2.8.0...2.8.1 )
---
updated-dependencies:
- dependency-name: memchr
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-18 12:21:29 +02:00
dependabot[bot]
5fddfdbc0c
chore(deps): Bump lru from 0.17.0 to 0.18.0 ( #171 )
...
Bumps [lru](https://github.com/jeromefroe/lru-rs ) from 0.17.0 to 0.18.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.17.0...0.18.0 )
---
updated-dependencies:
- dependency-name: lru
dependency-version: 0.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:29 +02:00
dependabot[bot]
089d9e2372
chore(deps): Bump tokio from 1.52.1 to 1.52.3 ( #172 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.52.1 to 1.52.3.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.52.1...tokio-1.52.3 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.52.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:29 +02:00
l
d12e1d53f7
fix: switch ratelimiter to MonotonicClock ( #167 )
...
There is a known bug that `quanta` clock
used by default sometimes jumps back:
<https://github.com/metrics-rs/quanta/issues/111 >.
This results in `governor` rate limiter
incorrectly rejecting the messages
even when less than the configured burst size
has been sent.
Switched to standard monotonic clock
which does not have this problem.
I tested that this fixed the problem for me,
chatmail relay test `test_exceed_rate_limit`
stopped failing randomly.
Fixes <https://github.com/chatmail/filtermail/issues/166 >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
bd995918ba
chore(release): prepare for 0.7.0 ( #163 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
7c9d4422a5
chore(release): prepare for 0.6.6 ( #156 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
b0c452afe5
chore(release): prepare for 0.6.5 ( #152 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
l
49b65b676a
fix: Validate mail data ( #150 )
...
Do not allow bare CR and LF etc.
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
2e80eb651f
chore(deps): Upgrade hickory-resolver ( #138 )
2026-08-18 12:21:28 +02:00
dependabot[bot]
8742ead65e
chore(deps): Bump webpki-roots from 1.0.6 to 1.0.7 ( #136 )
...
Bumps [webpki-roots](https://github.com/rustls/webpki-roots ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/rustls/webpki-roots/releases )
- [Commits](https://github.com/rustls/webpki-roots/compare/v/1.0.6...v/1.0.7 )
---
updated-dependencies:
- dependency-name: webpki-roots
dependency-version: 1.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
24ecb41dee
chore(deps): Bump tokio from 1.51.1 to 1.52.1 ( #135 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.51.1 to 1.52.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.52.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
ababa88a2d
chore(deps): Bump lru from 0.16.3 to 0.17.0 ( #133 )
...
Bumps [lru](https://github.com/jeromefroe/lru-rs ) from 0.16.3 to 0.17.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.16.3...0.17.0 )
---
updated-dependencies:
- dependency-name: lru
dependency-version: 0.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
a30c8b3995
chore(release): prepare for 0.6.4 ( #130 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
2ddd5d0cc7
feat: https transport channel ( #122 )
...
Transport mode:
Implements an additional mail delivery
channel over HTTPS.
Incoming mode:
Adds a http server listening for
incoming messages delivered over HTTPS.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
e29ffd1179
chore(release): prepare for 0.6.3 ( #121 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
25c8987904
perf(smtp-client): Cache connections ( #117 )
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
0755bb931f
chore(release): prepare for 0.6.2 ( #116 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
21b4c0d1a8
feat(transport): Remote delivery over SMTP ( #104 )
...
Implements a new mode "transport",
that allows filtermail to be used for
remote delivery.
In transport mode, filtermail listens for LMTP
connections, splits messages by domain
and performs delivery to remote MTAs over SMTP.
SMTP client tries to open socket on all resolved
addresses in parallel and uses one that succeeds
the first, fixing the issue described in:
chatmail/relay#900
Extends the built-in SMTP client
with STARTTLS support.
Extends the built-in SMTP server
with LMTP greeting support.
Groundwork required for mxdeliv endpoint
(HTTP channel for MTA-to-MTA communication):
chatmail/relay#900
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
b689fd2f75
chore(deps): Bump tokio from 1.50.0 to 1.51.0 ( #111 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.50.0 to 1.51.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.50.0...tokio-1.51.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
8f6f5a9f81
chore(release): prepare for 0.6.1 ( #109 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
7f83b82f14
chore(deps): Bump env_logger from 0.11.9 to 0.11.10 ( #106 )
...
Bumps [env_logger](https://github.com/rust-cli/env_logger ) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.9...v0.11.10 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-version: 0.11.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
af581d558f
feat(resolver): Enable DNSSEC ( #94 )
...
From hickory-resolver docs:
> To enable DNSSEC, enable the dnssec-ring feature.
Related: https://github.com/chatmail/relay/issues/877
Related: https://github.com/hickory-dns/hickory-dns/issues/3519
Closes: https://github.com/chatmail/filtermail/issues/93
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
f1515a4d64
chore(release): prepare for 0.6.0 ( #92 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
44ddab8f38
chore(deps): Bump tokio from 1.49.0 to 1.50.0 ( #86 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.49.0 to 1.50.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
62ce8d474d
chore(release): prepare for 0.5.2 ( #78 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera ?l?zak
eea39c7bab
chore(ci): Build and upload binaries in CI ( #76 )
...
Use zigbuild directly instead of cargo-dist,
as cargo-dist doesn't suit our needs well
(e.g. uploading binaries at top level).
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
9cf0bba7ed
chore(release): prepare for 0.5.1 ( #65 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
60ce20d3aa
chore(release): prepare for 0.5.0 ( #56 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
d8681d237f
chore(release): prepare for 0.4.1 ( #51 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
1192531afc
chore(release): prepare for 0.4.0 ( #49 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
23074f0898
feat!: DKIM verifier ( #35 )
...
* feat!: DKIM verifier
This implements a DKIM verification as well as a strict
DKIM signature alignment check with domain in `From`
header address.
Caches the retrieved RDATA using in-memory LRU.
BREAKING CHANGE: incoming messages now require DKIM signatures
aligned to domain of the `From` header address.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
* chore(license): License binaries under GPLv3
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
---------
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
dc97e85ebe
chore(release): prepare for 0.3.0 ( #45 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
dependabot[bot]
9206fae6d3
chore(deps): Bump env_logger from 0.11.8 to 0.11.9 ( #47 )
...
Bumps [env_logger](https://github.com/rust-cli/env_logger ) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.8...v0.11.9 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-version: 0.11.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
f34642e96c
refactor: Use a custom, minimal SMTP client instead of lettre ( #33 )
...
This disables the Nagle's algorithm on re-insertion.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
a5b1cada7b
chore(release): prepare for 0.2.0 ( #30 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
5dc49d20dd
chore(release): prepare for 0.1.2 ( #22 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
62de6d824c
perf: Use governor for rate limiting ( #20 )
...
Fixes : #19
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Ślązak
02976942b9
chore(release): prepare for 0.1.1
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązak
3c9fd2718d
chore(dist): Configure cargo-dist ( #10 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
dependabot[bot]
91f5fbf193
chore(deps): Bump thiserror from 2.0.17 to 2.0.18 ( #3 )
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 2.0.17 to 2.0.18.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-version: 2.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązak
324a6f3da9
chore(cargo): Add metadata
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Ślązak
a8119e125f
docs(license): Add LICENSE
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00
Jagoda Ślązak
81b4aecce9
feat: Initial implementation
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:27 +02:00