=== WPForms - Easy Form Builder for WordPress - Contact Forms, Payment Forms, Surveys, & More ===
Contributors: wpforms, jaredatch, smub, slaFFik
Tags: contact form, contact form plugin, forms, form builder, custom form
Requires at least: 5.5
Tested up to: 6.9
Stable tag: 1.9.9.2
Requires PHP: 7.2
License: GNU General Public License v2.0 or later

The best WordPress contact form plugin. Drag & Drop form builder to create beautiful contact forms, payment forms, & other custom forms. 7000+ integrations including Stripe and more.



== Description ==

= WordPress Contact Form Builder Plugin =

[WPForms](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) is a drag & drop WordPress form builder that's EASY and POWERFUL. Create contact forms, feedback forms, subscription forms, payment forms (including Stripe, Square & PayPal), and other types of forms for your site in minutes with just a few clicks!

At WPForms, user experience is our #1 priority. Our pre-built form templates and workflows make WPForms the most beginner-friendly contact form plugin on the market. You don't have to hire a developer. Create a form in less than 5 minutes with our drag & drop form builder or use a template to get a head start.

> <strong>WPForms Pro</strong><br />
> This plugin is the Lite version of WPForms Pro, which comes with email subscription forms, multi-page contact forms, file uploads, conditional logic, and extra payment integrations. [Click here to purchase the best premium WordPress contact form plugin now!](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)

https://www.youtube.com/watch?v=Ypl0XcGphw8&rel=0

= Drag & Drop Contact Form Builder =

