]> git.ipfire.org Git - thirdparty/rspamd.git/log
thirdparty/rspamd.git
2 weeks ago[Minor] Pet luacheck 5579/head
Vsevolod Stakhov [Thu, 28 Aug 2025 15:44:09 +0000 (16:44 +0100)] 
[Minor] Pet luacheck

2 weeks ago[Project] Add tests for LLM provider, fix various issues with metatokens
Vsevolod Stakhov [Thu, 28 Aug 2025 15:32:16 +0000 (16:32 +0100)] 
[Project] Add tests for LLM provider, fix various issues with metatokens

2 weeks ago[Project] Fix various other issues
Vsevolod Stakhov [Thu, 28 Aug 2025 12:57:02 +0000 (13:57 +0100)] 
[Project] Fix various other issues

2 weeks ago[Project] Rework rspamc to allow training of different neural types
Vsevolod Stakhov [Thu, 28 Aug 2025 11:32:16 +0000 (12:32 +0100)] 
[Project] Rework rspamc to allow training of different neural types

2 weeks ago[Fix] GPT: Fix occasional damage
Vsevolod Stakhov [Thu, 28 Aug 2025 11:30:54 +0000 (12:30 +0100)] 
[Fix] GPT: Fix occasional damage

3 weeks ago[Project] Add controller learn endpoints
Vsevolod Stakhov [Tue, 19 Aug 2025 12:14:43 +0000 (13:14 +0100)] 
[Project] Add controller learn endpoints

4 weeks ago[Minor] Move common stuff to a separate function
Vsevolod Stakhov [Mon, 18 Aug 2025 22:07:39 +0000 (23:07 +0100)] 
[Minor] Move common stuff to a separate function

4 weeks ago[Minor] Don't use coroutines
Vsevolod Stakhov [Mon, 18 Aug 2025 12:58:39 +0000 (13:58 +0100)] 
[Minor] Don't use coroutines

4 weeks agoNeural module rework: provider-based feature fusion, LLM embeddings, normalization...
Vsevolod Stakhov [Mon, 18 Aug 2025 12:42:53 +0000 (13:42 +0100)] 
Neural module rework: provider-based feature fusion, LLM embeddings, normalization, and v3 schema

This PR evolves the neural module from a symbols-only scorer into a general feature-fusion classifier with pluggable providers. It adds an LLM embedding provider, introduces trained normalization and metadata persistence, and isolates new models via a schema/prefix bump.

- The existing neural module is limited to metatokens and symbols.
- We want to combine multiple feature sources (LLM embeddings now; Bayes/FastText later).
- Ensure consistent train/infer behavior with stored normalization and provider metadata.
- Improve operability with caching, digest checks, and safer rollouts.

- Provider architecture
  - Provider registry and fusion: `collect_features(task, rule)` concatenates provider vectors with optional weights.
  - New LLM provider: `lualib/plugins/neural/providers/llm.lua` using `rspamd_http` and `lua_cache` for Redis-backed embedding caching.
  - Symbols provider extracted: `lualib/plugins/neural/providers/symbols.lua`.
- Normalization and PCA
  - Configurable fusion normalization: none/unit/zscore.
  - Trained normalization stats computed during training and applied at inference.
  - Existing global PCA preserved; loaded/saved alongside ANN.
- Schema and compatibility
  - `plugin_ver` bumped to '3' to isolate from earlier profiles.
  - Redis save/load extended:
    - Profiles include `providers_digest`.
    - ANN hash can include `providers_meta`, `norm_stats`, `pca`, `roc_thresholds`, `ann`.
  - ANN load validates provider digest and skips apply on mismatch.
- Performance and reliability
  - LLM embeddings cached in Redis (content+model keyed).
  - Graceful fallback to symbols if providers not configured or fail.
  - Basic provider configuration validation.

- `lualib/plugins/neural.lua`: provider registry, fusion, normalization helpers, profile digests, training pipeline updates.
- `src/plugins/lua/neural.lua`: integrates fusion into inference/learning, loads new metadata, applies normalization, validates digest.
- `lualib/plugins/neural/providers/llm.lua`: LLM embeddings with Redis cache.
- `lualib/plugins/neural/providers/symbols.lua`: legacy symbols provider wrapper.
- `lualib/redis_scripts/neural_save_unlock.lua`: stores `providers_meta` and `norm_stats` in ANN hash.
- `NEURAL_REWORK_PLAN.md`: design and phased TODO.

