WordPress.org

Plugin Directory

SilentShield – Captcha & Anti-Spam pour WordPress (CF7, WPForms, Elementor, WooCommerce)

SilentShield – Captcha & Anti-Spam pour WordPress (CF7, WPForms, Elementor, WooCommerce)

Description

SilentShield est une extension CAPTCHA et antispam unifiée pour WordPress.
Il fonctionne avec les constructeurs de formulaires les plus populaires et protège les formulaires de connexion, d’inscription et de commentaires, sans ralentir votre site.

Pourquoi choisir SilentShield ?
Défense invisible : CAPTCHA, pot-de-miel et listes noires fonctionnant en silence.
Résultats instantanés : installez, activez et bloquez les indésirables.
Support universel : compatible avec Contact Form 7, WPForms, Elementor, WooCommerce, etc.
Confidentialité avant tout : sans cookies, sans suivi, entièrement conforme au RGPD/DSGVO.

SilentShield ne protège pas seulement les formulaires.
Il protège votre temps, vos clients et votre entreprise.

Fonctionnalités principales

  • CAPTCHA invisible (arithmétique, pot-de-miel, image)
  • Blocage IP intelligent & listes noires
  • Filtres anti-indésirables pour les liens, le code & les mots-clés
  • Liste blanche pour les administrateurs & les clients
  • Compatible RGPD, pas de cookies, pas de suivi

Extension de formulaires pris en charge & intégrations

SilentShield protège les formulaires pour tous les principaux constructeurs de formulaires WordPress et les fonctionnalités du coeur :

Constructeurs de formulaires :
– Contact Form 7 (CF7)
– WPForms / WPForms Lite
– Elementor Pro Forms
– Gravity Forms
– Fluent Forms
– JetFormBuilder
– Avada (Fusion Builder) Forms

WooCommerce :
– Commande (Payement classique & PayPal)
– Connexion
– Inscription

Coeur de WordPress :
– Formulaire de connexion (wp-login.php)
– Formulaire d’inscription
– Formulaire de commentaires

Autre :
– Ultimate Member (Connexion & Inscription)
– WP Job Manager (Offres d’emploi)

Chaque intégration peut être activée ou désactivée individuellement dansus Réglages > Étendus.

Calques de protection

SilentShield utilise +10 mécanismes de protection travaillant ensemble :

  1. CAPTCHA – CAPTCHA arithmétique, pot de miel ou à base d’image
  2. Protection JavaScript – Détecte les envoismissions des robots sans prise en charge de JS
  3. Détection du navigateur – Valide les chaînes User-Agent
  4. Protection temporisateur – Bloque les envois plus rapidement qu’un humain peut taper
  5. Protection envois mutilples – Empêche les envois rapides en double
  6. Limitation du taux d’IP – Limite les requêtes par IP et fenêtre de temps
  7. Liste noire d’IP – Bloque les mauvaises IP connues
  8. Règles de contenu – Limite les URL, bloquer BBCode, miset en liste noire de mot-clé
  9. Liste blanche – Passe la validation pour les comptes d’administration, les comptes connectés ou les e-mails/IP spécifiques
  10. API SilentShield (Bêta) – Détection d’indésirables basée sur le cloud

La promesse

SilentShield n’est pas « une autre extension ».
C’est un mur invisible contre le bruit de fond d’internet.

Activez-le une fois et vos formulaires redeviennent humains.

Confidentialité & télémétrie

  • Aucun cookie, pas de traçage des internautes.
  • Stockage IP chiffré (max. 2 mois, uniquement pour la défense anti-indésirables).
  • La télémétrie est facultative et anonymisée.
  • Vous pouvez désactiver la télémétrie à tout moment dans les réglages de l’extension.

Champs collectés :
plugin_slug, plugin_version
snapshot_date
settings_json (configuration anonymisée – drapeaux uniquement booléen/entier, aucun texte libre)
features_json (fonctionnalités activées)
created_at, first_seen, last_seen
counters_json (événements indésirables)
wp_version, php_version, locale

Conformité RGPD/DSGVO
– Bases : Art. 6 Abs. 1 lit. f DSGVO (intérêt légitime – optimisation extension).
– Aucune donnée personnelle, aucun cookie, aucun suivi utilisateur.

