- API: Added [GFAPI::validate_form()](https://docs.gravityforms.com/validating-forms-with-the-gfapi/) to validate form field values without triggering other submission events such as saving the entry, sending notifications, add-on feeds, or confirmations.
- API: Added the [forms/[FORM_ID]/submissions/validation](https://docs.gravityforms.com/validating-forms-with-rest-api-v2/) endpoint to REST API v2.
- API: Updated the gform_field_validation and gform_validation filters to include a new `$context` parameter indicating how the current request was triggered: form-submit, api-submit, or api-validate.
- AF: Updated `GFPaymentAddOn::maybe_validate()` to include `$context` as the second parameter.
Fixed bug that sometimes results in a fatal error when the license key is empty.
- Added security enhancements.
- Added performance improvements to the confirmation settings page for sites with lots of pages.
- Added a performance improvement to the AJAX save process in the form editor that increases performance significantly, especially for forms that contain a large number of fields.
- Added improvements to the message that appears when saving a form fails.
- Fixed a bug that sometimes prevents entries from being updated. Credit: GravityView.
- Fixed an issue where the forms list is not in alphabetical order.
- Fixed a performance issue where queries are being run on admin pages that do not need them.
- Fixed an issue where the submit button settings are reset to their default values when saving the form settings.
- Fixed the "Allowed memory exhausted in gravityforms.php on line 147" fatal error that is impacting a small number of sites.
- Fixed an issue with the license detail section displaying an inaccurate renewal date for certain licenses.
- Fixed a few dozen PHP 8.1 deprecation notices. Note: WordPress won’t be compatible with PHP 8.1 until version 6.0 at the earliest, so there are still many notices from WP functions.
- Fixed a bug that prevents users without form editing capabilities from exporting entries.
- Fixed a bug that prevents editing the First Name and City sublabels.
- Fixed a fatal error that occurs on plugin activation with WordPress 4.9 and earlier.
- Fixed a bug that causes form editor settings panels to close when any button in the sidebar is clicked.
- Fixed an issue where field values that contain non-Latin characters are not displayed correctly after AJAX save in the form editor.
- API: Added the [gform_abort_conditional_logic_do_action](https://docs.gravityforms.com/gform_abort_conditional_logic_do_action/) javascript filter to allow add-ons to abort the conditional logic action before fields are displayed or hidden.
- API: Added the [gform_embed_edit_post_link](https://docs.gravityforms.com/gform_embed_edit_post_link/) filter.
- API: Added the [gform_rule_source_value](https://docs.gravityforms.com/gform_rule_source_value/) filter to allow the source value of a conditional logic rule to be filtered.
- Fixed an issue where the submit button settings are reset to their default values when saving the form settings.
- Fixed the "Allowed memory exhausted in gravityforms.php on line 147" fatal error that is impacting a small number of sites.
- Fixed an issue with the license detail section displaying an inaccurate renewal date for certain licenses.
- API: Added the gform_rule_source_value filter to allow the source value of a conditional logic rule to be filtered.
- Added security enhancements.
- Fixed a few dozen PHP 8.1 deprecation notices. Note: WordPress won’t be compatible with PHP 8.1 until version 6.0 at the earliest, so there are still many notices from WP functions.
- Fixed a bug that prevents users without form editing capabilities from exporting entries.
- Fixed a bug that prevents editing the First Name and City sublabels.
- Fixed a fatal error that occurs on plugin activation with WordPress 4.9 and earlier.
- Fixed a bug that causes form editor settings panels to close when any button in the sidebar is clicked.
- Fixed an issue where the export form link in the dialog that appears after form save error opens the export page in the same tab so changes were lost.
- Added an enhancement to the AJAX save process in the form editor that increases performance significantly, especially for forms that contain a large number of fields.
- Fixed an issue where field values that contain non-latin characters are not displayed correctly after AJAX save in the form editor.
- Added security enhancements.
- Added a fallback save method if AJAX save fails.
- Added the {today} merge tag to output the current date and/or time. Credit: The Gravity PDF team.
- Fixed an issue where saving the form fails if the form contains any backslashes.
- Fixed an issue where the save form button in the form editor is stuck in the saving state if form validation fails.
- Fixed an issue where dropdowns in the Embed Form flyout are not correctly displaying their content.
- Fixed several display issues in the form editor.
- Fixed an issue where our IE11 admin stylesheet is being being loaded everywhere in the admin.
- Fixed some issues where text on the 2.6 splash page can't be translated.
- Fixed an issue which causes admin pages to visually break when No Conflict mode is enabled.
- Fixed the duplicated output of the core admin stylesheet for the add-on results screen.
- Fixed the core admin stylesheet path for the help screen.
- Updated the label styles for disabled radio and checkbox inputs to better indicate the option is disabled.
- AF: Added ability to specify and use custom font icon with the addition of GFAddOn::get_icon_namespace().
- AF: Added additional support for Font Awesome icon styles for GFCommon::get_icon_markup().
- AF: Fixed an issue where payment fails when using Japanese Yen with the Stripe Card field and Stripe Add-On v4.2.
- API: Added ability to specify custom font icon namespace for GFCommon::get_icon_markup().
- API: Updated the $form_ids arg of GFAPI:get_feeds() to support an array of IDs. Credit: The GravityView team.
- API: Fixed an issue where RGCurrency::to_number() returns a float instead of an integer for zero-decimal currencies.
- API: Fixed an issue that causes Live Dependency fields with custom display properties to render incorrectly. Credit: The ForGravity team.
- Added security enhancements.
- Fixed an issue that causes drag handles on fields to show above the Embed Form flyout.
- Fixed a display issue in the form editor when dragging new form fields when flyouts are open.
- Fixed the duplicated output of the core admin stylesheet for the add-on results screen.
- Fixed the core admin stylesheet path for the help screen.
- AF: Added ability to specify and use custom font icon with the addition of GFAddOn::get_icon_namespace().
- AF: Added additional support for font awesome icon styles for GFCommon::get_icon_markup().
- API: Added ability to specify custom font icon namespace for GFCommon::get_icon_markup().
- Fixed an issue that causes datepicker icons to break in date settings fields.
- Fixed an issue that causes the address field inputs to be misaligned when hiding sub-fields.
- API: Added the [gform_settings_display_license_details](https://docs.gravityforms.com/gform_settings_display_license_details/) filter.
- API: Added the [gform_plugin_settings_fields](https://docs.gravityforms.com/gform_plugin_settings_fields/) filter.