Skip to main content
🚀 Major Release

Rspamd 3.13.0

Major Release with Breaking Changes

💥 Breaking Changes

  • Multiclass Bayes classification with named classes (2–20 classes), processed in a single Redis call per message. (#5547)
  • Backward compatible with is_spam; new configuration supports labeled classes and autolearn.
  • Lua API and autolearn support multiclass workflows with class‑aware Redis caching.
  • CLI: rspamc learn_class:transactional …, rspamc learn_class:newsletter ….
  • Lua API: task:get_multiclass_result() returns class probabilities and confidence.

Added

  • Neural module overhaul to a provider‑based architecture (symbols, LLM embeddings), versioned and backward compatible. (#5579)
  • Pluggable feature fusion with trained normalization (unit/zscore/none) applied at train and inference.
  • Redis‑backed caching for LLM embeddings to control cost and latency.
  • Multimap selectors: SA‑style selectors with dedicated selector field; integrated with Hyperscan and regex cache. (#5615)
  • MIME parser automatically detects part types. (#5619, #5608)
  • HTML parser extracts more features for downstream modules.

🔄 Improved

  • HTTP timeouts configuration and handling. (#5614, #5603, #5601)
  • Upstream reliability with probe mode; reduced need for forced revive.
  • DNS nameserver resolution switched to getaddrinfo.
  • Standardized on C++20; build, test, and CI improvements (including ARM support and modern fallback maps). (#5592, #5598, #5580)
  • Regular code cleaning and RPM tweaks.
  • WebUI: E2E scan test flows; Bootstrap upgrade; Bayes class management from the web interface. (#5606, #5607)
  • GPT/LLM integrations: improved parameter/prompt handling; initial support for OpenAI GPT‑5 and other models. (#5612, #5572)

🔧 Fixed

  • DCC plugin rewritten and optimized. (#5602)
  • DKIM relaxed body canonicalization; improved reliability in multimap, WebUI, and configuration. (#5593)
  • Numerous minor bug fixes and CI/build improvements.