Captures d’écrans

  • Réglages de protection IP
  • Protection anti-indésirables dans les commentaires
  • Intégration de Contact Form 7
  • Intégration d’Avada Forms
  • Exemple de CAPTCHA image
  • Exemple de CAPTCHA arithmétique
  • Exemple de CAPTCHA pot-de-miel

Installation

  1. Téléverser vers /wp-content/plugins/.
  2. Activer via le menu « Extensions » de WordPress.
  3. Configurer les réglages de protection dans Réglages > SilentShield.

Pour des instructions de configuration détaillées, voir docs/installation.md.

FAQ

Est-ce que cela va stopper tous les indésirables ?

Pas tous, mais ça le réduit considérablement. SilentShield combine plusieurs couches de détection (CAPTCHA, pot de miel, blocage IP, détection JavaScript, temporisation, règles de contenu) pour une couverture maximale.

Est-il conforme au RGPD ?

Oui – aucun de cookies, aucun suivi, seulement des données anonymisées. Les adresses IP sont stockées chiffrées pendant 2 mois maximum (uniquement pour la défense anti-indésirable). Voir la section Confidentialité ci-dessous.

Ai-je besoin de compétences en codage ?

Non : tout est géré via le tableau de bord de WordPress.

Fonctionne-t-il avec WooCommerce PayPal Payments ?

Oui. SilentShield injecte automatiquement des horodatages de protection JavaScript dans les demandes de validation PayPal. Les boutons standard PayPal et les champs de carte sont pris en charge.

Puis-je personnaliser l’apparence du CAPTCHA ?

Oui. Choisissez à partir de 3 modèles intégrés, personnalisez le libellé et le texte de le texte indicatif, puis sélectionnez une couleur d’icône de rechargement (noir/blanc). Les développeurs peuvent personnaliser davantage la sortie via des filtres.

Puis-je désactiver des calques de protection spécifiques ?

Oui. Chaque mécanisme de protection (CAPTCHA, temporisateurs, JavaScript, navigateur, IP, règles, etc.) peut être activé ou désactivé individuellement.

Comment puis-je mettre en liste blanche mes comptes administrateur ?

Dans Réglages > Etendus > Liste blanche, activez « Liste blanche pour le rôle d’administration » et/ou « Liste blanche des comptes connectés ». Vous pouvez également mettre en liste blanche des e-mails et des adresses IP spécifiques.

Quelles données la télémétrie collecte-t-elle et pourquoi ?

SilentShield inclut une télémétrie anonyme facultative (désactivable).
Cela nous permet de comprendre quelles fonctionnalités sont utilisées, afin d’améliorer la convivialité et de supprimer la complexité inutilisée.

Nous sommes une petite équipe indépendante : nous ne gagnons pas d’argent avec cette extension et nous ne vendons ni ne partageons de données.
La télémétrie est utilisée uniquement à des fins d’optimisation et de maintenance.

Où se trouve la documentation complète ?

Voir le répertoire docs/ dans le dossier de l’extension pour une documentation complète de tous les réglages, crochets, API REST et référence du développeur.

Avis

26 janvier 2026
Easy to use and does exactly what it should. Not overloaded, pretty easy to setup. Awesome ! Works like a charm with Elementor !
28 décembre 2025
This is FINALLY the solution I was looking for. Thousands of spam emails from my website have been a plague. Now – with this amazing plug-in – it has STOPPED. My gratitude is immense. A real game changer!!
8 novembre 2025 1 réponse
Blocks login even if login protection is not checked in dashboard. Moreover, the right answer does not allow to login. You get locked out your own WP site.
23 septembre 2025
The support team is next level! Jumped in immediately and resolved the issue quickly. The plugin works great for my client’s gravity form. Highly recommend and will use again in the future.
22 septembre 2025
As webmaster, I always use this great plugin in all my websites to protect any contact form (using CF7) and also the Wordpress administration login page. Now, my websites are safer, and my customers are not bothered any more. Finally, the support is excellent.
Lire les 18 avis

Contributeurs/contributrices & développeurs/développeuses

« SilentShield – Captcha & Anti-Spam pour WordPress (CF7, WPForms, Elementor, WooCommerce) » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“SilentShield – Captcha & Anti-Spam pour WordPress (CF7, WPForms, Elementor, WooCommerce)” a été traduit dans 2 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « SilentShield – Captcha & Anti-Spam pour WordPress (CF7, WPForms, Elementor, WooCommerce) » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal des modifications

