WS Form LITE – Drag & Drop Contact Form Builder for WordPress


WordPress Contact Form Builder Plugin

WS Form LITE is a powerful contact form builder plugin for WordPress.

Create professional, mobile friendly, accessible contact forms. WS Form LITE comes complete with features other form builder plugins charge a premium for.

Choose from single click templates or build your own WordPress form using the unique drag and drop form editor.

Included Features

Page Builder Compatibility

Add forms to your website using your favorite WordPress page builder:

Theme / Framework Support

WS Form is compatible with all WordPress themes, and also outputs native HTML for the following front-end frameworks:

Upgrade to PRO

This plugin is the free LITE edition of WS Form PRO.

The PRO edition comes with unrivaled additional features:

and more!

Upgrade to WS Form PRO.

PRO Integrations

…. or use the Webhook action to integration with your own API.

PRO Custom Field Plugin Compatibility


WS Form was built with enterprise level performance in mind. WS Form does not interfere with the loading of other page or post content on your website and isolates submission records to ensure as your website grows your page load speed is not affected.

All form code is HTML 5 compliant and if your website theme uses a framework such as Bootstrap or Foundation WS Form automatically outputs code to suit that framework. This means your form loads as fast as possible without any unnecessary overhead typically found in other WordPress form plugins.

Click here to learn more about the WSForm performance features.

Extensive Field Types

WS Form comes complete with all the field types you need to build a contact form. Upgrade to WS Form PRO to take advantage of all the form field types available, including:

and more!

For Developers

WS Form PRO comes with a unique debug console that provides you with rapid, form population capabilities (perfect for form testing!), as well as comprehensive event and error logging.

3rd Party Use

WS Form includes the following third party components:

  • Date Format by Jacob Wright – Used for formatting server and post dates on the public JavaScript interface.
  • Intl-Tel-Input – Used for international telephone input
  • IntroJs – Used for tutorial feature.
  • Select2 – Used for AJAX select dropdowns
  • – Used for linking to field and field attribute compatibility pages

External Services

WS Form uses the following API endpoints to provide services within the plugin:

  • Google reCaptcha
    This endpoint is called when a form is submitted to validate a reCaptcha field.
    Terms of Use / Privacy Policy

  • hCaptcha
    This endpoint is called when a form is submitted to validate an hCaptcha field.
    Terms of Use / Privacy Policy

  • Turnstile
    This endpoint is called when a form is submitted to validate a Turnstile field.
    Terms of Use / Privacy Policy

  • WS Form – Knowledge base popular articles
    This endpoint is called when the support sidebar is opened to show popular knowledge base articles.
    Terms of Use / Privacy Policy

  • WS Form – Knowledge base search
    This endpoint is called when a knowledge base search is performed in the support sidebar to return knowledge article results.
    Terms of Use / Privacy Policy

  • WS Form – Support ticket requests
    This endpoint is called when a support ticket request is submitted in the support sidebar to create the support ticket and return the ticket ID.
    Terms of Use / Privacy Policy

  • WS Form – Deactivation feedback requests
    This endpoint is called when deactivation feedback is submitted to provide your feedback to WS Form.
    Terms of Use / Privacy Policy

  • WS Form – Select, checkbox and radio presets
    This endpoint is called when the preset option is selected for a select, checkbox or radio field to return the available presets and preset data (e.g. List of countries).
    Terms of Use / Privacy Policy


  • Form Layout Editor
  • Welcome Screen
  • Contact Form Submissions
  • Example Front-End Form


This plugin provides 1 block.

  • WS Form LITE - Drag & Drop Contact Form Builder for WordPress


For help installing WS Form, please see our Installation knowledge base article.


জুন 1, 2023
I was told that WS Forms could do everything that Gravity Forms can do (and more) I was quite hesitant at first, but coming accross a client need that Gravity Forms couldn't do pushed me further in the direction of WS Forms. With the pre-sales support and post-sales support I couldn't be happier. The user interface is more technical, but it is very powerful once you know how to use it, and I feel like I've barely scratched the surface of it's capabilities. I have been able to migrate most of my client forms already and have more to go. A huge shout out to Mark for his patient support through the challenges I faced. Thank you, it makes the journey that much easier.
মে’ 24, 2023
I've tested many different form plugins and wsform is really one of the best. The core feature set is very robust and the support is incredible. I reached out to support at 8pm about an issue with a plugin addon and received a response from Mark within minutes. By 1am an update was published that resolved my issue.
মে’ 13, 2023
Best plugin to use for a developer. Really like the feature to chose the css framework.
মে’ 13, 2023
I've tried neatly all the other form plugins, and was frustrated by their limitations. WS Form, refreshingly, seems to be limitless. Anything I can think of, WS Form manifests it. As an example — one of my clients is an early childhood education business, and they wanted a form that filled a Google Sheet with abbreviated names of their various programs — the abbreviations would make the sheet easier for them to read and process. However, those abbreviated names weren't user friendly because they were abstract and didn't adequately describe the programs to their potential clients. WS Form gave me the power to create a form that filled the Google Sheet with the abbreviated program names, and present the full descriptive program names to potential clients on the front end. This scenario would have forced me to make a compromise in any other form plugin. WS Form laughs in the face of compromise. The support is unrivaled, too. As a new user, I had some questions about how to do a few things. To my surprise, Mark Westguard, the founder of Westguard Solutions (the company that develops WS Form) responded directly to my email quicker than a hiccup. He answered all of my questions, and even identified a small bug with adding spaces to comma delimited values that he patched within a day! Un-freaking-real! It's a struggle bus to think of anything that isn't a 5 out of 5 about WS Form. It has the power and flexibility to do pretty much anything, and the support is truly next level. Save yourself the time and hassle of courting other form plugins and go with the king, WS Form.
এপ্ৰিল 26, 2023
This is by far the best forms plugin out there. I have worked with plenty of forms plugins and the functionality has always fallen short when it comes to doing anything even a little advanced. But WS Forms is my sole choice as it never comes up short. This can be used on commercial-grade websites; I am using it for a client's insurance website with over 100 fields with very complicated logic, and it simply works. I should also mention support is fast! I had a weird issue, reached out to support and they pushed an update that same day as a quickfix.
Read all 171 reviews

Contributors & Developers

“WS Form LITE – Drag & Drop Contact Form Builder for WordPress” is open source software. The following people have contributed to this plugin.



Some changes only applicable to WS Form PRO

1.9.119 – 05/23/2023

  • Bug Fix: Review admin message function parameters

1.9.118 – 05/22/2023

  • Added: Support for additional classes on block
  • Added: Ability to specify custom title, caption, description and alt tag on media library uploads
  • Added: Translation improvements
  • Changed: Block preview now changed to GIF as opposed to SVG to avoid CSS issues with preview being in iframe
  • Changed: Captcha fields can no longer be bypassed if they are hidden to improve security
  • Bug Fix: Progress on repeaters
  • Bug Fix: Mobile breakpoint font size in email template
  • Bug Fix: Down arrow on select fields no longer obscured by long option text

1.9.117 – 05/18/2023

  • Added: Accessibility improvements for honeypot field
  • Added: Accessibility improvements for help text
  • Added: Repeatable section row delete confirmation setting
  • Added: Translated month and day names during date validation to support other languages
  • Bug Fix: Conditional logic initial firing on repeatable section row adding

1.9.116 – 05/13/2023

  • Added: Multiple row selection in conditional logic for row visibility, required, disabled, class
  • Bug Fix: Image / file custom field integration issue with existing attachments

1.9.115 – 05/13/2023

  • Bug Fix: #calc initial value was causing issues with HTML fields

1.9.114 – 05/11/2023

  • Added: Multiple row selection in conditional logic for row select/check
  • Added: Support for Google Routing in repeatable sections
  • Bug Fix: #field delimiter parameter was trimmed

