Gravity Forms 2.9 Key Features

Summary

Gravity Forms 2.9 is the latest feature release of our core plugin, offering new form fields, related filters, and a host of refinements. It is now available as a beta download for all customers with an active license. This article covers the main features of this release.

This is a beta release and is available for download via your Gravity Forms account downloads page. We encourage you to thoroughly test beta releases in controlled sandbox environments and do not recommend their use on production environments. Beta functionality and features may be subject to change or removal before final release.

New Features

This release introduces two new choice-based field types: the Multiple Choice Field and the Image Choice Field. The Multiple-Choice field provides an updated and more capable alternative to the existing Radio Button and Checkbox field types. The Image-Choice field type is brand new and provides a native way to create choice fields with pictures displayed for each choice.

Multiple Choice Field

The Multiple Choice Field combines the functionality of the checkbox and radio button field types into one enhanced field with improved layout, compatibility, and controls.

This new field includes an “Enable Select All” option that adds a “Select All” checkbox at the top of the list. Choices can be reordered, deleted, or added without affecting previous form entries. It also provides options to stack or display choices in line for better appearance control.

The “Enable Multiple Selection” option transforms the field from single-choice to multiple-choice and opens up additional settings for defining how the multi-choice should behave.

Note that the older field types of Checkboxes and Radio Buttons are still available within the Gravity Forms form editor. They will be kept for backward compatibility and will continue to work on all the forms you have used them on previously. Additionally, they both benefit from an improved Choice Flyout in this release. However, do note that they will not be updated going forward, so if you want to take advantage of any of the new features and future improvements, we recommend you start using the Multiple Choice Field type wherever possible.

To learn more about the Multiple Choice field and its settings, see this article.

Image Choice Field

The Image Choice Field allows you to display images as the choices for a single or multi-select field. It includes different styles, such as a card style for the Orbital theme and customization options to adjust the shape of the image choice. The field functions similarly to the Multiple Choice Field, with options to enable or disable multiple selections and various flavors of multiple-choice settings available.

Read more about the Image Choice Field here.

Editor Improvements

Orbital Theme in the form editor

The Orbital theme was first made available in Gravity Forms 2.5 and was the beginning of our aim to ensure that all your forms could maintain a uniform look and feel, enhancing your site’s overall user experience and visual coherence. Additions and improvements to Orbital and our theming and styling tools have been made in every major release of Gravity Forms since then.

With Gravity Forms 2.9, we have upgraded the Form Editor to also observe the Orbital theme.

Improved Accessibility of the form editor

In this release, we’ve optimized accessibility in the form editor. The editor has been updated to provide better accessibility for keyboard navigation and screen readers.

Improved Choice Flyout in all Choice fields

The Choice Flyout in all choice-based fields has been enhanced for better usability. This includes the new choice fields, as well as the older Radio Button and Checkbox fields.

Image showing the Multiple Choice field flyout options.

Remove the selected default choice in a choice-based field

Previously, once a default choice was made in a choice-based field, it couldn’t be cleared. Now, users can deselect the default option by selecting it again, enhancing form usability and control.

Known issues

The following issues have been noted with the beta release and are known to our development team.

  • Some fields added by add-ons (such as payment gateway fields, chained selects, etc.) may exhibit display issues in the form editor, particularly around spacing.
  • When you receive a warning dialog indicating that changes to a field with conditional logic dependencies are about to be made, clicking “cancel” on the warning still executes the action.
  • The Image Choice field may exhibit display issues within the form editor when resizing the window or the field, or when viewing on a mobile device.
  • If a third-party or website-host optimization plugin is enabled, form submission via AJAX will not work. To resolve this, you can disable optimization plugins for specific pages.

Changelog

