The bundled spam rules stay on spam-filter v3.0.2 and become ours from here.
spam-filter v3.0.3 (#208) follows upstream's 1.0 server, which this one isn't:
The AI classifier's LLM_* tags become AI_*. This server emits LLM_*, so a new install would score the classifier's verdicts at 0.
HTTP lookups' refresh becomes refreshInterval. This server reads refresh and ignores unknown fields, so every list would quietly fall back to the 12-hour default.
Its other new tags (MIME_LIMIT_EXCEEDED, URL_REDIRECTOR_INSECURE, the BCC and reply-to renames) are ones this server doesn't emit, or score 0.
The one useful part is scores for the DKIM2 result tags, which this server already emits (crates/spam-filter/src/analysis/dmarc.rs) but v3.0.2 doesn't score. This adds them, with v3.0.3's values: DKIM2_ALLOW −0.2, DKIM2_REJECT 1.0, and DKIM2_NA, DKIM2_PERMFAIL, DKIM2_TEMPFAIL 0.0.
resources/spam-filter/spam-filter-rules.json.gz: v3.0.2 plus those five tags, nothing else changed (the JSON round-trips byte for byte; compressed with gzip -n -9, so it's reproducible).
BUNDLED_SPAM_RULES_VERSION is 3.0.2-inbuxa.1, so existing servers load the new tags once on their next start. Loading only adds missing tags, so an admin's own scores stay.
resources/spam-filter/README.md says the rules are maintained here, lists the change, and says how to make the next one. THIRD-PARTY.md no longer says "unmodified".
spam-rules-watch.yml is removed. Watching spam-filter was all it did, and every release from now on would be another #208.
Checked locally: fork checks and their unit tests, cargo test -p common --lib spam_rules, and the antispam suite (its messages only produce DKIM2_NA, which still scores 0, so no expectations changed).
The bundled spam rules stay on spam-filter v3.0.2 and become ours from here.
spam-filter v3.0.3 (#208) follows upstream's 1.0 server, which this one isn't:
- The AI classifier's `LLM_*` tags become `AI_*`. This server emits `LLM_*`, so a new install would score the classifier's verdicts at 0.
- HTTP lookups' `refresh` becomes `refreshInterval`. This server reads `refresh` and ignores unknown fields, so every list would quietly fall back to the 12-hour default.
- Its other new tags (`MIME_LIMIT_EXCEEDED`, `URL_REDIRECTOR_INSECURE`, the BCC and reply-to renames) are ones this server doesn't emit, or score 0.
The one useful part is scores for the DKIM2 result tags, which this server already emits (`crates/spam-filter/src/analysis/dmarc.rs`) but v3.0.2 doesn't score. This adds them, with v3.0.3's values: `DKIM2_ALLOW` −0.2, `DKIM2_REJECT` 1.0, and `DKIM2_NA`, `DKIM2_PERMFAIL`, `DKIM2_TEMPFAIL` 0.0.
- `resources/spam-filter/spam-filter-rules.json.gz`: v3.0.2 plus those five tags, nothing else changed (the JSON round-trips byte for byte; compressed with `gzip -n -9`, so it's reproducible).
- `BUNDLED_SPAM_RULES_VERSION` is `3.0.2-inbuxa.1`, so existing servers load the new tags once on their next start. Loading only adds missing tags, so an admin's own scores stay.
- `resources/spam-filter/README.md` says the rules are maintained here, lists the change, and says how to make the next one. `THIRD-PARTY.md` no longer says "unmodified".
- `spam-rules-watch.yml` is removed. Watching spam-filter was all it did, and every release from now on would be another #208.
#208 is closed as not planned, pointing here.
Checked locally: fork checks and their unit tests, `cargo test -p common --lib spam_rules`, and the antispam suite (its messages only produce `DKIM2_NA`, which still scores 0, so no expectations changed).
spam-filter v3.0.3 follows upstream's 1.0 server: it renames the AI
classifier's LLM_* tags to AI_* and the lookups' refresh setting to
refreshInterval, neither of which this server uses. Taken in, it would
score the classifier's verdicts at 0 on new installs and quietly reset
every lookup's refresh interval.
The rules stay on v3.0.2 and are maintained here from now on, versioned
3.0.2-inbuxa.N. The first change adds scores for the DKIM2 result tags
the server already emits, with v3.0.3's values: DKIM2_ALLOW -0.2,
DKIM2_REJECT 1.0, the others 0.
spam-rules-watch only watched spam-filter, so it goes too.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The bundled spam rules stay on spam-filter v3.0.2 and become ours from here.
spam-filter v3.0.3 (#208) follows upstream's 1.0 server, which this one isn't:
LLM_*tags becomeAI_*. This server emitsLLM_*, so a new install would score the classifier's verdicts at 0.refreshbecomesrefreshInterval. This server readsrefreshand ignores unknown fields, so every list would quietly fall back to the 12-hour default.MIME_LIMIT_EXCEEDED,URL_REDIRECTOR_INSECURE, the BCC and reply-to renames) are ones this server doesn't emit, or score 0.The one useful part is scores for the DKIM2 result tags, which this server already emits (
crates/spam-filter/src/analysis/dmarc.rs) but v3.0.2 doesn't score. This adds them, with v3.0.3's values:DKIM2_ALLOW−0.2,DKIM2_REJECT1.0, andDKIM2_NA,DKIM2_PERMFAIL,DKIM2_TEMPFAIL0.0.resources/spam-filter/spam-filter-rules.json.gz: v3.0.2 plus those five tags, nothing else changed (the JSON round-trips byte for byte; compressed withgzip -n -9, so it's reproducible).BUNDLED_SPAM_RULES_VERSIONis3.0.2-inbuxa.1, so existing servers load the new tags once on their next start. Loading only adds missing tags, so an admin's own scores stay.resources/spam-filter/README.mdsays the rules are maintained here, lists the change, and says how to make the next one.THIRD-PARTY.mdno longer says "unmodified".spam-rules-watch.ymlis removed. Watching spam-filter was all it did, and every release from now on would be another #208.#208 is closed as not planned, pointing here.
Checked locally: fork checks and their unit tests,
cargo test -p common --lib spam_rules, and the antispam suite (its messages only produceDKIM2_NA, which still scores 0, so no expectations changed).