2.3.5

  • Fix [Fluent Forms]: Fixed JavaScript protection failing for Conversational Forms ([fluentform type="conversational"]). Conversational Forms render as a Vue.js app inside a <div> instead of a <form> element, so the regular render_item_submit_button hook and the JS form discovery (querySelectorAll("form")) never fired. Timing fields (php_start_time, js_start_time, js_end_time) are now injected via jQuery.ajaxPrefilter directly into the inner data POST parameter where the PHP backend expects them. Hooks into both wp_footer (embedded forms) and fluentform/conversational_frame_footer (standalone pages).

2.3.4

  • Fix [Templates]: Reload button inline styles were stripped by wp_kses() CSS property filtering (safecss_filter_attr), causing display:inline-flex, align-items, box-sizing etc. to be removed. Reload button HTML is now output directly (all values are escaped at construction via esc_attr/esc_url), ensuring per-form and per-integration style overrides work correctly.
  • Fix [CSS]: Removed hardcoded width:32px; height:32px; display:flex; background-color from template-1 .c-reload a CSS rule that overrode per-form settings. All visual properties are now controlled exclusively via inline styles from get_reload_button().
  • Fix [CSS]: Removed !important declarations on reload button icon dimensions in template-1 CSS that prevented per-form icon size overrides from taking effect.
  • Fix [CSS]: Removed redundant global inline CSS (wp_add_inline_style) for reload button styling that conflicted with the hierarchical settings resolution (form > module > global).
  • Fix [CSS]: Reload button icon is now vertically centered using flexbox (display:inline-flex; align-items:center) instead of margin-top:5px.
  • Improvement [CSS]: All reload button inline styles now use !important to prevent theme and plugin CSS from overriding configured values (background-color, padding, border-radius, display, icon dimensions, margin, max-width).
  • Fix [Core]: Replaced deprecated CF7Captcha::getInstance() calls in UI_Extended with CF7Captcha::get_instance().

2.3.3

  • New [Admin UI]: Added full reload button styling options: background color, border color (color pickers), padding, border radius, and icon size (number inputs). All settings have backward-compatible defaults.
  • New [Admin UI]: All reload button styling settings can be overridden per integration (CF7, Avada, WPForms, etc.) and per individual form via the existing override panel system.
  • New [Admin UI]: Added live preview for the reload button in global settings and all override panels (integration + form level). Changes are reflected in real-time.
  • New [Admin UI]: Added « Asset Loading » section with global toggle to force-load all plugin assets (CSS/JS) on every page, useful when automatic form detection fails.
  • New [Admin UI]: Added custom URL path exceptions textarea. Define URL paths (one per line) where assets should always be loaded, e.g. for custom login pages (WPS Hide Login) or exotic page builders.
  • Improvement [Core]: should_load_assets() now checks global asset loading toggle and custom URL paths before falling back to automatic form detection.

2.3.2

  • Fix [Captcha]: Fixed reload button href being stripped by wp_kses. Changed javascript:void(0) to # to be compatible with WordPress HTML sanitization.

2.3.1

  • New [Admin UI]: Added per-integration and per-form override settings. Protection settings can now be customized at the integration level (e.g. all CF7 forms) or for individual forms, with hierarchical inheritance (Global > Integration > Form).
  • New [Admin UI]: Added slide-in configuration panels on the Extended and Forms admin pages. Click « Configure » next to any integration or form to open the override panel.
  • New [Admin UI]: Added Forms admin page listing all discovered forms across installed integrations (CF7, WPForms, Elementor, Gravity Forms, etc.) with override status badges.
  • New [REST API]: Added POST /overrides/save endpoint for persisting integration and form-level override settings via AJAX with admin permission checks and rate limiting.
  • New [Core]: Added hierarchical settings resolution system (Settings_Resolver) that merges Global, Integration, and Form-level settings with proper inheritance.
  • New [Core]: Added form discovery system (Form_Discovery) that detects forms across all supported integrations.
  • New [Core]: Added ProtectionContext for per-form setting resolution during spam validation, enabling form-specific protection behavior.
  • Fix [Compatibility]: Resolved « Translation loading triggered too early » PHP Notice on WordPress 6.7+ that caused « Cookies are blocked due to unexpected output » errors on login pages, breaking compatibility with plugins like SecuPress Move Login.
  • Fix [JavaScript]: Resolved global scope collision where the bundled WPForms class overwrote window.WPForms, breaking the WPForms plugin. Build output is now wrapped in an IIFE.
  • Improvement [Translations]: Added 57 new translatable strings for override panels and Forms page to all language files (de_DE, de_DE_formal, es_ES, fr_FR, it_IT, pt_PT).
  • Improvement [Compatibility]: Updated integration controllers (Avada, CF7, FluentForms, Gravity Forms, WPForms) with form discovery support and per-form protection context.