2.9.0-beta-2

  • Fixed an issue where image choice field icons are missing in the edit entry detail view.
  • Fixed an issue where some styles do not load on AJAX forms.
  • Fixed style inconsistencies in the dialog UI.
  • Fixed an issue where canceling a confirmation dialog still applied the change on choice fields.
  • Fixed an issue where checking the value of a Multiple-Choice or Image-Choice field with multiple selections enabled can sometimes result in a PHP error.
  • Fixed an issue where the choices flyout is closed when the user clicks on a confirmation dialog.
  • Fixed the gform.initializeOnLoaded function to fire on the form editor as it did in 2.8.
  • Fixed an issue where the inline styles for the Theme Framework are always being output for forms using the Orbital theme and not respecting the ability to disable them.
  • Fixed an issue in the Orbital theme where ordered and unordered lists are not using the theme list-style property where expected.
  • Removed and replaced the admin theme stylesheet used in the edit entry detail view with the Gravity form theme stylesheets.
  • Updated the image choice field to no longer offer the “Enable Other Choice” option.
  • Updated the compact view in the form editor to show icons based on the field type, not the field input type.
  • Updated the Asset_Enqueue_Output_Engine to include form theme styles in the no conflict stylesheet whitelist.
  • Updated the Multiple Choice field to no longer offer the “Enable Select All” option if selections are set to “Select Exact Number”.
  • API: Added a JS module to keep track of current product field selection.
  • API: Added a JS state management module to keep track of form state.
  • API: Updated the config framework to support form specific config items to be added to the config object and output to the page.

2.9.0-beta-1

  • Added the new “Multiple Choice” field.
  • Added the new “Image Choice” field.
  • Added AJAX submission functionality.
  • Added support for encrypting and decrypting settings fields.
  • Added the ability to import images into the media library when forms are imported.
  • Added screen-reader-only headings to the form editor for better accessibility.
  • Added accessibility improvements to the “allowed file extensions” setting in the form editor.
  • Added notices about the removal of Legacy Markup in 3.1.0.
  • Added the ability to output config scripts by using the gform_output_config action.
  • Added the ability to clear default choices in the choices flyout.
  • Updated the form editor to use the Orbital theme.
  • Updated location of some field settings from the choices flyout to the form editor sidebar.
  • Updated the reCAPTCHA field configuration message to use the alert component for better UI and consistency.
  • Updated browser alerts in the form editor to use a dialog modal.
  • Updated the markup of many settings in the form editor sidebar for better accessibility.
  • Updated the “Select All” functionality on the Checkbox field so that if all choices have been selected, and then one is deselected, the button goes back to saying “Select All”.
  • Updated the form restriction logging statements to include the form ID.
  • Fixed an issue that prevents users from closing the conditional logic flyout in the form editor.
  • Fixed an issue where dynamic field population is not working for fields inside a Repeater.
  • Fixed an issue where forms with multiple pages hidden by conditional logic can fail honeypot validation.
  • Fixed an issue where the full screen handler performs an unnecessary database query, which impacts front-end performance for some hosting environments.
  • Fixed an issue where the embed_post and custom_field merge tags return empty when used in notifications and add-on feeds that are processed asynchronously.
  • Removed support for Internet Explorer.
  • API: Added the source_id column to the gf_entry table.
  • API: Added the gform_field_choices_max_count_visible filter to allow for the setting of the maximum number of choices shown in the form editor for choice based fields.
  • API: Added the gform_image_choice_input_visibility filter to allow for the managing of image choice inputs visibility.
  • API: Added the gform_image_choice_label_visibility_default filter to allow for the managing of the default image choice labels visibility setting.
  • API: Added the gform_checkbox_limit_exact_message filter to allow the customization of the message displayed on the Multiple Choice field the field requires an exact number of selections.
  • API: Added the gform_checkbox_limit_range_message filter to allow the customization of the message displayed on the Multiple Choice field the field requires a range of selections.
  • API: Added the gform_checkbox_limit_max_message filter to allow the customization of the message displayed on the Multiple Choice field the field requires a maximum number of selections.
  • API: Added the gform_checkbox_limit_min_message filter to allow the customization of the message displayed on the Multiple Choice field the field requires a minimum number of selections.
  • API: Added the gform_default_choice_alignment filter to allow for the setting of the default alignment for the Multiple Choice field.
  • API: Deprecated the UpdateFieldChoices function. Use RefreshSelectedFieldPreview instead.