1.9.113 – 05/09/2023

  • Changed: Quantity min / max bound checking now only occurs on field change

1.9.112 – 05/08/2023

  • Bug Fix: WS Form (Private) file handler in repeatable sections
  • Bug Fix: PDF image width in custom templates

1.9.111 – 05/05/2023

  • Added: Removed invalid event handler inputmask fields to fix blur issue if setCustomValidity applied to it

1.9.110 – 05/04/2023

  • Added: CSS max height in email template for signature field to avoid large images showing
  • Changed: Webhook no longer halts action processing if node not found in response data
  • Bug Fix: Custom validity recall issue if set in conditional logic and field then hidden

1.9.109 – 05/03/2023

  • Bug Fix: #calc price value

1.9.108 – 05/02/2023

  • Added: Input mask validation

1.9.107 – 05/01/2023

  • Added: zxcvbn no longer enqueued if not required by password field
  • Added: Improved handling of UTC date for ‘Current Day’ deduplication setting
  • Bug Fix: Uncompiled non-inline API CSS path

1.9.106 – 04/25/2023

  • Added: Flush on output if zip or file downloaded to overcome issues with rogue character in output buffer
  • Added: Admin sidebar changes to prevent issues with poorly enqueued jQuery from third party plugins
  • Bug Fix: Admin sidebar would not open if form text editor or HTML field contained wsf-field-wrapper class
  • Bug Fix: #calc issue with calc object registering incorrect source field ID

1.9.105 – 04/24/2023

  • Added: Support for JetEngine checkbox ‘Save as Array’ setting
  • Bug Fix: #calc support in #field_date_offset

1.9.104 – 04/22/2023

  • Added: Elementor widget updates

1.9.103 – 04/21/2023

  • Added: Performance improvements for #calc / #text

1.9.102 – 04/21/2023

  • Added: Support for JetEngine ‘Is Timestamp’ setting on date fields
  • Bug Fix: Email validation

1.9.101 – 04/18/2023

  • Added: Improved data source error handling and scheduling
  • Added: Overrides for latest WordPress block editor CSS

1.9.100 – 04/17/2023

  • Added: ‘Importing …’ notice added to import progress bar
  • Bug Fix: Calculation triggering on hidden fields

1.9.99 – 04/17/2023

  • Added: Edit in Preview now supports file upload edits
  • Added: Improved performance on file upload previews

1.9.98 – 04/16/2023

  • Bug Fix: Dynamic #text label and help text on fields that did not allow dynamic #text on value
  • Bug Fix: Statistics divide by zero issue

1.9.97 – 04/14/2023

  • Added: Google Routing field. Provides distance and duration calculations between a start and end location. Learn more:
  • Added: Google Maps template category
  • Added: Google Routing templates
  • Added: Mapping category in toolbox fields sidebar

1.9.96 – 04/12/2023

  • Added: Support for plain permalink URL structure
  • Added: Improved #email_logo handling to avoid bugs caused by third party software
  • Bug Fix: #text with color fields now sets color panel preview

1.9.95 – 04/10/2023

  • Bug Fix: Reports scheduling when upgrading from LITE to PRO

1.9.94 – 04/10/2023

  • Added: Type selector for WebHook field and custom mapping

1.9.93 – 04/07/2023

  • Bug Fix Checkbox and radio deduplication in repeatable sections

1.9.92 – 04/06/2023

  • Added: Additional checks to ensure data passed to remote requests is valid
  • Added: Support for roles that do not have capabilities assigned to them
  • Bug Fix: Conditions no longer assesssed if source event is outside of repeatable section and IF condition contains fields in a repeatable section

1.9.91 – 04/05/2023

  • Bug Fix: Dashboard date range fix

1.9.90 – 04/04/2023

  • Added: WS Form –> Settings –> Reports setting allows for daily, weekly or monthly form statistics report sent via email
  • Added: ‘Show File Name and Size’ setting under WS Form –> Settings –> Variables which removes file name and size under files and signatures in email and PDF templates
  • Added: Signatures now recalled in saved forms
  • Added: Date/time picker now has setting for moving the element within the form to avoid issues with parent elements having position: relative
  • Changed: Signature cropping now moved server-side (Requires Imagick)
  • Changed: WS Form –> Settings –> Email is now Variables
  • Bug Fix: Patch implemented to overcome Safari issue with times

1.9.89 – 04/03/2023

  • Added: Moved date/time picker element within form instead of within body to allow styling by form
  • Added: Added ID to each date/time picker element
  • Added: Custom class setting for date/time picker element

1.9.88 – 03/31/2023

  • Added: Performance improvements to select, checkbox and radio fields (empty row attributes removed)
  • Added: Performance improvements to repeatable section initialization
  • Added: Performance improvements to form validation
  • Added: Functionality for new PDF add-on variables #pdf_url and #pdf_link
  • Bug Fix: WS Form framework was not being used in block editor for layout CSS if using Bootstrap
  • Bug Fix: Section ID repair in imported meta data

1.9.87 – 03/29/2023

  • Added: WordPress 6.2 compatibility testing
  • Added: Requirements added to main PHP file
  • Bug Fix: Capitalize transform feature was not working for some european characters

1.9.86 – 03/29/2023

  • Changed: Simplified Human Presence functionality to rely on its own confidence level

1.9.85 – 03/28/2023

  • Bug Fix: Layout editor no longer saves if sidebar is locked (e.g. requesting data from an API)

1.9.84 – 03/26/2023

  • Added: Update ready for Breakdance v1.3
  • Added: Check on SVG creation to ensure form object is valid

1.9.83 – 03/23/2023

  • Bug Fix: JetEngine media and gallery field population

1.9.82 – 03/23/2023

  • Added: Improved button locking functionality
  • Added: Improved form checksum validation on import
  • Bug Fix: Media library meta data when custom file name specified
  • Bug Fix: Webhook encoding of values containing arrays

1.9.81 – 03/18/2023

  • Added: Patch to ensure adding parameters to API URL using add_query_arg does not convert periods to underscores

1.9.80 – 03/18/2023

  • Bug Fix: API call fix for AWeber

1.9.79 – 03/17/2023

  • Added: Spam level indicators added to LITE edition
  • Added: Additional admin CSS fixes for third party plugin that incorrectly enqueued Bootstrap on every page
  • Bug Fix: Submission records were still created if Human Presence detected spam

1.9.78 – 03/15/2023

  • Added: PDF previews on DropzoneJS file uploads
  • Added: Ability to preview / download DropzoneJS file uploads in submissions when form saved
  • Added: Admin CSS fixes for third party plugin that incorrectly enqueued Bootstrap on every page

1.9.77 – 03/10/2023

  • Bug Fix: db_get_submit_meta duplicating values if run via WooCommerce extension

1.9.76 – 03/09/2023

  • Added: Webhook API response mapping now supports array in JSON response
  • Added: Webhook now has improved handling of query variables in GET requests

1.9.75 – 03/08/2023

  • Added: Improved Google Events functionality
  • Added: Improved handling of repeatable fallback values on submissions page

1.9.74 – 03/06/2023

  • Bug Fix: Label positioning adjustment on phone fields

1.9.73 – 03/02/2023

  • Added: Support for glossaries in JetEngine Field Options data source
  • Added: Set minimum/maximum date and time conditional logic for date/time field type
  • Added: Enabled times feature on date/time field type
  • Added: Separated min/max time setting on date/time field configured as type ‘Date/time’ or ‘Time’
  • Added: Field match conditional logic support for values inside a repeater
  • Bug Fix: CSS fix for Phone field configured to use inside label with international telephone input enabled

1.9.72 – 02/28/2023

  • Added: Context to JetEngine get field settings method to support user fields

1.9.71 – 02/27/2023

  • Added: Set title of email template to email subject
  • Added: Default file type set to DropzoneJS on file upload fields
  • Bug Fix: Custom file name on media library files

