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.
This hotfix release resolves an issue with the Multiple Forms extension.
#### 🐛 Fixed
* Fatal error in the View editor when using joined data from multiple forms.
This release adds the ability to change the entry creator from the Edit Entry screen, improves upload handling, fixes various bugs, and updates internal components.
#### 🚀 Added
* Entry creator can now be changed from the Edit Entry screen.
* `{now}`, `{yesterday}`, and `{tomorrow}` relative date merge tags.
#### ✨ Improved
* Handling of multi-file uploads on the Edit Entry screen.
#### 🐛 Fixed
* Entry loading inside a lightbox did not work in some cases when BuddyPress was active.
* Resending notifications from the Entries screen did not work when sending to all entries filtered by approval status.
* Conflict with the Wordfence plugin caused a fatal error when redirecting users after deleting an entry.
* Fatal error when rendering a GravityView View field with a non-existent View ID.
* Survey field (Rating type) values were displayed in reverse order when a View was embedded inside another View.
* Unexpected scrolling in the View editor after adding a field.
* PHP notice when rendering a View with a field associated with an inactive add-on.
* Entry duplication not working on the Entries page.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.19.
This release introduces a much-requested [lightbox feature](https://docs.gravitykit.com/article/1020-opening-and-editing-entry-details-in-a-lightbox-modal-popup) for displaying and editing entries, settings for customizing View URLs, new options for [displaying Name field initials](https://docs.gravitykit.com/article/1021-show-name-fields-as-initials) and Custom Content fields in full width, and a merge tag modifier to show date field values in a human-readable format. Several bugs have also been fixed.
#### 🚀 Added
* Ability to edit and display entries inside a lightbox.
* Global and individual View settings to customize the URL structure for all or specific Views.
* `:human` merge tag modifier for date fields to display in human-readable format (e.g., `10 minutes ago`, `5 days from now`).
* Option to display the Name field value as initials.
* Option to display Custom Content field full width on the Single Entry screen.
#### 🐛 Fixed
* Clearing search removed all URL query parameters and, in some cases, redirected to the homepage.
* Searching the View added duplicate search parameters to the URL.
* PHP 8.2 deprecation notice related to dynamic property creation.
* Entries not displaying when a View using DataTables was embedded in a Single Entry page with the List layout.
* PHP warning when displaying a View with an Event field without an active Gravity Forms Event Fields Add-On.
* Sorting entries in random order was not working.
* Multi Select field values starting with a square bracket were not displayed as selected on the Edit Entry screen.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.18.
#### 💻 Developer Updates
* Added `gk/gravityview/field/name/display` filter to modify the Name field display value.
* Added `gk/gravityview/permalinks/reserved-terms` filter to modify the list of reserved terms that are excluded from permalinks.
This update adds support for plain-text URLs in entry moderation merge tags, and fixes several bugs, including critical errors in the View editor. Starting with this version, PHP 7.4 or newer is required.
**Note: GravityView now requires PHP 7.4 or newer.**
#### 🚀 Added
* Modifier for entry moderation merge tags to output plain-text URLs (e.g., `{gv_approve_entry:url}`).
#### 🐛 Fixed
* "Text domain not found" error when trying to install a layout during the View creation process.
* Fatal error in the View editor when the user does not have the necessary capabilities to install plugins.
* Merge tag support in the Source URL "Link Text" field setting.
* Deprecated filter notice when using GravityView Maps 3.1.0 or newer.
* PHP 8.2 deprecation notice due to passing an empty value to `htmlspecialchars()` and creating dynamic class properties.
* The maximum number of files allowed in the File Upload field was not respected when editing an entry.
* Sorting the View by the Name field yielded incorrect results.
#### 🔧 Updated
* [TrustedLogin](https://www.trustedlogin.com/) to version 1.9.0.
#### 💻 Developer Updates
* Added `gk/gravityview/view/entries/query/sorting-parameters` filter to modify the sorting parameters applied during the retrieval of View entries.
This release fixes an issue with adding fields in the View editor's Edit Entry layout when the Multiple Forms extension is enabled.
This update resolves various issues, including compatibility with Yoast SEO, improves performance through enhanced View entries caching, and adds new functionality.
#### 🚀 Added
* Ability to modify the entry creator’s information on the Edit Entry screen.
* Merge tag modifier for formatting Date and Time fields (e.g., `{Date Field:1:format:Y-m-d}`).
* Placeholders in View Settings to inform you that additional functionality is available.
#### ✨ Improved
* The "Sort By" option in the GravityView Gutenberg block now offers a dropdown selection of fields instead of requiring manual entry of the field ID.
* Caching of View entries to prevent unnecessary database queries. Thanks, Shehroz!
#### 🐛 Fixed
* Timeout issue when rendering a page/post with GravityView Gutenberg blocks when Yoast SEO is active.
* View editor fields added to the Single or Edit Entry layouts inheriting options from the View type set in the Multiple Entries layout.
* An issue in the Search Bar widget configuration where adding a Date field caused the search mode ("any" and "all") to no longer be toggleable.
* `[gv_entry_link]` shortcode not rendering inside the Custom HTML block.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) and [TrustedLogin](https://www.trustedlogin.com/) to versions 1.2.17 and 1.8.0, respectively.
#### 💻 Developer Updates
* Added: `gk/gravityview/feature/upgrade/disabled` filter to disable the functionality placeholders. Return `true` to disable the placeholders.
* Added: `gk/gravityview/metabox/content/before` and `gk/gravityview/metabox/content/after` actions, triggered before and after the View metabox is rendered.
This release introduces the ability to use different view types for Multiple Entries and Single Entry layouts, adds a new View field to display an entry's read status, and fixes issues with the File Upload field, product search, and merge tag processing in entry-based notifications. [Read the announcement](https://www.gravitykit.com/announcing-gravityview-2-24/) for more details.
#### 🚀 Added
* Ability to select different View types for Multiple Entries and Single Entry layouts. [Learn all about the new View type switcher!](https://www.gravitykit.com/announcing-gravityview-2-24/)
* "Read Status" field to display whether an entry has been read or not.
- Customize the labels for "Read" and "Unread" statuses.
- Sort a View by "Read Status".
* Entries are now marked as "Read" when users who have the ability to edit entries visit an entry in the front-end.
#### 🐛 Fixed
* File Upload field values not rendering in the View if filenames have non-Latin characters.
* Product search now returns correct results when using all search input types in the search bar.
* View's Export Link widget would not respect date range search filters.
* Removed the unsupported "date" input type for the Date Entry field under the Search Bar widget settings.
* Merge tags in GravityView notifications are now properly processed for fields dynamically populated by Gravity Wiz's Populate Anything add-on.
#### 💻 Developer Updates
* Added `gk/gravityview/field/is-read/print-script` filter to modify whether to print the script in the frontend that marks an entry as "Read".
* Added `gk/gravityview/field/is-read/label` filter to change the "Is Read" field's "Read" and "Unread" labels.
* Added `gk/gravityview/entry-approval/choices` filter to modify strings used for entry approval ("Approved", "Unapproved", "Disapproved", etc.).
This update adds support for Nested Forms' entry meta, addresses several bugs, including critical ones, and improves GravityKit's Settings and Manage Your Kit screens.
#### 🚀 Added
* Support for Gravity Wiz's Gravity Forms Nested Forms entry meta (parent form and entry IDs, child form field ID) in the View editor and merge tags.
#### ✨ Improved
* The "Add All Fields" button in the View editor now adds fields in their correct form order.
#### 🐛 Fixed
* Export link View widget would cause a fatal error during multi-word searches.
* Fatal error when the search bar is configured with a Gravity Flow field and the Gravity Flow plugin is not active.
* Duplicating entries no longer fails to refresh the entry list when View-based caching is enabled.
* View cache not being invalidated when updating entries on a form joined using the Multiple Forms extension.
* Number field output now respects the form field's format settings, such as decimals and currency.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.2.14.
- Added an option to subscribe to GravityKit's newsletter from the Manage Your Kit screen.
- Added a setting in GravityKit > Settings > GravityKit to specify the GravityKit menu position in the Dashboard.
- Improved internal check for product updates that could still interfere with third-party plugin updates. Thanks, Aaron!
- Fixed a bug that prevented WordPress from loading third-party plugin translations after their updates. Thanks, Jérôme!
- Success message now shows correct product name after activation/deactivation.
#### 💻 Developer Updates
* Added `gk/gravityview/entry/approval-link/params` filter to modify entry approval link parameters.