Note: this version is not backwards compatible with Quform 1.x, see the blog post and migration guide for more information.

14 January 2018

  • Added a body padding option for notification emails
  • Added an option to translate the page progress text
  • Added a way to get a part of an array type element value using a variable tag
  • Added filter hooks when getting form values
  • Added radio and checkbox input selectors to the styling system
  • Added success message text and icon selectors to the styling system
  • Added datepicker selectors to the styling system
  • Added an option to use HTTP API requests instead of HTTPS
  • Added support for Hidden inputs being a source for logic rules
  • Added an option to the Date and Time elements to show the datepicker or timepicker when the field is focused
  • Added a readonly option to Date and Time elements
  • Added Ctrl+click to turn off a radio button when editing an entry
  • Added sorting the form list by ID by clicking the shortcode column heading in the forms list table
  • Added an option to hide the dashboard widget
  • Updated all of the plugin translation files
  • Updated the Kendo scripts to the latest stable version
  • Changed the ordering of form processing so that the entry ID is always available in success processing hooks
  • Changed the form preview to not include custom JavaScript
  • Changed the page tabs within the form builder to show the page number if the page does not have a label
  • Fixed a conflict with the Flatsome theme page builder
  • Fixed the database tables not being created on WordPress multisite
  • Fixed an issue with the submit button not extending to 100% width
  • Fixed an error submitting the form if an invalid date was entered for the min or max option in the Date element
  • Fixed an issue where the correct scripts were not being loaded after importing a form
  • Fixed an issue where the scripts were not being loaded after activating the plugin
  • Fixed an issue where the notification or confirmation settings could not be opened if the visual editor was disabled in the user’s settings
  • Fixed an issue where the visual editor popups were below the plugin popups
  • Fixed the position of the set entry label popup on the entries list
  • Fixed the links to proper documentation pages throughout the plugin
  • Fixed an issue where the icons could be missing from the plugin pages
  • Fixed an issue where the form could not be submitted if the Name element was hidden by conditional logic
  • Fixed several issues where links to plugin pages were visible even though the user did not have permission to access them
  • Fixed the visibility for the option to hide the form after submission in the confirmation settings
  • Fixed the global date and time format settings that previously did not work
  • Fixed the Select2 search input could not be focused within a form in Magnific Popup
  • Fixed the smooth scrolling script to properly scroll within popup forms
  • Fixed the submitted value of a CAPTCHA element displaying in the notification email form data
  • Fixed variables not being converted when migrating the autoreply email
  • Fixed the visible plugin menu items for non-administrator users with full plugin access
  • Fixed the validation error icon not working
  • Fixed the form preview when there is output from the quform_pre_display hook
  • Fixed a conflict with the Foobox plugin
  • Fixed notification attachments when the files are not also being saved to the server


Note: this version is not backwards compatible with Quform 1.x, see the blog post and migration guide for more information.

8 September 2017

  • Fixed empty email content in notifications when migrating 1.x forms
  • Fixed adding an empty notification when migrating 1.x forms
  • Fixed a bug which converted some filters and validators to the wrong type when migrating 1.x forms
  • Fixed conditional recipients being disabled when migrating 1.x forms
  • Fixed conditional logic rules when migrating 1.x forms
  • Fixed a bug with radio/select/checkboxes with customized values when migrating 1.x forms
  • Fixed insert variable placeholders not being converted to the new format when migrating 1.x forms
  • Fixed the form redirect not being migrated properly when migrating 1.x forms
  • Fixed an out of memory issue when the site has a lot of posts or pages
  • Fixed issues with the WPEngine PHP Compatibility Check plugin


4 September 2017