1.9.70 – 02/22/2023

  • Added: Patch to overcome older browsers not supporting date formats in Y-m-d H:i:s format

1.9.69 – 02/21/2023

  • Added: Form validation when required status of field changes
  • Bug Fix: Redirect action URL parsing

1.9.68 – 02/17/2023

  • Added: Additional functionality for PDF add-on

1.9.67 – 02/15/2023

  • Bug Fix: ITI (International Telephone Input) for multiple form instances on a single page

1.9.66 – 02/14/2023

  • Added: Ability to assign multiple values to a single key in Webhook (converted to array with dedupe setting)
  • Added: wsf_dropzonejs_upload_path filter for DropzoneJS upload path
  • Added: Dependencies for DropzoneJS enqueue

1.9.65 – 02/07/2023

  • Added: Improved rendering of conditional logic in admin sidebar
  • Added: Support for population of hidden fields for Google Address field
  • Added: Edit in Preview link on submissions (Must be enabled in settings)

1.9.64 – 02/06/2023

  • Added: Meta Box custom table support
  • Bug Fix: Changing a hidden required field to no required was reverted to required with made visible
  • Bug Fix: Dashboard component registration if user capability not set

1.9.63 – 02/05/2023

  • Added: Event resetting on form reload
  • Bug Fix: #calc / #text now processes original source instead of parsed source
  • Bug Fix: Conditional logic on conversational forms

1.9.62 – 02/03/2023

  • Added: Patch to overcome known bug with :valid / :invalid selectors in certain browsers

1.9.61 – 02/03/2023

  • Added: Support for population of select fields configured with Select2 + AJAX
  • Added: Custom attributes for divider field type
  • Bug Fix: Field class setting for divider field type

1.9.60 – 02/02/2023

  • Bug Fix: Setting values in textarea fields using TinyMCE

1.9.59 – 02/02/2023

  • Bug Fix: WooCommerce extension file upload field processing
  • Bug Fix: Sidebar select2 caching issue

1.9.58 – 02/01/2023

  • Bug Fix: Setting price values with conditional logic or Webhook return

1.9.57 – 01/30/2023

  • Bug Fix: reCAPTCHA V3 timeout issue

1.9.56 – 01/29/2023

  • Bug Fix: Setting values on hidden fields with conditional logic or Webhook return

1.9.55 – 01/28/2023

  • Added: Saved File Name setting for file uploads to allow for custom file names

1.9.54 – 01/27/2023

  • Bug Fix: Setting label on button configured as submit using conditional logic

1.9.53 – 01/26/2023

  • Added: Forced 200 HTTP response if API requests successful (third parties were changing this in hook)
  • Added: Firefox JS number rounding bug patch (their number field is limited to 14 decimal places if certain languages are set)
  • Added: Change to node value set function for Webhook function to avoid error if node key used twice in mappings
  • Bug Fix: Sidebar select2 initialization issue

1.9.52 – 01/25/2023

  • Added: Improved CSS escaping for skin output
  • Bug Fix: Conversational progress bar

1.9.51 – 01/25/2023

  • Bug Fix: Tab validation showing validation errors was not working with Bootstrap framework
  • Bug Fix: get_user_id function

1.9.50 – 01/24/2023

  • Changed: Push to Custom Endpoint renamed to Webhook
  • Added: Return field mapping functionality on Webhook action allows return from API requests to populate form fields
  • Added: Support for dot notation in Webhook field, custom and return mapping (e.g. result[0].name.first)
  • Added: SSL Verify, Timeout and Cookie Passthrough options to Webhook
  • Added: Webhook Return Mapping demo template
  • Added: Change event to Hidden field conditional logic
  • Bug Fix: Select2 AJAX results conditional logic no longer fires on form render

1.9.49 – 01/23/2023

  • Bug Fix: Next tab button disabling using prop method

1.9.48 – 01/22/2023

  • Added: JetEngine integration support for Post Management (1.5.0) add-on
  • Added: JetEngine integration support for User Management (1.5.0) add-on
  • Added: JetEngine field option data source
  • Added: Select2 custom message settings
  • Added: Select2 AJAX results conditional logic
  • Added: Improved custom action detection

1.9.47 – 01/19/2023

  • Bug Fix: wpautop on text/plain content type emails

1.9.46 – 01/19/2023

  • Added: Additional parameters added to cookies when set ‘SameSite=Strict; Secure’
  • Bug Fix: ACF button group saving

1.9.45 – 01/18/2023

  • Bug Fix: Button disabling with WooCommerce extension

1.9.44 – 01/17/2023

  • Added: ip-api as a geolocation service
  • Added: geoPlugin / ip-api API key settings for commercial versions of geolocation services
  • Added: Improved geolocation request headers to avoid invalid usage messages
  • Added: Google Address component mapping options added for Street full – Short/Long (Reverse order)
  • Bug Fix: Submission not assessing available fields correctly when layout only fields or user role restrictions imposed

1.9.43 – 01/16/2023

  • Added: Updated Elementor widget registration code for version 3.5+
  • Added: Updated PHP sort functions

1.9.42 – 01/15/2023

  • Added: Meta value sorting option for posts data source

1.9.41 – 01/13/2023

  • Added: New support functions for OpenAI add-on

1.9.40 – 01/09/2023

  • Bug Fix: Deduplication using ‘Current Day’ method

1.9.39 – 01/09/2023

  • Added: Do not apply wpautop functionality to client side #field use
  • Added: Ability to use HTML in #field delimiter

1.9.38 – 01/08/2023

  • Changed: Removed fitBounds event when Google Map search place is clicked on to stop zoom irregularities

1.9.37 – 12/31/2022

  • Bug Fix: International telephone input threw error if form submitted too quickly (e.g. with conditional logic)

1.9.36 – 12/28/2022

  • Added: Improved mark-up in email templates

1.9.35 – 12/25/2022

  • Bug Fix: wpautop on submissions page

1.9.34 – 12/21/2022

  • Added: Server side validation now applies to all mappable fields
  • Changed: wpautop is now applied to Text Area fields configured as ‘Default’ when output in actions (e.g. Emails). #wpautop is no longer required to format this content. A ‘Do Not Apply wpautop’ setting is also available under ‘Advanced’ for Text Area fields if you want to revert to an unformatted output.

1.9.33 – 12/16/2022

  • Added: Performance improvement on form submit

1.9.32 – 12/13/2022

  • Added: Sidebar lock when retrieving integration data
  • Bug Fix: CodeMirror mode for JavaScript editors

1.9.31 – 12/09/2022

  • Added: Global setting for reCAPTCHA, hCaptcha and Turnstile keys

1.9.30 – 12/05/2022

  • Bug Fix: Captcha silent validation

1.9.29 – 12/02/2022

  • Added: Further improvements to license management

1.9.28 – 12/01/2022

  • Added: Improved licensing management to avoid license deactivation on DB locks

1.9.27 – 11/30/2022

  • Bug Fix: Tags label when creating form from action template

1.9.26 – 11/29/2022

  • Added: Improved honeypot field for accessibility
  • Bug Fix: Logging error in LITE edition for captcha fields

1.9.25 – 11/25/2022

  • Added: Performance improvement on client side. Custom field configuration no longer loading in data sources.
  • Added: Support for serialized data in submissions page when added to hidden field meta data

1.9.24 – 11/18/2022

  • Added: Support for WooCommerce booking plugin

1.9.23 – 11/16/2022

  • Added: Validate number setting under international telephone input setting on phone field
  • Added: #session_storage_get(key) variable
  • Added: #local_storage_get(key) variable
  • Added: Placeholder setting to date / time field

1.9.22 – 11/15/2022

  • Bug Fix: Form validation on Select2 + AJAX pre-populated fields

