3.0.0-beta.2
Pre-release
Pre-release
What's Changed
- chore: code cleanup (grammar, PHPDoc, simplification, tests) by @2ndkauboy in #765
- fix: resolve all PHPStan level 8 issues by @2ndkauboy in #766
- refactor: build normalized rule payload in the reaction by @2ndkauboy in #777
- docs: align hook DocBlocks with WordPress documentation standards by @2ndkauboy in #769
- test: add LinkbackFromMyself unit test coverage by @2ndkauboy in #773
- fix: let
RegexpSpamrawurlpatterns match by allow-listing the field by @2ndkauboy in #774 - ci: add spam-detection comparison workflow by @2ndkauboy in #778
- feat: wire up
is_final()so definitive rules short-circuit the spam check by @2ndkauboy in #764 - ci: post the full-corpus comparison result on a pull request by @2ndkauboy in #783
- ci: expose the language service and tuning knobs on the manual trigger by @2ndkauboy in #784
- fix: address code review findings from 3.0.0-beta.1 by @2ndkauboy in #763
- ci: let the detection comparison choose between two corpora by @2ndkauboy in #785
- fix: detect languages in scripts without word delimiters (#776) by @2ndkauboy in #781
- chore: pin the E2E environment to WordPress 7.0 by @2ndkauboy in #803
- fix: collect the settings-tabs suite and make the seed post deterministic by @2ndkauboy in #804
- fix: read the delete-spam cron settings under the names that are written by @2ndkauboy in #800
- fix: tolerate a partial legacy option array in the v2 to v3 migration by @2ndkauboy in #799
- docs: note that issues merged into
v3must be closed by hand by @2ndkauboy in #806 - chore: integrate
wp-sincecheck, update workflows and ignore files by @2ndkauboy in #772 - ci: split
tests.ymlinto per-concern workflows with path filters by @2ndkauboy in #809 - fix: skip the country lookup for addresses that have no country by @2ndkauboy in #816
- fix: keep invalid UTF-8 out of the regular expression patterns by @2ndkauboy in #818
- ci: pass the release tag via
env:inattach-snapshot.ymlby @2ndkauboy in #823 - fix: escape the slug in the unknown-rule spam reason text by @2ndkauboy in #824
- feat: let a filter choose the address the country rule looks up by @2ndkauboy in #817
- fix: stop sending an empty
apikeyto the geolocation service by @2ndkauboy in #821 - ci: add back a working plugin check workflow by @2ndkauboy in #813
- feat(regexp): add stable identifier keys to default spam patterns by @2ndkauboy in #782
- fix: resolve the remaining security review findings by @2ndkauboy in #825
- test: add an integration test harness and cover the v2 to v3 migration by @2ndkauboy in #794
- fix: derive the honeypot and debug log salt from
wp_salt()by @2ndkauboy in #826 - fix: scope the nonce verification suppressions in
CommentsColumnsby @2ndkauboy in #831 - fix: derive the plugin path in the integration test scripts by @2ndkauboy in #832
- docs: replace the stale build badge with one badge per workflow by @2ndkauboy in #830
- refactor: introduce a
DB_VERSION_OPTION_NAMEconstant by @2ndkauboy in #835 - fix: prefer a configured
NONCE_SALTover the managed salt by @2ndkauboy in #833 - ci: pin every external action to a commit hash by @2ndkauboy in #810
- fix: let the settings sanitizers accept whatever was posted by @2ndkauboy in #836
- feat: log the spam reasons in the spam log file by @2ndkauboy in #797
- chore: update plugin version to 3.0.0-beta.2 by @2ndkauboy in #838
Full Changelog: 3.0.0-beta.1...3.0.0-beta.2