Note: this version is not backwards compatible with Quform 1.x, see the blog post and migration guide for more information.

  • Added multi-page forms
  • Added conditional logic to pages
  • Added a new Name element
  • Added a new Multi Select element
  • Added a new Column Layout element
  • Added editing entries
  • Added a duplicate element button in the form builder
  • Added more form themes
  • Added a new submit button element that can be moved around
  • Added loading spinner options
  • Added a notifications system where unlimited emails can be sent from a single submission
  • Added conditional logic to notifications
  • Added attachment options to notifications
  • Added a Confirmation system logic can be used to show a different message or redirect to a different page depending on the form values
  • Added RTL support
  • Added a label system to entries, create unlimited labels, assign labels to entries and search by label
  • Added the ability to Trash forms
  • Added the ability to Trash entries
  • Added a Migrate tool, to migrate 1.x forms and entries to this version
  • Added an Uninstall tool
  • Added options for a default recipient and default “From” to the plugin settings page
  • Added options to only load scripts on pages with forms, or by choosing specific pages
  • Added options combine the plugin CSS into a single file
  • Added options combine the plugin JavaScript into a single file
  • Added options to disable the CSS/JS for 3rd party scripts separately
  • Added options to add permissions to WordPress roles
  • Added options to add custom CSS and custom JavaScript to the site
  • Added CSRF protection
  • Added a toolbar menu for form management
  • Added an option to hide the form edit link
  • Added an option to set the smooth scrolling offset
  • Added Fancybox 2 and Magnific Popup support for popup forms
  • Added the Kendo UI Timepicker script to the Time element
  • Added many more locale options for the Datepicker and Timepicker
  • Added options for admin only, logged in only, and logged out only fields
  • Added field icon and label icon options
  • Added options to set background images and icons on Checkbox or Radio elements
  • Added support for optgroups in the Select and Multi Select elements
  • Added responsive options to forms for elements and columns
  • Changed the format of entry data when stored in the database
  • Changed the Date element Datepicker to use Kendo UI Datepicker instead of jQuery UI Datepicker
  • Changed the Date element to use a text field instead of select menus
  • Changed the Time element to use a text field instead of select menus
  • Changed Referral Program settings to be plugin-wide instead of per-form
  • Removed the email sending settings (email sending now uses wp_mail() for better integration with other plugins)
  • Removed Uniform
  • Removed jQuery UI Datepicker
  • Removed the help pages from within the plugin


2 June 2017

  • Added an option for the Invisible reCAPTCHA – a new set of reCAPTCHA keys will need to be generated to use this
  • Fixed the styling of the non-JavaScript reCAPTCHA


31 May 2017

  • Changed the File Upload element upload progress to use JavaScript (jQuery File Upload) instead of Flash (SWFUpload)
  • Fixed the upload filename filter to allow non-Latin characters in filenames
  • Replaced deprecated usage of the jQuery(window).load function


20 April 2017

  • Fixed an error saving new forms when the user did not have permission to view entries


20 April 2017

  • Fixed an issue that could affect other plugins when Quform is unlicensed
  • Fixed an issue where users with the capability iphorm_view_entries could delete entries
  • Fixed several issues where links to plugin pages and actions were visible when the user did not have capability to access them


20 January 2017

  • WordPress 3.3 is now the minimum requirement
  • Added IP address as column option in entry table layout
  • Added ARIA accessibility labels for the Date, Time and File Upload elements
  • Fixed an error when adding an element when using the Arabic translation
  • Fixed an error when connecting to some SMTP servers on PHP 5.6+
  • Fixed a problem on some themes where the file upload button could not be clicked
  • Fixed conditional logic on the reCAPTCHA element
  • Updated the jQuery UI themes to the latest version


18 August 2016

  • Added an option to disable [raw] tag detection which can cause conflicts with some themes
  • Added Turkish translation (credit to Fatih Mehmet Ekler)
  • Fixed a bug when searching entries with non-English characters


31 May 2016

  • Fixed Services_JSON PHP Notices on PHP7
  • Fixed Uniform dropdown menus on Chrome 50 on Android
  • Fixed out of memory issues when the site has a lot of large forms


20 April 2016

  • Fixed an issue with the reCAPTCHA validator on some servers
  • Fixed an out of memory issue on the Form Builder when the site has many forms
  • Fixed a PHP warning when adding a CSS style with no value
  • Added a new variable for the browser User Agent string


24 March 2016

  • Fixed an issue introduced in the last update with element labels which have custom CSS