- Enable LLM alongside symbols:
```ucl
neural {
  rules {
    default {
      providers = [
        { type = "symbols"; weight = 0.5; },
        { type = "llm"; model = "text-embed-1"; url = "https://api.openai.com/v1/embeddings";
          cache_ttl = 86400; weight = 1.0; }
      ];
      fusion { normalization = "zscore"; }
      roc_enabled = true;
      max_inputs = 256; # optional PCA
    }
  }
}
```
- LLM provider uses `gpt` block for defaults if present (e.g., API key). You can override `model`, `url`, `timeout`, and cache parameters per provider entry.

- Existing (v2) neural profiles remain unaffected (new `plugin_ver = '3'` prefixes).
- New profiles embed `providers_digest`; incompatible provider sets won’t be applied.
- No immediate cleanup required; TTL-based cleanup keeps old keys around until expiry.

- Validated: provider digest checks, ANN load/save roundtrip, normalization application at inference, LLM caching paths, symbols fallback.
- Please test with/without LLM provider and with `fusion.normalization = none|unit|zscore`.

- LLM latency/cost is mitigated by Redis caching; timeouts are configurable per provider.
- Privacy: use trusted endpoints; no content leaves unless configured.
- Failure behavior: missing/failed providers degrade to others; training/inference can proceed with partial features.

- Rules without `providers` continue to use symbols-only behavior.
- Existing command surface unchanged; future PR will introduce `rspamc learn_neural:*` and controller endpoints.

- [x] Provider registry and fusion
- [x] LLM provider with Redis caching
- [x] Symbols provider split
- [x] Normalization (unit/zscore) with trained stats
- [x] Redis schema v3 additions and profile digest
- [x] Inference uses trained normalization
- [x] Basic provider validation and fallbacks
- [x] Plan document
- [ ] Per-provider budgets/metrics and circuit breaker for LLM
- [ ] Expand providers: Bayes and FastText/subword vectors
- [ ] Per-provider PCA and learned fusion
- [ ] New CLI (`rspamc learn_neural`) and status/invalidate endpoints
- [ ] Documentation expansion under `docs/modules/neural.md`

4 weeks agoMerge pull request #5572 from hunter-nl/master
Vsevolod Stakhov [Sat, 16 Aug 2025 14:23:49 +0000 (20:23 +0600)] 
Merge pull request #5572 from hunter-nl/master

Update GPT plugin to support OpenAI GPT-5 and other newer models

4 weeks agoMerge branch 'master' of https://github.com/hunter-nl/rspamd 5572/head
René Draaisma [Sat, 16 Aug 2025 08:56:15 +0000 (10:56 +0200)] 
Merge branch 'master' of https://github.com/hunter-nl/rspamd

4 weeks agoUpdated gpt.lua to set default gpt-5-mini as model, fix issue when GPT max_completion...
René Draaisma [Sat, 16 Aug 2025 08:55:40 +0000 (10:55 +0200)] 
Updated gpt.lua to set default gpt-5-mini as model, fix issue when GPT max_completion_tokens exceeded and returned empty reason field, Set default group to GPT for Symbols, group is now also configurable in settings with extra_symbols, fix issue when no score is defined in settings at extra_symbols, default score is now 0

4 weeks agoMerge branch 'master' into master
hunter-nl [Fri, 15 Aug 2025 15:55:43 +0000 (17:55 +0200)] 
Merge branch 'master' into master

4 weeks agoUpdated gpt.lua to provide model parameters with the settings
René Draaisma [Fri, 15 Aug 2025 15:55:03 +0000 (17:55 +0200)] 
Updated gpt.lua to provide model parameters with the settings

4 weeks agoUpdate gpt.lua to make use of lua_util.deepcopy function.
hunter-nl [Fri, 15 Aug 2025 14:21:36 +0000 (16:21 +0200)] 
Update gpt.lua to make use of lua_util.deepcopy function.

4 weeks ago[Fix] Bayes: Try to be bug-to-bug compatible
Vsevolod Stakhov [Fri, 15 Aug 2025 09:11:18 +0000 (10:11 +0100)] 
[Fix] Bayes: Try to be bug-to-bug compatible