Create custom contact forms in minutes with our easy-to-use [drag and drop online form builder](https://wpforms.com/features/drag-drop-online-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin). But don't just take our word for it. See what WordPress experts are saying:

> WPForms is by far the <strong>easiest form plugin to use</strong>. My clients love WPForms and it's one of the few plugins they can use without any training. As a developer I appreciate how fast, modern, clean and extensible it is.<br>
> Bill Erickson - Expert WordPress Consultant

= Pre-built Form Templates =

WPForms comes with [2000+ pre-built form templates](https://wpforms.com/templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin).

Whether you're looking to create a simple contact form, marketing form, request a quote form, donation form, payment order form, registration form, Stripe payment form, or a subscription form, we have a form template already prepared and ready to use.

= Mobile Ready, SEO Friendly, and Optimized for Speed =

WPForms contact forms are 100% responsive and mobile-friendly. We optimized every query on the frontend and the backend to ensure that it's one of the fastest WordPress contact form plugins.

You can embed your contact form on any page with an optimized title and description, so WPForms is one of the most SEO friendly contact form plugins too.

= Fields & Features You Need to Succeed =

With star ratings, file uploads, repeater fields, survey fields, and multi-page contact forms, you can easily build the right custom form for your site's needs. Plus, integrate your contact forms with an email marketing service in just a few steps and collect payments with Stripe, PayPal, and Square for bookings and orders without the need for a dedicated eCommerce plugin.

See what one business owner has to say about their WPForms contact form:

>As a business owner, time is my most valuable asset. WPForms allows me to create smart contact forms with just a few clicks. With their pre-built form templates and the drag & drop builder, I can create a new form that works in less than 2 minutes without writing a single line of code. Well worth the investment.<br>
> David Henzel - Co-founder of MaxCDN

= Surveys & Polls =

Create custom survey forms like Survey Monkey. Our [WordPress survey plugin addon](https://wpforms.com/features/surveys-and-polls-addon?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) comes with smart survey fields including Likert scale, star ratings, and NPS. Embed your surveys and polls anywhere in WordPress.

Use our survey reporting tools to customize graphs, export them for presentations, and display aggregate results. You can also share poll results instantly when collecting votes.

= Default WordPress Forms =

Aside from building simple contact forms, WPForms also helps you create better default WordPress forms, like custom WordPress login forms and custom WordPress user registration forms. Create a password-protected contact form or even a members-only contact form.

Bloggers and publishers can use our WordPress post submission forms to accept guest posts, testimonials, and more.

= Payment Forms, Donation Forms, Booking Forms, and More =

While WPForms started out as a contact form plugin, it has evolved into a powerful custom forms solution for any type of payment or booking form.

WPForms integrates with PayPal, Stripe, Square Payments, and Authorize.Net so you can easily accept credit card payments or take payments via PayPal. Bonus: you can also take signatures.

We're proud to be a Stripe Verified Partner. This partnership allows us to build the best Stripe integration with early access to features. You can use our Stripe integration to accept both one-time payments as well as recurring payments while syncing all form data to your Stripe account.

= Custom Calculator Forms =

Using the [WPForms Calculations addon](https://wpforms.com/features/calculations-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin), you can build custom formulas and display results on the frontend.

Create simple arithmetic calculations or build complex conditional calculations with rounded values, averages, time ranges, and more! It's the best calculator plugin for WordPress.

= Forms Optimized for Conversions =

With our Form Pages addon, you can create distraction-free custom form landing pages to increase conversions.

To improve form completion rates, we created Conversational Forms which helps you make your feedback forms feel more human by adding an interactive layout. ([See Conversational Forms Demo](https://wpforms.com/features/conversational-forms-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)).

= Easy to Customize and Extend =

You can easily customize your contact forms with our section dividers, HTML blocks, and CSS. Embedding forms in Elementor and Divi has never been easier thanks to our native integrations.

We also know that our developer friends may want more control, so we added tons of hooks and filters.

= Full WPForms Feature List =

* [Online form builder](https://wpforms.com/features/drag-drop-online-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) - powerful drag & drop contact form builder. Create WordPress contact forms, payment forms, and other online forms without writing any code.
* 100% mobile responsive.
* GDPR friendly.
* Payment Forms - Take payments, donations, down payments, recurring payments, service payments with our Stripe (FREE) integration.
* [Form templates](https://wpforms.com/templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) pre-built and ready to import.
* [Form styling](https://wpforms.com/docs/styling-your-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) for fields, labels, and buttons.
* [Spam protection](https://wpforms.com/features/spam-protection/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) built in, plus integrations with hCaptcha, Google reCAPTCHA, and Cloudflare Turnstile.
* [AI Forms](https://wpforms.com/features/wpforms-ai/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to automatically create and refine forms through natural conversation.
* [Instant form notifications](https://wpforms.com/features/instant-notifications/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) via email.
* [Custom form confirmations](https://wpforms.com/features/form-confirmation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) with success messages or thank you pages.
* [Smart phone field](https://wpforms.com/docs/how-to-choose-the-right-form-field-for-your-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin#phone) that adapts to your visitor's location.
* [AI Choices](https://wpforms.com/features/wpforms-ai/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to automatically populate Multiple Choice, Checkboxes, and Dropdown field options.
* [Coupons](https://wpforms.com/features/coupons-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) for free shipping and sale discounts.
* [Calculator forms](https://wpforms.com/features/calculations-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) for payment, shipping, billing, and more.
* [File upload fields](https://wpforms.com/features/file-uploads/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) for user submissions.
* [Multi-page forms](https://wpforms.com/features/multi-page-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) with progress bars.
* [Smart conditional logic](https://wpforms.com/features/conditional-logic/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to show or hide fields.
* [Repeater field](https://wpforms.com/features/repeater-field/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) that enables the person filling out the form to easily add another field or group of fields to fill out. Perfect for group registration forms, custom order forms, and more.
* [Signatures](https://wpforms.com/features/digital-signatures/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) for agreements or payment forms.
* [User registration forms](https://wpforms.com/features/user-registration/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) and custom login forms.
* [Post submission forms](https://wpforms.com/features/post-submissions/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to collect user-generated content.
* [Geolocation](https://wpforms.com/features/geolocation-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to collect location data along with submissions.
* [Surveys and Polls](https://wpforms.com/features/surveys-and-polls-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) with interactive reports.
* [Form abandonment detection](https://wpforms.com/features/form-abandonment/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to collect partial form submissions.
* [Form locker](https://wpforms.com/features/form-locker-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to control access using passwords, dates, and more.
* [Offline forms](https://wpforms.com/features/offline-forms-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to collect submissions without an internet connection.
* [Form landing pages](https://wpforms.com/features/form-pages-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to boost conversions.
* [Conversational forms](https://wpforms.com/features/conversational-forms-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to boost overall completion rates.
* [Lead forms](https://wpforms.com/features/lead-forms-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to get more submissions with multi-step layouts.
* [Webhooks](https://wpforms.com/features/webhooks-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to send data without third party connectors.
* [User Journey reports](https://wpforms.com/features/user-journey-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) so you know which content is driving form conversions.
* [Save and Resume](https://wpforms.com/features/save-and-resume-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to let visitors save and come back later.
* [Entry Automation](https://wpforms.com/features/entry-automation-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) to export and delete form entries on a daily, weekly, or monthly basis.

= Integrations =

* [Google Sheets](https://wpforms.com/features/google-sheets-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Zapier](https://wpforms.com/features/zapier-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [PayPal Commerce](https://wpforms.com/features/paypal-commerce/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Stripe](https://wpforms.com/features/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) - We're a Stripe Verified Partner for Payments.
* [Square](https://wpforms.com/features/square-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Authorize.Net](https://wpforms.com/features/authorize-net-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Mailchimp](https://wpforms.com/features/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [AWeber](https://wpforms.com/features/aweber-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Campaign Monitor](https://wpforms.com/features/campaign-monitor-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [GetResponse](https://wpforms.com/features/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Constant Contact](https://wpforms.com/features/constant-contact/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Airtable](https://wpforms.com/features/airtable-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Notion](https://wpforms.com/features/notion-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Drip](https://wpforms.com/features/drip-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [ActiveCampaign](https://wpforms.com/features/activecampaign-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [HubSpot](https://wpforms.com/features/hubspot-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Brevo](https://wpforms.com/features/brevo-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [MailerLite](https://wpforms.com/features/mailerlite-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [MailPoet](https://wpforms.com/features/mailpoet-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [ConvertKit](https://wpforms.com/features/convertkit-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Salesforce](https://wpforms.com/features/salesforce-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Slack](https://wpforms.com/features/slack-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Dropbox](https://wpforms.com/features/dropbox-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Google Calendar](https://wpforms.com/features/google-calendar-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Google Drive](https://wpforms.com/features/google-drive-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Twilio](https://wpforms.com/features/twilio-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Pipedrive](https://wpforms.com/features/pipedrive-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Make](https://wpforms.com/features/make-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Quiz](https://wpforms.com/features/quiz-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)
* [Zoho CRM](https://wpforms.com/features/zoho-crm-addon//?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)

You can see why WPForms is the best WordPress contact form plugin on the market! Want to unlock these features? [Upgrade to our Pro version](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin).

= Credits =

This plugin is created by [Jared Atchison](https://www.jaredatchison.com/) and [Syed Balkhi](https://syedbalkhi.com/).

= Branding Guidelines =

WPForms&reg; is a registered trademark of WPForms LLC. When writing about the contact form plugin by WPForms, please make sure to uppercase the initial 3 letters.

* WPForms (correct)
* WP Forms (incorrect)
* wpforms (incorrect)
* wpform (incorrect)

== Installation ==

1. Install WPForms Lite either via the WordPress.org plugin repository or by uploading the files to your server. (See instructions on [how to install a WordPress plugin](https://www.wpbeginner.com/beginners-guide/step-by-step-guide-to-install-a-wordpress-plugin-for-beginners))
2. Activate WPForms Lite.
3. Navigate to the WPForms tab at the bottom of your admin menu and click the "Add New" button to begin creating your new WordPress contact form.
4. Want more features? [Purchase the full version of WPForms](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin)!

== Screenshots ==

1. WPForms Drag & Drop Form Builder
2. Adding New Fields
3. Generate choices using AI
4. Form Templates
5. WPForms Block With Style Options
6. Payments Overview
7. Single Payment
8. Form Preview
9. Form Pages with Multiple Styles
10. Conversational Form

== Frequently Asked Questions ==

= Who should use WPForms? =

WPForms is perfect for business owners, bloggers, designers, developers, photographers, and basically everyone else. If you want to create a custom WordPress form, then you need to use the WPForms drag & drop form builder.

= Do I need to have coding skills to use WPForms? =

Absolutely not. You can create and manage forms without any coding knowledge (100% drag & drop form builder). WPForms is the most beginner-friendly contact form plugin on the market.

= What type of WordPress forms can I build with WPForms? =

WPForms drag & drop form builder combined with our addons is the most powerful WordPress contact form plugin on the market. Here are some types of WordPress forms you can create:

* Simple Contact Forms
* Job Application Contact Form
* Feedback Survey Contact Form
* Make a Suggestion Contact Form
* Change Request Forms
* Online Booking Forms
* Event Booking Form
* Video Release Forms
* PTO Request Contact Form
* Maintenance Request Contact Form
* Scholarship Application Forms
* File Download Forms
* Employment Verification Forms
* Make a Referral Contact Form
* Volunteer Registration Contact Form
* Offline Contact Form

To see a full list, visit our [Form Template Gallery](https://wpforms.com/templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin), which has over 2000+ pre-made contact form templates.

= Which Form Fields Does WPForms offer? =

We made the WPForms form builder to be both easy and powerful.

Here are the contact form fields that come with WPForms Form Builder (also known as Standard Fields):

* Text Field
* Paragraph Text (Textarea)
* Dropdown Field
* Multiple Choice (Radio Buttons)
* Checkboxes
* Numbers Field
* Name Field
* Email Address Field
* Number Slider Field

Here is a list of our advanced contact form builder fields (Fancy Fields):

* Smart Phone Field with international format verification
* Address Field
* Date / Time Field
* Website / URL Field
* File Upload - Great for File Upload Form
* Password Field
* Rich Text - Add a WYSIWYG field, perfect for guest blog post forms
* Layout Field - Position form fields inside columns using custom or premade layouts
* Repeater Field - Allow users to duplicate fields or groups of fields in your forms
* Page Break Field - Great for Multi-Page Contact Form with Progress Bar
* Section Divider - Great for Long Contact Forms
* HTML Field - add Custom HTML inside your form
* Content Field - Add headings, lists, and media to your forms without writing code
* Entry Preview - Allow your form users to preview their form entries before they've submitted them
* Star Rating - Great for Survey Forms and Polls
* Hidden Field
* Questions CAPTCHA - Great for Preventing Contact Form Spam
* Math CAPTCHA - Great for Preventing Contact Form Spam
* Likert Scale - Great for Survey Forms
* hCAPTCHA - Great for Preventing Contact Form Spam
* Cloudflare Turnstile - Great for Preventing Contact Form Spam
* Signature Field - Great for Contracts and Booking Forms
* Net Promoter Score (NPS Field) - Great for Survey Forms
* Google ReCAPTCHA - Great for Preventing Contact Form Spam


Here is a list of our Payment Fields that will help you create an order form, donation form, booking form, and other payment forms:

* Single Item
* Multiple Items
* Checkbox Items
* Dropdown Items
* Total (Calculation Field)
* Credit Card (Stripe, Square, and Authorize.Net)
* PayPal

= Can I integrate WPForms with my CRM or Email Marketing Service? =

Yes, WPForms offers seamless integration with over 1,000+ popular [email marketing](https://www.wpbeginner.com/showcase/best-email-marketing-services/) and [CRM software](https://www.wpbeginner.com/showcase/best-crm-software-for-small-businesses-compared/).

You can easily send data from your contact form and other WordPress forms to your favorite CRM, email newsletter, and other marketing platforms.

Here is a list of our popular marketing integrations:

* Mailchimp
* Constant Contact
* AWeber
* Drip
* Campaign Monitor
* GetResponse
* ActiveCampaign
* Zapier
* Salesforce CRM
* Brevo (ex Sendinblue)
* MailerLite
* MailPoet

Using our Zapier integration, you can easily connect WPForms with over 7,000+ marketing apps including:

* PipeDrive CRM
* Google Sheets
* Active Campaign
* Zoho CRM
* Zoho Mail
* Zoho Invoice
* Agile CRM
* Slack
* Trello
* Infusionsoft by Keap
* Microsoft Excel
* Dropbox
* HelpScout
* Zendesk
* Freshbooks
* Freshsales
* Intercom
* Click Funnels
* Microsoft Dynamics 365 CRM
* Capsule CRM
* Insightly CRM
* Printfection
* Acuity Scheduling
* Quickbooks Online

See all [WPForms Zapier Integrations](https://zapier.com/apps/wpforms/integrations).

Note: WPForms was voted Zapier's 6th fastest-growing app in the world.

= Can I create a Payment Form with WPForms? =

Yes, WPForms is not your average contact form plugin. You can use it to create any type of form including payment forms.

We make it easy for you to accept payments using Stripe, Square, Authorize.Net, and PayPal Commerce.

Both our Stripe and Authorize.Net integrations help you easily accept credit card payments online.

Our PayPal integration allows you to accept PayPal payments online.

= Can I Import / Export Forms with WPForms?

Yes, WPForms makes it easy to import / export your contact forms and other WordPress forms created with the WPForms form builder. This is incredibly useful for developers and agencies who are building websites for clients.

You can also create custom form templates that you can use on client websites. For more see our documentation.

Aside from that, WPForms also allows you to import forms from other WordPress Contact Form plugins such as Contact Form 7, Ninja Forms, and Pirate Forms.

If you're not happy with your WordPress contact form plugin, then definitely give WPForms a try!

= I'd like access to all features. How can I get them? =

You can get access to more features, addons, and support by [upgrading to our Pro version](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin). Purchasing a Pro license gets you access to the full version of WPForms, automatic updates, priority support, and all WPForms Addons!

= Is WPForms translation ready? =

Yes, WPForms has full translation and localization support via the wpforms textdomain. Based on your site language, required .mo and .po translation files will be downloaded and placed into the default WordPress languages directory. The same is true for every WPForms Addon, as well.

= Does WPForms include spam protection? =

Yes, WPForms includes spam protection which is enabled on all forms by default in the form settings.

Additionally, Google reCAPTCHA, hCaptcha, and Cloudflare Turnstile are also supported and can be set up at WPForms > Settings > CAPTCHA.

WPForms is fully compatible with all versions of Google reCAPTCHA:

* Checkbox reCAPTCHA v2
* Invisible reCAPTCHA v2
* reCAPTCHA v3

Lastly, [Custom Captchas](https://wpforms.com/features/spam-protection//?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) are available which allow you to create math- or question-based CAPTCHAs for your contact forms.

== Notes ==

WPForms is absolutely, positively the most [beginner-friendly WordPress contact form plugin](https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin) on the market. It is both easy and powerful.

We took the pain out of creating online forms and made it easy. Check out all [WPForms features](https://wpforms.com/features/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin).

Also, I'm the founder of [WPBeginner](https://www.wpbeginner.com/), the largest WordPress resource site for beginners. It was a huge priority for me to make a WordPress contact form plugin that beginners can use without any training.

I feel that we have done that here. I hope you enjoy using WPForms.

Thank you,

Syed Balkhi

== Changelog ==

= 1.9.9.2 =
- Added: WordPress Abilities API integration for AI and automation-ready access to WPForms.
- Added: Ability to generate Quiz-enabled forms using the AI Form generator.
- Added: Support for multiple fields selection: you can now drag, duplicate, or delete multiple fields at once.
- Added: Keyboard shortcuts for field duplication (D), field removal (Delete), copy (Ctrl/Cmd + C), and paste (Ctrl/Cmd + V).
- Added: Undo/redo command manager with modular integrations for Form Builder inputs.
- Added: Divi 5 compatibility and a new block for the Divi page builder.
- Changed: Put the plugin on a diet – performed a cleanup, reducing plugin size.
- Changed: Improved compatibility with the MotoPress Content Editor plugin.
- Changed: Updated Chart.js library to v4.5.1.
- Fixed: Selected form type was not retained when refreshing the Forms Overview page.
- Fixed: Deprecation error with PHP 8.4 that occurred during WPForms installation.
- Fixed: Form creation via Form AI for users without manage_options capability.
- Fixed: Deprecation warning being logged in the browser console on the Dashboard admin page.
- Fixed: Fixed PHP 8.4 deprecated error in Stripe integration related to nullable parameter type declaration.
- Fixed: From Email/Name fields appeared blank for new notifications when WP Mail SMTP force settings were enabled.
- Fixed: The collapsible block height in the builder to be consistent with other fields.
- Fixed: Disabled field option toggle remained interactive.

= 1.9.8.7 =
- Fixed: A fatal error occurred on the admin dashboard with some third-party plugins.
- Fixed: Prevented loading of Divi assets on pages not containing a form.
- Fixed: Compatibility with the LeadConnector plugin.
- Fixed: Integration icons were misaligned on the Form Builder page.

= 1.9.8.4 =
- Added: Ability to hide choice images notifications.
- Added: Ability to set a user-defined choice for the Multiple Choice field.
- Changed: Updated DOMPurify library to 3.2.7.
- Changed: Updated Font Awesome library to 7.0.1.
- Changed: Validation of Custom Meta Keys on the Form Builder > Payments > Stripe screen.
- Fixed: Form Builder preview container height in empty state.
- Fixed: A conflict occurred when a non-Google captcha was used in the form and the Google reCAPTCHA API was loaded on the same page.
- Fixed: A fatal error in `wpforms_is_admin_page()` that occurred when the page request parameter was passed as an array instead of a string.
- Fixed: Console error when installing WPForms via a Block in the Block Editor.

= 1.9.8.2 =
- Fixed: Form Builder preview container height with empty state.

= 1.9.8.1 =
- Added: Ability to disconnect Stripe accounts through the Settings > Payments admin page.
- Added: Ability to set how many times a Stripe recurring payment will be repeated.
- Added: Back To Previous Page option for Confirmation Page Redirect.
- Changed: Improved accessibility for the Modern Dropdown field by adding ARIA attributes to support VoiceOver navigation.
- Changed: Notification email fields in the Form Builder now only display email-compatible Smart Tags.
- Fixed: PHP warnings might be generated for new forms created from a template by non-admin users.
- Fixed: Disabled fields (read-only) didn't look disabled.
- Fixed: Smart Tag fields in the sidebar had incorrect height.
- Fixed: The last step of the WPForms Challenge wasn't shown up for users in some cases.
- Fixed: Header Menu Links position has been adjusted to be on the same level on every screen.
- Fixed: Duplicated Square field button existed in the Form Builder.
- Fixed: Form authors with no capabilities to install addons did not get information about missing privileges.
- Fixed: HTMLPurifier threw a deprecated API call notice.
- Fixed: Users with no sufficient access permissions were able to display a broken Themes settings panel.
- Fixed: Custom CSS with quotes in selectors now displays correctly instead of showing broken HTML entities.
- Fixed: Pinned AI Chat layout in the Form Builder.
- Fixed: Log titles having apostrophes in them were not displayed correctly in the Log Viewer.
- Fixed: There might be errors when processing Stripe payments with customer metadata containing empty keys.

= 1.9.7.2 =
- Fixed: JS errors might affect the form submission on some environments with installed plugins for caching.

= 1.9.7.1 =
- Added: Ability to apply Styles and Themes directly within the WPForms Form Builder.
- Added: Ability to copy whole Smart Tags input content if it contains smart tags.
- Added: Number field validation messages control on the Settings > Validation page.
- Added: The Choices Limit option for the Payment Checkbox Items field.
- Added: Warning message in case corrupted form data is detected in the form builder.
- Changed: Optimized the calculation process of the total amount on payment forms.
- Changed: Improved compatibility with PHP 8.4.
- Changed: Improved error message in case 403 error occurred while saving a form.
- Changed: Improved compatibility with the Paid Memberships Pro plugin.
- Fixed: The spacing between the template badge and the form name was too small.
- Fixed: Square Credit Card field error was still displayed after entering valid details.
- Fixed: Various RTL problems on the form builder screen.

= 1.9.6.2 =
- Fixed: "Please enable JavaScript" message was displayed over a form even when JavaScript was enabled.

= 1.9.6.1 =
- Added: Smart Tags support in the Default Value setting for Name field subfields.
- Fixed: WPForms updates did not work consistently with the WP Umbrella plugin.
- Fixed: The layout of the Order Summary table was broken on Windows operating systems.
- Fixed: The layout of the Stripe custom fields mapping table was broken in the form builder.

= 1.9.6 =
- Added: Form Themes for Elementor.
- Added: Customer phone, Payment, and Customer metadata can now be configured on the Form Builder > Payments > Stripe screen.
- Changed: Improved styles on Tools > Scheduled Actions page with reset search filter.
- Changed: Improved Form Builder loading.
- Changed: Required select fields have default placeholder text to prevent the submission of default values.
- Changed: Improved message about missing PHP extensions.
- Changed: Updated DOMPurify library to 3.2.6.
- Fixed: Captcha verification was skipped for payment forms.
- Fixed: Email notification was malformed when a form had a Total field with the "Order Summary" enabled.
- Fixed: The marketing provider's name was not specified in the warning popup when a field with conditional logic was removed.
- Fixed: An error occurred when installing a plugin through the Gutenberg block.
- Fixed: Addon fields were not rendered on the front-end on multisite if addons were not activated site-wide.
- Fixed: Missing popup about unsaved changes when closing the form from the Marketing tab.
- Fixed: Compatibility with Elementor editor.
- Fixed: The "Plugin is in the Latest Version" error occurred when updating several addons using bulk update on the Plugins page.
- Fixed: There was no popup about unsaved changes displayed after typing into the MCE editor.
- Fixed: Layout issues of the Square credit card field.
- Fixed: JavaScript error occurred when a form was added in the Elementor popup.
- Fixed: Fields were added to the form in the wrong order under some conditions.

= 1.9.5.2 =
- Fixed: Issue sending form notifications using email fields that had ID=0.

= 1.9.5.1 =
- Fixed: AJAX request for Stripe payments was sent twice, which might lead to missed entries and payment records.
- Fixed: `{field_id="#"}` smart tag didn't work for CC field in email notifications.
- Fixed: Email notification was misformatted when the form had a Total field with the "Order Summary" enabled.

= 1.9.5 =
- IMPORTANT: Support for PHP 7.1 has been discontinued. If you are running PHP 7.1, you MUST upgrade PHP before installing WPForms 1.9.5. Failure to do that will disable WPForms core functionality.
- Added: Users can connect their Square accounts and receive payments via their payment forms.
- Added: New design for Smart Tags.
- Added: The ability to activate and deactivate email notifications through a status button in the form builder.
- Changed: Enhancing the prevention of duplicate form submissions.
- Changed: Improved the error messaging when creating new provider connections in the form builder.
- Changed: Improved the "From Email" setting validation in the Notifications screen.
- Changed: AI Chat Modal can be docked to the right of the builder.
- Changed: The order of the admin bar menu items.
- Changed: Improved compatibility with PHP 8.1.
- Changed: Improved UX for Dropdown and Dropdown Items fields.
- Fixed: Hidden by conditional logic items in the Order Summary table were shown in the Editors.
- Fixed: Stripe settings were active when the credit card field was removed from the form.
- Fixed: The notice for the minimum and maximum valid values of the Number Slider field is now correct.
- Fixed: WPForms Challenge RTL issues.
- Fixed: Incorrect wpforms_htaccess_file transient name generation.
- Fixed: Console error when users tried to embed a form into an existing page on the last step of the WPForms Challenge.
- Fixed: The submit button stays disabled after Stripe payment fails in some cases.
- Fixed: The Dropdown and Dropdown Items fields displayed placeholders instead of default values in the Form Builder.
- Fixed: Wrong paddings in the Form Builder sidebar on Windows in the RTL mode.
- Fixed: Improved the From Email notification setting. The Email field is detected now by a smart tag.
- Fixed: Improved notification template for the {entry_geolocation} smart tag.

= 1.9.4.2 =
- Fixed: Fatal error when trying to delete the plugin.
- Fixed: Character encoding issues in Email notifications when viewed on some Apple devices.

= 1.9.4.1 =
- Added: Minimum and maximum value validation for the Numbers field.
- Added: Implemented password protection and user access restrictions for uploaded files.
- Added: Automatic preview page reload was added after saving.
- Changed: Improved Gutenberg block UI by hiding settings when no form is selected.
- Changed: Updated stripe/stripe-php library to 16.5.0.
- Changed: Enhanced Tools > Scheduled Actions visibility for better compatibility with Action Scheduler, WooCommerce, and WP Rocket plugins.
- Changed: Improved Stripe payments customer address handling.
- Changed: Optimized number slider calculations for better decimal precision.
- Changed: Improved Numbers and Number Slider fields settings interface in the form builder.
- Fixed: Stripe Credit Card field payment element console warnings.
- Fixed: Resolved form submission debug log warnings.
- Fixed: URL referer smart tag functionality for external websites.
- Fixed: Addressed GDPR enhancements setting flashings on refresh.
- Fixed: Resolved Stripe payments processing for Indian accounts.
- Fixed: Corrected Payments Summary chart tooltip display.
- Fixed: Improved decimal precision in number slider field calculations.
- Fixed: Enhanced WPForms admin pages performance.
- Fixed: Backslash handling in form data after saving.
- Fixed: Prevented duplicate entry submissions with reCAPTCHA v3.
- Fixed: Restored missing Order Summary item names for hidden label fields.
- Fixed: Improved Order Summary performance with conditional Multiple Items fields.
- Fixed: Dynamic Choice fields button behavior.
- Fixed: Display of zero-price Payment Checkbox items.
- Fixed: Stripe Credit Card field styling in Divi builder.
- Fixed: Fatal error with a custom country address scheme.

= 1.9.3.2 =
- Fixed: GDPR enhancements sub-setting briefly flashed on the WPForms > Settings admin page after refresh.

= 1.9.3.1 =
- IMPORTANT: Support for PHP 7.0 has been discontinued. If you are running PHP 7.0, you MUST upgrade PHP before installing WPForms 1.9.3. Failure to do that will disable WPForms core functionality.
- Added: Ability to open the Form Builder with a specific section via URL parameter.
- Added: Support for Block API versions 2 and 3.
- Added: Support for the Constant Contact API v3.
- Added: Quick page navigation on the Forms Overview page.
- Added: Direct access to Tools sections from WPForms top admin menu.
- Changed: Updated stripe/stripe-php library to 16.3.0.
- Changed: Updated DOMPurify library to 3.2.3.
- Changed: Optimized Order Summary table display on mobile devices.
- Changed: Improved date formatting consistency in payments table.
- Changed: Removed dynamic missing translation fix to improve performance.
- Fixed: Tooltip text overlap in Choices.js dropdowns with long tags.
- Fixed: Default payment choice label visibility in order summary table.
- Fixed: Hidden single item field visibility in Order Summary table.
- Fixed: Unnecessary CSS variables output on pages without forms.
- Fixed: Toggle icon status glitch on the payments settings section.
- Fixed: Submit button text handling with empty values.
- Fixed: Non-Latin characters have been stripped from the URL when used in {page_url} and {url_referer} smart tags.
- Fixed: Block Editor field compatibility.
- Fixed: Warning appeared in the debug.log when non-string data were erroneously sent to translation.
- Fixed: Custom validation message display for sub-fields.
- Fixed: Stripe Credit Card field in Elementor popups.
- Fixed: Submit button default label handling.
- Fixed: An error was happening when removing “Copy / Paste Style Settings” in Elementor and Block editor.
- Fixed: The “Copy / Paste Style Settings” field default value was empty when adding an Elementor WPForms block.
- Fixed: Error handler improvements.
- Fixed: Some emails were not added to Constant Contact integration.
- Fixed: The WPForms Challenge steps were shown in the AI Form Generator panel.
- Fixed: PHP 7.1 and 7.2 compatibility.

= 1.9.2.3 =
- Changed: Creating a custom form theme is now available only to Administrators.
- Fixed: Translated form action notices had an "s" letter appended to the form/template translated name.
- Fixed: The Minimum time to submit setting consistently blocked form submissions on sites created in WordPress Studio.
- Fixed: The '_load_textdomain_just_in_time was called incorrectly' error with child themes.
- Fixed: In rare cases, a fatal error could happen on plugin activation.

= 1.9.2.2 =
- Fixed: _load_textdomain_just_in_time notice with WordPress 6.7.
- Fixed: Some translations were empty with WordPress 6.5+.

= 1.9.2.1 =
- Added: The Settings section in the WPForms admin bar menu.
- Added: Update Stripe payments status after canceling a refund in the Stripe dashboard.
- Added: Open the URL in the new tab for Confirmations.
- Added: New `$row_id` parameter to the `wpforms_pre_update_{$type}` and `wpforms_post_update_{$type}` actions.
- Added: AI chat warning messages if prohibited code has been removed.
- Changed: Updated jquery.validate library to 1.21.0.
- Changed: Updated stripe/stripe-php library to 16.1.0.
- Changed: Updated DOMPurify library to 3.1.7.
- Changed: Updated woocommerce/action-scheduler library to 3.8.2.
- Changed: Updated Chart.js library to v4.4.4.
- Changed: Smart tags are no longer processed in WordPress builders, such as Gutenberg, Elementor, Divi Builder, etc.
- Fixed: There was a potential infinite recursion in error handling.
- Fixed: Improved performance on the Templates page in the Form Builder.
- Fixed: Field labels were printed in the Order Summary table when the Hide Label option was enabled.
- Fixed: In some cases, adding a new account in Form Builder did not load the account data correctly.
- Fixed: Improved translation handling for addon names and descriptions.
- Fixed: Order Summary performance issue on large forms containing numerous payment conditional logic fields.
- Fixed: Mapped First/Last Name sub-fields were replaced by another after the initial field was deleted.
- Fixed: An extra field was displayed when WPForms were embedded using a shortcode in the Footer.
- Fixed: The non-Latin characters were not supported for the AI Choices prompt.

= 1.9.1.6 =
- Fixed: The Dropdown field placeholder was disabled on the Divi Builder preview screen.
- Fixed: When sending a form with an incorrect nonce field, no error was displayed.
- Fixed: An extra field was displayed when a form was embedded using a shortcode in the Footer.

= 1.9.1.5 =
- Fixed: PHP warnings appeared with WordPress widgets.

= 1.9.1.4 =
- Fixed: Multiple sending of weekly summary emails.

= 1.9.1.3 =
- Fixed: HTML tags didn't work in an agreement text of the GDPR field when a field's label was hidden.
- Fixed: HTML tags in choices of the Checkboxes, Multiple Choice, and Dropdown fields were escaped and didn't work as expected.

= 1.9.1.2 =
- Fixed: There was a conflict with the WooCommerce Subscriptions plugin.

= 1.9.1.1 =
- Added: State-of-the-art generative AI can help to build forms even faster.
- Added: New supported currencies.
- Added: New `wpforms_html_field_name` filter that allows modifying field labels in email notifications.
- Changed: Improved the UI for multiple dropdown elements in various places of the admin area.
- Changed: Updated Stripe Subscription to use the plan name as the description.
- Changed: Notice in the WPForms > Settings > Payments admin page when a selected currency is not supported by Stripe.
- Changed: WPForms admin notices are now sorted by type.
- Changed: Improved the Modern Dropdown field UI across the Block and Elementor editors.
- Changed: Updated DOMPurify library to 3.1.6.
- Changed: Updated `stripe/stripe-php` library to 15.8.0.
- Changed: Improved RTL support of plugin admin pages.
- Changed: Improved compatibility with Full Site Editor and Gutenberg plugin.
- Changed: Improved performance on admin pages.
- Changed: Form Builder: Alt+S shortcut toggles the sidebar on Windows and Linux. Ctrl+F shortcut has been improved to always open search field.
- Fixed: Resolved W3C validation error for the Order Summary table.
- Fixed: Fixed RTL display issues for submit spinner and payment fields with quantity enabled.
- Fixed: Resolved pagination button issues for WordPress versions 6.6 and higher.
- Fixed: Incorrect price was displayed in the Order Summary table for some currencies when the Single Item field with 'user defined' type was used.
- Fixed: Improved mobile responsiveness of the price column in the Order Summary table.
- Fixed: "The cron event list could not be saved" error could appear in the debug.log file in certain cases.
- Fixed: WPForms script was not defined in the Elementor popup.
- Fixed: Compatibility with the Jetpack Boost plugin.
- Fixed: PHP notice generated on the Single Payment screen in some cases.
- Fixed: Search on WPForms –> Tools –> Scheduled Actions page redirected users to the Import Screen.
- Fixed: The `wpforms_weekly_entries_count_cron` task was reporting an error in the debug log.
- Fixed: Resolved W3C errors and warnings reported for the Standard fields.
- Fixed: The browser tab could crash if the WPForms block was used with patterns.
- Fixed: The Order Summary text was not readable in some form themes when the `{order_summary}` smart tag was used in the Confirmation message.
- Fixed: Submit button hover styles were overridden in some themes and Elementor.
- Fixed: The "Missing 'wpforms' dependency" error appeared on pages without a form.

= 1.9.0.4 =
- Fixed: Unable to send a form with Constant Contact integration and fatal errors in the admin.

= 1.9.0.3 =
- Fixed: Compatibility issues with menus and popups on Elementor.
- Fixed: A fatal error with wp_remote_retrieve_headers occurred in CacheBase.php in some cases.
- Fixed: Compatibility with the Jetpack Boost plugin.

= 1.9.0.2 =
- Added: Modern Antispam protection for new forms.
- Added: Support conditional logic in the Layout field and add the ability to render the label and description for this field.
- Added: The notification to check prices is added when the currency is switched.
- Added: The new filter `wpforms_sanitize_amount_before` to filter a raw price amount before sanitization.
- Added: The new filter `wpforms_sanitize_amount` to filter a sanitized price amount.
- Added: The new filter `wpforms_enable_form_data_slashing` to enable the form data slashing.
- Added: The new filter `wpforms_frontend_js_header_force_load`allows the loading of JS assets in the header.
- Changed: Improved automatic recreation of custom database tables.
- Changed: Improved RTL support of plugin admin pages on desktop and mobile screens.
- Changed: Smart Tags for the Name field now allow retrieving partial data, such as Last Name.
- Changed: Improved layout of the Settings > Integrations page on small screens.
- Changed: Added notices for the Default value and Allowlist/Denylist settings on the Email field in case some values were invalid and have been removed.
- Changed: Improved the multi-select dropdowns UI across the Builder UI.
- Changed: Updated `stripe/stripe-php` library to v15.1.0.
- Changed: Updated `woocommerce/action-scheduler` library to v3.8.1.
- Changed: Allowed using the `&` symbol in Modern style Dropdown field choices.
- Changed: Improved compatibility with the WP JobSearch plugin.
- Changed: Updated `jQuery.Validate` library to v1.20.1.
- Changed: Updated `inputmask` library to v5.0.9.
- Fixed: Stripe payment form couldn't be submitted in the Elementor popup preview.
- Fixed: The Trash, Duplicate, Restore, and Delete actions for templates and forms now display a notice with the correct type.
- Fixed: Multiple Choice, Checkboxes, and Dropdown fields with empty values were displayed incorrectly in email notifications.
- Fixed: Database error on a single network site after creating a form if the plugin was network activated.
- Fixed: Fields reacted by hovering over them with the cursor on the Elementor editor screen.
- Fixed: Modern Dropdown fields were not appropriately loaded on Block (Gutenberg) and Elementor editors.
- Fixed: Forms with hidden labels had a big horizontal scrollbar when displayed on mobile with RTL languages.
- Fixed: Conditional logic affected the print page, which did not display hidden fields.
- Fixed: The RTE field was broken in the Elementor editor preview when the left menu was collapsed.
- Fixed: Rare exception with how we registered translations for download using the respective transient.
- Fixed: Pre-populating fields from another form with confirmation redirect URL was not handling multi-select fields.
- Fixed: The Gutenberg editor was not displaying the page title using Smart Tags.
- Fixed: The {page_url}Smart Tag value was wrong on the Gutenberg editor's page.
- Fixed: When all the provider's connections were removed, the check icon remained in the provider title.
- Fixed: The `{page_url}`Smart Tag was incorrect in the Divi builder.
- Fixed: Modern Dropdown fields didn't preview correctly for multiple instances of WPForms block on the Gutenberg editor's page.
- Fixed: The choice-based payment field Smart Tags didn't work in the prefilled URL.
- Fixed: In Dropdown, the & symbol was rendered as the corresponding HTML entity `&amp;` for Modern Style.
- Fixed: The modern dropdown field was not loading correctly on the Elementor popup.
- Fixed: Empty forms couldn't be submitted without enabling the "Minimum time for submit" setting.
- Fixed: Switching to Live mode on the Payments Overview screen was impossible when all test payments were deleted.
- Fixed: Dropdown and Checkbox fields with multiple values were inline in email notifications.
- Fixed: Pressing the Enter key triggered the WPForms Insert Form modal in the Classic editor.
- Fixed: Dropdown field in forms with the `inline-fields` class had cropped dropdowns on Safari.
- Fixed: Payment quantity text was not centered on some themes.
- Fixed: Some fields were visible in the email notifications even if they were hidden by Conditional Logic.
- Fixed: The Robots.txt file wasn't valid due to the WPForms disallow rule.
- Fixed: After embedding to the new page, the `{page_title}` Smart Tag was empty in the Block Editor (Gutenberg).

= 1.8.9.6 =
- Changed: Improved compatibility with OceanWP theme.
- Fixed: Dropdown fields in forms with the `inline-fields` class had cropped dropdowns.
- Fixed: Button's hover color was wrong on the Ocean WP theme.
- Fixed: Form couldn't be submitted when Cloudflare Turnstile anti-spam integration was configured.

= 1.8.9.5 =
- Fixed: Stripe payment wasn't created when the Credit Card field was optional and users paid through Google Pay / Apple Pay.

= 1.8.9.4 =
- Added: New filter wpforms_sanitize_amount_before to filter a raw price amount before sanitization.
- Added: New filter wpforms_sanitize_amount to filter a sanitized price amount.

= 1.8.9.2 =
- Fixed: Reply-to field was not returning the correct email address.

= 1.8.9.1 =
- Added: Complex fields now can have separate error messages for each field.
- Added: Recommended, New, and Featured addons are now displayed first on the addons page.
- Changed: The Campaign Monitor, ConstantContact, GetResponse and ConvertKit logos were updated.
- Changed: Users can now see the category and subcategory of the selected template on the Setup panel.
- Changed: If Akismet is installed and configured for the form, marking entries as spam or not spam helps Akismet learn.
- Changed: Improved the behavior of Tools > Logs page and settings controls.
- Changed: Improved compatibility with the Hello Elementor theme.
- Changed: Process empty selected values for Choices, Checkbox, and Dropdown fields when Show Values option is selected.
- Changed: Choices.js library has been updated to v10.2.0.
- Changed: Modern multiple select field with search enabled now is more user-friendly across the admin area.
- Changed: Improved rendering of Payment Fields according to W3C requirements.
- Changed: Always display templates added by addons, even if the addon is not installed or activated.
- Changed: The form builder now hides the placeholder label for Image and Icon choices when left empty, while retaining the placeholder for Payment Choices and Checkboxes to maintain consistency with frontend behavior.
- Fixed: Incorrect alert modal was shown on the subscription plan removal in some cases.
- Fixed: Various RTL problems on the form builder screen.
- Fixed: The minimum payment amount for the Single Item field was not functioning correctly with currencies that use a comma as a decimal separator.
- Fixed: Validation error for the Postal code of the Stripe Credit Card field displayed twice.
- Fixed: Inconsistent spacing of Dropdown field in different browsers on desktop and mobile.
- Fixed: Stripe Credit Card field had incorrect placeholder color with Classic Markup.
- Fixed: Updated the WPForms Challenge to only start counting when you actually begin creating a form on the Forms Overview page.
- Fixed: User templates were not deleted on plugin uninstall.
- Fixed: The radio of the Multiple Choice field wasn't centered in Firefox.
- Fixed: Stripe processing error occurred on a multi-payments form when all credit card fields were hidden by conditional logic.
- Fixed: Color of validation errors was incorrect for the Stripe Credit Card field when Payment Element mode was used.
- Fixed: Additional padding was added for the form title on the Forms Overview page on mobile.
- Fixed: The plugin update process redirected to the Update page and did not redirect back to the Plugins page after the update.
- Fixed: The fetching of the new plugin version number and new plugin description has been run not-synchronously.
- Fixed: MySQL errors occurred when creating a table in some unique configurations.
- Fixed: Multiple Choice field with Icon Choices could not be selected in Firefox after reloading the page.
- Fixed: Inline javascript code could be parsed improperly and displayed as text on top pages for some configurations.
- Fixed: Cached token was not updated properly.
- Fixed: The Spinner layout of the Save button in the Form Builder was not centered.
- Fixed: In some exceptions, one-time payments appeared in the Stripe dashboard even though a payment form wasn't submitted.
- Fixed: Email notifications were not sent when a subject was empty after smart tag processing.
- Fixed: PHP warnings might have occurred in some cases on PHP 8.0+.
- Fixed: Upgrade to the Pro link had wrong styling on Bluehost hosted sites.
- Fixed: WPForms block in the editor showed an error when the selected form was trashed or deleted.
- Fixed: Some Stripe transactions were refunded almost immediately as the transactions were labeled fraudulent.
- Fixed: The validation process of Number Slider field could throw a fatal error on PHP 8.0+.

= 1.8.8.3 =
- Changed: Updated jQuery.Validate library to v1.20.0.
- Fixed: Screen Options on the Forms Overview and Entries Overview pages could cause PHP error in rare cases due to conflict with 3rd-party code.
- Fixed: Post Statuses on legacy Nav Menu management page could cause PHP error in rare cases due to conflict with 3rd-party code.
- Fixed: users couldn't duplicate their forms.

= 1.8.8.2 =
- Added: Forms can now be saved as user templates for future use.
- Added: New `Price Display` option was added for Single Item payment field.
- Added: Shipping and Billing addresses can now be configured on the Form Builder > Payments > Stripe screen.
- Added: New filter `wpforms_integrations_stripe_api_common_create_plan_name` to filter Stripe subscription plan name.
- Added: New filter `wpforms_integrations_lite_connect_api_request_timeout` to filter Lite Connect request timeout.
- Added: New styling/theming settings in the Block editor.
- Added: New context menu in the Form Builder for quick actions.
- Changed: New design for the Email Summaries email template with a weekly total and entry submission trends.
- Changed: The state of selected stat cards on the Payments Overview chart is preserved when applying date filtering.
- Changed: Updated `stripe/stripe-php` library to v13.15.0.
- Changed: Updated `woocommerce/action-scheduler` library to v3.7.2.
- Changed: Updated DOMPurify library to 3.0.9.
- Changed: Adjusted notifications on the empty forms screen.
- Changed: HTML tags are allowed in the Order Summary for the Total payment field.
- Changed: When the entry is marked as not spam, submit data to Akismet for learning and help make the Web a better place for everyone.
- Changed: Improved error handling when creating or updating a form.
- Changed: Improved fields layout on the frontend for better user experience on mobile devices.
- Changed: Bring the frontend markup of the form more in line with the W3C standards to reduce validator errors.
- Fixed: Various RTL problems in the admin dashboard, form builder and a form preview page.
- Fixed: Various responsive issues on admin pages.
- Fixed: The Paragraph field was allowed horizontal resizing.
- Fixed: Make sure we output valid robots.txt file rules if the file is empty.
- Fixed: PHP notices were thrown in some cases when Stripe subscription renewals were created.
- Fixed: Customer email was shown instead of customer name on the Payments Overview screen for Stripe subscription renewals in some cases.
- Fixed: The builder sidebar was hidden on the context menu edit actions.
- Fixed: Fatal error was thrown on the frontend with corrupted form data.
- Fixed: `0` (zero) as a choices field raw value was not saved.
- Fixed: The payment single field had the wrong spacing with enabled quantities.
- Fixed: Long placeholders being broken into multiple lines after Safari 17.3.1 update.
- Fixed: Media upload did not work in some cases on mobile devices.
- Fixed: Placeholder option was hidden for the Single Item field with 'user defined' type.
- Fixed: Incorrect prices in the Order Summary table when items in the Checkbox Items field had the hyphen symbol.
- Fixed: Modern multiple select fields with long placeholder text overlapped a drop-down arrow.
- Fixed: Infinite loading button was shown on mobile devices in some cases.
- Fixed: Multisite activation: plugin should stay activated on a single site after user activated it on a network level.
- Fixed: There was a race condition with invisible reCaptcha v2, preventing form submission in some edge cases.
- Fixed: Elementor widget styles were broken due to a conflict with the Gutenberg block.
- Fixed: Some unnecessary inline styles were applied for email notifications with HTML tags.
- Fixed: Payment fields weren't reflected properly in the Order Summary table in some cases.
- Fixed: WPCode Install/Activate modal and Entries Education Modal now look better on mobile screens.
- Fixed: `{author_*}` smart tags were returning incorrect results in some cases.
- Fixed: Incorrect styles were applied for "Order Summary" table in some cases.
- Fixed: Improved handling of corrupted payment submission data.

= 1.8.7.2 =
- Changed: "What's New" modal should be displayed based on the major version of the plugin.
- Changed: Improved Akismet integration efficiency.
- Fixed: Antispam token was passed as a simple form field, not protected from spam bots.
- Fixed: PHP warning was thrown in case of anonymous form submission when User ID smart tag was used.
- Fixed: Image positioning in the "What's New" blocks wasn't always correct.
- Fixed: Modal windows were not displayed on small screens.
- Fixed: The animation for opening the "What's New" modal worked improperly when the modal had small content.
- Fixed: The background was not entirely dimmed when scrolling the "What's New" popup.

= 1.8.7.1 =
- Added: The Announcements block in the Community page.
- Added: New way to expand the Form Templates subcategories list in the templates list sidebar.
- Added: New splash screen outlining notable features and changes in the release.
- Added: The user can see an overview of what they are purchasing by enabling the Order Summary for the Total payment field.
- Added: New `{order_summary}` smart tag.
- Changed: Improved compatibility with Twenty Twenty-Three theme.
- Changed: Improved plugin activation on WordPress multisite setups with both Lite and Pro versions installed.
- Changed: Improved support of sites hosted in the Azure platform using IIS.
- Changed: Updated DOMPurify library to 3.0.8.
- Changed: Removed `jquery-confirm` library in favor of jQuery.Confirm Reloaded drop-in replacement.
- Changed: Spam protection token is valid now for 3 days instead of 2.
- Changed: Spam protection token is no longer loaded with JS to avoid fails caused by script errors.
- Changed: Storing spam entries is now enabled by default for new forms.
- Changed: Users with limited capabilities are allowed to view the Forms Templates and Addons pages.
- Updated: `tijsverkoyen/css-to-inline-style` library to v2.2.7.
- Updated: `symphony/polyfill-iconv` library to v1.19.0.
- Updated: `symphony/polyfill-mbstring` library to v1.19.0.
- Updated: `woocommerce/action-scheduler` library to v3.7.1.
- Updated: `stripe/stripe-php` library to v13.9.0.
- Fixed: Some background actions could fail if triggered by WP-CLI via server cron.
- Fixed: Fatal error may occur in rare cases during migrations if they were triggered manually.
- Fixed: Read-only Number fields should not display spin buttons.
- Fixed: The Icons Choices field with a Large size was not centered in the Block Editor and Elementor.
- Fixed: Two messages appeared when clicking on the reCAPTCHA field after searching the fields in the Builder.
- Fixed: A form with a long title expanded the form selector dropdown in the Block Editor.
- Fixed: CSS Styles were not applied if Global Colors were already selected in Elementor Builder.
- Fixed: Payment method details were not stored for Stripe renewals.
- Fixed: The template page had style issues in the German language.
- Fixed: The Elementor popup preview had broken WPForms styles.
- Fixed: In some situations, payment amounts were improperly sanitized.
- Fixed: Some modals across the admin area were not responsive and did not fit on smaller screen sizes.
- Fixed: Templates' cache wasn't updated after the plugin update.
- Fixed: RTL support for WPForms Settings page.
- Fixed: RTL support for the Form Builder.
- Fixed: Some frontend fields were improperly rendered for RTL.
- Fixed: The user interface had different other issues when RTL language was in use.
- Fixed: The Form Builder settings screen had multiple visual issues when RTL language was used.
- Fixed: AJAX calls didn't work on servers with empty `$_SERVER['HTTP_REFERER']` value.
- Fixed: Improved Forms overview page display on mobile devices.
- Fixed: Improved Tools pages display on mobile devices.
- Fixed: Custom Captcha settings were duplicated on the Form Builder when the field was added through the Settings > Spam and Security screen.
- Fixed: Localization issues were present on the Get Started screen.
- Fixed: Subscriptions made by the Stripe Link payment method before 1.8.6.
- Fixed: Some non-optimized MySQL requests locked the database for seconds on huge sites with thousands of tables.
- Fixed: The Appearance of multiple dropdown values was incorrect.
- Fixed: Some information was missing if Smart Tags were processed in the background via cron.
- Fixed: The recent Chrome version for Windows was not displaying the custom scrollbars correctly.
- Fixed: `wpforms_plaintext_field_value` filter was unavailable since 1.8.5 version.
- Fixed: The form submission triggered an error on sites with long-term page caching.

[See changelog for all versions](https://plugins.svn.wordpress.org/wpforms-lite/trunk/changelog.txt).
