Description
Gravity Forms is the most powerful and flexible WordPress form builder plugin, designed to help you create advanced forms with ease. Whether you need contact forms, surveys, payment forms, or registration forms — Gravity Forms gives you everything you need with a simple drag-and-drop interface. Easily integrate with popular apps, automate workflows, and collect data securely. Perfect for businesses, developers, and WordPress professionals who want reliable, customizable, and high-performance forms.
Gravity Forms | The Best WordPress Form Plugin | Form Builder
You have full access to this resource.
- Last Updated: Oct 16, 2025
- Created: Oct 16, 2025
- Access: Free
Plan Prices
No plans available.
Version History
May 4, 2026
Version 2.10.1
- Added security enhancements.
- Fixed a PHP deprecation notice that occurs when duplicating a duplicate confirmation.
- Fixed an acessibility issue where the Post Image field does not have a label in the frontend when no Image Metadata option is selected.
- Updated the default error message displayed when the new AJAX submission process encounters a 403 error.
- Updated the system report to indicate if Background Notifications is enabled.
- API: Added the [gform/ajax/pre_display_error](https://docs.gravityforms.com/gform-ajax-pre_display_error/) filter allowing customization of the error message displayed when the new AJAX submission process encounters an error.
Apr 14, 2026
Version 2.9.31.2
- Added support for configuring custom confirmations to be used for spam submissions.
- Added logging statements to uploaded files deletion process.
- Fixed a JavaScript error that occurs when a form has pricing fields and is using page conditional logic.
Apr 11, 2026
Version 2.9.31.1
Fixed Simple Contact form template missing 'layoutGridColumnSpan' property in the name field.
- Added support for toggling the Multiple Files setting on File Upload fields (only those added to forms from this point onwards) even when the field has entry values.
- API: Set the `storageType` property of new File Upload fields and existing fields with Multiple Files enabled to `json`, so both the single and multi-file uploaders store their values in the same way.
- Added Agency Project Inquiry Form and School Enrollment Form templates to the templates library.
- Fixed deprecation notice on feed settings using a select field for PHP 8.5+.
- Fixed deprecation notice for blank payment status on entry list page for PHP 8.5+.
- Fixed REST API popup showing default data when editing key.
- Added logging statements to the Personal Data functions.
- Fixed an incorrect calculation result when the formula includes the merge tag for a choice-based pricing field and the selected choice has a price of zero.
Apr 7, 2026
Version 2.9.31
- Added security enhancements.
- Fixed an issue with new AJAX and multi-page forms where the gform_unique_id input is not populated when the value is generated server-side during pagination.
- Fixed a JavaScript error that occurs when attempting to delete an uploaded file from a Post Image field.
- Fixed an issue with the single File Upload field where a file count validation error occurs if the existing file is not removed when a new file is selected.
- Fixed a broken link on Import Forms page.
- Fixed an issue where the complex validation message for the Date field used default English labels instead of the customized placeholders.
- API: deprecated `GFCommon::get_lead_field_display()` and added `GFField::get_value_all_fields_merge_tag()`.
Mar 21, 2026
Version 2.9.30
- Added [`gform_field_sidebar_messages`](https://docs.gravityforms.com/gform_field_sidebar_messages/) filter to allow customization of the field sidebar messages in the form editor.
- Fixed some display issues in the dashboard with WordPress 7.0-beta.
- Fixed a PHP fatal error that occurs when a payment add-on processes a submission with a choice-based pricing field where the selected choice value includes a pipe character followed by non-numeric characters.
- Fixed an issue where gravityforms.js could reset the gform.instances object, usually when scripts are optimized by the theme or another plugin, resulting in a JS error on form display or submission.
- AF: Fixed duplicate `SHOW TABLES LIKE 'wp_gf_addon_feed'` queries.
- API: Fixed an issue where the form object is included in the REST API form submission response.
Mar 12, 2026
Version 2.9.29
- Added security enhancements.
- Added support for a new notification event (Payment Processing - stale) that allows notifications to be sent when payments are taking an unusually long time to process. This will be initially available in the upcoming Stripe Add-on v.7.0.
- Added [`gform/ajax/pre_display_confirmation`](https://docs.gravityforms.com/gform-ajax-pre_display_confirmation/) filter to displayConfirmation() in ajax.js.
- Fixed some display issues in the dashboard with WordPress 7.0-beta.
- Fixed an issue where saving for later via the save and continue feature is not aborted when honeypot validation fails and the honeypot is set to "Create an entry and mark it as spam".
- Updated the multi-file upload field trash icon to meet the WCAG 2.1 color contrast standards.
- Updated form title handling in the form switcher to prevent issues with special characters.
- API: Fixed field map default choices not populating on new feeds and empty value selection not saving on existing feeds.
- API: Changed the third parameter of `GFCommon::get_lead_field_display()` from `$currency` (string) to `$entry` (array).
- API: Changed the second parameter of `GF_Field::get_value_entry_detail()` from `$currency` (string) to `$entry` (array).
Mar 11, 2026
Version 2.9.28.1
- Added security enhancements.
- Added support for a new notification event (Payment Processing - stale) that allows notifications to be sent when payments are taking an unusually long time to process. This will be initially available in the upcoming Stripe Add-on v.7.0.
- API: Changed the third parameter of `GFCommon::get_lead_field_display()` from `$currency` (string) to `$entry` (array).
- API: Changed the second parameter of `GF_Field::get_value_entry_detail()` from `$currency` (string) to `$entry` (array).
- Fixed an issue where saving for later via the save and continue feature is not aborted when honeypot validation fails and the honeypot is set to "Create an entry and mark it as spam".
- Added [`gform/ajax/pre_display_confirmation`](https://docs.gravityforms.com/gform-ajax-pre_display_confirmation/) filter to displayConfirmation() in ajax.js.
Jan 31, 2026
Version 2.9.26
- Added Support Request and Square Course Registration form templates to the templates library.
- Added a hidden input to the form footer with a value of the form's currency code.
- Updated the `gform/conditionalLogic/applyRules/end` JS action so that if the field being processed is a page or section, the action passes the IDs of the fields within the page or section.
- Updated CLI detection to ensure JS hooks are loaded when necessary.
- Fixed a JS console error on the reCAPTCHA settings page in No-Conflict mode.
- Fixed an issue where the conditional logic and edit choices flyout closes unexpectedly when you release the mouse button outside it.
- Deprecated the `gform_input_mask_script` filter, which will be removed in Gravity Forms 3.0.
- API: Updated the frontend feed data to include the product ID mapped to a subscription's setup fee.
- API: Fixed a layout issue so that the "Card" field type in the Settings API fills the width of the settings page.
- API: Fixed an issues with the gform.product.getPaymentAmount() method where a dynamically populated hidden product quantity is not taken into account when calculating the amount.
- API: Added client side logging functionality.
Jan 22, 2026
Version 2.9.25
- Added the [`gform_is_feed_error_retryable`](https://docs.gravityforms.com/gform_is_feed_error_retryable/) filter, which can be used to prevent a feed remaining in the queue for another attempt if an error occurred.
- Added the [`gform_pre_log_message`](https://docs.gravityforms.com/gform_pre_log_message) action hook to allow developers to do an action before a message is logged, whether or not logging is enabled. Credit: Gravity Wiz Team.
- Added alt attribute to the QR code image in the REST API settings for improved accessibility.
Jan 7, 2026
Version 2.9.24.2
- Fixed a PHP warning that occurs when the [gform_email_field_rejectable_values](https://docs.gravityforms.com/gform_email_field_rejectable_values/) filter returns a large array of values.
- Fixed an issue with payment amount calculation that does not take dynamically populated product prices into account in certain situations.
- Updated `gf_feed_processor()` to accept an optional `$add_on` parameter.
- Added the [gform_is_feed_error_retryable](https://docs.gravityforms.com/gform_is_feed_error_retryable/) filter, which can be used to prevent a feed remaining in the queue for another attempt if an error occurred.
- AF: Updated `GFFeedAddOn::maybe_process_feed()` to use separate background processors for each add-on, so pausing the queue on a feed processing error doesn't impact other add-ons.
Dec 26, 2025
Version 2.9.24.1
- Added the `gform_pre_log_message` action hook to allow developers to do an action before a message is logged, whether or not logging is enabled. Credit: Gravity Wiz Team.
- Added alt attribute to the QR code image in the REST API settings for improved accessibility.
- Fixed an issue where a programmatic submission of a multipage form page progresses to the next page when the next button is hidden/disabled by conditional logic.
- Fixed contrast errors triggered by save buttons and error messages throughout the settings pages.
- Fixed PHP warnings that occur when editing a page that includes a scheduled form with an end date in the past.
Dec 9, 2025
Version 2.9.23.3
- Updated the logic that determines whether an update — including for add-ons — can be installed automatically, to ensure compatibility with the change to the [version numbering system](https://docs.gravityforms.com/version-numbering/).
- Fixed deprecation notices for the `seems_utf8()` function in WordPress 6.9.
- Updated the minimum WordPress version (for support) on the System Status page to 6.8.
Dec 4, 2025
Version 2.9.23.2
- Fixed an issue where some uploaded files are not attached to notifications when stored outside the default form/year/month folders.
Nov 28, 2025
Version 2.9.23
- Added a check for minimum requirements compatibility when an update is available.
- Added a hook for [`gform_before_delete_field`](https://docs.gravityforms.com/gform_before_delete_field/) in the init_ajax() function.
- Added security enhancements.
- Fixed a bug that prevents the "Embed Form" functionality from pre-selecting the correct form in WordPress 6.9.
- Fixed a bug that prevents the Results page from displaying in WordPress 6.9.
- API: Added the GF_Field::$is_payment property, so developers can indicate if a field is used to capture payments. This can be used by features (e.g. Save and Continue) to exclude the field without checking for specific field types.
Nov 19, 2025
Version 2.9.22
- Added Stripe Membership and Stripe Event Sponsorship templates to the Template Library.
- Added security enhancements.
- Added copy buttons to the Consumer Key and Consumer Secret when adding a new REST API Key.
- API: Deprecated the JS-based GFMergeTag, which will be removed in Gravity Forms 3.1 Use gform.mergeTags instead.
- Fixed an issue introduced in 2.9.21 where the selected file is not saved for a single File Upload field when editing an existing entry.
- API: Removed `GFFeedAddon:aypal_fulfillment()` legacy method.
Nov 7, 2025
Version 2.9.21.1
- Fixed an issue introduced in 2.9.21 where the selected file is not saved for a single File Upload field when editing an existing entry.
Oct 31, 2025
Version 2.9.21
- Added security enhancements.
- Added a new setting to the Honeypot Field to check the time it takes to submit a form and mark the form as spam if the submission is too fast.
- Updated account/license links to point to the new Gravity account site at [https://account.gravity.com/](https://account.gravity.com/).
- Fixed Mailchimp capitalization in Survey Form template and elsewhere.
- Fixed an issue that can cause the `gform_update_feed_active` action hook to fail if the hooked action calls $wpdb.
- Fixed an issue where a page with multiple forms including file upload fields will retain and display submitted files from differing forms.
- Fixed an issue with the timing of the multi-file upload handler sending the headers that prevents the Chained Selects field CSV upload completing.
Oct 30, 2025
Version 2.9.20.2
- Fixed an issue where a page with multiple forms including file upload fields will retain and display submitted files from differing forms.
- Updated account/license links to point to https://account.gravity.com/
- Fix Mailchimp capitalization in template Survey Form and elsewhere.
- Updated the honeypot to include an optional check that flags the submission as spam if the elapsed time between page load and form submission is less than the threshold set on the Form Settings page of the form.
- Updated file upload validation.
Oct 27, 2025
Version 2.9.20.1
- Fixed an issue that can cause the `gform_update_feed_active` action hook to fail if the hooked action calls $wpdb.
- Fixed an issue with the timing of the multi-file upload handler sending the headers that prevents the Chained Selects field CSV upload completing.
- Added security enhancements.
Oct 18, 2025
Version 2.9.20
- Added several performance improvements to the form editor by running large queries asynchronously.
- Added support for feed conditional logic based on payment status.
- Fixed the display of admin error messages on mobile devices.
- Fixed an issue where the multi-file upload handler responds with the wrong Content-Type header.
- Fixed an issue where the multi-file uploader can display a generic error message instead of the message returned by the upload handler.
- Fixed an issue where forms with a payment feed can sometimes throw a fatal error on submission.
- Fixed an issue that prevented the preview action from displaying on the imported Forms list page.
- Fixed a JavaScript error deleting a file uploaded on the edit entry screen.
- API: Added the [`gform_post_add_feed`](https://docs.gravityforms.com/gform_post_add_feed/) action hook that fires after a feed is added.
- API: Added the [`gform_update_feed_active`](https://docs.gravityforms.com/gform_update_feed_active/) action hook that fires when a feed's "active" status is changed.
Oct 16, 2025
Version 2.9.19.3
- Fixed an issue where the multi-file upload handler responds with the wrong Content-Type header.
- Fixed an issue where the multi-file uploader can display a generic error message instead of the message returned by the upload handler.
Comments
Log in to leave a comment.
No comments yet. Be the first to comment!