4 weeks agoMerge pull request #5574 from moisseev/e2e-playwright
Vsevolod Stakhov [Fri, 15 Aug 2025 08:25:57 +0000 (14:25 +0600)] 
Merge pull request #5574 from moisseev/e2e-playwright

[Test] Display browser version in HTML report and console

4 weeks agoMerge pull request #5570 from fatalbanana/be_kind_to_comcast
Vsevolod Stakhov [Fri, 15 Aug 2025 08:25:46 +0000 (14:25 +0600)] 
Merge pull request #5570 from fatalbanana/be_kind_to_comcast

[Minor] Drop overzealous regex from hfilter

4 weeks agoMerge branch 'master' into be_kind_to_comcast 5570/head
Vsevolod Stakhov [Fri, 15 Aug 2025 08:25:40 +0000 (14:25 +0600)] 
Merge branch 'master' into be_kind_to_comcast

4 weeks ago[Minor] Enable multimap module in WebUI E2E workflow 5574/head
Alexander Moisseev [Fri, 15 Aug 2025 06:43:51 +0000 (09:43 +0300)] 
[Minor] Enable multimap module in WebUI E2E workflow

4 weeks ago[Test] Display browser version in HTML report and console
Alexander Moisseev [Thu, 14 Aug 2025 15:10:35 +0000 (18:10 +0300)] 
[Test] Display browser version in HTML report and console

4 weeks agoUpdate gpt.lua to fix spaces on empty lines
hunter-nl [Thu, 14 Aug 2025 14:51:24 +0000 (16:51 +0200)] 
Update gpt.lua to fix spaces on empty lines

To fix luacheck "line contains only whitespace"

4 weeks agoUpdate gpt.lua to get fresh body for each model iteration
hunter-nl [Thu, 14 Aug 2025 14:03:43 +0000 (16:03 +0200)] 
Update gpt.lua to get fresh body for each model iteration

4 weeks agoUpdate gpt.lua to remove unneeded body_base.model
hunter-nl [Thu, 14 Aug 2025 13:03:42 +0000 (15:03 +0200)] 
Update gpt.lua to remove unneeded body_base.model

Not needed in the body_base structure.

4 weeks agoUpdate gpt.lua to handle OpenAI parallel old and new models
hunter-nl [Thu, 14 Aug 2025 12:57:04 +0000 (14:57 +0200)] 
Update gpt.lua to handle OpenAI parallel old and new models

When in rspamd_config is specified multiple models (old/new), this is handled now correctly to set the required attributes for each model request.

4 weeks agoUpdate gpt.lua to support newer models without temperature attribute
hunter-nl [Thu, 14 Aug 2025 12:24:36 +0000 (14:24 +0200)] 
Update gpt.lua to support newer models without temperature attribute

Newer models do not support temperature attribute anymore.

4 weeks agoUpdate gpt.lua to support newer models with max_completion_tokens
hunter-nl [Thu, 14 Aug 2025 10:36:16 +0000 (12:36 +0200)] 
Update gpt.lua to support newer models with max_completion_tokens

Newer and reasoning models requires max_completion_tokens instead of max_tokens attribute.

4 weeks ago[Minor] Drop overzealous regex from hfilter
Andrew Lewis [Wed, 13 Aug 2025 10:16:07 +0000 (12:16 +0200)] 
[Minor] Drop overzealous regex from hfilter

4 weeks agoMerge pull request #5569 from moisseev/e2e-playwright
Vsevolod Stakhov [Tue, 12 Aug 2025 19:06:53 +0000 (01:06 +0600)] 
Merge pull request #5569 from moisseev/e2e-playwright

[Test] Add WebUI E2E workflow with Playwright

4 weeks ago[Test] Add WebUI E2E workflow with Playwright 5569/head
Alexander Moisseev [Tue, 12 Aug 2025 16:09:07 +0000 (19:09 +0300)] 
[Test] Add WebUI E2E workflow with Playwright

Add a GitHub Actions workflow to run WebUI E2E tests
with Playwright on legacy and latest browser versions
against rspamd binaries built in the pipeline.

4 weeks ago[Minor] Add specific calculations for binary classification case
Vsevolod Stakhov [Tue, 12 Aug 2025 15:38:37 +0000 (16:38 +0100)] 
[Minor] Add specific calculations for binary classification case