11 March 2016

  • Fixed an issue with mousewheel scrolling in large popup forms in some themes
  • Fixed a couple of issues on WP 4.5 beta
  • Fixed a 404 error in the Storm form theme
  • Updated Chinese translation


1 December 2015

  • Fixed an empty value bug when submitting the Time element in 24 hour mode
  • Removed browser validation effects on the email input field


24 November 2015

  • Added placeholder option to elements that support it
  • Added the Regex validator as an option for the Email Address element
  • Changed the input type to email for the Email Address element
  • Fixed an issue with reCAPTCHA inside a popup form
  • Fixed an issue with the Time element if it’s empty when submitted


16 October 2015

  • Added ‘compact’ size option for reCAPTCHA
  • Improved responsive styles for fancybox on devices
  • Added month translation fields to the Date element settings
  • The generated CAPTCHA images are now retina ready


29 September 2015

  • Updated the jQuery Form script to the latest version
  • Fixed a 404 error with the Agent Uniform theme
  • Fixed dashboard widget if the form name is long
  • Fixed an issue when pasting the form shortcode into the Visual editor


26 August 2015

  • Added a way to call the reset form function with custom JS
  • Added minor tweaks to the React form theme


15 August 2015

  • Fixed an issue with Month translations when using WPML
  • Fixed the plugin update process via Ajax on the Plugins page
  • Fixed reCAPTCHA field not showing in the popup when opened more than once
  • Fixed blank options in the preview and default value for the Date field
  • Fixed drag/drop in the Form Builder on devices
  • Added an option to show headings on the Time element dropdown menus
  • Added Start hour / End hour options to the Time element
  • Added a Time validator
  • Added an option to show the content of an HTML field when viewing entry
  • Added an option to reset, clear or keep form values after submitting the form
  • Added compatibility for WP 4.3
  • Added Spanish translation (partial)


26 June 2015

  • Fixed a rare issue with saving entries
  • Fixed the entry layout when printing in Chrome
  • Fixed a security issue


17 June 2015

  • Fixed an issue with required file upload fields being allowed empty in IE10+
  • Fixed an issue with file upload fields not resetting properly in IE10+
  • Fixed a rare issue where conditional email recipient rules can break the form builder
  • Fixed a PHP warning when starting a session if the session ID contains invalid characters
  • Added a filter for read/unread entries on the entries list
  • Added Chinese translation


28 May 2015

  • Fixed a compatibility issue with the popup widget on some themes
  • Updated the qTip2 tooltip script to the latest version


27 May 2015

  • Fixed a bug with conditional logic after the form is reset
  • Fixed the reCAPTCHA language selector
  • Fixed reCAPTCHA error after the first form submission
  • Changed the loading gif to have a transparent background


12 March 2015

  • The SMTP password option is now a password field and not visible in the settings when a password is saved
  • Added support for using the variable {admin_email} in the email settings in the form builder
  • Added a cache for conditional logic which greatly improves performance in forms with many logic rules


16 January 2015

  • Added a responsive option for forms, this is enabled by default for new forms, for existing forms it can be enabled at Form Builder → Settings → Style
  • Added a new light form theme: React
  • Updated reCAPTCHA to the new version
  • Added hooks to allow the plugin JS and CSS to be enqueued conditionally
  • Added partial Swedish translation file
  • Improved speed of saving forms


11 September 2014

  • Fixed bug with tooltip event option not being saved in the form builder
  • Fixed strict error when uninstalling
  • Added a ‘change’ event on the Date dropdown menus when choosing a date in the Datepicker
  • Fixed conditionally hidden values not being empty when saving to custom database
  • Changed the Add Quform button to be the same as the Add Media button in the post editor
  • Added primary key to entry data table


16 July 2014

  • Fix the form builder database fields being populated by JavaScript code when the Mootools library is loaded on the page
  • Improved form builder loading speed when database fields are set up
  • Fix PHP strict error when activating the plugin
  • Remove space between inline JS to prevent JS errors when wpautop is applied on the form
  • Changed the default date format to one that doesn’t include number suffix e.g. ‘th’
  • Added a few more date formats