2.3.0

  • Fix [Security]: Closed mass-assignment vulnerability in IPBan and IPLog classes. Properties are now set via explicit allowlist instead of property_exists(), preventing overwrite of internal state like the logger or ID fields.
  • Fix [Security]: Replaced parse_str() on raw POST data in API verification with targeted regex extraction, eliminating a potential denial-of-service vector via deeply nested keys.
  • Fix [Security]: Added esc_html() to spam error messages in format_spam_message() as defense-in-depth against potential XSS if future modules include dynamic content in messages.
  • Fix [Security]: Added defined('ABSPATH') guards to 10 PHP files that were missing them (BaseController, BaseModul, Api, Browser, IP_Blacklist_Validator, Whitelist_Validator, Javascript_Validator, Log_WordPress_Interface, Validator, Browser_User_Agent).
  • Fix [WooCommerce / WordPress Login]: Resolved a cross-concern filter leak where WooCommerce registration validation could accidentally bypass WordPress login spam checks (and vice versa). Each integration now uses its own scoped filter (f12_cf7_captcha_wc_login_validated, f12_cf7_captcha_wc_registration_validated).
  • Fix [WordPress Registration]: Changed error code from integer 500 to string 'spam' for consistency with all other controllers.
  • Fix [Comments]: Replaced abrupt wp_die() with a proper error page that includes the specific spam reason, a « Go Back » link, and HTTP 403 status.
  • Fix [CF7]: Changed greedy regex (.*) to non-greedy (.*?) in submit button detection, preventing incorrect captcha placement when multiple input elements exist on the same line.
  • Fix [Telemetry]: Counters now track request-local deltas and merge them with the current database values at shutdown, significantly reducing lost updates under concurrent requests.
  • Fix [Database]: Standardized all $wpdb null-checks in IPBan and IPLog to use strict null === $wpdb comparison consistently.
  • Fix [Core]: set_blocked_time() parameter type changed from string to int to match its semantic purpose (number of seconds).
  • Improvement [API]: Server-side verification endpoint is now configurable via the F12_CAPTCHA_API_URL constant, matching the frontend configuration. This enables mock API servers in automated tests and self-hosted deployments.
  • Improvement [API]: Network errors during API verification now respect a configurable fail mode via the f12-cf7-captcha-api-fail-closed filter. Default remains fail-open for backwards compatibility; set to true to block submissions when the API is unreachable.
  • Improvement [Assets]: Added FORGE12_CAPTCHA_VERSION as cache-busting version parameter to all enqueued scripts and stylesheets, ensuring browsers load updated assets after plugin upgrades.
  • Improvement [Code Quality]: Deprecated method aliases (getInstance(), get_modul()) now emit _deprecated_function() notices to help developers migrate to the current API.
  • Improvement [Logging]: Standardized all log messages from mixed German/English to English for consistent log parsing and compatibility with international teams and log aggregation tools.
  • Performance [Frontend]: Added defer script strategy (WP 6.3+) to frontend scripts, allowing the browser to continue parsing HTML while scripts load.
  • Performance [Frontend]: Removed unnecessary jQuery dependency from the SilentShield API client loader (client.js uses only vanilla DOM APIs).
  • Performance [Admin]: Moved admin toggle.js to the footer to eliminate render-blocking in the dashboard.
  • Performance [Build]: Disabled source maps in production builds, removing the 160KB .map file reference from the deployed bundle.

2.2.76

  • Fix [WooCommerce Checkout]: Resolved « Captcha nicht korrekt: Javascript-Schutz » error when checking out with PayPal Payments (Standard Buttons and Card Fields). The JavaScript protection timestamps are now injected into AJAX checkout requests automatically, fixing compatibility with payment gateways that submit the checkout without clicking the #place_order button.

