| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-10-10 | 3.6 kB | |
| Release 4.2.2 source code.tar.gz | 2026-10-10 | 7.5 MB | |
| Release 4.2.2 source code.zip | 2026-10-10 | 8.9 MB | |
| Totals: 3 Items | 16.4 MB | 0 | |
Incompatible changes
- MIME parts: the CRLF before a boundary delimiter no longer counts as part of the preceding part. Message digests and non-base64 part digests change for multipart messages, so anything keyed on them will not match values computed by earlier versions.
Features
- Crypto wallet detection: Rspamd now detects wallet addresses for Bitcoin and its forks, Litecoin, Dogecoin, Tron, XRP, Zcash, Cardano, Cosmos, Stellar, TON, Ethereum and Monero, with one independent symbol per currency. This replaces
bitcoin.lua. The bounded scanner inlua_crypto_addressesalso catches addresses split across text,add_from_stringfeeds it text recovered from attachments, and the newcrypto_addresses()selector extractor exposes the results. - metadata_exporter:
mail_from,mail_to,helo,channel,stream_keyand the email template support custom variables and selector expansion. Email alerts can be built as multipart messages fromemail_parts, with plain and HTML parts grouped intomultipart/alternative, and non-ASCII headers are encoded automatically. Rules are validated against a schema, soconfigtestfails on an invalid rule. - lua_smtp: EHLO and 8BITMIME are negotiated with a HELO fallback. 8-bit messages are downgraded to 7-bit when the server does not advertise 8BITMIME.
- Lua API:
util.fold_header_unstructuredfolds unstructured headers per RFC 5322, andrspamd_textgains ansmtpnewline normalization mode.
Bug fixes
- Memory safety: fixed a heap overflow in
util.lower_utf8(U+023A and U+023E grow when lowercased). Also fixed a crash during HTTP keepalive reset, when a late error handler ran after the peer had closed the connection. - HTML and URLs: table elements no longer inherit box sizes, which triggered
HIDDEN_TEXTandMANY_INVISIBLE_PARTSon tables pasted from Google Sheets. Visible link text is terminated after normalisation, because stale trailing bytes broke phishing checks. Invisible characters in hostnames are now flagged instead of truncating the URL, and U+FEFF is stripped during unicode normalisation. url_suspect anchors obfuscated URL extraction to the matched URL and makesURL_OBFUSCATED_TEXTone-shot, so domains written in plain sight are no longer reported as obfuscated. - Message composition: mime_headers emits valid RFC 2047 encoded-words and keeps addresses intact in structured mode. lua_smtp dot-stuffs DATA (a line with a single
.truncated messages), turns bare CR into CRLF, accepts a bare reply code and reads multi-line greetings. - Lua library: deferred DNS for HTTP upstreams is retried, so gpt, aws_s3, HTTP maps and dkim vault no longer stay stuck after a failed lookup at startup.
callback_from_stringcompiles whole-chunk callbacks,task:get_symbol()works with a table of names when the symbols are present, andparse_content_typekeeps boundary and charset as strings. - Modules:
LEAKED_PASSWORD_SCAMfires only on checksum-verified addresses, and the word "wallet" no longer counts as a scam signal. known_senders expires senders aftermax_ttlin zset mode, and both known_senders and replies honourreply_sender_privacy. milter_headers applies header skipping tox-spamd-barand fixes thex-virusfail branch. fuzzy_check parses top-levelhtml_ignore_domains, and metadata_exporter always emits an integerredis_streamMAXLEN. cfg_transform no longer warns about scored custom actions, andrspamadm control fuzzystatlabels epochs correctly.
Full changelog: https://github.com/rspamd/rspamd/compare/4.2.1...4.2.2