25 April 2014

  • Added French translation
  • Added partial Croatian translation
  • Changed Ukrainian locale code to ‘uk’


23 April 2014

  • Fixed form builder CSS styles in WP 3.9
  • Added action hook iphorm_post_validate which is called after successful form validation


5 February 2014

  • Only show an error when sending emails if WP_DEBUG is on
  • Added iphorm_pre_display hook when showing the form after submitting it in non-Ajax mode


22 January 2014

  • Fixed the SWFUpload script to stop errors with other scripts when some jQuery selectors are used
  • Fixed Uniform not setting the select value correctly when the form is reset


16 January 2014

  • Fixed an error with Uniform and IE


13 December 2013

  • Fixed CSS issues with WP 3.8
  • Fixed an error with Uniform and IE10
  • Fixed a script enqueueing problem if the plugin name is translated or changed
  • Added hooks allowing the plugin name to be changed on the WP menu and on page titles
  • Fixed a rare problem saving form data to a custom database
  • Added Persian translation (partial) – thanks to beeZness (


21 August 2013

  • Fixed an issue with no update notification being displayed when a new plugin version is released
  • Added a “Check for updates” button to the plugin Settings page
  • Added an email “Return-Path” address option to the plugin Settings page
  • Fixed a bug with Hidden field labels in the entries list table heading
  • Added Portuguese (Brazil) translation


6 August 2013

  • Fixed the popup form script (Fancybox) to be compatible with WP 3.6


5 August 2013

  • Fixed conditional logic settings issue in WP 3.6


30 July 2013

  • Fixed CSS conflicts with the WP 3.6 Twenty Thirteen theme
  • Added a new dark form theme “Storm”


10 July 2013

  • Fixed the upload progress bar sometimes exceeding 100% width


10 July 2013

* Quform is no longer compatible with WordPress v3.1, version 3.2 or later is now required *

  • Fixed an issue submitting the form in IE9 with a file upload field in the form
  • Added countries back to the translation file


30 May 2013

  • Fixed a conflict with the MyMail plugin
  • Updated the plugin and 3rd party scripts to be compatible with jQuery 1.9
  • Updated qTip2 to latest stable release
  • The plugin will now enqueue the WordPress versions of the jQuery UI scripts in WP 3.3+
  • Added compatibility with WordPress 3.6 (beta)
  • Bulk options such as Countries and States etc have been removed from the translation file


4 April 2013

  • Fixed a bug with conditionally hidden elements with custom validators
  • Fixed the “Browse text” and “Default text” options of the File Upload element not saving properly
  • Fixed the Uniform File Upload field height in IE
  • Fixed the shortcode Insert button not working in some situations


25 February 2013

  • Fixed the ending Group element always displaying the name “New”
  • Fixed placeholder variables in email content not being formatted correctly
  • Fixed HTML encoded characters displaying in exported entries


13 February 2013

  • Added an option in the Group settings to show the Group name in the default notification email
  • Fixed the jQuery Smooth Scroll plugin to be compatible with jQuery Tools Scrollable
  • Updated the German and Italian translations


25 January 2013

  • Fixed an incorrect error message with the Length validator
  • Added a confirmation when leaving the form builder page if there are unsaved changes
  • Added a BCC option to the notification email settings
  • Fixed the “Use Ajax” option, it will no longer cause a JavaScript error when disabled
  • Added a mbstring extension check to the server compatiblity section
  • Added an option to disable Uniform and SWFUpload output from the plugin settings
  • Fixed a bug with the placeholder values for post ID, post title and referring URL
  • Added a new placeholder value {entry_id} that returns the ID of the submitted entry
  • The global border/background/text colour settings are now also applied to textareas
  • Updated the jQuery UI, qTip2 and InFieldLabels scripts
  • Added more jQuery Datepicker localizations
  • Shortened the form unique ID hash
  • Added a filter to override the form unique ID, you can use this to have static ID attributes within the form HTML
  • Added an error class to the wrapper of elements with errors
  • Fixed redirecting on successful submit when JavaScript is disabled
  • Added hooks for modifying the success redirect URL
  • Added code to throttle the update check to once per hour
  • Added a unique ID display in the Hidden element settings
  • Conditionally hidden elements no longer display in the notification email or when viewing entries
  • Added options to display empty fields in the notification email and when viewing entries, and they are now hidden by default
  • Fixed a compatibility issue with the Jigoshop plugin
  • Fixed the Regex validator
  • Fixed the form shortcode being wrapped in <pre> tags when pasting into the page visual editor


12 December 2012

  • Fixed an error with WordPress 3.5
  • Fixed a compatibility issue with W3 TotalCache JavaScript minification
  • Removed the blank custom.css file
  • Removed the Fancybox styles that were causing 404 errors in IE
  • Changed the image preloading JavaScript to run after the page has fully loaded
  • Fixed the success redirect when JavaScript is disabled
  • Added full Italian translation file
  • Added partial Bulgarian translation file
  • Updated Dutch translation file
  • Added some more date format options
  • Changed the plugin path constants to work if the plugin is in a symlinked directory


10 March 2012

  • Fixed an issue with conditional logic in IE7 and 8


5 March 2012

  • Fixed an issue where conditional logic breaks in IE7/IE8
  • Fixed an issue with showing values of arrays in the plain text email


14 February 2012

  • Renamed the plugin to Quform
  • Fixed a bug with file permissions with non-Flash uploaded files
  • Fixed Uniform script to be compatible with jQuery 1.6
  • Added hooks to write your own validation code
  • Added a hook to pass custom options to the datepicker
  • Fixed a bug with submitting the form with Uniform disabled
  • Added the Russian and Ukrainian translations – thanks to Protera
  • Fixed the plugin submitting twice if the form had been moved in the DOM
  • Added an option to center Fancybox in the viewport after conditional logic is applied
  • Fixed slashes being added to submitted form data
  • Changed the form builder tab script to jQuery Tools to avoid conflicts with other plugins
  • Added a server compatibility section to the settings page
  • Fixed a bug with reCAPTCHA and scrolling in Chrome
  • Changed the popup script to use inline HTML instead of an Ajax request. If you were using the variable “Referring URL” in a previous version for a popup form, you should change it to “Form URL”. With this change you can now access more variable data in a popup form – such as Form URL, Referring URL, Post title, Post ID.
  • Fixed a bug with Uniform radio buttons with two of the same form on one page
  • Fixed a bug with the reCAPTCHA field with conditional logic
  • Shortcodes are now parsed inside the HTML element content and form/group/element descriptions
  • Fixed the reCAPTCHA field inside a popup
  • Fixed the Flash uploader button inside a popup in Safari 4
  • Fixed instability in the form builder if an error occurs when one of the elements
  • Added the group name to the end group element
  • HTML is now allowed in group title, descriptions and radio/checkbox options
  • Added an option to swap day and month in the Date element
  • Added an automatic fix for themes with the [raw] shortcode
  • Fixed the autoreply email format option not saving properly


12 January 2012

  • Fixed the group column alignment not saving properly
  • Fixed the plugin include files from being visible from outside the plugin
  • Fixed notice error in widgets
  • Fixed form preview breaking with certain themes or plugins
  • Fixed it so that viewing the dashboard widget needs view entries permissions
  • Fixed using background images and quotes within the CSS system
  • Fixed a CSS bug with group title and group element wrapper
  • Fixed some form builder CSS bugs in IE7
  • Added the ability to add variables to the success message
  • Added the German translation – thanks to Roland Dietz
  • Added the German states as bulk options


21 December 2011

  • The plugin is now compatible with WP 3.1 again
  • The previous change to move the CAPTCHA fonts to a temporary directory now only happens on Windows systems
  • Fixed the reCAPTCHA allowing any text as a solution
  • The error messages for reCAPTCHA and CAPTCHA elements can now be translated in the element settings
  • Fixed the file upload custom error messages not working
  • The HTML element now has an option to act like a normal element, enabling conditional logic and fitting into groups.
  • Added more global styles to add CSS to all parts of the submit button
  • Added the Dutch translation – thanks to Paul Backus (


16 December 2011

  • Fixed blank notification emails in HTML format
  • Fixed theme and language backups during plugin upgrades
  • Fixed the plugin upgrade when done via an FTP connection
  • If a custom.css file exists in the /css/ directory it is loaded, this can be used for minor CSS overrides that do not
    merit a theme. This file will not be removed by plugin updates.
  • If you create a .js JavaScript file with the same name as your theme .css file, it will be loaded into the page. You can use this
    to create theme-specific JavaScript such as image preloading.
  • The success message no longer appears momentarily when redirecting on success
  • Fixed a bug with Length validator
  • Added a new option “Inherit” for group label placement and this is now the default setting
  • Fixed an issue with the plugin upgrade on Windows systems after adding a CAPTCHA element to a form
  • Changed the temporary directory to use WP function get_temp_dir()
  • Date and time dropdowns are now able to be styled using the CSS system
  • Uniform selects now take the width of the base select element
  • Added an option to have columns inside group floating left as well as the default proportionally spaced
  • Added an option set the label placement on a per element basis
  • Added an option to clear default value on click
  • Added options to have tooltips displayed with a help icon instead of interacting with the field, the options can be also be changed on a per element basis
  • Added an option in the Date element to show months as numbers instead of text
  • Added a bulk options import feature to Checkboxes/Multiple Choice and Dropdown Menu elements. You can choose from predefined import data or enter your own.
  • Fixed an issue saving forms if the Prototype library is loaded on admin pages
  • Fixed Uniform file upload form reset bug
  • Fixed a bug with the File Upload validator when required
  • Added exporting submitted entries to a CSV file
  • Added image preloading on frontend
  • Revamped the way that forms can be displayed in a lightbox (Fancybox). There’s now an option
    when inserting the form into a post/page to show the form in a lightbox
  • Added a new shortcode to display forms in a lightbox (Fancybox)
  • Added a new widget to display forms in a lightbox (Fancybox)
  • Added options to disable the output of inluded JavaScript plugins
  • Added a feature to prevent duplicate values being submitted to the same form if it already exists in the entries database.
  • Fixed an issue with plain text Autoreply email content
  • Changed database version check to the init hook
  • Added conditional logic – the ability to show or hide fields based on the values of other fields.
  • Added language option to reCAPTCHA element
  • Entries are now stored in UTC time and are converted to the local timezone when viewing. The submit times of entries submitted before this update may change.
  • Exporting of entries now takes local timezone into consideration.
  • Added a feature to set the default value of fields dynamically from URL parameters, shortcode attributes and filter hooks.


11 November 2011

  • Fixed an error when adding a group element by dragging
  • Fixed some broken translatable strings
  • Improved the form builder UI when translated
  • Links to edit the form and edit the table layout now appear correctly above the entries list
  • Flash of Unstyled Content has been hidden on file upload fields
  • HTML tags are no longer stripped form the entries list, so it can include links to uploaded files and email addresses
  • Fixed dashboard widget unread entries query
  • Fixed an database issue with the entries list with large amounts of data
  • Day, Month and Year headings in the Date element are now translatable from inside the form builder
  • am and pm in the Time element are now translatable from inside the form builder
  • All <ul> and <li> tags in the form HTML have been changed to <div> to prevent interference with
    theme CSS
  • jQuery UI Datepicker has been added as an option on the Date element, there are 24 themes
    and 62 language options to choose from
  • Fixed temporary upload cleanup scheduled task
  • Fixed previewing a form in a new tab in IE


1 November 2011

  • Reverted the previous change to choose between valid XHTML 1.0 Strict or valid HTML5,
    the form will always output valid XHTML 1.0 Strict
  • Added an Ajax hook for displaying the form in a lightbox
  • Added documentation on how to display a form in a lightbox


31 October 2011

  • Fixed plugin translation issue
  • Added an option to select between valid XHTML 1.0 Strict or valid HTML5
  • Removed global style overrides from front end base stylesheet
  • Custom translations are now saved during plugin upgrades
  • Added documentation on how to translate the plugin


27 October 2011

  • Initial release