1.3.1 - Feb 27, 2026
- Fix - Captcha field no longer merges visually with the Gravity Forms submit button when the inline-block display style is enabled.
- Fix - Gravity Forms field picker button now displays correctly in the field selector panel.
- Fix - Contact Form 7 validation errors now correctly highlight the captcha field instead of displaying generically.
- Fix - Multiple captchas on the same page now work independently with correct screen reader associations.
- Enhancement - Improved compatibility with form plugin stylesheets for icon radio button display.
1.3.0 - Dec 5, 2025
- New - Added per-render tamper token to detect and block stripped or modified CAPTCHA fields.
- New - Added "Skip Login Validation" option for WP core login, lost password, and reset password forms, with clearer admin UI.
- Fix - Scoped login skip option to WP core login contexts only so all other form integrations continue to validate correctly.
- Enhancement - Updated "Powered By" link text to "Powered by Plugin Brewery".
- Dev - Added
pbmfasic_pro_skip_wp_login_option filter allowing developers to force CAPTCHA on custom login pages when the skip option is enabled.
1.2.0 - Dec 4, 2025
- Enhancement - Standardized action, filter, shortcode, and option prefixes across core, integration modules, and admin settings for WordPress coding standards compliance and conflict prevention.
1.1.0 - Dec 2, 2025
- New - Plugin rebranded to MultiForm Anti-Spam Image CAPTCHA Pro with updated constants, assets, and admin copy.
- New - Pro version now auto-deactivates the free version if it is active when the pro version is installed.
- Enhancement - Harmonized shortcode to
[pbmfasic] across all integrations; [pb_captcha] accepted as an alias.
- Enhancement - Adjusted plugin settings page slug for the pro version.
1.0.0 - Nov 17, 2025
- New - Initial release.
- Fix - Patched XSS vectors in shortcode output and admin option handling.
- Fix - Resolved issues with multisite activation and database table creation.
- Fix - AJAX nonce now correctly resets after expiry preventing failed CAPTCHA refreshes.
- Fix - Lazy-loaded CAPTCHA now renders correctly when the global IntersectionObserver is overridden by another script.