2.2.75

  • Fix [JetFormBuilder]: Captcha now renders correctly on JetFormBuilder v3.5+ where the legacy before-start-form-row hook no longer fires for the submit button. Added before-end-form filter as a reliable fallback that works across all versions.
  • Fix [JetFormBuilder]: Registered before-start-form and before-end-form as filters (not actions) to match JetFormBuilder’s apply_filters() API, ensuring captcha HTML is properly injected into the form output.
  • Improvement [JetFormBuilder]: Added dedicated JetFormBuilderForms JavaScript handler with MutationObserver for dynamic form detection, captcha repositioning before the submit button, submit interception for captcha verification, and AJAX-aware captcha reload.
  • Fix [JetFormBuilder]: Corrected Gutenberg block name in E2E test setup from jet-forms/action-button to jet-forms/submit-field to match the registered block name.

2.2.74

  • Fix [Security]: Removed $wpdb->prepare() call without placeholders in Salt class, which triggered a PHP notice on WordPress 6.x+.
  • Fix [Security]: Replaced hash_pbkdf2() with negligible 10-iteration count by hash_hmac('sha512') for IP hashing — clearer intent, no misleading key stretching.
  • Fix [Code Quality]: Removed commented-out debug_backtrace() block from production code.
  • Improvement [Security]: Added IP-based rate limiting (30 req/min) to captcha/reload and timer/reload REST endpoints, preventing table flooding by rapid unauthenticated requests.

2.2.73

  • Improvement [Code Quality]: Standardized mixed German/English naming conventions across the entire codebase ($_moduls $_modules, init_moduls() init_modules(), get_modul() get_module()). Deprecated wrapper methods preserve backwards compatibility.

2.2.72

  • Improvement [Database]: Added index on hash column for IPBan, IPLog, Captcha, and CaptchaTimer tables. Existing installations receive the index automatically on update.
  • Improvement [Resilience]: Database tables are now auto-created on first write if missing, removing the need to manually reactivate the plugin after table loss.

2.2.71

  • Improvement [Performance]: Telemetry counters are now accumulated in memory and flushed once at shutdown, replacing per-submission update_option() calls that caused unnecessary database writes on high-traffic sites.

2.2.70

  • Improvement [Performance]: Logger methods now check F12_DEBUG before any processing, eliminating unnecessary overhead (sanitization, glob, file I/O) when debug mode is off.

2.2.69

  • Improvement [Core]: Replaced ~60 manual require_once calls with a custom PSR-4 autoloader (autoload.php). Classes are now loaded on demand, reducing upfront file I/O.

2.2.68

  • Fix [Privacy]: Telemetry now only transmits boolean/integer feature flags. API keys, blacklist content, and all other free-text settings are stripped before transmission.

2.2.67

  • Fix [Security]: Removed hardcoded development API URL from shipped plugin. Production URL (api.silentshield.io) is now the default.
  • New [Configuration]: Added F12_CAPTCHA_API_URL constant to override the API endpoint for development or staging environments (define in wp-config.php).

2.2.66

  • Fix [Security]: IP detection now defaults to REMOTE_ADDR only, preventing IP spoofing via forged HTTP_CLIENT_IP or HTTP_X_FORWARDED_FOR headers.
  • New [Configuration]: Added F12_TRUSTED_PROXY_HEADER constant for sites behind a reverse proxy or load balancer (define in wp-config.php).
  • Improvement [Validation]: IP addresses are now validated with filter_var( FILTER_VALIDATE_IP ) instead of sanitize_text_field().

2.2.65

  • Fix [Security]: Added wp_kses_post() escaping to the plugin upgrade notice output to prevent potential XSS from unescaped update data.

2.2.64

  • Fix [Security]: Added wp_kses() escaping for captcha HTML output in all captcha templates to prevent potential XSS.
  • Fix [Templates]: Fixed double-escaping bug in template-2 where esc_attr() was incorrectly applied to a pre-escaped attribute string.

2.2.63

  • Fix [Security]: Replaced all sprintf + esc_sql SQL queries with $wpdb->prepare() across IPBan, IPLog, and Captcha classes to prevent potential SQL injection.

2.2.62

  • Improvement [Security]: Migrated all AJAX endpoints to WP REST API (f12-cf7-captcha/v1), adding built-in permission checks, schema validation, and proper HTTP responses.
  • Fix [Security]: Blacklist sync endpoint now restricted to manage_options capability (was previously accessible to unauthenticated users).
  • Improvement [API]: Captcha reload, timer reload, and blacklist sync now use REST routes with JSON request/response format.

2.2.61

  • Fix [JavaScript]: Updated a bug causing the reload captcha to trigger infinite in some rare cases