4 weeks agoMerge pull request #5566 from fatalbanana/el10rpm
Vsevolod Stakhov [Tue, 12 Aug 2025 13:09:25 +0000 (19:09 +0600)] 
Merge pull request #5566 from fatalbanana/el10rpm

[Minor] Build on EL10

5 weeks ago[Minor] Use clang for build on EL10 5566/head
Andrew Lewis [Tue, 12 Aug 2025 11:24:49 +0000 (13:24 +0200)] 
[Minor] Use clang for build on EL10

5 weeks ago[Minor] Use embedded vectorscan on EL10
Andrew Lewis [Mon, 11 Aug 2025 12:53:41 +0000 (14:53 +0200)] 
[Minor] Use embedded vectorscan on EL10

5 weeks ago[Minor] Fix implicit declaration
Andrew Lewis [Mon, 11 Aug 2025 12:53:25 +0000 (14:53 +0200)] 
[Minor] Fix implicit declaration

5 weeks ago[Fix] Try to fix learned order
Vsevolod Stakhov [Sat, 9 Aug 2025 09:42:41 +0000 (10:42 +0100)] 
[Fix] Try to fix learned order

5 weeks agoMerge pull request #5562 from rspamd/vstakhov-proxy-compression
Vsevolod Stakhov [Thu, 7 Aug 2025 11:06:22 +0000 (17:06 +0600)] 
Merge pull request #5562 from rspamd/vstakhov-proxy-compression

[Fix] Fix end-to-end proxy compression

5 weeks ago[Fix] Fix double free in the client... 5562/head
Vsevolod Stakhov [Wed, 6 Aug 2025 16:06:48 +0000 (17:06 +0100)] 
[Fix] Fix double free in the client...

5 weeks ago[Minor] Fix 'Compression' header logic
Vsevolod Stakhov [Wed, 6 Aug 2025 15:58:58 +0000 (16:58 +0100)] 
[Minor] Fix 'Compression' header logic

5 weeks ago[Minor] Some more logic fixes
Vsevolod Stakhov [Tue, 5 Aug 2025 13:10:11 +0000 (14:10 +0100)] 
[Minor] Some more logic fixes

6 weeks ago[Minor] More cleanups for compression stuff
Vsevolod Stakhov [Mon, 4 Aug 2025 19:46:33 +0000 (20:46 +0100)] 
[Minor] More cleanups for compression stuff

6 weeks ago[Fix] Fix end-to-end proxy compression
Vsevolod Stakhov [Mon, 4 Aug 2025 14:40:24 +0000 (15:40 +0100)] 
[Fix] Fix end-to-end proxy compression

Issue: #5561

6 weeks agoMerge pull request #5547 from rspamd/vstakhov-multi-class-bayes
Vsevolod Stakhov [Mon, 4 Aug 2025 11:58:44 +0000 (17:58 +0600)] 
Merge pull request #5547 from rspamd/vstakhov-multi-class-bayes

[Project] Multi-class classification

6 weeks agoMerge pull request #5559 from rspamd/vstakhov-arc-fixes
Vsevolod Stakhov [Fri, 1 Aug 2025 15:50:33 +0000 (21:50 +0600)] 
Merge pull request #5559 from rspamd/vstakhov-arc-fixes

[Fix] Fix whitelist options in the arc module

6 weeks agoMerge pull request #5556 from rspamd/vstakhov-skip-hashes-fuzzy
Vsevolod Stakhov [Fri, 1 Aug 2025 15:49:34 +0000 (21:49 +0600)] 
Merge pull request #5556 from rspamd/vstakhov-skip-hashes-fuzzy

[Fix] Check skip_hashes for the returned hashes

6 weeks ago[Fix] Fix whitelist options in the arc module 5559/head
Vsevolod Stakhov [Fri, 1 Aug 2025 11:41:57 +0000 (12:41 +0100)] 
[Fix] Fix whitelist options in the arc module

Issue: #5558

6 weeks ago[Fix] Check skip_hashes for the returned hashes 5556/head
Vsevolod Stakhov [Thu, 31 Jul 2025 15:51:46 +0000 (16:51 +0100)] 
[Fix] Check skip_hashes for the returned hashes

