Improved: Conditional script loading — anti-spam JavaScript and CSS are now only output on pages that contain a CF7 or WPForms form (shortcode or Gutenberg block), reducing unnecessary DOM output on all other pages
New: samhp_force_enqueue filter — allows themes/plugins to force-load the anti-spam script on pages where forms are rendered outside post content (e.g. widgets, custom templates)
1.1.4
Improved: PoW submit guard — disable submit button during Proof of Work computation to prevent premature submission
Improved: PoW loading spinner shown only when computation exceeds 500 ms (no visual noise for low difficulty)
Improved: PoW abort mechanism — stale PoW computations from previous submissions and token refreshes are immediately cancelled via generation counter, preventing CPU contention
Fixed: Race condition where old token refresh could cancel new PoW computation after form re-injection
1.1.3
Fixed: Flamingo compatibility — removed incorrect bool type hint on wpcf7_flamingo_submit_if filter callback that caused a fatal TypeError on PHP 8.x when Flamingo is active
Fixed: Quarantine Log table now auto-creates on plugin update (previously only on fresh activation, causing empty log on updated sites)
1.1.2
Improved: Flamingo protection filter added to prevent database bloat (block Tier 2/3 from being saved to Flamingo)
Improved: Quarantine Log now explicitly sets created_at timestamp
1.1.1
Improved: Settings page reorganized into three tabs (General, Rules & Access, Documentation)
Improved: Quarantine Log explanation expanded with detailed 3-Tier Triage information
Improved: Defense Layers Overview and REST API Status moved to dedicated Documentation tab
1.1.0
New: 3-Tier Triage System — Pass (Tier 1), Quarantine (Tier 2), Drop (Tier 3)