2.2.60

  • Improvement [JavaScript]: Switched Elementor form handling ensuring captcha logic is triggered reliably even when forms are dynamically destroyed and re-rendered by Elementor.

2.2.58

  • Improvement [JavaScript]: Updated default form to exclude additional wordpress components which have be extracted to different components.

2.2.57

– Fix [WordPress Login / Registration]: Resolved an issue where enabling one protection feature incorrectly activated both.

2.2.56

  • Fix [Form Detection] Resolved an issue where a recent script adjustment caused default WordPress/WooCommerce forms to be unintentionally registered as protected SilentShield forms. This led to conflicts with the WooCommerce « Add to cart » process for anonymous sessions. The form detection logic has been corrected to properly exclude default forms.

2.2.55

  • Fix [JavaScript] Fixed a build issue where the minifier renamed classes to _, overwriting window._ (Underscore.js) and breaking WordPress/WooCommerce scripts by reserving _ during mangling and adding a safe global namespace.

2.2.54

  • Fix [WP Job Manager]: Added reliable detection for WP Job Manager plugin presence before initializing compatibility hooks, preventing unnecessary execution and log noise when the plugin is not installed or active.
  • Improvement [JavaScript]: Refactored JavaScript interception logic and updated compatibility with the latest plugin versions. This reduces the number of loaded scripts and improves overall page performance by using optimized, minified files.
  • Improvement [API]: When using the beta API (SaaS service), the system now automatically disables legacy protection mechanisms to prevent potential conflicts.
  • Fix [Avada / Contact Form 7]: Reworked the form submission script to prevent duplicate submissions.
  • Fix [Elementor]: Updated integration with the latest Elementor version to ensure form submissions require valid CAPTCHA verification.
  • Fix [Elementor]: Resolved an issue caused by Elementor’s internal caching, which stored forms (including CAPTCHA data) in the database. The system now reloads CAPTCHA immediately after attaching it to the form to ensure proper validation.

2.2.53

  • Improvement [Whitelist]: Added global AJAX/REST whitelist for WooCommerce and major payment gateways (PayPal, Stripe, Klarna, Mollie, Amazon Pay, Apple Pay, Google Pay, Link) to prevent false CAPTCHA validation during checkout.
  • Improvement [Captcha Math Generator]: Improved numeric CAPTCHA validation logic to correctly handle 0 results (e.g., 5 − 5 = 0) and prevent false negatives from empty or non-numeric inputs.

2.2.52

  • New [WooCommerce Checkout]: Now protected with Captcha. Enable or disable under Settings > Extended. More security. Less spam.
  • Improvement [API v2]: Refactored server-side validation for greater consistency and reduced error rate.

2.2.51

  • Improvement [API v2/JavaScript]: Refactored client-side validation for consistency and reduced error rate

2.2.50

  • Fix [API v2]: Updated key and endpoint configuration.
  • Fix [JavaScript]: Adjusted script to align with latest Chrome behavior, resolving issues with event forwarding from WooCommerce/WordPress.

2.2.49

  • New [API v2]: Started implementing the new Captcha SaaS solution.
  • Fix [JavaScript]: Fixed a bug that prevented WooCommerce from triggering its own events on form submit.
  • Fix [Logger]: No longer tied to WP_DEBUG. Enable with F12_DEBUG.
  • Fix [Core]: Updated paths for blacklist and set timeout value to 3s.

2.2.46

  • Fix [Core]: Removed dynamic property creation in CaptchaTimer; explicit initialization.
  • Fix [JS]: Validation now works when the submit button has an inline onclick; our callback is no longer blocked.
  • Fix [Gravity Forms]: CAPTCHA now renders at the configured position; misplacement previously caused constant protection triggering.
  • Fix [Logs]: Removed properties are no longer tracked; prevents excessive log size growth.

2.2.44

  • Fixed: Updated the comparison of $setting_value by adding an explicit (int) cast to ensure numeric strings like '1' are correctly converted to integers.

2.2.43

  • Fixed: Adjusted hooks to clear database entries by user.
  • Fixed: Fatal error caused by IPLogs using array_keys

2.2.4

  • New: JetForm support
  • New: IP Blacklist Validator
  • New: Anonymous telemetry (opt-out)
  • Improved: Simplified configuration defaults
  • Improved: Reload & error handling for form plugins
  • Fixed: Admin whitelist for Ajax forms

(Older versions trimmed – full changelog on plugin site.)