6 weeks agoMerge pull request #5555 from heptalium/meissner-fix-dmarc-reports
Vsevolod Stakhov [Thu, 31 Jul 2025 11:03:41 +0000 (17:03 +0600)] 
Merge pull request #5555 from heptalium/meissner-fix-dmarc-reports

Use Redis write servers for write commands while generating DMARC reports

6 weeks agoUse Redis write servers for write commands while generating DMARC reports. 5555/head
Jens Meißner [Wed, 30 Jul 2025 13:53:33 +0000 (15:53 +0200)] 
Use Redis write servers for write commands while generating DMARC reports.

6 weeks ago[Fix] Use a more straightforward approach for learn cache 5547/head
Vsevolod Stakhov [Wed, 30 Jul 2025 09:01:10 +0000 (10:01 +0100)] 
[Fix] Use a more straightforward approach for learn cache

6 weeks ago[Fix] Fix various corner cases and tests
Vsevolod Stakhov [Tue, 29 Jul 2025 19:01:36 +0000 (20:01 +0100)] 
[Fix] Fix various corner cases and tests

6 weeks ago[Test] Add logic to match test id and logs id
Vsevolod Stakhov [Tue, 29 Jul 2025 13:17:00 +0000 (14:17 +0100)] 
[Test] Add logic to match test id and logs id

7 weeks ago[Minor] Add --log-tag option for rspamc
Vsevolod Stakhov [Tue, 29 Jul 2025 09:06:35 +0000 (10:06 +0100)] 
[Minor] Add --log-tag option for rspamc

7 weeks ago[Minor] Fix single class fallback
Vsevolod Stakhov [Tue, 29 Jul 2025 08:16:42 +0000 (09:16 +0100)] 
[Minor] Fix single class fallback

7 weeks ago[Project] Apply changes to bayes_expiry plugin
Vsevolod Stakhov [Mon, 28 Jul 2025 18:22:56 +0000 (19:22 +0100)] 
[Project] Apply changes to bayes_expiry plugin

7 weeks ago[Test] Some more adjustments to the tests
Vsevolod Stakhov [Mon, 28 Jul 2025 18:07:35 +0000 (19:07 +0100)] 
[Test] Some more adjustments to the tests

7 weeks ago[Project] Fix unlearn stuff
Vsevolod Stakhov [Mon, 28 Jul 2025 14:06:06 +0000 (15:06 +0100)] 
[Project] Fix unlearn stuff

7 weeks ago[Project] Fix more calculation issues
Vsevolod Stakhov [Mon, 28 Jul 2025 09:41:33 +0000 (10:41 +0100)] 
[Project] Fix more calculation issues

7 weeks ago[Feature] Add some convenience options to rspamc
Vsevolod Stakhov [Mon, 28 Jul 2025 08:53:43 +0000 (09:53 +0100)] 
[Feature] Add some convenience options to rspamc

7 weeks ago[Minor] Further adjustments
Vsevolod Stakhov [Sun, 27 Jul 2025 15:04:29 +0000 (16:04 +0100)] 
[Minor] Further adjustments

7 weeks ago[Fix] Fix statfiles ordering
Vsevolod Stakhov [Sat, 26 Jul 2025 11:28:07 +0000 (12:28 +0100)] 
[Fix] Fix statfiles ordering

7 weeks ago[Fix] Fix probabilities overflow
Vsevolod Stakhov [Sat, 26 Jul 2025 11:27:50 +0000 (12:27 +0100)] 
[Fix] Fix probabilities overflow

7 weeks ago[Minor] Fix stupid change to call Redis for each class
Vsevolod Stakhov [Fri, 25 Jul 2025 14:40:06 +0000 (15:40 +0100)] 
[Minor] Fix stupid change to call Redis for each class

7 weeks ago[Project] Fix various issues
Vsevolod Stakhov [Fri, 25 Jul 2025 10:58:36 +0000 (11:58 +0100)] 
[Project] Fix various issues

7 weeks ago[Test] Add multiclass tests
Vsevolod Stakhov [Fri, 25 Jul 2025 07:48:48 +0000 (08:48 +0100)] 
[Test] Add multiclass tests

7 weeks ago[Minor] Reduce debug level verbosity
Vsevolod Stakhov [Wed, 23 Jul 2025 17:28:46 +0000 (18:28 +0100)] 
[Minor] Reduce debug level verbosity