1.9.21 – 11/15/2022

  • Added: Support for Meta Box relationship fields
  • Bug Fix: Field / tab focus on form submit

1.9.20 – 11/12/2022

  • Added: Ability to use min/max with repeatable #field(123) input
  • Changed: Progress bar CSS to ensure right border radius appears at 100%

1.9.19 – 11/10/2022

  • Change: Duration cookie removed in LITE edition
  • Bug Fix: Next tab validation to show invalid feedback if tabs were hidden

1.9.18 – 11/09/2022

  • Added: Support for dynamic enqueuing on payment forms that don’t include e-commerce fields

1.9.17 – 11/09/2022

  • Bug Fix: wsf_field_row_add function fixed

1.9.16 – 11/07/2022

  • Added: Breakdance website builder element
  • Added: Ability to use variables in the custom endpoint action URL
  • Bug Fix: Field step bypass on hidden fields

1.9.15 – 11/02/2022

  • Bug Fix: Data format fix for Meta Box select fields without multiple setting enabled

1.9.14 – 10/30/2022

  • Added: Support for WooCommerce geolocalize users with cache
  • Added: wsf_form_get_count_submit function for returning total public form submissions by form ID

1.9.13 – 10/29/2022

  • Added: Support for quantity values being populated using different decimal separators
  • Bug Fix: Quantity field with decimals when using character other than period for decimal separator

1.9.12 – 10/27/2022

  • Changed: Database primary key and relational field types changed to match WordPress
  • Bug Fix: Show dynamic enqueuing setting for all frameworks

1.9.11 – 10/26/2022

  • Added: Honeypot SEO improvement
  • Bug Fix: Submissions read/unread display
  • Bug Fix: wpautop JavaScript function

1.9.10 – 10/22/2022

  • Bug Fix: Conditional logic for setting repeatable section rows

1.9.9 – 10/22/2022

  • Added: wsf_form_get_fields_by_label function
  • Bug Fix: JavaScript action registration

1.9.8 – 10/21/2022

  • Added: unfiltered_html capability extended to data grids

1.9.7 – 10/20/2022

  • Added: Compliance with the unfiltered_html capability which prevents saving of unfiltered HTML on all object data Learn more
  • Bug Fix: Default button colors
  • Bug Fix: Cascade dynamic enqueuing

1.9.6 – 10/19/2022

  • Added: Reviewed wpdb functionality throughout
  • Added: Improved DropzoneJS error handling
  • Added: Form and submit objects to email filters
  • Bug Fix: Submission export animated gif

1.9.5 – 10/18/2022

  • Added: Support for performance plugins with dynamic enqueue
  • Changed: Removed WP_List_Table class to rely on class included with WordPress core
  • Bug Fix: Password confirmation conditional logic if password strength invalid feedback enabled

1.9.4 – 10/17/2022

  • Bug Fix: GeoIP lookup endpoint
  • Bug Fix: Tab indexing on refresh

1.9.3 – 10/17/2022

  • Bug Fix: Date variables without date fields

1.9.2 – 10/17/2022

  • Added: #field with delimiter support for price select, price checkbox and price radio fields
  • Added: Quality and price total auto map on clone
  • Bug Fix: Tab indexing on clone

1.9.1 – 10/16/2022

  • Added: Reviewed santitization, escaping and validation throughout
  • Added: Improved code to make security reviews easier in future

1.9.0 – 10/14/2022

  • Added: Dynamic enqueuing setting (Global settings)
  • Added: Public JS optimized throughout to dramatically reduce file download size
  • Added: Minimum password strength setting on password field
  • Added: Suggest password setting on password field
  • Added: Generate password option in conditional logic for password fields
  • Bug Fix: Population of price checkbox fields

1.8.236 – 10/11/2022

  • Added: Bricks element dynamic form ID setting

1.8.235 – 10/09/2022

  • Added: Remove Arrows/Spinners option for number and quantity fields
  • Bug Fix: Input mask component incorrectly setting decimal point if decimal places set to 0


10/07/2022 =
* Added: Page and Post ID options added to redirect action
* Added: Error handling improvements for captcha server-side validation
* Added: Conditional logic assessed when field set validation occurs
* Bug Fix: International Telephone Input initialization height

1.8.233 – 10/06/2022

  • Added: Show invalid fields option for tab validation
  • Added: wsf_submit_field_validate filtered by submit_save setting
  • Added: Date validation support for min / max when set to EPOCH format, e.g. +1970-01-05
  • Changed: wsf_form_get_form_label function now usable when not logged in as admin
  • Bug Fix: Checkbox / Select field max setting was not assessed if invalid feedback was disable
  • Bug Fix: Date population if min / max contained EPOCH format or variables

1.8.232 – 10/05/2022

  • Bug Fix: Post Status data source column headings

1.8.231 – 10/04/2022

  • Added: Cloudflare Turnstile captcha widget
  • Added: Translatable ‘week’ in date/time field
  • Added: Performance improvement on custom field date calculations
  • Bug Fix: #calc using European price formats

1.8.230 – 10/04/2022

  • Bug Fix: Meta box date processing for international formats

1.8.229 – 10/03/2022

  • Added: Auto-focus on Select2 search when Select2 is opened
  • Bug Fix: Placeholder on select field with cascading required data-placeholder attribute

  • 1.8.228 – 10/01/2022 =

  • Added: Note field type for adding notes in the layout editor
  • Added: Cloud file handler settings added to signature field
  • Added: Conditional logic select all / deselect all for select and checkbox fields
  • Added: Spam Protection field group
  • Added: Meta Box date field Timestamp / Save Format support
  • Changed: Basic mode no longer renders different field types in admin sidebar settings

1.8.227 – 09/27/2022

  • Added: Query string parameter setting in redirect action

1.8.226 – 09/26/2022

  • Added: Ability to edit fields using data sources in submissions page
  • Bug Fix: Form SVG generator for buttons and messages set to type none

1.8.225 – 09/21/2022

  • Added: cookie_get(“name”) variable

1.8.224 – 09/18/2022

  • Bug Fix: Left alignment on inside label if prefix is applied to a field

1.8.223 – 09/17/2022

  • Added: Upgraded input-mask library to version 5.0.7 to fix JS error in Oxygen when editing a product template
  • Changed: German translations improved with thanks to @maexx for his contribution
  • Bug Fix: User management add-on threw an error when listing fields if an add-on was not configured
  • Bug Fix: CSS class error when unable to write cached files in uploads folder

1.8.222 – 08/29/2022

  • Added: #checkbox_count(id) variable. This returns the number of checkboxes checked on a checkbox field.
  • Added: #select_count(id) variable. This returns the number of options selected on a select field.
  • Added: Support for calculations with currencies that have blank decimal or thousand separators.
  • Added: Error thrown if negative value occurs in cart detail fields without ‘Allow Negative Value’ checked.

1.8.221 – 08/24/2022

  • Added: Performance improvement: wp_options data for CSS cache now split into separate record
  • Added: Performance improvement: wp_options data now has autoload set to ‘no’
  • Added: Business related field mappings for Google Address field
  • Added: Rows setting for text area configured to use Visual Editor
  • Bug Fix: Removed duplicate field class on radio field group wrapper
  • Bug Fix: Case sensitive issue with select field value checking in conditional logic

1.8.220 – 08/11/2022

  • Added: Bi-directional population for all Meta Box file and image field types
  • Added: ‘Show All If No Results’ setting in Search fields under Select2 –> AJAX
  • Added: Population of select fields if using Select2 –> AJAX
  • Bug Fix: Canonical URL fixed on conversation form pages

1.8.219 – 08/10/2022

  • Added: Bricks Builder 1.4 / 1.5 support
  • Bug Fix: Conditional logic now checks if field exists in DOM when checking values
  • Bug Fix: Cached RTL skin and layout CSS was not loading if not rendered inline

