CheckView · Version history
CheckView changelog and version history
- Latest version
- 2.6.1
- Nov 6, 2026 (2 days ago)
- Releases
- 76
- since 2024
- In the last year
- 28
- about one every 13 days
- Tested up to
- WordPress 7.1.4
- PHP 8.0 or later
Releases each year
- 202432 releases
- 202520 releases
- 202624 releases
202624 releases
CheckView 2.6.1Latest
- Formidable: Stop listing forms with no published status. Formidable shows no submit button on them, so a test could never submit.
- Formidable: On Formidable 7.0 and later, a CheckView test flagged by StopForumSpam, Akismet or the WordPress comment spam check is no longer saved as a spam entry, which also stopped its notification email.
- WPForms: Turn off modern anti-spam during CheckView test runs. Its two hidden decoy fields move to a random position on every page load, which made tests with position-based selectors fail at random. Real visitors keep the protection.
- hCaptcha: hCaptcha for WordPress is now skipped on the first request of a CheckView test, not only after an earlier test from the same runner IP. Fixes alternating pass/fail on sites using it.
- Gravity Forms: Forms are now found on sites with no feed add-ons and WP_DEBUG_DISPLAY on, where a database error was breaking the response.
- Security: Hardened how CheckView test requests are verified.
- Fix: Pages rendered for a CheckView test are no longer stored by page caches.
CheckView 2.6.0
- Security: hCaptcha is only skipped for verified CheckView test requests.
- WooCommerce: When Disable Actions is on, CheckView test checkouts no longer reach MailerLite (MailerLite for WooCommerce): no cart, checkout email, or order sync, including order status changes after the test ends.
- Elementor: Find forms inside a saved template that a page embeds with the Template widget or the [elementor-template] shortcode, including templates nested in templates, and list them against the pages that embed them. Also list a page once per form when the same form appears on it more than once.
- WooCommerce: Hide CheckView testing product from the public store API.
- Formidable: Bypass CleanTalk’s spam check during CheckView tests.
- Formidable: Bypass Formidable’s other spam checks during CheckView tests, so they no longer fail tests with no sign of the cause.
- Formidable: The User Registration action now follows Disable Actions, so tests no longer create a real user account on each run.
- Formidable: List only forms a visitor can submit. Templates and repeater/embedded child forms are no longer listed, and published forms with a blank status now show up.
- Form discovery: Find forms placed with the block editor or with quoted shortcodes in Formidable, Ninja Forms, Contact Form 7, Forminator and Everest Forms.
- Form discovery: Find Gravity Forms placed with the [gravityforms] shortcode or a single-quoted ID, Ninja Forms placed with the [ninja_forms] shortcode or extra shortcode attributes, and Contact Form 7 forms placed with the legacy [contact-form] shortcode.
- Form discovery: Stop listing another form’s pages against a form whose ID is a prefix of it (form 12 no longer picks up pages for form 123). Affects Gravity Forms, Fluent Forms, WS Form, Ninja Forms, Forminator, Everest Forms and Contact Form 7.
- Contact Form 7: A form missing its hash no longer claims every Contact Form 7 page on the site, and is identified by its post ID instead.
- Forminator: Forminator forms now appear in CheckView.
- WP Armour: Unhook WP Armour’s honeypot during CheckView tests for Gravity Forms, Fluent Forms, Formidable, Contact Form 7, WPForms and Elementor. The existing spam bypasses could not reach it.
- WooCommerce: Filter the store products list by product type correctly, and stop caching filtered results as the full list.
- Uninstall: Remove CheckView’s database tables and options on uninstall. They were left behind before.
- Developer: Plugin functions and constants now use the checkview_/CHECKVIEW_ prefix. For example, CV_TEST_ID is now CHECKVIEW_TEST_ID and TEST_EMAIL is now CHECKVIEW_TEST_EMAIL. Update any custom code that uses the old names.
CheckView 2.5.1
- Release the 2.5.0 changes below. 2.5.0 was published with the wrong stable tag, so WordPress.org never offered it to sites.
CheckView 2.5.0
- Email: when “allow original recipients” is turned on in CheckView, test notifications go to the form’s real recipients as well as the CheckView test inbox. Off by default; nothing changes unless it is enabled.
- Contact Form 7: finish the test after the notification is sent, not before.
- Fluent Forms: CheckView test submissions no longer count against Fluent’s 5-per-30-seconds limit, so bursts of tests on one site stop failing with 429. Visitors keep the limit.
CheckView 2.4.3
- Stop changing PHP’s error reporting level on REST requests. It applied to every REST request on the site, not only CheckView’s, and turned deprecation notices on (and warnings off) in the site’s PHP error log.
- Logs: Stop writing a “bot check” log line for every request that carries a CheckView test ID but no request signature. Anyone could trigger those by adding the parameter to a URL. One such line is still kept every 10 minutes, so a host that strips the signature header still leaves a trace.
CheckView 2.4.2
- Logs: Save any PHP fatal error that happens during a test, so a failed test can be looked into without server log access. Credentials are hidden before the error is sent.
- Logs: Give each site its own hard-to-guess logs folder, since the old shared name was not protected on every server. Existing logs are moved over for you.
- Logs: Keep the site-info request from returning log contents, which could use up too much memory and crash on sites with big logs. Logs are still available on their own.
- Logs: Read only the recent part of each log file, so one busy day cannot make the response huge.
- Forminator: Save each part of a multi-part field (name, address, date, time) on its own, so every part can be checked separately.
- Forminator: Skip add-on actions (Mailchimp, webhooks and the rest) on test submissions, following the test’s suppression settings.
CheckView 2.4.1
- Elementor: Detect forms placed through a Global Widget and list them against the pages that render them.
- Logs: Clean up old logs (default: 30 day retention).
CheckView 2.4.0
- WP 7.1 compatibility: bump “Tested up to” to 7.1.
- Stop loading admin assets from third-party CDNs: bundle SweetAlert2 and the Poppins webfont locally, and drop the unused Bootstrap stylesheet.
- Fix the WooCommerce checkout payment method’s text domain so its label is translatable.
- Correct the PHPCS ruleset, which still carried scaffold placeholders and checked against PHP 5.6.
- Form detection performance and accuracy improvements.
- Local development improvements.
CheckView 2.3.3
- Formidable: Strengthen test clean up.
- Gravity Forms: Stop 500 errors related to argument count when Zero Spam fires certain filters.
- Improve REST API sub-request handling.
CheckView 2.3.2
- Security: fix an authentication bypass in the REST API request filter. Reported by Usama Arshad.
CheckView 2.3.1
- PHP 8.4 compatibility: upgrade bundled firebase/php-jwt to 7.1.0 and raise the minimum PHP version to 8.0.
- Correct Elementor watermark capture gating and document proxy IP limitations.
- Query Elementor submissions by the element id Elementor actually stores, and remove the submission’s actions-log rows on cleanup.
- Prevent Simple Cloudflare Turnstile’s Elementor widget from rendering during tests.
- Reduce the shipped bundle size by removing unused dependencies.
CheckView 2.3.0
- Add Elementor Pro Forms support (forms list, test results, upload field file types, save-to-database action).
- Suppress test orders from Shippo shipment sync and fix Mailchimp suppression on WC Blocks checkout.
- Remove deprecated cv_running cookie check.
- Fix bot detection for REST API form submissions (e.g. WS Form).
- Persist test type via plugin-set cookie for deep navigations (Woo checkout, multi-step forms).
- Remove unused test customer creation/management endpoints and related code.
- Remove dead checkview_get_status AJAX endpoint.
- Hide test product from Query Loop blocks (catalog_visibility only applies to WC queries).
- Hide test product from Qi Addons for Elementor product widgets (Product Slider, Product List).
- Fix CHECKVIEW_VERSION constant mismatch.
- Invalidate OPcache on plugin activation and version change to prevent stale bytecode on hosts with validate_timestamps=0.
- Refactor anonymous closures in main plugin file to named functions with docblocks.
CheckView 2.2.1
- Remove unnecessary files and binaries.
- Remove hardcoded public bot IPs.
- Defense-in-depth for Woo test gateway availability with additional bot checks.
CheckView 2.2.0
- Security: require RS256-signed header for bot detection by default.
- Security: add is_request_signed() to is_bot(); verifies signature via existing JWT RS256 key with expiry checks.
- Security: add checkview_require_signed_request filter to control enforcement (default true); log sig_ok and mode on each bot check.
CheckView 2.1.0
- WP 7.0 compatibility: superglobal hygiene (scope test-credentials to $_GET), header handling alignment.
- Gravity Forms: scope validation bypass to anti-bot failures only; widen anti-bot marker detection; add extension filters via checkview_anti_bot_field_types.
- Gravity Forms: explicitly unhook GF reCAPTCHA Add-On v2.x and GF Cloudflare Turnstile Add-On during test runs.
- Gravity Forms: bypass CleanTalk Spam Protect during test submissions via sentinel flag.
- Gravity Forms: redirect notification mail to test inbox under GF 2.10 Background Notifications; handle \n-only line endings in notification headers.
- Harden cv_entry writes across all form helpers: single-source column-limit map, last_error logging, meta_key truncation.
- Skip cv_entry_meta inserts when parent cv_entry insert fails.
- Truncate source_url to 200 chars before cv_entry insert.
- Log wpdb->last_error on cv_used_nonces insert failure.
- Sanitize CRLF and control characters in admin log entries.
- Guard dbDelta callsites against fatal from install-helper.php redeclaration.
- CF7: remove dead meta_key assignment superseded by checkview_truncate_meta_key().
CheckView 2.0.35
- Suppress webhooks and Mailchimp pushes on CheckView test orders.
- Fix order cleanup, transient scoping, and webhook suppression across all WooCommerce event types.
- Fix accessing array offset on string value PHP error.
- Wrap WS Form db_delete in try/catch so WP options still delete on error.
- Add defensive backstop for GF 2.7+ honeypot abort path.
- Raise minimum PHP version to 7.4.
- Improved logging.
CheckView 2.0.34
- Properly implement disable_actions for WPForms.
CheckView 2.0.33
- Fix Ninja Forms reCAPTCHA bypass: non-essential NF actions (reCAPTCHA, webhooks, payment, CRM) are now disabled unconditionally during CheckView tests so ninja_forms_after_submission can fire and submissions can be captured.
- Add Gravity Forms reCAPTCHA Add-On (v2.x) bypass via gform_validation filter at PHP_INT_MAX, registered only when is_bot() is true.
- Tighten security on remove_gravityforms_recaptcha_addon() — now requires a valid UUIDv4 + test_type instead of a bare isset() check.
- Switch checkview_my_hcap_activate() from isset() to CheckView::is_bot() and guard checkview_get_visitor_ip() before the bot check to avoid fatals on hCaptcha activation.
- Fix form page dropdown returning Kadence Element (popup/hook) container URLs instead of real display URLs.
- Add kadence_element post type to the form-host page exclusion list across all supported form plugins, reusable block recursion, and the WPForms location-meta lookup.
- Fix Contact Form 7 file uploads not being discoverable by CheckView SaaS validation: files are now also stored under the original input name (in addition to the legacy {name}cv_cf7_file key) so assert_form_submitted correctly verifies CF7 uploads instead of silently passing on broken forms.
- Fix Fluent Forms disable_actions handler stripping the native email feed alongside third-party integrations during CheckView tests, causing assert_email_received to time out. The handler now preserves the native notifications feed key while still suppressing third-party feeds (slack, mailchimp, web…
- Fix Gravity Forms async feed integrations (Mailchimp, Webhooks, Zapier, etc.) silently failing on CheckView tests: GF entry deletion is now deferred 15 minutes via wp_schedule_single_event so GF_Background_Process can re-fetch the entry. Emergency rollback: define( 'CHECKVIEW_GF_DEFER_ENTRY_DELETE'…
- Fix Fluent Forms Pro async feed integrations (Mailchimp, Webhook, Slack, Zapier, HubSpot, Pipedrive) silently failing on CheckView tests: FF submission deletion is now deferred so GlobalNotificationHandler‘s queued Action Scheduler feeds can complete. Emergency rollback: define( 'CHECKVIEW_FF_DEFER…
- Defer Ninja Forms submission deletion as defense-in-depth against future async NF add-ons (current Add-Ons Pack runs Mailchimp/Webhooks before priority 99 and is unaffected). Cron handler is confined to post_type='nf_sub' so a poisoned cron event cannot delete unrelated content. Emergency rollback:…
- Wire the disable_actions flow-level toggle end-to-end on Contact Form 7 and Ninja Forms — previously CF7 had no support and NF always suppressed regardless of the flag. New CF7 enumerator removes third-party callbacks on wpcf7_before_send_mail / wpcf7_mail_sent while preserving WPCF7 core, Closures…
- Harden the disable_actions request-param parser to strict equality ('true' === $disable_actions) so the literal string 'false' is no longer treated as truthy.
CheckView 2.0.32
- Fix WP Forms simple name fields.
CheckView 2.0.31
- Add Everest Forms support.
- Fix path traversal vulnerability and add missing capability checks.
- Fix bot detection when SaaS omits checkview_test_type param.
- Fix Fluent Forms entry clone failing silently due to swallowed exception.
- Fix Fluent Forms Turnstile bypass failing on AJAX submissions.
- Fix wp_block detection bug.
- Fix EVF reCAPTCHA bypass for both rendering paths.
- Bypass WP Force Login plugin redirect for CheckView bot visits.
- Add per-test scoping for disable_actions, disable_email_receipt, disable_webhooks.
- Use PHP_INT_MAX priority for REST auth bypass to run after theme filters.
- Add diagnostic logging when form entry clone handler fails silently.
- Fix Ninja Forms conditional field values cleared by server-side action processing.
- Fix Formidable Forms name field isset checks and defensive guards.
- Fix multi-step form email delivery via cookie fallback.
- Fix WPForms Simple Name field storing empty value.
- Add sub_fields array guards for Formidable name field cloning.
- Add isset guards for WPForms name field sub-keys.
- Fix CF7 and Forminator email scoping to use per-test option.
- Fix Fluent Forms disable_actions handler returning malformed value instead of empty array.
- Fix !defined() guards on helper functions corrected to !function_exists().
- Sanitize Ninja Forms raw POST field values with sanitize_text_field() before DB insert.
CheckView 2.0.30
- Fix Simple Cloudflare Turnstile bypass for WooCommerce block checkout.
- Fix “Invalid UUID” log buildup.
CheckView 2.0.29
- Add support for query parameter-based test type detection.
- Disallow caching and bypass WordPress-level authentication for CheckView API endpoints.
- Improve bot detection logging.
- Improve CheckView session logging.
- Fire a new action (checkview_before_init_current_test) right before initializing a test.
CheckView 2.0.28
- Allow “draft” status when retrieving store products.
CheckView 2.0.27
- Add support for Fluent Forms fields: Terms and Conditions, GDPR Acceptance.
- Delay deletion of cloned form results by one day.
- Improved logging for scheduled deletion.
202520 releases
CheckView 2.0.26
- Add logging for email submissions and headers across all form helper classes.
CheckView 2.0.25
CheckView 2.0.24
CheckView 2.0.23
CheckView 2.0.22
CheckView 2.0.21
CheckView 2.0.20
CheckView 2.0.19
CheckView 2.0.18
CheckView 2.0.17
CheckView 2.0.16
CheckView 2.0.15
CheckView 2.0.14
CheckView 2.0.14-b
CheckView 2.0.13
CheckView 2.0.12
CheckView 2.0.11
CheckView 2.0.10
CheckView 2.0.9
CheckView 2.0.8
202432 releases
CheckView 2.0.7
CheckView 2.0.6
CheckView 2.0.5
CheckView 2.0.4
CheckView 2.0.3
CheckView 2.0.2
CheckView 2.0.1
CheckView 2.0.0
CheckView 1.1.22
CheckView 1.1.21
CheckView 1.1.20
CheckView 1.1.19
CheckView 1.1.18
CheckView 1.1.17
CheckView 1.1.16
CheckView 1.1.15
CheckView 1.1.14
CheckView 1.1.13
CheckView 1.1.12
CheckView 1.1.11
CheckView 1.1.10
CheckView 1.1.9
CheckView 1.1.8
CheckView 1.1.7
CheckView 1.1.5
CheckView 1.1.6
CheckView 1.1.4
CheckView 1.1.3
CheckView 1.1.2
CheckView 1.1.1
CheckView 1.1.0
CheckView 1.0.0
Questions about CheckView’s releases
What is the latest version of CheckView?
2.6.1, released on Nov 6, 2026 (2 days ago). It’s tested up to WordPress 7.1.4 and needs PHP 8.0 or later.
How often is CheckView updated?
28 releases in the last year, about one every 13 days. Its first release on WordPress.org dates from March 2024.
Know when your rivals ship
Track your plugin and its rivals: TrackWP sees each new release in the nightly snapshot and alerts you, with what it did to their rank.
Start freeRelease dates come from the day each version’s folder was made in CheckView’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.