This update introduces a new notification event for duplicated entries, along with fixes and improvements to GravityView blocks, shortcodes, and Views using joined data from multiple forms.
#### 🚀 Added
* New notification event "GravityView - Entry is duplicated" that runs when entries are duplicated using GravityView.
#### ✨ Improved
* Forms in the form selection filter on the Views page are now sorted alphabetically.
* Security enhancements for GravityView blocks and shortcodes.
#### 🐛 Fixed
* View Details block could not be previewed when enhanced security was enabled on the View.
* Adding the GravityView shortcode or View block in the block editor prevented content from being saved when the View was configured to redirect on no entries.
* `[gravityview]` shortcode not returning results when the `search_value` attribute value contains an apostrophe.
* Issues in Views using joined data ([Multiple Forms](https://www.gravitykit.com/extensions/multiple-forms/) extension):
- Single Entry layout not working in a lightbox;
- Invalid `GravityView > Edit Entry` link in the top admin bar when editing an entry;
- PHP notice triggered when editing entries in a lightbox.
This update adds random sorting to the GravityView block, improves how partial entries are handled, and fixes several issues, including a fatal error in Gravity Forms 2.9.3 or newer.
Added
* Random sorting option in the GravityView block.
Improved
* Partial entries no longer appear as "Unapproved" on the Entries page.
Fixed
* Random sorting was not working when overriding the View sorting using the `sort_direction` shortcode attribute.
* Entry notes not displaying in the DataTables extension when the first View field is a Date field.
* Gravity Flow fields were displaying as available when Gravity Flow was not active.
* Result Number field would not reset counts when multiple Views were displayed on the same page.
* Random sorting of View entries did not work unless View caching was explicitly disabled.
* Fatal error in Gravity Forms 2.9.3 or newer when editing an entry with a File Upload field.
This release fixes a PHP notice in WordPress 6.7+ and a display issue in Views using the Layout Builder template.
#### 🐛 Fixed
* `function _load_textdomain_just_in_time was called incorrectly` PHP notice in WordPress 6.7 or newer.
* Display issue caused by a malformed `div` tag in the Layout Builder View template.
This release introduces the [Layout Builder](https://www.gravitykit.com/announcing-gravityview-2-34-all-new-layout-builder) that allows creating custom layouts with rows and columns directly in the View editor, adds support for exporting entries by Approval Status, and includes various fixes and improvements.
#### 🚀 Added
* New Layout Builder View type for creating custom layouts with single or multi-column configurations and adjustable widths.
* Support for using entry Approval Status in conditional logic rules on the Gravity Forms Export Entries page.
#### ✨ Improved
* Entries added via the Gravity Forms API or while GravityView is inactive can now be filtered using the "Unapproved" status on the Entries page.
#### 🐛 Fixed
* Fatal error when searching entries by Approval Status in Views joined with another form using the Multiple Forms extension.
* Some [merge tag modifiers](https://docs.gravitykit.com/article/350-merge-tag-modifiers) (e.g., `:maxwords`) not being processed.
* WordPress's timezone offset not applying to Date field output with the `:format` merge tag modifier.
Fixed
* Debugging code being shown in the Entry Notes field output.
* Output of the User Activation field not being sanitized.
Fixed
* Debugging code being shown in the Entry Notes field output.
This release introduces support for the Source ID meta (Gravity Forms 2.9+), adds a new User Activation field to the View editor, and includes various fixes and enhancements.
#### 🚀 Added
* Support for the Source ID meta introduced in Gravity Forms 2.9.
* New User Activation field in the View editor to activate users added by the Gravity Forms User Registration add-on.
* Client-side validation of View editor settings to prevent incorrect values.
* `:initials` merge tag modifier for Name fields to display initials.
* `:format` merge tag modifier for field inputs (e.g., `{Event Field:1.1:format:Y-m-d}`).
#### 🐛 Fixed
* Merge tags in redirect URLs were not processed after editing or deleting an entry in the lightbox.
* Individual Checkboxes field inputs incorrectly exported in CSV.
* Custom permalinks not being used in embedded Views.
* Deprecated filter notice when both the Advanced Filter extension (version 3 or newer) and Gravity Flow are active.
* Labels for fields with empty values disappearing in mobile view when joining forms using the Multiple Forms extension.
* Views defaulting to English instead of the site's language for users without certain capabilities.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.22.
#### 💻 Developer Updates
* Added `gravityview/template/field/csv/tick` filter to programmatically modify the checkbox "check" output in CSV.
* Added `gravityview/shortcode/after-processing` action after a `[gravityview]` shortcode is finished.
This release adds a new form notification option for updated entries, resolves file upload issues on the Edit Entry screen, and includes developer-focused enhancements.
#### 🚀 Added
* New notification option for forms, triggered when an entry is updated.
#### 🐛 Fixed
* File upload field issues on the Edit Entry screen:
- Delete/download icons not displaying in Gravity Forms 2.9+;
- Unable to select files for upload when the form field's "Multiple Files" setting was enabled without a "Maximum Number of Files" value.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.21.
#### 💻 Developer Updates
* Added `gk/gravityview/view/entries/join-conditions` filter to modify the join conditions applied when retrieving View entries.
* Added `gk/gravityview/template/options` filter to programmatically modify field settings in the View editor.
* Added `gravityview/row-added` JavaScript event, triggered when a new row is added to a widget or field area.
This hotfix release resolves display issues with certain View layouts.
#### 🐛 Fixed
* Rendering issue affecting certain View layouts, such as Maps, introduced in the previous release.
= 2.31 on November 4, 2024 =
This release introduces [flexible widget positioning](https://docs.gravitykit.com/article/1027-dynamic-widget-placement?utm_source=gravityview&utm_medium=changelog&utm_campaign=release) in Views, enhances entry-in-a-lightbox functionality, and adds support for the Gravity Forms 2.9+ Image Choice field. It also addresses compatibility issues with LiteSpeed, Divi, and LifterLMS, along with various other fixes and improvements.
#### 🚀 Added
* Ability to position widgets in the View editor using predefined layouts, offering a range of single or multi-column configurations with varying widths.
* View setting to control what happens when a user clicks the Cancel link when editing an entry in the lightbox.
* Support for the upcoming Image Choice field in Gravity Forms 2.9+.
#### 🐛 Fixed
* GravityView tab not displaying in certain cases under GravityKit > Settings menu.
* Widgets could not be configured after being added to a new, unsaved View.
* Compatibility with the Divi theme that prevented the Signature field from being edited on the Edit Entry screen.
* Conflict with the LiteSpeed plugin that caused a fatal error when redirecting users after duplicating an entry.
* JavaScript enqueued in the site's footer was not executed when editing an entry in the lightbox.
* It was not possible to add new entry notes when viewing a single entry in the lightbox.
* Validation error displayed when adding merge tags to the Entry Slug setting input in the View editor.
* The search box in the Change Entry Creator field did not return results when editing an entry on the Forms > Entries screen.
* Fatal error when activating LifterLMS with GravityView active.
* Searching across all fields not working as expected when the search value contains special characters or accents (e.g., ä, ß, İ).
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.20.
#### 💻 Developer Updates
* Added `gk/gravityview/lightbox/entry/before-output` action that fires before the entry content is output in the lightbox.
* Added `gk/gravityview/lightbox/entry/output/head-before` action that fires after the <head> tag is opened.
* Added `gk/gravityview/lightbox/entry/output/head-after` action that fires before the </head> tag is closed.
* Added `gk/gravityview/lightbox/entry/output/content-before` action that fires after the <body> tag is opened and before the content is rendered.
* Added `gk/gravityview/lightbox/entry/output/content-after` action that fires after the content is rendered and before the footer.
* Added `gk/gravityview/lightbox/entry/output/footer-after` action that fires after the footer and before the closing </body> tag.
* Added `gravityview/fields/image_choice/image_markup` filter to modify the Image Choice field (Gravity Forms 2.9+) markup.
* Added `gravityview/fields/image_choice/output_label` filter to control whether to display the value or label of an Image Choice field.
This release introduces [flexible widget positioning](https://docs.gravitykit.com/article/1027-dynamic-widget-placement?utm_source=gravityview&utm_medium=changelog&utm_campaign=release) in Views, enhances entry-in-a-lightbox functionality, and adds support for the Gravity Forms 2.9+ Image Choice field. It also addresses compatibility issues with LiteSpeed, Divi, and LifterLMS, along with various other fixes and improvements.
#### 🚀 Added
* Ability to position widgets in the View editor using predefined layouts, offering a range of single or multi-column configurations with varying widths.
* View setting to control what happens when a user clicks the Cancel link when editing an entry in the lightbox.
* Support for the upcoming Image Choice field in Gravity Forms 2.9+.
#### 🐛 Fixed
* GravityView tab not displaying in certain cases under GravityKit > Settings menu.
* Widgets could not be configured after being added to a new, unsaved View.
* Compatibility with the Divi theme that prevented the Signature field from being edited on the Edit Entry screen.
* Conflict with the LiteSpeed plugin that caused a fatal error when redirecting users after duplicating an entry.
* JavaScript enqueued in the site's footer was not executed when editing an entry in the lightbox.
* It was not possible to add new entry notes when viewing a single entry in the lightbox.
* Validation error displayed when adding merge tags to the Entry Slug setting input in the View editor.
* The search box in the Change Entry Creator field did not return results when editing an entry on the Forms > Entries screen.
* Fatal error when activating LifterLMS with GravityView active.
* Searching across all fields not working as expected when the search value contains special characters or accents (e.g., ä, ß, İ).
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.20.
#### 💻 Developer Updates
* Added `gk/gravityview/lightbox/entry/before-output` action that fires before the entry content is output in the lightbox.
* Added `gk/gravityview/lightbox/entry/output/head-before` action that fires after the <head> tag is opened.
* Added `gk/gravityview/lightbox/entry/output/head-after` action that fires before the </head> tag is closed.
* Added `gk/gravityview/lightbox/entry/output/content-before` action that fires after the <body> tag is opened and before the content is rendered.
* Added `gk/gravityview/lightbox/entry/output/content-after` action that fires after the content is rendered and before the footer.
* Added `gk/gravityview/lightbox/entry/output/footer-after` action that fires after the footer and before the closing </body> tag.
* Added `gravityview/fields/image_choice/image_markup` filter to modify the Image Choice field (Gravity Forms 2.9+) markup.
* Added `gravityview/fields/image_choice/output_label` filter to control whether to display the value or label of an Image Choice field.