1.8.218 – 08/07/2022

  • Added: Support for #field column look ups for term, post and user data sources

1.8.217 – 08/06/2022

  • Added: #trim variable
  • Bug Fix: Corrected Meta Box data format for singular checkbox / select choices

1.8.216 – 08/05/2022

  • Added: #post_status variable
  • Bug Fix: get_number function with currency symbols containing the decimal separator character

1.8.215 – 07/26/2022

  • Added: Improved support for Fancybox when form contains Visual Editor (TinyMCE)

1.8.214 – 07/19/2022

  • Added: Additional date format support for submission date range searching

1.8.213 – 07/18/2022

  • Added: #request_url variable that returns the page URL you are on, regardless of the template
  • Changed: Form lists order changed to order by name and then ID
  • Bug Fix: Submissions date range searching
  • Bug Fix: ‘Select value does not equal’ was not appearing in conditional logic options for select fields

1.8.212 – 07/07/2022

  • Added: $form_object attribute set on ‘Get Data’ for WordPress Hook data source
  • Bug Fix: Disabled add view REST API requests in LITE edition
  • Bug Fix: Vertical tab alignment on WooCommerce products

1.8.211 – 06/29/2022

  • Added: Support for terms and term categories without labels
  • Added: EDD licensing improvements
  • Changed: Bricks element label changed to ‘WS Form’