7 weeks ago[Doc] Add architecture document
Vsevolod Stakhov [Wed, 23 Jul 2025 17:06:34 +0000 (18:06 +0100)] 
[Doc] Add architecture document

7 weeks agoMerge pull request #5550 from moisseev/webui
Vsevolod Stakhov [Wed, 23 Jul 2025 16:38:10 +0000 (22:38 +0600)] 
Merge pull request #5550 from moisseev/webui

[WebUI] Add history load range controls

7 weeks ago[Minor] Use modern bayes configuration
Vsevolod Stakhov [Wed, 23 Jul 2025 14:17:25 +0000 (15:17 +0100)] 
[Minor] Use modern bayes configuration

7 weeks ago[Project] Fix binary classification and lua scripts
Vsevolod Stakhov [Wed, 23 Jul 2025 13:33:04 +0000 (14:33 +0100)] 
[Project] Fix binary classification and lua scripts

7 weeks ago[Project] Further updates
Vsevolod Stakhov [Tue, 22 Jul 2025 21:30:03 +0000 (22:30 +0100)] 
[Project] Further updates

7 weeks ago[WebUI] Add history load range controls 5550/head
Alexander Moisseev [Tue, 22 Jul 2025 16:25:05 +0000 (19:25 +0300)] 
[WebUI] Add history load range controls

- Add 'Offset' and 'Count' inputs to History tab for selecting
  the range of history rows to load
- Add corresponding default setting in Settings tab

8 weeks ago[Project] Fix other classification and learning issues
Vsevolod Stakhov [Mon, 21 Jul 2025 09:55:59 +0000 (10:55 +0100)] 
[Project] Fix other classification and learning issues

8 weeks ago[Minor] Fix various issues
Vsevolod Stakhov [Mon, 21 Jul 2025 09:07:27 +0000 (10:07 +0100)] 
[Minor] Fix various issues

8 weeks ago[Project] Multi-class classification project baseline
Vsevolod Stakhov [Sun, 20 Jul 2025 16:11:52 +0000 (17:11 +0100)] 
[Project] Multi-class classification project baseline

2 months agoMerge pull request #5545 from rspamd/vstakhov-html-tags-overload
Vsevolod Stakhov [Thu, 17 Jul 2025 11:09:06 +0000 (17:09 +0600)] 
Merge pull request #5545 from rspamd/vstakhov-html-tags-overload

[Project] Rework system of html tags to allow more tag types

2 months ago[Test] Write unit tests for new functions 5545/head
Vsevolod Stakhov [Thu, 17 Jul 2025 10:49:28 +0000 (11:49 +0100)] 
[Test] Write unit tests for new functions

2 months ago[Fix] Store html attributes that are empty
Vsevolod Stakhov [Thu, 17 Jul 2025 10:46:08 +0000 (11:46 +0100)] 
[Fix] Store html attributes that are empty

If we see something like <div class=""> we were not storing attribute at all!

2 months ago[Minor] Add method to parse html into html context
Vsevolod Stakhov [Thu, 17 Jul 2025 08:53:04 +0000 (09:53 +0100)] 
[Minor] Add method to parse html into html context

2 months ago[Project] Fix Lua API and some constexpr compatibility
Vsevolod Stakhov [Thu, 17 Jul 2025 08:39:54 +0000 (09:39 +0100)] 
[Project] Fix Lua API and some constexpr compatibility

2 months ago[Project] Support more common html attributes
Vsevolod Stakhov [Thu, 17 Jul 2025 08:16:50 +0000 (09:16 +0100)] 
[Project] Support more common html attributes

2 months agoMerge pull request #5532 from rheoli/icap_ipv6_fix
Vsevolod Stakhov [Wed, 16 Jul 2025 13:57:33 +0000 (19:57 +0600)] 
Merge pull request #5532 from rheoli/icap_ipv6_fix

icap.lua: ipv6 pseudo hostname in GET request

2 months agoMerge pull request #5544 from moisseev/webui
Vsevolod Stakhov [Wed, 16 Jul 2025 13:47:35 +0000 (19:47 +0600)] 
Merge pull request #5544 from moisseev/webui

[Minor] Update Bootstrap 5.3.5 → 5.3.7

