Checks before upgrading to Gravity Forms 3.0

Overview

Gravity Forms 3.0 is a major version release that includes changes that are not backward compatible with 2.x versions. Before upgrading, review this list and the full changelog, and test any features, filters, styling, or customizations your forms depend upon before deploying to production.

Submit Button Styling

Form buttons now use <button> elements instead of <input> elements, and the submission spinner now displays inside the button instead of next to it. If you have custom CSS targeting the submit button, check it against the updated markup before upgrading. See Submit Button CSS Selectors for the new selectors.

If you were previously using the gform_submit_button filter to convert the input into a button, that code is no longer necessary and can cause unexpected issues. Remove or update it before upgrading.

See the gform_submit_button filter reference for details.

Date Field

The datepicker now uses the WhatSock library instead of jQuery UI for full accessibility. If you have custom code that hooks into the date field initialization, update it before upgrading: replace the old gform_datepicker_options_pre_init filter with the new gform/datepicker/pre_init filter, because the old one is no longer supported.

After upgrading in staging, check that the calendar picker and date selection modal look and behave as expected. General Date field settings are covered in the Date field documentation.

Stripe Payments

If you take payments via Stripe, test a full transaction end-to-end in Staging before upgrading your live site. Ensure you have the most recent version of Gravity Forms installed if you experience any problems. See the Stripe Add-On overview and the Stripe Feed Settings Reference for how coupons interact with Stripe feeds.

Coupons

The Coupons Add-On 3.5.2 requires Gravity Forms 3.0 or later, so the two must be updated together and in order. Do all of the following in a staging environment before deploying to production:

  1. Update to Gravity Forms 3.0 (or the latest 3.0 version)
  2. Update the Coupons Add-On to 3.5.2 (or the latest version)
  3. Test your coupons and confirm:
    • A valid code applies, the total updates correctly on screen, and the discount appears in the order summary. Test both flat dollar-amount and percentage-off coupons.
    • The amount charged by your payment gateway matches the discounted total. Verify this in your payment gateway’s dashboard and the Gravity Forms entry. Use Gravity Forms logging to troubleshoot.
    • Expired, invalid, and usage-limit-reached codes are still rejected, and stacking behaves as configured.
    • Dynamically populated coupon codes work as configured.
    • Any custom JavaScript related to Coupons still works.

Forms Dashboard Widget

The Dashboard widget is disabled by default for new installs. For existing installs, it will only be disabled for sites that haven’t specifically enabled the toggle and saved the Forms > Settings. See Dashboard Widget for details.

Phone Field Validation

Gravity Forms 3.0 replaces the old jQuery-based input mask library with imaskjs for US phone fields and for text fields with an input mask. If you use a default value on a Phone field, test in staging that a form with that field still submits successfully after upgrading, since some default values can fail validation under the new library.

See the Phone field documentation and, if you plan to use the new international variant, the International Phone field article.

Product Total Calculation With Custom Integrations

If you have a custom integration or third-party code that updates a hidden Product field’s value and expects the order total to recalculate automatically, test that behavior in staging before upgrading. It may no longer recalculate automatically in 3.0.

For supported ways to trigger a recalculation from JavaScript, see the gform.products object and the gform_product_total filter. The older gformCalculateTotalPrice() function isn’t covered in official documentation; if your integration still relies on it, plan to move to gform.products before upgrading.

General behavior of pricing fields is covered in the Pricing Fields Guide.

Form Editor and Drawing Tablets or Stylus Input

Drag-and-drop in the Gravity Forms 3.0 editor does not currently work with drawing tablets or stylus input devices, such as Wacom tablets. When dragging a field with a stylus, the field may appear as a black box that cannot be placed or interacted with. This issue is likely related to the removal of the jQuery UI libraries from the layout editor in version 3.0. Enabling No Conflict mode does not resolve it.

If you or your team edit forms with a drawing tablet, test drag-and-drop in a staging environment before upgrading to 3.0. Until this is resolved, use a standard mouse when working in the form editor.
For general information on editing forms, see The Form Editor and Creating Columns in the Form Editor.