The next stable release of rspamd has been published.
The major changes in this release are:
- Fuzzy protocol encryption (using dnscurve like protection via libcryptobox)
- Webui is migrated to bootstrap 3 and jquery 2 with many bugfixes
Here is a list of other changes for 1.0.4 release:
- Add configdump routine to rspamadm
- Implement retransmits for fuzzy_check plugin
- Fix events processing for learning anf checking fuzzy hashes
- Avoid dependency on unneeded and uncompatible glib include
- Add
historyreset
command to the controller
- Fix loading of tokenizer config from dump (#389)
- Add sorting hints for the history
- Allow custom lua scripts for users/languages extraction (#388)
- Do not add FORGED_RECIPIENTS when ‘To’ is missing (#387)
- Do not add R_UNDISC_RCPT when ‘To’ is missing (#387)
- Add encryption to fuzzy check plugin
- Add encryption for fuzzy storage
- Add new epoch for encrypted fuzzy request
- Add encryption for
rspamd.com
storage
- Remove gmime processing for LDA mode as it is deadly broken
- Add routine to find end of headers position in mime messages
- Fix LDA headers folding
- Init libraries in rspamc client as well to avoid locale issues
- Avoid collision with locally installed includes
- Allocate and free memory with the same allocator in rspamadm (#385)
- Preserve expired fuzzy hashes counter
- Improvements in webui:
- Add favicon.ico
- Rework history table
- Fix sorting for the history
- Migrate to bootstrap 3 and jquery 2
- Fix css bugs
- Add glyphicons
- Add reset history
- Improve history buttons
- Redraw graph to avoid display issues
- Webui is now MIT licensed to match licensing policy of rspamd
This version is completely backward compatible with 1.0.0
.
The next stable release of rspamd has been published. Here is a list of notable changes for 1.0.3 release:
- Fix piechart clean slice (#380)
- Fix controller crashes when GString is reallocated (#381)
- Correctly set locale before start
- Set
C
locale for numeric values
- Add
rspamadm
routine:
- add
pw
command to manage passwords
- add
help
command for displaying help
- add
configtest
command to check configuration files
- add
keypair
command for generating encryption keys
- add
fuzzy_merge
routine to merge fuzzy sqlite databases
- add a simple manual page for rspamadm
- Allow metric registration for composite expressions
- Add strict mode for configtest
- Add logger counters
- Save and show learned messages count (#383)
- Add
no_stat
flag
- Add
task:set_flag
and task:get_flags
(#382)
- Enable foreign keys in sqlite3
- Remove orphaned shingles from fuzzy storage
- Optimize synchronization steps for fuzzy storage
- Allow delayed conditions registration
- Add lua API for conditions registering
This version is completely backward compatible with 1.0.0
.
The next stable release of rspamd has been published. This release fixes a couple of critical bugs, improve webui look and implement finding of URLs inside query parts of other URLs.
- Fix critical bug in webui that prevents password from being sent
- Rework webui view:
- Switch to d3.js for graphs
- Improve piechart look
- Rework colors for piechart
- Fix layout for symbols
- Fix refresh button
- Add descriptions for whitelist maps
- Fix build on arm (#379)
- Fix issue with the last element in the radix trie
- Add more tests for radix trie algorithm
- Allow to extract URLs from query strings of other URLs (#361)
- Initialize rrd fields before writing to file
- Fix double free if no password has been specified
This version is completely backward compatible with 1.0.0
.
The next stable release of rspamd has been published. Here is a list of notable changes for 1.0.1 release:
- Add writing to rrd from the controller
- Fixed lots of bugs in rrd code
- Adopt new DNS API in hfilter plugin (by @AlexeySa)
- Allow only one controller process to manage rrd file
- Set event base for fuzzy calls
- Improve fuzzy IO errors logging
- Add rra extraction function to rrd library
- Add graph handler to the controller
- Cache correct passwords to avoid too high CPU usage when working with webui
- Controller sockets are owned by router do not export them to task
- Optimize logging by skipping hash table search if it’s empty
- Fix loading issue with broken statfiles
- Print assertions from glib to rspamd logger
- Load legacy
lua/rspamd.local.lua
- Update webui with some fixes to learning and scanning
This version is completely backward compatible with 1.0.0
.
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!