Custom Contact Forms · Version history
Custom Contact Forms changelog and version history
- Latest version
- 7.20.0
- Nov 3, 2026 (5 days ago)
- Releases
- 175
- since 2010
- In the last year
- 15
- about one every 10 days
- Tested up to
- WordPress 7.1.4
- PHP 7.4 or later
Releases each year
- 201049 releases
- 201124 releases
- 20125 releases
- 20132 releases
- 20141 release
- 201557 releases
- 201621 releases
- 20171 release
- 202615 releases
202615 releases
Custom Contact Forms 7.20.0Latest
- New: Import forms from Ninja Forms and Fluent Forms under Forms > Import, alongside Contact Form 7 and WPForms. Fields, labels, required settings, placeholders, help text, choices, the submit button text, the thank-you message and the first email notification come across. Anything that can’t be con…
- Tweak: The popups on Pro fields and Pro templates now say what each feature does, the price, and the 14-day money-back guarantee, with a link for anyone who has already bought Pro. During a Pro sale, the popups and the weekly summary email show the offer, and the button opens checkout with the disc…
- Fix: In the form builder, the “Build with AI” bar no longer covers the field list and the “Drag fields here” area. It now sits at the top of the form area, and only appears where its button works.
Custom Contact Forms 7.19.1
- Fix: Fields with a width setting (such as half width) now hide correctly when conditional logic hides them.
- Fix: A required field hidden by conditional logic no longer stops the form from being submitted. Hidden fields, and fields in a hidden section, are skipped when the form is checked and are not saved with the entry.
- Fix: Conditional logic based on checkboxes now looks at every box that is ticked. Unticking a box hides the fields it showed, and ticking a second box no longer hides them.
- Fix: Conditional logic now checks values that are already filled in or selected when the page loads.
- Fix: Survey grid answers from Custom Contact Forms Pro are saved with their question, such as “Delivery was on time: Agree”, instead of “null: Agree”.
- Fix: The number next to a Custom Contact Forms Pro slider now updates as the slider moves.
Custom Contact Forms 7.19.0
- New: An optional signup for Custom Contact Forms tips and release news, shown once as a card on the Forms dashboard and once in the form builder. Nothing is sent unless you click Subscribe, and “No thanks” is remembered on your site only. You can subscribe later from Forms > Settings. It replaces t…
- Tweak: The weekly summary email now always ends with a short note about Custom Contact Forms Pro on sites without Pro, and its weekly tip now always covers a free feature (Mailchimp, webhooks, signatures, Akismet or Turnstile and hCaptcha).
- Fix: Importing a WPForms form now brings over its thank-you message. Forms built with current versions of WPForms previously fell back to the default “Thank you for your submission.”
- Tweak: The email tip under a form’s notifications now points to Email Diagnostics for a test email and to SMTP plugins on WordPress.org, replacing an outdated single-plugin recommendation.
- Tweak: Notification emails are now sent with the form’s name as the sender name, such as “Contact us”, instead of “WordPress”, when no sender name is set. The sending address does not change, and a sender name set in the notification or by an SMTP plugin still takes priority.
- Tweak: The weekly summary email is sent with your site’s name instead of “WordPress”, and its per-form table lines up in more email apps.
- Fix: When a site has no Site Title, email subjects now use the site’s address instead of showing empty brackets, such as “[]” in the weekly summary.
- New: The Custom Contact Forms dashboard widget and the Forms Dashboard now show the three latest posts from our blog, with tips on forms, email delivery and spam. See the External Services section for what this loads.
Custom Contact Forms 7.18.0
- New: Mailchimp. Add people who fill in a form to a Mailchimp audience, chosen per form, with double opt-in and an optional consent checkbox. Connect it under Forms → Integrations, then choose an audience under Form Settings in the form builder.
- New: Webhooks. Send each new entry as JSON to Zapier, Make, n8n or any URL, set per form under Form Settings, with a “Send a test” button.
- New: hCaptcha, as an alternative to Cloudflare Turnstile and reCAPTCHA.
- New: Akismet checks. When the Akismet plugin is set up and the option is on, flagged entries go to a new spam folder under Forms → Spam instead of being thrown away. Move one back with “Not spam”. Spam is deleted after 30 days.
- New: A weekly summary email every Monday with the past week’s entries, views and blocked spam per form. On by default for new and existing sites; turn it off from the email or under Forms → Settings.
- New: Forms → Integrations, one page with a card for every integration, showing what is free, what needs Pro, and what is connected. Mailchimp, Akismet, hCaptcha and Cloudflare Turnstile are set up there, and their settings moved off the Settings page.
- New: A “Recent problems” list on the Integrations page shows why a subscriber or webhook did not go through.
- New: A “How are we doing?” card on the Forms dashboard when your forms reach 10, 100, 500 and 1,000 entries. Pick a star rating, and either post a review on WordPress.org or send us a private note. Each milestone appears once and can be dismissed.
- Tweak: The review request no longer appears as a notice across Custom Contact Forms screens. It now lives on the Forms dashboard only.
- Tweak: A short line in the admin footer on Custom Contact Forms screens links to the WordPress.org review page.
- Tweak: The deactivation survey includes an optional link to leave a review.
- Tweak: When you choose to send deactivation feedback, it now also includes the dates of your oldest form and oldest entry, the number of entries in the last 24 hours, and how many forms are in the trash. No entry content is sent.
- Tweak: After a failed hCaptcha or Turnstile check, the widget resets and the visitor sees a message asking them to try again.
- Tweak: Removed an older “please rate” line that appeared next to the newer footer line on some screens.
- Tweak: Custom Contact Forms Pro 1.x users with Mailchimp set up in Pro: your API key and audience move to the free plugin automatically, and nothing changes for your forms. Pro keeps sending until you update Pro.
- Developers: new ccf_save_form, ccf_form_response, ccf_submission_spam_check, ccf_spam_submission, ccf_email_providers, ccf_email_marketing_subscribed and ccf_webhook_payload hooks.
Custom Contact Forms 7.17.0
- New: Forms dashboard, now the first screen under Forms. It shows entries, form views, conversion rate and blocked spam for the last 7, 30 or 90 days or any custom range, with an entries chart, a per-form table and suggested next steps.
- New: Form views and blocked spam are now counted as daily totals, kept on your site. No visitor data is stored.
- New: Signature field. Visitors sign with a mouse, finger or stylus, and the signature is saved as an image attached to the submission. It shows on the entries screen and in notification emails, and is deleted along with the submission. Existing signature fields created with Custom Contact Forms Pro…
- New: A one-time prompt offers to turn on WordPress automatic updates for this plugin. Nothing changes unless you choose to turn it on.
- Fix: Forms created from a template or with the AI form builder now come with an email notification to the site admin, so a first test submission sends an email.
- Fix: Forms imported from Contact Form 7 or WPForms sent notification emails with an empty body. They now include every submitted field, and file uploads are attached.
- Tweak: The Contact Form 7 importer now uses the label text shown on your form, such as “How did you hear about us?”, instead of a label built from the field’s internal name. Acceptance checkboxes keep their wording and stay required unless marked optional in Contact Form 7.
- Tweak: The AI form builder can now add signature fields.
- Tweak: Tested up to WordPress 7.1.
Custom Contact Forms 7.16.1
- Security: fixed a missing authorization issue in the form update REST route. Nested field and choice IDs supplied in a request are now verified to be the correct post type and to belong to the form being edited before any post meta is written or any post is deleted. Reported by Wordfence PRISM. CVE…
Custom Contact Forms 7.16
- Tweak: A one-time introduction to Pro now appears in the form builder. It is dismissible and never returns.
- Feature: Build a form by describing it. Uses the AI provider already connected under Settings > Connectors, so there is no API key to enter and nothing is sent anywhere else. Requires WordPress 7.0 or later; the option stays hidden otherwise.
- Tweak: PayPal added to the Pro field preview in the form builder.
- Tweak: Deactivation feedback now reports how many submissions the forms collected and how long the plugin was in use.
- Tweak: Links to the Pro site identify which screen they came from, so it is possible to tell which prompts are useful.
- Fix: The Pro banner showed an old version number. It now follows the installed version.
Custom Contact Forms 7.15.2
Custom Contact Forms 7.15.0
- New: Import forms from Contact Form 7 and WPForms. Custom Contact Forms now reads your existing forms and rebuilds them as CCF forms: fields, labels, required flags, placeholders, dropdown and radio options, and the notification recipient where it can be resolved. Find it under Forms > Import.
- New: The importer never changes your original forms, tells you exactly which tags it could not convert, and skips forms you have already imported instead of creating duplicates. After importing it shows the new shortcode so you know what to swap on your pages.
- Fix: The submission total in the dashboard widget stayed on the old figure when you changed the time period. It now updates with the table.
- Tweak: The plugin’s admin form handler no longer runs on front-end page loads.
- Tweak: If you mention an error when deactivating, the feedback form now asks for the error text so problems can actually be diagnosed.
- Tweak: If the reason you give for deactivating names something the Pro add-on does, the plugin says so once before deactivating. It never blocks or delays deactivation.
- Tweak: A one-time review request now appears after your forms have collected ten submissions, on Custom Contact Forms screens only. Dismissing it is remembered.
Custom Contact Forms 7.14.0
- New: Dashboard widget: see total submissions and a per-form breakdown for the last 7 days, 30 days, or all time, right on your WordPress dashboard
- New: Click any form in the widget to jump straight to its submissions
- New: One-time notice introducing Custom Contact Forms Pro (permanently dismissible, admin-only, hidden when Pro is active)
Custom Contact Forms 7.13.0
- Refreshed plugin listing and documentation
- Introduced Custom Contact Forms Pro: payments, signatures, PDFs, and more at customformspro.com
- Fix: The Pro field preview dialog in the form builder now displays correctly
- New: Get Pro link on the Plugins screen (shown only when the Pro add-on is not active)
Custom Contact Forms 7.11.0
- Tweak: Modernized form builder: Yes/No options now display as toggle switches and fields appear as cards in the canvas
- Tweak: Friendly submission columns: the entry table now shows real field labels instead of internal slugs
- Tweak: Redesigned submissions table with a cleaner, more modern style
- Tweak: Redesigned Form Templates screen with custom template icons
- Dev: New ccf_pre_submission_errors filter so add-ons can run final pre-save validation
- Compatibility: Tested up to WordPress 7.0
Custom Contact Forms 7.10.0
- New: Form templates: prebuilt Contact, Quote Request, Newsletter, Event Registration, and Feedback forms under Forms → Templates
- New: Field width controls: set fields to full, half, third, two-thirds, or quarter width for multi-column layouts
- New: Minimal form theme: modern underlined-input style, selectable per form and per block
- New: Custom CSS setting: add site-wide form styles from Forms → Settings
- Tweak: Refreshed form builder with field-type icons and a cleaner, more modern interface
Custom Contact Forms 7.9.1
- Privacy: Google reCAPTCHA API is no longer loaded by default. It now loads only on pages that actually render a reCAPTCHA field, preventing unsolicited third-party requests
- Fix: register_setting() calls updated to the modern array syntax with explicit sanitize_callback
Custom Contact Forms 7.9.0
- New maintainer: Dmitry Alexander (outlawgt)
- Security: Full top-down code audit and hardening
- Security: Fixed XSS vulnerability in form renderer (unescaped REQUEST_URI)
- Security: Fixed potential SQL injection in export filter_query()
- Security: Added capability checks to export and API delete endpoints
- Security: Removed abandoned external Mailchimp subscription (dead URL)
- Security: All API permission callbacks return WP_Error for proper REST responses
- Security: Sanitized IP address and nonce inputs throughout
- New: Gutenberg block with form selector and live server-side preview
- New: Cloudflare Turnstile integration (Settings → Cloudflare Turnstile)
- New: Enhanced anti-spam: improved honeypot, time-based trap, IP rate limiting
- New: Disposable email blocking and keyword blacklist
- New: Email diagnostics: test email button and wp_mail failure logging
- New: Copy shortcode button in form list, edit screen, and At a Glance panel
- New: CSV submission importer (Forms → Import CSV) with column auto-mapping
- New: Modern responsive form CSS with proper focus states and transitions
- New: Dark and light theme overrides with modern styling
- New: jQuery UI datepicker modern style override
- Fix: PHP 8+ compatibility: resolved all deprecation warnings and type errors
- Fix: session_start() checks session_status() and headers_sent()
- Fix: (double) cast replaced with proper int math
- Fix: Settings page array offset on false when options not yet set
- Fix: Null-safe array access in submission CPT formatters
- Fix: Import bug: choices saving to wrong meta key
- Fix: show_in_json replaced with show_in_rest
- Fix: Removed obsolete vendored WP-API loader
- Tweak: ABSPATH guards added to all PHP files
- Tweak: date() replaced with wp_date(), parse_url() with wp_parse_url()
- Tweak: wp_send_json() replaces echo json_encode() + exit pattern
20171 release
Custom Contact Forms 7.8.5
- Prevent submissions from being accessible in API
201621 releases
Custom Contact Forms 7.8.4
- Fix WP 4.7 conflict
Custom Contact Forms 7.8.3
- Fix WooCommerce conflict
Custom Contact Forms 7.8.2
- Add $submission to ccf_email_subject filter, correct “Invalid Date” issue with datepicker
- Fix WooCommerce conflict
- Add support for Customize Posts plugin
Custom Contact Forms 7.8.1
- Cache busy form submission URL
- Improve field choice UI
Custom Contact Forms 7.8
- Hide form title setting
- Reply to notification fields
- Activate form notifications by default
Custom Contact Forms 7.7
- New CAPTCHA option
- Fix “0” choice input bug
- Fix empty conditional bug
- Reset field renderer bug fixed
- Guide user for whitelisting file extensions in file field
- Submit class form option
- Logged in users only form option
Custom Contact Forms 7.6
- Form duplication
- Fix multiple section header bug
- Button class field
Custom Contact Forms 7.5
- Conditional fields and sections
- [current_date_time] notification variable
Custom Contact Forms 7.4.5
Custom Contact Forms 7.4.4
Custom Contact Forms 7.4.3
Custom Contact Forms 7.4.2
Custom Contact Forms 7.4.1
Custom Contact Forms 7.4
Custom Contact Forms 7.3.2
Custom Contact Forms 7.3.1
Custom Contact Forms 7.3
Custom Contact Forms 7.2.3
Custom Contact Forms 7.2.2
Custom Contact Forms 7.2.1
Custom Contact Forms 7.2
201557 releases
Custom Contact Forms 7.1
Custom Contact Forms 7.0.3
Custom Contact Forms 7.0.2
Custom Contact Forms 7.0.1
Custom Contact Forms 7.0
Custom Contact Forms 6.9.4
Custom Contact Forms 6.9.3
Custom Contact Forms 6.9.2
Custom Contact Forms 6.9.1
Custom Contact Forms 6.9.0
Custom Contact Forms 6.8.2
Custom Contact Forms 6.8.1
Custom Contact Forms 6.8
Custom Contact Forms 6.7.3
Custom Contact Forms 6.7.2
Custom Contact Forms 6.7.1
Custom Contact Forms 6.7.0
Custom Contact Forms 6.6.4
Custom Contact Forms 6.6.3
Custom Contact Forms 6.6.2
Custom Contact Forms 6.6.1
Custom Contact Forms 6.6
Custom Contact Forms 6.5.1
Custom Contact Forms 6.5
Custom Contact Forms 6.4.12
Custom Contact Forms 6.4.11
Custom Contact Forms 6.4.10
Custom Contact Forms 6.4.9
Custom Contact Forms 6.4.8
Custom Contact Forms 6.4.7
Custom Contact Forms 6.4.6
Custom Contact Forms 6.4.5
Custom Contact Forms 6.4.4
Custom Contact Forms 6.4.3
Custom Contact Forms 6.4.2
Custom Contact Forms 6.4.1
Custom Contact Forms 6.4
Custom Contact Forms 6.3.6
Custom Contact Forms 6.3.5
Custom Contact Forms 6.3.4
Custom Contact Forms 6.3.3
Custom Contact Forms 6.3.2
Custom Contact Forms 6.3.1
Custom Contact Forms 6.3
Custom Contact Forms 6.2.3
Custom Contact Forms 6.2.2
Custom Contact Forms 6.2.1
Custom Contact Forms 6.2
Custom Contact Forms 6.1.4
Custom Contact Forms 6.1.3
Custom Contact Forms 6.1.2
Custom Contact Forms 6.1.1
Custom Contact Forms 6.1
Custom Contact Forms 6.0.3
Custom Contact Forms 6.0.2
Custom Contact Forms 6.0.1
Custom Contact Forms 6.0
20141 release
Custom Contact Forms 5.1.0.4
20132 releases
Custom Contact Forms 5.1.0.3
Custom Contact Forms 5.1.0.2
20125 releases
Custom Contact Forms 5.1.0.1
Custom Contact Forms 5.1.0.0
Custom Contact Forms 5.0.0.1
Custom Contact Forms 5.0.0.0
Custom Contact Forms 4.8.0.0
201124 releases
Custom Contact Forms 4.7.0.5
Custom Contact Forms 4.7.0.4
Custom Contact Forms 4.7.0.3
Custom Contact Forms 4.7.0.2
Custom Contact Forms 4.7.0.1
Custom Contact Forms 4.7.0.0
Custom Contact Forms 4.6.0.1
Custom Contact Forms 4.6.0.0
Custom Contact Forms 4.5.3.2
Custom Contact Forms 4.5.3.1
Custom Contact Forms 4.5.3.0
Custom Contact Forms 4.5.2.3
Custom Contact Forms 4.5.2.2
Custom Contact Forms 4.5.2.1
Custom Contact Forms 4.5.2
Custom Contact Forms 4.5.1.2
Custom Contact Forms 4.5.1.1
Custom Contact Forms 4.5.1
Custom Contact Forms 4.5.0
Custom Contact Forms 4.0.9.2
Custom Contact Forms 4.0.9.1
Custom Contact Forms 4.0.9
Custom Contact Forms 4.0.8.1
Custom Contact Forms 4.0.8
201049 releases
Custom Contact Forms 4.0.7
Custom Contact Forms 4.0.6
Custom Contact Forms 4.0.5
Custom Contact Forms 4.0.4
Custom Contact Forms 4.0.3
Custom Contact Forms 4.0.2
Custom Contact Forms 4.0.1
Custom Contact Forms 4.0.0
Custom Contact Forms 4.0.0.b9
Custom Contact Forms 4.0.0.b8
Custom Contact Forms 4.0.0.b7
Custom Contact Forms 4.0.0.b6
Custom Contact Forms 4.0.0.b5
Custom Contact Forms 3.5.10
Custom Contact Forms 4.0.0.b3
Custom Contact Forms 4.0.0.b2
Custom Contact Forms 3.5.9
Custom Contact Forms 4.0.0.b1
Custom Contact Forms 3.5.8
Custom Contact Forms 3.5.7
Custom Contact Forms 3.5.6
Custom Contact Forms 3.5.5
Custom Contact Forms 3.5.4
Custom Contact Forms 3.5.3
Custom Contact Forms 3.5.2
Custom Contact Forms 3.5.1
Custom Contact Forms 3.5.0
Custom Contact Forms 3.1.2
Custom Contact Forms 3.1.1
Custom Contact Forms 3.1.0
Custom Contact Forms 3.0.2
Custom Contact Forms 3.0.1
Custom Contact Forms 3.0.0
Custom Contact Forms 2.2.5
Custom Contact Forms 2.2.4
Custom Contact Forms 2.2.3
Custom Contact Forms 2.2.0
Custom Contact Forms 2.1.0
Custom Contact Forms 2.0.3
Custom Contact Forms 2.0.2
Custom Contact Forms 2.0.1
Custom Contact Forms 1.2.1
Custom Contact Forms 1.2.0
Custom Contact Forms 1.1.3
Custom Contact Forms 1.1.2
Custom Contact Forms 1.1.1
Custom Contact Forms 1.1.0
Custom Contact Forms 1.0.1
Custom Contact Forms 1.0.0
Questions about Custom Contact Forms’s releases
What is the latest version of Custom Contact Forms?
7.20.0, released on Nov 3, 2026 (5 days ago). It’s tested up to WordPress 7.1.4 and needs PHP 7.4 or later.
How often is Custom Contact Forms updated?
15 releases in the last year, about one every 10 days. Its first release on WordPress.org dates from July 2010.
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 Custom Contact Forms’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.