- Added the [gform_cleanup_target_dir](https://docs.gravityforms.com/gform_cleanup_target_dir/) filter to support async uploads on servers with opendir() disabled.
- Fixed an issue where the REST request to get additional pages fails on translated sites when configuring the form confirmation.
- Fixed an accessibility issue by adding an alert role to the notice on the uninstall page.
- Fixed an accessibility issue where the search field in the form detail has no connected label.
- Fixed several PHP 8.1 deprecation notices. Note: There are still a number of notices from WordPress 6.0.
- Updated the minimum WordPress version on the System Status page to 5.9.
- Updated the database upgrade and System Status page to check for and fix auto increment issues which can cause "duplicate entry 0" errors.
- AF: Updated `GFPaymentAddOn::maybe_validate()` to include `$context` as the second parameter.
- API: Added gform/merge_tag/initialize event to allow merge tag drop downs to be manually initialized after page load.
- API: Updated the REST API v2 [forms/[FORM_ID]/submissions](https://docs.gravityforms.com/submitting-forms-with-rest-api-v2/) endpoint to support the `?_validate_only=1` query argument.
- 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.
- Added the [gform_cleanup_target_dir](https://docs.gravityforms.com/gform_cleanup_target_dir/) filter to support async uploads on servers with opendir() disabled.
- Fixed an issue where the REST request to get additional pages fails on translated sites when configuring the form confirmation.
- Updated the database upgrade and System Status page to check for and fix auto increment issues which can cause "duplicate entry 0" errors.
- Fixed an accessibility issue where the notice in the uninstall page doesn't have an alert role.
- Fixed several PHP 8.1 deprecation notices. Note: There are still a number of notices from WordPress 6.0.
- API: Added gform/merge_tag/initialize event to allow merge tag drop downs to be manually initialized after page load.
- API: Updated the REST API v2 [forms/[FORM_ID]/submissions](https://docs.gravityforms.com/submitting-forms-with-rest-api-v2/) endpoint to support the `?_validate_only=1` query argument.
- 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.