v0.16.23
aandrew-me/ytDownloaderv0.16.23Sep 21, 2026by github-actions[bot]
Upgrading?
AI Summary
A maintenance release adding a new `bit_and` function to expressions and fixing numerous bugs across the MTA, POP3, Sieve, ACME, and DNS components.
Key Highlights
- Added `bit_and` function to Expressions
- Fixed MTA issues with mailing lists, DMARC reports, and DSN generation
- Fixed POP3 TOP command counting and dot-stuffing
- Fixed Spam filter training when moving/copying messages
- Fixed ACME `_acme-challenge` record cleanup and DNSSEC/TLSA lookups
New Features
- `bit_and` function in Expressions
Full Release Notes
## [0.16.23] - 2026-09-21 If you are upgrading from v0.16.x, replace the binary (or run `docker pull`). If you are upgrading from v0.15.x and below, please read the [upgrading documentation](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING/v0_16.md) for more information on how to upgrade from previous versions. ## Added - Expressions: `bit_and` function. ## Changed ## Fixed - MTA: - A mailing list whose recipients include another mailing list is accepted at `RCPT TO` and then rejected at local delivery with `550 5.5.0 Mailbox not found`. - DMARC aggregate reports carry two `spf` elements per record and the `version` element of a DMARC aggregate report is written as `1` instead of `1.0`. - DSNs generated for an alias rewrite or a list expansion emit a doubled `addr-type` in `Original-Recipient` (`rfc822;rfc822;user@example.org`). - DSNs that cannot be written to the store are discarded, the recipients are flagged as notified and the original message is removed from the queue, losing both the bounce and the message. - POP3: - `TOP msg n` counts the `n` lines from the first byte of the message instead of from the first byte of the body. - A message whose very first line begins with `.` is not byte-stuffed. - Spam filter: Moving or copying a message from one account into another creates no training sample, so the classifier never learns from it. - Sieve: `envelope "orcpt"` yields the bare address for an `ORCPT` supplied over SMTP. It now carries the `addr-type` prefix in every case, as required by RFC 6009. - ACME: The `_acme-challenge` TXT records published for a DNS-01 authorization are never removed. - DNS: The DNSSEC resolver queries a single nameserver at a time, working around a `hickory-resolver` race that cancels the TCP retry when two nameservers return a truncated response in parallel. - Troubleshoot tool: - MX records are resolved through the DNSSEC-validating resolver, matching the resolver used by the delivery path. - A TLSA lookup that fails or returns bogus records stops the delivery attempt for that host, instead of continuing without DANE. - OIDC: Bearer tokens that carry no `email`, `preferred_username` or `upn` claim are always authenticated against the default directory. - Meilisearch: A confirmation timeout is treated as a failed write even when `failOnTimeout` is disabled, so an index whose batches take longer than `pollInterval` x `maxRetries` never completes an indexing task and resubmits the same batch indefinitely. - WebUI: A failed update no longer takes an `Application` offline. - FoundationDB: The cached read version is invalidated when any broadcast is received from another node. - Redis: - On a cluster, the rate limiter and the blob upload quota issue `INCR` and `EXPIRE` as a `MULTI`/`EXEC` transaction, whose `MOVED` redirects collapse into a single `EXECABORT` that never refreshes the slot map. - A connection that fails because it is addressing the wrong server is returned to the pool and reused, since the recycle check only issues `PING`. <hr /> ### Check binary attestation [here](https://github.com/stalwartlabs/stalwart/attestations/48893889)
Related Repositories
affaan-m/ECC★ 285,923
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
react/react★ 251,630
The library for web and native user interfaces.
nodejs/node★ 122,528
Node.js JavaScript runtime ✨🐢🚀✨
Leonxlnx/taste-skill★ 100,733
Agent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
louislam/uptime-kuma★ 92,731
A fancy self-hosted monitoring tool