Rspamd 0.9 has been released

2015-05-15 00:00:00 +0200

After almost half a year of development we are intorducing rspamd 0.9 which is the next major version of rspamd. You can view the full list of changes in the ChangeLog file. But here is the list of the most notable changes introduced in this version:

  • Improved optimizations via abstract syntax tree for all expressions (my presentation describes some basic principles of optimizations.
  • Switched to luajit and pcre jit by default. JIT compilation allowed to improve the performance in the bottlenecks so now rspamd is significantly faster than 0.8 branch.
  • Added spamassassin rules support: you can now use the most of your spamassassin rules in rspamd natively. Of course, they are optimized with JIT and AST techniques.
  • Added encryption support: rspamd now can encrypt all traffic with extremely fast and low latency encryption based on public key cryptography and cryptobox construction.
  • New aho-corasic implementation has been imported. Now rspamd can search for hundreds thousands of search patterns in almost linear time.
  • New statistics architecture:
    • advanced tokenization techniques (secure or fast hashes);
    • improved UTF8 tokenization;
    • avoid multiple learning by the same message by maintaining learning cache;
    • improved features normalization to reduce false positives rate.

Moreover, this release contains a lot of other improvements to plugins, lua API, rspamd core and the build system. In fact, the most of rspamd codebase has been either reworked or completely rewritten to improve the architecture, performance and stability.

Rspamd is accepted for the Google Summer of Code 2015

2015-03-04 00:00:00 +0100

We are proud to announce that rspamd is accepted by the Google Summer of Code program. The list of ideas, possible mentors and other useful stuff is placed on the ideas page. We encourage prospective students to apply and help us to make rspamd better with funding generously provided by Google.

Rspamd 0.8.0 released

2015-01-02 00:00:00 +0100

Today I have released the next major version of rspamd - 0.8.0. The main difference from the 0.7 branch is completely reworked fuzzy storage. I have switched the storage itself from own memory-based hashes structure to the sqlite3 database and redesigned protocol for future extensions and new features. At the same time, I have preserved backward compatibility with previous rspamd versions, therefore no specific upgrade movements are needed. Moreover, the conversion of an old database format is performed automatically and does not require special attention as well.

Fuzzy check plugin has been reworked accordingly. First of all, I have changed the algorithm of fuzzy hashes to the probabilistic shingles algorithm. It is blazingly fast and still rather accurate to find close texts in the database. Secondly, I have added the normalization algorithm for the target language using snowball lemmatizer. It allows to remove grammar forms and check merely the first forms of all words in a text improving thus fuzzy matching quality by removing meaningless parts.

Rspamd 0.8 is heavily tested in production environments and I consider it as a production ready release. No manual migration is required for rspamd 0.7 users, however, if you use more old versions of rspamd then you should check the migration guide.

As usually, please feel free to ask any questions in rspamd mailing list or IRC discussion channel (#rspamd at freenode).