2 months ago[Project] Rework system of html tags to allow more tag types
Vsevolod Stakhov [Wed, 16 Jul 2025 11:31:26 +0000 (12:31 +0100)] 
[Project] Rework system of html tags to allow more tag types

2 months ago[Minor] Update Bootstrap 5.3.5 → 5.3.7 5544/head
Alexander Moisseev [Tue, 15 Jul 2025 10:58:46 +0000 (13:58 +0300)] 
[Minor] Update Bootstrap 5.3.5 → 5.3.7

2 months agoMerge pull request #5543 from rspamd/vstakhov-nary-ops-opts
Vsevolod Stakhov [Tue, 15 Jul 2025 10:40:42 +0000 (16:40 +0600)] 
Merge pull request #5543 from rspamd/vstakhov-nary-ops-opts

[Rework] Return back N-ary optimizations for arithmetic-alike expressions

2 months ago[Rules] Make bitcoin expression to use explicit flags 5543/head
Vsevolod Stakhov [Tue, 15 Jul 2025 10:10:09 +0000 (11:10 +0100)] 
[Rules] Make bitcoin expression to use explicit flags

2 months ago[Feature] Allow to pass expression flags in the regexp plugin
Vsevolod Stakhov [Tue, 15 Jul 2025 10:09:45 +0000 (11:09 +0100)] 
[Feature] Allow to pass expression flags in the regexp plugin

2 months ago[Rework] Return back N-ary optimizations for arithmetic-alike expressions
Vsevolod Stakhov [Mon, 14 Jul 2025 20:22:06 +0000 (21:22 +0100)] 
[Rework] Return back N-ary optimizations for arithmetic-alike expressions

2 months agoMerge pull request #5530 from rspamd/vstakhov-more-maps-features
Vsevolod Stakhov [Mon, 14 Jul 2025 15:05:51 +0000 (21:05 +0600)] 
Merge pull request #5530 from rspamd/vstakhov-more-maps-features

Create rule based maps

2 months ago[Test] Add functional tests for regexp maps 5530/head
Vsevolod Stakhov [Mon, 14 Jul 2025 13:50:36 +0000 (14:50 +0100)] 
[Test] Add functional tests for regexp maps

2 months ago[Project] Fix symbols finalisation
Vsevolod Stakhov [Mon, 14 Jul 2025 09:46:32 +0000 (10:46 +0100)] 
[Project] Fix symbols finalisation

2 months ago[Minor] Add some more debug logs
Vsevolod Stakhov [Sun, 13 Jul 2025 21:03:50 +0000 (22:03 +0100)] 
[Minor] Add some more debug logs

2 months ago[Minor] Improve logging
Vsevolod Stakhov [Sun, 13 Jul 2025 14:56:58 +0000 (15:56 +0100)] 
[Minor] Improve logging

2 months ago[Fix] Fix DL lists initialisations
Vsevolod Stakhov [Sun, 13 Jul 2025 14:28:09 +0000 (15:28 +0100)] 
[Fix] Fix DL lists initialisations

2 months agoMerge pull request #5540 from 1358/clean-gpt-response-for-openai
Vsevolod Stakhov [Sat, 12 Jul 2025 13:21:43 +0000 (19:21 +0600)] 
Merge pull request #5540 from 1358/clean-gpt-response-for-openai

Cleanup GPT response for openai-provider, too (<think>)

2 months ago[Project] Store regexp rules state to avoid incomplete/orphaned rules
Vsevolod Stakhov [Sat, 12 Jul 2025 13:21:00 +0000 (14:21 +0100)] 
[Project] Store regexp rules state to avoid incomplete/orphaned rules

2 months agoclean gpt response for openai, too 5540/head
Tom Mittelstädt [Thu, 10 Jul 2025 08:31:18 +0000 (10:31 +0200)] 
clean gpt response for openai, too

2 months ago[Minor] Use more efficient approach for iterations
Vsevolod Stakhov [Mon, 7 Jul 2025 14:45:43 +0000 (15:45 +0100)] 
[Minor] Use more efficient approach for iterations

2 months ago[Project] Fix scoped compilation again
Vsevolod Stakhov [Mon, 7 Jul 2025 11:10:07 +0000 (12:10 +0100)] 
[Project] Fix scoped compilation again