Release v3.1.0
Gravity View v3.1.0
Latest versionWhat's new in v3.1.0
Gravity View v3.1.0 was released on . The best way to display Gravity Forms entries on your website GravityView is the best way to display Gravity Forms entries on your website. See the full changelog below and compare with the complete version history.
Release details
Released
7.0 MB
File available
Changelog
This release adds a Table layout row-header setting for better screen reader support and a View editor warning when the Edit Entries bulk action can't run on the frontend, restores the LifterLMS integration, scopes a front-end search to the View it was performed on, includes security hardening for embedded Views, and fixes an issue that could prevent activation on some configurations, along with several lightbox, access, accessibility, and Vantage-style layout issues.
#### 🚀 Added
* Table layout: a new "Use this field as a row header" field setting renders that column's cells as ` ` instead of ` `, so screen readers announce the identifying cell (like a name or title) as context for the other cells in the row.
#### ✨ Improved
* Hardened the "Enhanced Security" embed secret. Existing embeds keep working; if one ever stops rendering, re-copy its embed code from the View editor. Developers can require the new secret on specific Views (see Developer Updates).
* The View editor now warns when the Edit Entries bulk action can't run on the frontend because the View's form uses conditional logic, instead of allowing the action to be configured and silently do nothing.
* Phone field compatibility with Gravity Forms 3.0+.
#### 🐛 Fixed
* An entry opened in a lightbox showed "The requested entry could not be found." when the View's filtering depended on a value from the page request (e.g., [Advanced Filtering](https://www.gravitykit.com/products/advanced-filter/) configured to read a URL parameter).
* An entry opened in a lightbox could show a raw error (`{"code":"rest_cookie_invalid_nonce",...}`) instead of the entry when the visitor had logged out or their session expired (for example, a tab left open past the daily security-token refresh). The lightbox now falls back to the normal access-controlled response: a public entry displays, and a restricted one shows the friendly "could not be found" message.
* The confirmation message did not display after duplicating or deleting an entry from the front end.
* On the List layout, placing heading markup (such as an ` ` in a Custom Content field) in the Listing Title or Subtitle zones left an empty heading in the page that accessibility checkers like WAVE flagged as an "Empty heading" error. The layout's heading wrapper now becomes a ` ` when the field's content is itself a heading, and is omitted entirely when there is nothing to display.
* Entries appeared in the Multiple Entries layout but showed "You are not allowed to view this content." when opened or edited, even by administrators. This affected entries whose status was saved with different capitalization (e.g., `Active` instead of `active`), which can happen when entries are imported.
* A Search Bar Date Range field overflowed its column in both "Separate Fields" and "Combined" modes, running off-screen or overlapping the adjacent field; the pickers now shrink to the available width and stack when the column is narrow.
* The Search Bar's Search button rendered at the horizontal center of the form instead of below the search fields, and on browsers without `:has()` support it aligned with a neighboring field's label instead of its input.
* The Search Bar's Clear/Reset button was missing on pages without an active search, so changing inputs no longer revealed the Reset button; it is now always part of the form again and appears when there is something to reset or clear.
* Removing the last widget from a widget-area row and updating the View removed the row itself from the editor with no way to add it back; the default full-width and half-width rows now always stay available as drop targets.
* Activating GravityView could prevent a site from loading when its theme or another plugin already included the same email-obfuscation library.
* A deprecation warning ("The gravityview_template_..._options hook is deprecated") was logged blaming an add-on such as [Gravity Flow](https://gravityflow.io/) when the add-on registered a custom field or widget type, even though GravityView itself attaches that hook on the add-on's behalf.
* The GravityView integration was missing from the [LifterLMS](https://lifterlms.com/) Settings → Integrations screen (and the "My Forms" student dashboard tab with it) since the 3.0 update.
* The `[gv_entry_link]` shortcode with `lightbox="true"` opened a full page instead of the lightbox when the View's entries were loaded over AJAX, such as on the [DataTables](https://www.gravitykit.com/products/datatables/) layout.
* A [DataTables](https://www.gravitykit.com/products/datatables/) View using the Vantage theme rendered a narrow table pushed to one side of the View, with empty space beside it, when FixedHeader or FixedColumns was enabled.
* A "translation loading triggered too early" (`_load_textdomain_just_in_time`) notice appeared on WordPress 6.7 and newer because some widgets and field types loaded translations too early.
* Single entry pages could fail to load when custom entry slugs were enabled and an entry link was built for an entry that could not be resolved, such as by the [WPML]
Compatibility
- Requires WordPress
- 4.7
- Tested up to
- 7.0.0
- Requires PHP
- 7.4.0
Verified safe
Gravity View v3.1.0 scanned clean with no security threats detected.
View full scan report