1.8.210 – 06/20/2022

  • Added: Google Address component mapping now supports ‘subpremise’ (Used for unit # in Australia)

1.8.209 – 06/08/2022

  • Added: Google Address result type options (All, Address, Businesses, Cities, Regions)

1.8.208 – 05/31/2022

  • Added: Server-side limit checks on form submit
  • Bug Fix: Run WordPress Hook message form scrolling configuration

1.8.207 – 05/27/2022

  • Added: Required setting added to legal fields (User must scroll through entirety of legal text to validate field)

1.8.206 – 05/20/2022

  • Bug Fix: Title attribute on spam indicator on submissions page

1.8.205 – 05/18/2022

  • Added: Inline validation setting on fields and sections
  • Added: Neighborhood and Formatted Address mapping to Google Address field
  • Added: Formatted Address added to data transfer from Google Address to Google Map field
  • Added: Additional admin CSS to override poorly targetted CSS from third party plugins
  • Changed: Improved German translations (Thanks to @upt2 for their contribution)

1.8.204 – 05/14/2022

  • Bug Fix: Cached CSS file build for fresh install on admin side

1.8.203 – 05/13/2022

  • Changed: Gravity Forms migration updates
  • Bug Fix: WordPress hook data source row ID across separate groups

1.8.202 – 05/12/2022

  • Added: Ability to run server-side validation on form save

1.8.201 – 05/09/2022

  • Added: After form lock, only buttons that were originally enabled are re-enabled

1.8.200 – 05/06/2022

  • Added: Support for WPForms LITE migration with no submission data

1.8.199 – 05/03/2022

  • Bug Fix: Server-side #blog_date_custom variable fix

1.8.198 – 05/02/2022

  • Added: Support for select2 in Elementor pop-ups
  • Added: #submit_url_hash variable which returns only the hash query variable part

1.8.197 – 04/26/2022

  • Bug Fix: Blur / focus conditional logic events

1.8.196 – 04/25/2022

  • Added: Improved behavior of marker on Google Maps. Drag and drop. No re-centering on map click.
  • Changed: Updated Elementor widget to support latest class structure

1.8.195 – 04/18/2022

  • Added: Support for #calc sums using #field with a column specified

1.8.194 – 04/12/2022

  • Added: Revised date formats passed to JS Date function to overcome Safari bug
  • Bug Fix: Stop compiled CSS files being enqueued in admin for visual builders

1.8.193 – 04/04/2022

  • Bug Fix: Meta box taxonomy population for multiple values

1.8.192 – 03/29/2022

  • Bug Fix: Conditional logic action enable / disable was not resetting on subsequent form submissions

1.8.191 – 03/25/2022

  • Bug Fix: Fixed default data grid columns for field generated for Meta Box that utilize a data source

1.8.190 – 03/23/2022

  • Changed: Removed color reference on ‘Add-Ons’ and ‘Upgrade’ menu items to better support admin themes
  • Changed: Removed need for spacer image in standard HTML email template

1.8.189 – 03/14/2022

  • Added: Support for #field with column attribute for values containing row parse values

1.8.188 – 03/09/2022

  • Added: PATCH to Push to Custom endpoint action
  • Bug Fix: Min / max on date / time field configured as type ‘Time’
  • Bug Fix: Column hiding on forms admin page

1.8.187 – 02/22/2022

  • Added: reCAPTCHA V3 reset on form submit
  • Added: Encoding of analytics functions to avoid conflicts with plugins containing poor regex functions intended for identifying cookie / analytics scripts
  • Bug Fix: Server side column mapping with data grid parse variables

1.8.186 – 02/17/2022

  • Bug Fix: #field iterator checking

1.8.185 – 02/15/2022

  • Bug Fix: Trim and validity checking on multi parameter variables

1.8.184 – 02/13/2022

  • Added: delimiter and column parameters added to #field variable for data grids. #field(id, delimiter, column). Column can be the column label or index (0 is first column)
  • Added: Donation amount template added to section library

1.8.183 – 02/10/2022

  • Added: Improved targeting of jQuery sortable 1.13.1 script override

1.8.182 – 02/07/2022

  • Bug Fix: ACF date field population if value is empty

1.8.181 – 02/06/2022

  • Added: Clear session ID with Conditional Logic (Form –> Clear session ID)
  • Bug Fix: Typing enter in post editor label field cause Add Form modal to open. Not a WS Form bug but workaround implemented.
  • Bug Fix: Media library was not opening with recent jQuery UI sortable fix.

1.8.180 – 02/01/2022

  • Added: form_id and field_id parameters added to wsf_action_email_email_validate hook

1.8.179 – 02/01/2022

  • Added: WooCommerce: Ability to save form as well as save & continue
  • Added: WooCommerce: Form hash cleared when product added to cart
  • Added: WooCommerce: Ability to run actions using conditional logic
  • Added: Support for shortcodes in email templates (Shortcodes cannot be entered into fields for security reasons)
  • Added: Ability to search for submissions by date range using site date format (Now supports d/m/Y)
  • Added: New action: wsf_enqueue_public (Runs if WS Form enqueues have occurred)
  • Added: Media library files embedded using URL instead of Base64 encoding for improved email support
  • Bug Fix: Google event firing was occurring if parent checkbox was disabled.

1.8.178 – 02/01/2022

  • Added: Placeholder on Google Address field
  • Bug Fix: Conditional value setting with URL type fields

1.8.177 – 01/30/2022

  • Added: Improved key obscuring in settings
  • Added: Improved CSS / font loading for compatibility with
  • Bug Fix: Submission read by hash now excludes trashed records

1.8.176 – 01/26/2022

  • Added: Translatable string improvements throughout
  • Bug Fix: XSS fix: Admin label encoding in form list
  • Bug Fix: XSS fix: Text extraction from text area fields in submission viewer

1.8.175 – 01/26/2022

  • Bug Fix: LiteSpeed fix

1.8.174 – 01/26/2022

  • Added: #wpautop(string) variable

1.8.173 – 01/26/2022

  • Bug Fix: Hidden static fields were not excluded from #email_submission variable

1.8.172 – 01/24/2022

  • Added: wsf_tab_index_ query variable that allows linking directly to tabs on forms
  • Added: Close icon on debug console (Debug console can be re-opened in Global Settings –> Advanced)
  • Added: Debug console now remembers height when minimized or restored if page refreshed

1.8.171 – 01/22/2022

  • Added: wsf_submit_meta_read($meta_value, $field_id) and wsf_submit_meta_update($meta_value, $field_id) filter hooks

1.8.170 – 01/22/2022

  • Added: Virtual keyboard disable option for date / time fields (Improves usability of date / time picker on mobile)
  • Added: Virtual keyboard setting for text and text area fields
  • Added: Improved license and key obscuring for all add-ons

1.8.169 – 01/21/2022

  • Bug Fix: Conditional logic applying values to hidden fields in repeatable sections

1.8.168 – 01/19/2022

  • Added: Submissions export support for sites with permalinks configured as plain
  • Bug Fix: Tab navigation if tabs hidden

1.8.167 – 01/19/2022

  • Bug Fix: ACF population of values containing amphersand
  • Bug Fix: ACF true/false field type value now set to 0 or 1

1.8.166 – 01/17/2022

  • Added: Tranform setting on text based fields: Uppercase, Lowercase, Capitalize, Sentence
  • Added: Variables: #upper(string), #lower(string), #ucfirst(string), #ucwords(string), #capitalize(string), #sentence(string)
  • Bug Fix: Tab navigation if first tab hidden

1.8.165 – 01/16/2022

  • Added: ARIA attributes added to progress field
  • Bug Fix: aria-disabled attribute on repeatable section navigation

1.8.164 – 01/16/2022

  • Added: Block pattern library
  • Bug Fix: Tab rendering if first tab hidden

1.8.163 – 01/14/2022

  • Added: Sidebar changes now auto save if you switch to a different sidebar, tab, section or field
  • Added: Updated version numbers on external enqueues
  • Added: Submission form selector now shows ‘0 records’ instead of disabling the option

1.8.162 – 01/07/2022

  • Bug Fix: Conversational field change events limited to current section to avoid form jumping if dynamic field changes in non-focussed sections occur

1.8.161 – 01/06/2022

  • Added: Improved accessibility for repeatable section icons
  • Added: WordPress 5.9 uses jQuery UI 1.13.0 which has a positioning bug when dragging fields to the form ( Version 1.12.1 of jQuery UI sortable is now bundled with WS Form to overcome this issue.


  • Added: DropzoneJS thumbnail image size filter hook: wsf_dropzonejs_image_size($size). $size must exist in get_intermediate_image_sizes()
  • Added: Improved language on welcome screen framework selection step
  • Bug Fix: Conversational next field focussing


  • Bug Fix: Color function for PHP 8.1


  • Added: WordPress 5.9 / PHP 8.1 compatibility preparation
  • Bug Fix: Conditional logic data grid column mapping


  • Added: New ‘Run WordPress Hook’ filter returns can now trigger form errors. See:
  • Added: Additional no cache headers and Litespeed no cache directives for save, submit requests


  • Bug Fix: Date >=, <= comparisons in conditional logic with EU date formats


  • Added: Google Address map assignment initial zoom setting
  • Added: Improvement to tab ARIA attributes


  • Added: NONCEs on public forms where a user is not logged are now optional to allow for increased cache timeouts


  • Added: Various accessibility improvements (ARIA tags and text contrast)
  • Added: Improved min/max file size error messages
  • Bug Fix: Repeater deduplication between fields


  • Added: Improved reset and clear functionality for file fields


  • Bug Fix: SVG URL encoding issue for select down arrows


  • Added: Support for legacy WordPress date functions (WP < 5.3)
  • Bug Fix: Conditional logic numeric checks fixed for EU number formats


  • Bug Fix: Field change events now initialized before initial calculations fire


  • Added: wp_mail errors now include PHPMailerException error message
  • Added: Media (attachment) post type to Post data source. Added ‘inherit’ post status so that attachments can be listed.
  • Added: Running the ‘Save Submission’ action via conditional logic now returns a submission hash
  • Added: Improved translation strings. Moved translations out of constants.
  • Added: Obscured license key in system report


  • Added: Support for repeat label hiding on H1 – H6 as well as legend
  • Added: Improved accessibility markup for repeatable section icons
  • Bug Fix: Section delete variable clean up
  • Bug Fix: Word and character count validation if help text empty


  • Bug Fix: Database action auto archiving feature (cron action)


  • Bug Fix: Welcome screen fixes for PC version of Chrome


  • Bug Fix: Submission status filter links


  • Bug Fix: Term lookup cache in post data source bug if term removed
  • Bug Fix: WooCommerce price meta data now converted to floating point

.= 1.8.142 =
* Bug Fix: Calculations from select fields were processed as currency
* Bug Fix: Rounding error in source field for calculations if commas used as decimal separator


  • Bug Fix: Conversational URL link


  • Added: Support for WooCommerce product meta data (Post management add-on)
  • Bug Fix: Debug populate number fields with step of ‘any’


  • Added: New functionality ready for Amazon S3 integration for file fields
  • Added: Form search
  • Added: Third parameter to #field_date_offset variable to allow formatting of output
  • Added: wsf_form_create_meta_data($meta_data) filter that allows meta data to be edited prior to form being created
  • Added: Cost by area template


  • Added: intl-tel-input support for phone field. Check ‘Enable’ under ‘International Telephone Input’ in the basic tab to use it.


  • Changed: Server and blog date formats with upgraded WordPress date/time methods


  • Changed: Improved third party custom field plugin detection and add-on initialization


  • Added: #field_date_offset(field_id, offset_in_seconds) variable. Returns a date field with an offset added or subtracted in seconds.
  • Changed: Duration tracking is now switched off by default
  • Bug Fix: PHP 8 fix in Divi module


  • Bug Fix: Duration cookie no longer set if duration tracking disable


  • Bug Fix: Table prefix on Post data source when retrieving terms


  • Added: ‘Use URLs for file fields’ setting in ‘Push to Custom Endpoint’ action
  • Added: reCaptcha V3 revisions
  • Changed: Submission export temporary folder location


  • Bug Fix: Double quote detection in variable attributes


  • Added: New hCaptcha field
  • Changed: Performance improvement on change triggering for cart detail fields


  • Added: Migration from Gravity Forms 2.5 now supports column widths
  • Added: Ability to use #field to fields outside a repeatable section in #section_rows_start … end
  • Bug Fix: Migrate tool submissions import meta data
  • Bug Fix: Meta Box checkbox issue in repeaters


  • Added: Form level Google Analytics events
  • Added: gtm.formSubmit Google Tag Manager Form Submission trigger support
  • Added: Change event fired when Google Address fields populated


  • Added: Latitude and longitude mapping for the Google Address field
  • Bug Fix: Parameter ordering issue for GA tracking objects


  • Change: Improved detection of custom field plugins in multi-site environments
  • Bug Fix: Google Analytics event tracking for ga contained in tag manager
  • Bug Fix: Meta box repeater (group) fields not recognized in field mapping


  • Added: New Google Address field allows you to auto populate address fields from a Google Places Autocomplete API search


  • Added: Performance improvements with #calc and other price related calculations


  • Added: New filter wsf_action_email_email_validate($valid, $email) added for filtering unwanted email addresses


  • Added: Updated option checking in Meta Box and ACF classes
  • Bug Fix: Dedupe value scope processing issue


  • Added: Increased length of form, tab, section and field labels to 1024 characters


  • Bug Fix: Tab validation misreported valid email address if field was not required


  • Added: Toolset version check to ensure latest public functions are available


  • Added: User ID set to current user ID when elements cloned in admin


  • Added: Improved Elementor class declaration
  • Added: Improved SVG background image encoding in skin CSS
  • Bug Fix: HTML encoded labels for third party form selectors


  • Bug Fix: WooCommerce class PHP 8 compatibility


  • Added: Toolset integration support for Post Management (1.4.0) add-on
  • Added: Toolset integration support for User Management (1.4.0) add-on
  • Added: Toolset field option data source
  • Bug Fix: Mouseover event on radio fields
  • Bug Fix: File count conditional logic when using file fields in repeaters


  • Added: Improved data sources so that column names retained but rows cleared on save


  • Added: Ability to filter data source terms by those checked on a post


  • Added: Support for conditional logic mouse events on select2 elements


  • Added: Email field allow / deny values with wildcard (e.g. Allow * Found in ‘Advanced’ tab.


  • Added: Variable parsing on email header keys and values
  • Bug Fix: Submission count recalculated when record status set to trash


  • Added: Ability to use fields that return multiple values (e.g. checkboxes) as #field in email action ‘To’ setting
  • Added: Ability to use variables with attributes embedded in #if statements
  • Added: Improved z-indexing in admin
  • Added: Improved time function handling per WordPress recommendations


  • Added: Support for multiple textarea fields configured as type HTML
  • Added: Reset data grids if a field is saved with a data source selected to minimize form data size
  • Bug Fix: Cascade / AJAX select fields with no group data caused warning


  • Added: URL element added to files in custom API endpoint action


  • Bug Fix: Bulk Action Mark as Spam fixed


  • Bug Fix: Encryption class includes for initial key generation


  • Added: Conversion tracking now support variables
  • Bug Fix: Improvement to encryption class includes
  • Bug Fix: Elementor script and style enqueues


  • Added: Ability to enable optgroup using the WordPress hook data source
  • Added: CSS for tooltips in labels, e.g. Icon
  • Added: Applied wpautop to message action content
  • Added: Improved data picker styles
  • Added: Booking template in section library
  • Bug Fix: Password visibility toggle
  • Bug Fix: Updated email regex pattern throughout to support new TLD’s
  • Bug Fix: Inline date picker


  • Added: Post statuses data source
  • Bug Fix: Lower track on range slider was not rendering if #value was missing from help setting


  • Added: wsf_submit_clear_meta_filter_keys filter (Used for new feature in post management add-on version 1.3.2)
  • Bug Fix: Taxonomy list in post data source


  • Added: Support for hidden sections in conversational forms
  • Bug Fix: Improved Meta Box field lookups to handle meta boxes assigned to more than one post type


  • Added: Ability to self reference field when using #field in labels, placeholder and help
  • Bug Fix: Bug fix on conditional logic setting value using #field in repeatable section


  • Added: Performance improvement on clearing select fields with conditional logic
  • Bug Fix: Save Submission field filtering
  • Bug Fix: Select conditional logic on load with AJAX cascading
  • Bug Fix: Repeatable sections in conversational forms now highlight all rows


  • Added: Meter field type
  • Added: New section templates
  • Bug Fix: Various CSS fixes
  • Bug Fix: Data grid enter key press fix


  • Bug Fix: Elementor pop-ups


  • Added: Support for forms in preview mode in Elementor
  • Added: Row select value support for price select fields
  • Bug Fix: Pods Yes/No field data grid rows


  • Added: Improvements to functions.php for later PHP versions
  • Changed: Behavior of rating field adjusted so that conditional logic does not fire on input


  • Added: Cascading filter column comma separated value setting


  • Added: LiteSpeed cache support
  • Added: Notion field ID support in sidebar select fields


  • Added: #seconds_epoch_midnight client-side variable returns seconds elapsed since Unix Epoch up until the closest previous midnight
  • Bug Fix: Sidebar repeater select options were not disabling if value contained forward slashes in value
  • Bug Fix: Select fields configured to use Select2, multiple and tagging enabled were not appearing in #field variables server side


  • Added: Support for comma separated values in cascading fields
  • Added: Hide Child Terms options in Terms data source (Only returns terms with a parent ID of 0)
  • Added: Automatic column mapping on ‘Get Data’ for data sources
  • Bug Fix: Data source save on sidebar conditional processing


  • Added: Added checks to ensure Dropzone and Select2 JavaScript libraries are installed before initializing them


  • Added: Improved check for Pods 2.8 Beta get_groups method


  • Added: Additional support for Pods 2.8 Beta
  • Bug Fix: Dynamic data source update when form submitted


  • Added: WordPress Filter Hook data source


  • Bug Fix: Improved client side HTML encoding


  • Added: Pods integration support for Post Management (1.3.0) add-on
  • Added: Pods integration support for User Management (1.3.0) add-on
  • Added: Pods field option data source


  • Added: wsf-steps-checks class for adding checks to styled tabs
  • Added: Updated to GPLv3 license
  • Bug Fix: Fixed invalid feedback reset on field focus


  • Added: Improved performance on DropzoneJS uploads
  • Bug Fix: Modal CSS duplication removed


  • Added: ‘Exclude From Cart Total’ setting on Price, Price Select, Price Checkbox, Price Radio and Price Range fields types. This excludes those fields from the e-commerce calculations so that they can be used for other functionality such as #calc.
  • Added: wsf-steps, wsf-vertical form wrapper classes for WS Form framework for tab styling
  • Added: wsf-sticky form wrapper, section wrapper and field wrapper classes for WS Form framework
  • Added: Tab accessibility improvements


  • Bug Fix: select_option_text, checkbox_label and radio_label compatibility with repeatable sections


  • Added: Placeholder option for Select2 with multiple selected
  • Added: License key now obscured after it is entered
  • Bug Fix: Select2 rendering


  • Changed: Revised #post* variables for performance


  • Added: Data export request containing registered user data


  • Bug Fix: Field value form scope for #field
  • Bug Fix: $submit_object on wsf_submit_field_validate
  • Bug Fix: Data export request


  • Added: Ability to hide reCAPTCHA in tabs, sections at field level
  • Bug Fix: Tab Google Analytics event firing


  • Bug Fix: Function compatibility issue with WooCommerce extension


  • Added: Multiple choice on Select, Checkbox and Radio IF conditions (OR logic)
  • Added: Round robin recipient logged in email action log on each submission


  • Added: Option in email action to include links to file uploads and signatures
  • Added: CSV export now includes full paths to file upoads and signatures
  • Changed: E-Commerce status column in CSV export changed from ‘Status’ to ‘Order Status’ to avoid duplicate column name
  • Changed: On submission view, signatures now displayed with preview and download icons to match file upload fields


  • Added: New functions: wsf_form_get_form_object & wsf_form_get_form_label


  • Bug Fix: ACF data source finding choices in grouped or repeater fields


  • Added: WordPress 5.8 compatibility testing
  • Added: PHP 8 compatibility testing
  • Added: wp_upload_dir known WordPress bug fix


  • Added: Submissions CSV export system now builds in chunks if records exceed 500 to avoid timeouts
  • Added: Submissions CSV export system now zips CSV file if it exceeds 1/2 MB in size for convenience


  • Added: Implemented fix for range slider browser bug


  • Added: #calc / #text prioritizes attribute changes before default value changes
  • Changed: #calc / #text numeric values changed to 12 decimal point precision


  • Added: ACF fix on LITE


  • Added: Meta Box integration support for Post Management (1.2.0) add-on
  • Added; Meta Box integration support for User Management (1.2.0) add-on
  • Added: Meta Box field option data source
  • Added: Improved wpautop support throughout
  • Added: New conditional logic for form submit and save success
  • Bug Fix: Repeater column toggle in sidebar on row add
  • Bug Fix: Wildcard file accept
  • Bug Fix: Bootstrap 5 tabs
  • Bug Fix: Checkbox fix in customize
  • Bug Fix: Conversation form made PRO


  • Added: Hierarchy support for terms data source (Display as Hierarchy setting)


  • Added: #calc / #text support for min / max field attributes
  • Added: Min / max support for price fields in conditional logic


  • Bug Fix: Progress bar assigned to tabs


  • Added: ACF field validation (filter: acf/validate_value) for post and user management actions
  • Added: ACF oEmbed field type support
  • Changed: Code optimization in public.js
  • Bug Fix: Tab click events in conditional logic


  • Bug Fix: Form preview rendering in Gutenberg
  • Bug Fix: Field encoding post management populate values


  • Changed: Currency symbols to match WooCommerce


  • Bug Fix: Form submission limit


  • Bug Fix: Message action delay


  • Added: Change to placeholder CSS on inside field label positioning
  • Changed: Bricks element updated due to function names changing in Bricks theme core


  • Added: Hovering over tabs, sections and fields in the layout editor with the conditional logic sidebar open now highlights any conditional rows that contain those form elements


  • Bug Fix: Required span on calculated labels
  • Bug Fix: Calc firing on repeatable section row count changes


  • Added: Error logging on invalid feedback client side action


  • Added: Bootstrap 5 launch compatibility checks


  • Bug Fix: Conversational style dequeuing


  • Bug Fix: #email_tracking variable in email templates


  • Added: Conversational forms (Beta)
  • Changed: PRO licensing
  • Bug Fix: Numeric value return on data sources pulling ACF meta data


  • Bug Fix: Initial CSS build error


  • Added: Server-side form validation hook (
  • Added: Performance improvements with CSS engine
  • Bug Fix: Form deletion


  • Added: Date field: Disabled days
  • Added: Date field: Disabled dates
  • Added: Date field: Enabled dates


  • Bug Fix: Visual editor CSS file path issue


  • Bug Fix: x_wp_nonce JS error


  • Added: RTL support for new compiled skin system


  • Bug Fix: Redirect URL parsing now uses text/plain method


  • Bug Fix: Select all fixed on data grids using dynamic data sources


  • Added: Suggested knowledge base articles on support contact form
  • Bug Fix: ACF numeric field value population in select, checkbox and radio fields
  • Bug Fix: Min / max date validation


  • Added: Improved default invalid feedback text by field type
  • Added: Improved appearance of legal field for Foundation framework
  • Bug Fix: Server date fix for certain JavaScript engines


  • Added: Name to section library (first name, last name)
  • Bug Fix: Applied pre_render filter to submit API call


  • Added: Round robin support for the Send Email action
  • Added: Box shadow customization
  • Added: Updated version of date time picker JS


  • Added: Support for #text and #calc containing #select_option_text
  • Bug Fix: #text on date fields


  • Changed: Improved and consolidated admin UI icons
  • Bug Fix: 0 values to ACF fields


  • Bug Fix: Minor bug fix for legacy PHP versions and autocomplete data
  • Bug Fix: Validation of dates with period separators fixed for certain JavaScript engines


  • Bug Fix: Dependencies fix


  • Added: Improvement to Elementor pop-up handling
  • Added: Calc enabled from HTML fields
  • Added: Spacer height setting
  • Added: Enqueued script dependency filters (for PayTrace)
  • Added: CSS recompiled on upgrade
  • Changed: Delete icon continuity throughout admin
  • Bug Fix: Bricks preview now uses form preview
  • Bug Fix: Select2 CSS


  • Added: Enabled #text on server side to allow static fields to render correctly
  • Bug Fix: Price range slider help now correctly formats prices using #ecommerce_price
  • Bug Fix: Running actions with conditional logic no longer issues a session ID


  • Added: Hide tabs option (Form –> Settings)
  • Bug Fix: Elementor double initializing form events


  • Bug Fix: Shortcode for Oxygen on public contained visual editor attribute


  • Added: Bricks Element (
  • Changed: #pos to #positive, #neg to #negative for future compatibility


  • Added: New variable: #min(value, value …) – Returns the minimum of the supplied values
  • Added: New variable: #max(value, value …) – Returns the maximum of the supplied values
  • Added: New variable: #neg(value) – Returns the 0 if positive, original value if negative
  • Added: New variable: #pos(value) – Returns the 0 if negative, original value if positive


  • Added: Improved preview template auto detection
  • Added: Improved support for performance optimization plugins


  • Added: Improved Gutenberg block rendering


  • Added: Debug console now removes existing instances if wsf_form_init called


  • Added: Ability to use step of ‘any’ on number fields
  • Bug Fix: Elementor modals


  • Added: WS Form Oxygen element
  • Added: Improvements to JavaScript ws_form_init() function (Reinitializes all forms)
  • Added: Improved Beaver Builder, Elementor form initialization
  • Added: Improved Gutenberg block functionality
  • Added: Note that field deduplication does not work with encryption
  • Bug Fix: #calc on multiple select
  • Bug Fix: Gutenberg block SVG


  • Added: Client side #section_rows_start(section_id) / #section_rows_end


  • Changed: Removed ‘Read more’ link from visual editor in admin
  • Bug Fix: Visual editor link dialog flashed in Chrome if sidebar was minimized (Known Chrome issue)
  • Bug Fix: Military format for time in date field


  • Added: #text(field_id) variable (Allows you to duplicate field values in other fields)
  • Added: User status options for tabs (Logged in, logged out, user role, user capability)
  • Added: User status options for sections (Logged in, logged out, user role, user capability)
  • Added: User logged in, logged out, role and capability conditional logic IF conditions
  • Bug Fix: Encryption during WooCommerce checkout


  • Added: Custom Email HTML template
  • Added: Email Validation template
  • Added: Spam level set to 0 on validated submissions
  • Bug Fix: Validation of european date formats using periods


  • Added: #section_rows_start(section_id) / #sections_row_end for email templates
  • Added: Public config script optimizations
  • Bug Fix: Media library uploads


  • Bug Fix: Fixed hidden field validation for conditional logic validation


  • Added: Improved checks on conditional logic object integrity
  • Added: Implemented workaround for select2 not behaving properly with dynamically disabled options


  • Bug Fix: Conditional logic icons if condition deleted


  • Added: Improved signature validation
  • Added: Server side #ecommerce_price function
  • Added: Signature ‘Clear’ link text setting
  • Added: Google Map ‘Reset’ link text setting
  • Added: Password strength and visibility toggle text settings
  • Added: Various Bootstrap and Foundation CSS improvements


  • Added: WordPress 5.7 testing
  • Added: Support for tab conditional logic in Bootstrap and Foundation


  • Bug Fix: Conditional logic object ID lookups on form import
  • Bug Fix: Next / previous buttons on forms with tab validation
  • Bug Fix: Inside label positioning on e-commerce cart total field


  • Added: Conditional logic icons on tabs, sections and fields
  • Added: Highlight tabs, sections and fields when editing a condition


  • Bug Fix: Email template parsing


  • Bug Fix: Next / previous tab navigation on conditional logic disable
  • Bug Fix: Parse variable processing fix (Server-side)


  • Bug Fix: Media library upload with default file upload field


  • Bug Fix: New form default settings


  • Bug Fix: Required signatures on save


  • Added: Password visibility toggle icon
  • Added: Email validation via link in email
  • Added: Validate before saving option on save field
  • Bug Fix: Action format at on submission save


  • Bug Fix: Tab next/previous buttons if tab hidden with conditional logic


  • Bug Fix: Custom validity removal on hidden fields


  • Added: Section Library
  • Added: Section Library (Pre-built and ‘My Sections’ feature)
  • Added: Section and tab import and export
  • Added: Section and tab add to ‘My Sections’
  • Added: Improved tab management in layout editor (settings no longer obscure tab names)
  • Added: Performance improvement: Compiled CSS global setting
  • Added: Compliance with SCRIPT_DEBUG constant throughout (Minified CSS setting removed from Global Settings)
  • Added: Compiled and inline CSS enabled by default for new users
  • Added: Field and section search in Toolbox
  • Added: Various layout editor UI improvement
  • Added: DropzoneJS timeout setting
  • Added: Improve statistics gathering methods and error checking
  • Added: Latest version of DropzoneJS
  • Changed: Removed prefix on form error alerts
  • Bug Fix: Foundation 6+ Abide initialization on WooCommerce product pages
  • Bug Fix: Data encryption learn more link