After about 4 months of development and ~1000 commits I’m proud to publish the next major release of rspamd: 1.0.0
. In this version, I did another bunch of
architectural rework. This time, I’ve refactored statistics, symbols cache and HTML
processing primarily. At the same time, I’ve tried to improve rspamd usability
out of the box:
- improving default rules
- improving documentation
- improving installation
Among new rules, rspamd now includes an extensive whitelist for valid mail (e.g. with valid combinations of DKIM/DMARC/SPF).
DMARC module is now also enabled by default. The new ip_score
module is intended to score messages based on theirs IP reputation.
New statistics includes sqlite3
statistics with such features as per user and per language statistics. Moreover, rspamd
now takes metadata, such as messages’ headers or images into consideration when generating statistical tokens. The updated pre built statistics is also
available for download.
The main architectural improvement in rspamd that was introduced in 1.0 was the ability to add dependencies between rules. Previosuly, the only way to separate asynchronous rules from each others was using of pre or post filters. In rspamd 1.0 it is possible to create dependencies between any rules, even asynchronous ones, such as DNS or redis rules.
Among other notable changes are:
- New HTML parser that allows to create rules using many HTML attributes, such as:
- Styles
- Images
- URLs
- Colors (font and background)
- Structure elements
- Improved URL parser
- New logger
Many other things has been changed as well. However, I’ve tried to preserve backwards compatibility with 0.9
/ The main incompatible issues are listed in the
migration page.
The full list of major changes could be found here: http://git.io/vnJvF. Moreover, there were a lot of minor changes, improvements and features intorduces with this version.
If you’d like to install the new rspamd version you can check the following document that describes the available distributions in binary and source forms.
I’d like to thank all rspamd contibutors especially Andrew Lewis for his contributions to lua modules and the overall rspamd
development, and Andrey Zverev for
his kind advices and patience while testing bugfixes.
Since this 1.0
release I plan to switch to feature releases, meaning shorter release cycle and more frequent releases. Thank your all for your support and contibutions!