This release resolves an issue where the "Search in visible fields only" setting could interfere with unrelated query conditions, and a separate issue where `[gv_entry_link]` URLs were missing pre-populated field values.
#### 🐛 Fixed
* "Search in visible fields only" setting was incorrectly removing non-search conditions (such as approval status) from queries, allowing unapproved entries to appear and breaking Single Entry access.
* The `field_values` attribute in the `[gv_entry_link]` shortcode was not being appended to URLs when using read or delete link types.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.14.0.
This release adds an Entries column to the Views list and fixes issues with `[gvlogic]`, global search, and empty search filters.
#### 🚀 Added
* An `Entries` column on the admin Views list that displays the number of entries for each View’s Data Source.
#### 🐛 Fixed
* `[gvlogic]` conditions silently failed when field values contained HTML special characters like `&`, `>`, or `<`.
* Inclusive (+) and exclusive (-) global search words are now correctly handled on fields from joined Multiple Forms.
* Empty search values for `gv_id`, `gv_search` and `gv_by` are ignored as filters.
#### 💻 Developer Updates
* Added `gk/gravityview/search/request/filters` to modify the search filters before the search happens.
* Added `gk/gravityview/search/request/method` to modify the search method.
* Added `gk/gravityview/search/request/search-arguments` to modify parsed search arguments before processing.
* Deprecated `gravityview_fe_search_criteria` in favor of `gk/gravityview/search/request/filters`.
* Deprecated `gravityview/widgets/search/created_by/user_meta_fields` in favor of `gk/query-filters/condition/created-by/user-meta-fields`.
* Deprecated `gravityview/widgets/search/created_by/user_fields` in favor of `gk/query-filters/condition/created-by/user-fields`.
* Deprecated `GravityView_Widget_Search_Author_GF_Query_Condition` in favor of Query Filters' `Created_By_Condition`.
* Deprecated legacy `gravityview_*` hooks in favor of modern namespaced equivalents:
- `gravitview_no_entries_text` > `gravityview/template/text/no_entries`;
- `gravityview_directory_link` > `gravityview/view/links/directory`;
- `gravityview_go_back_url` > `gravityview/template/links/back/url`;
- `gravityview_go_back_label` > `gravityview/template/links/back/label`;
- `gravityview_before` > `gravityview/template/before`;
- `gravityview_header` > `gravityview/template/header`;
- `gravityview_footer` > `gravityview/template/footer`;
- `gravityview_after` > `gravityview/template/after`;
- `gravityview_field_output` > `gravityview/field_output/html`;
- `gravityview_table_cells` > `gravityview/template/table/fields`;
- `gravityview_table_cells_before` > `gravityview/template/table/cells/before`;
- `gravityview_table_cells_after` > `gravityview/template/table/cells/after`;
- `gravityview_table_body_before` > `gravityview/template/table/body/before`;
- `gravityview_table_body_after` > `gravityview/template/table/body/after`;
- `gravityview_table_tr_before` > `gravityview/template/table/tr/before`;
- `gravityview_table_tr_after` > `gravityview/template/table/tr/after`;
- `gravityview_entry_class` > `gravityview/template/{template}/entry/class`;
- `gravityview_list_body_before` > `gravityview/template/list/body/before`;
- `gravityview_list_body_after` > `gravityview/template/list/body/after`;
- `gravityview_list_entry_{zone}_before` > `gravityview/template/list/entry/{zone}/before`;
- `gravityview_list_entry_{zone}_after` > `gravityview/template/list/entry/{zone}/after`;
- `gravityview_default_args` > `gravityview/view/settings/defaults`;
- `gravityview_direct_access` > `gravityview/view/output/direct`;
- `gravityview_widget_active_areas` > `gravityview/widget/active_areas`;
- `gravityview_register_directory_widgets` > `gravityview/widgets/register`;
- `gravityview_empty_value` > `gravityview/field/value/empty`;
- `gravityview_field_entry_value_{type}_pre_link` > `gravityview/template/field/{type}/output`;
- `gravityview_field_entry_link` > `gravityview/template/field/entry_link`;
- `gravityview_field_entry_value_{type}` > `gravityview/template/field/{type}/output`;
- `gravityview_field_entry_value` > `gravityview/template/field/{type}/output`;
- `gravityview_include_frontend_actions` > `gravityview/loaded`;
- `gravityview_view_entries` > `gravityview/view/entries`;
- `gravityview_before_get_entries` > `gravityview/view/entries`;
- `gravityview_entries` > `gravityview/view/entries`;
- `gravityview_tooltips` > `gravityview/metaboxes/tooltips`;
- `gravityview_change_entry_creator_user_parameters` > `gravityview/get_users/{$context}`;
- `gravityview_template_slug_{$template_slug}` > `gravityview_get_template_id`;
- `gravityview_template_{$field_type}_options` > `gk/gravityview/template/options`;
- `gravityview_template_{$input_type}_options` > `gk/gravityview/template/options`.
* Deprecated hooks with corrected namespacing:
- `gravityview/field_output/args` > `gravityview/template/field_output/context`;
- `gravityview/template/field_label` > `gravityview/template/field/label`;
- `gravityview/configuration/fields` > `gravityview/view/configuration/fields`.
* Deprecated hooks in favor of `gk/gravityview/` namespaced replacements:
- `gravityview/delete-entry/mode` > `gk/gravityview/delete-entry/mode`;
- `gravityview/delete-entry/deleted` > `gk/gravityview/delete-entry/deleted`;
- `gravityview/delete-entry/trashed` > `gk/gravityview/delete-entry/trashed`;
- `gravityview/delete-entry/delete-connected-post` > `gk/gravityview/delete-entry/delete-connected-post`;
- `gravityview/search/operator_allowlist` > `gk/gravityview/search/operators/allowed`;
- `gravityview/widgets/search/datepicker/format` > `gk/gravityview/search/datepicker/format`;
- `gravityview_date_created_adjust_timezone` > `gk/gravityview/search/date/adjust-timezone`;
- `gravityview/search-trim-input` > `gk/gravityview/search/value/trim`;
- `gravityview/search/ignore-empty-values` > `gk/gravityview/search/value/ignore-empty`;
- `gravityview/search/method` > `gk/gravityview/search/request/method`;
- `gravityview/search/mode` > `gk/gravityview/search/criteria/mode`;
- `gravityview/search/searchable_fields/allowlist` > `gk/gravityview/search/searchable-fields/allowed`;
- `gravityview/search-all-split-words` > `gk/gravityview/search/field/all/split-words`.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.13.0.
This update gives you more styling control over rows in the Layout Builder template and addresses issues affecting Edit Entry, Gravity PDF, and View widgets.
#### 🚀 Added
* Ability to configure custom CSS classes and HTML IDs for Layout Builder row wrapper elements in the View editor.
#### 🐛 Fixed
* Fatal errors in various scenarios:
- On PHP 8+ when editing an entry with the Created By field in the edit layout and the form's honeypot enabled;
- On the Edit Entry page with multi-column List fields caused by certain plugins;
- When Gravity PDF generates a PDF for forms with Quiz fields.
* View widgets (e.g., Search Bar, Page Links) rendering multiple times on pages that also contain a GravityView Search sidebar widget.
* Embedded View in a Custom Content field not rendering inside lightbox Single Entry, showing "You are not allowed to view this content" instead.
#### 💻 Developer Updates
* Added `gravityview/template/layout-builder/row/attributes` filter to modify the HTML attributes of Layout Builder rows.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.10.0.
This update gives you more styling control over rows in the Layout Builder template and addresses issues affecting Edit Entry, Gravity PDF, and View widgets.
#### 🚀 Added
* Ability to configure custom CSS classes and HTML IDs for Layout Builder row wrapper elements in the View editor.
#### 🐛 Fixed
* Fatal errors in various scenarios:
- On PHP 8+ when editing an entry with the Created By field in the edit layout and the form's honeypot enabled;
- On the Edit Entry page with multi-column List fields caused by certain plugins;
- When Gravity PDF generates a PDF for forms with Quiz fields.
* View widgets (e.g., Search Bar, Page Links) rendering multiple times on pages that also contain a GravityView Search sidebar widget.
* Embedded View in a Custom Content field not rendering inside lightbox Single Entry, showing "You are not allowed to view this content" instead.
#### 💻 Developer Updates
* Added `gravityview/template/layout-builder/row/attributes` filter to modify the HTML attributes of Layout Builder rows.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.10.0.
This release introduces the ability to filter Entry Notes by type, resolves multiple Edit Entry issues including hidden fields, List fields, and multi-page navigation, and fixes File Upload secure links forcing downloads instead of opening in the browser.
#### 🚀 Added
* Entry Notes field setting to filter displayed note types, such as hiding notification confirmations while showing only user notes.
#### 🐛 Fixed
* Hidden fields not appearing on the Edit Entry page when the `gravityview/edit_entry/reveal_hidden_field` filter returns `true`.
* Multi-column List fields with data on the Edit Entry page no longer display serialized array data when revealed via conditional logic.
* Edit Entry Next/Previous buttons not navigating to the correct page on multi-page forms.
* The "Unapproved" entries filter preventing other plugins from modifying the entry query.
* Layout Builder template now has distinct CSS classes for Single Entry (`gv-layout-builder-single-container`) and Multiple Entries (`gv-layout-builder-multiple-container`) views, matching the pattern used by Table and List templates.
* File Upload field secure download links now open files (PDFs, images, etc.) in the browser instead of forcing a download.
#### 💻 Developer Updates
* Added `gk/gravityview/field/notes/type-labels` filter to modify the labels displayed for note types in the Entry Notes field settings.
* Added `gk/gravityview/field/notes/default-types` filter to modify the default note types available in the Entry Notes field settings.
This release improves File Upload field secure download links, fixes a compatibility issue with the Gravity Forms Populate Anything plugin, and resolves issues with the Gravity Forms field and View filtering.
#### ✨ Improved
* File Upload fields now generate cleaner, more flexible secure download links.
#### 🐛 Fixed
* Inconsistent behavior between View filtering using URL parameters and Search Widget configuration.
* Choice fields (e.g., Select, Radio) populated by the Gravity Forms Populate Anything plugin now display labels instead of raw values when "Show Label" is enabled.
* Gravity Forms field issues:
- Embedded forms with conditional logic were not rendered.
- Successful form resubmission after initial validation failure would fail with "Another submission is already in progress" error.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.8.0.
This release adds support for Gravity Forms Repeater fields and resolves issues with field visibility, embedded Views, and Image Choices field display.
#### 🚀 Added
* Support for Gravity Forms Repeater fields, including nested data display in Table and List Views, Search Bar integration, and configurable display limits.
#### 🐛 Fixed
* Field visibility settings were not being respected by the Layout Builder template.
* Embedded Views (via the `[gravityview]` shortcode or GravityView View field) were not rendering correctly when displayed within a Single Entry layout on pages with multiple Views.
* Image Choices field displayed the same image for all choices when each choice was added as a separate field in a View.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.7.2.
= 2.50.1 on January 15, 2026 =
This release fixes Search Bar settings modal display issues and a conflict with plugins using Laravel components, and adds new filters for entry deletion and edit locking control.
#### 🐛 Fixed
* Search Bar Settings modal Close button not visible and dialog appearing behind the admin bar on smaller viewports.
* Conflict with plugins that use Laravel/Illuminate components.
#### 💻 Developer Updates
* Added `gk/gravityview/delete-entry/can-delete` filter to control whether a user can delete an entry.
* Added `gk/gravityview/edit-entry/lock-dialog/show-request-control` filter to control visibility of the Request Control button in the entry lock dialog.
This release fixes Search Bar settings modal display issues and a conflict with plugins using Laravel components, and adds new filters for entry deletion and edit locking control.
#### 🐛 Fixed
* Search Bar Settings modal Close button not visible and dialog appearing behind the admin bar on smaller viewports.
* Conflict with plugins that use Laravel/Illuminate components.
#### 💻 Developer Updates
* Added `gk/gravityview/delete-entry/can-delete` filter to control whether a user can delete an entry.
* Added `gk/gravityview/edit-entry/lock-dialog/show-request-control` filter to control visibility of the Request Control button in the entry lock dialog.
This update adds a new merge tag modifier for improved URL encoding and resolves a WordPress 6.9 compatibility issue affecting classic themes.
#### 🚀 Added
* [`:rawurlencode` merge tag modifier](https://docs.gravitykit.com/article/350-merge-tag-modifiers#Usage-rawurlencode-Modifier-eLEk5) for better handling of special characters in URL paths and email links.
#### 🐛 Fixed
* Compatibility issue with WordPress 6.9 that caused Views to display incorrectly on classic themes.
#### 💻 Developer Updates
* Added `gk/gravityview/compatibility/block-assets-on-demand` filter to control whether GravityView disables WordPress 6.9's on-demand block asset loading (`true` by default).
This release resolves deprecation notices in GravityView blocks on WordPress 6.7+, fixes edit locking not releasing entries properly on the Edit Entry page, and addresses PHP warnings.
**Note: [GravityView blocks](https://docs.gravitykit.com/article/915-embedding-views-entries-and-fields-using-blocks) now require WordPress 6.3 or newer.**
#### 🐛 Fixed
* Deprecation notices in GravityView blocks on WordPress 6.7+.
* With Edit Locking enabled, entries sometimes stayed locked after someone finished editing them, causing attempts by others to take over editing to fail.
* PHP deprecation warning when editing certain entries with Post fields.
* PHP notice when using `{sequence}` merge tag as a custom label for a View field.
#### 💻 Developer Updates
* Added `gk/gravityview/delete-entry/mode` filter to allow code to modify the delete mode (whether to trash or delete an entry) for a specific View.
- Deprecated the `gravityview/delete-entry/mode` filter.
* Added `gk/gravityview/delete-entry/delete-connected-post` filter to allow code to modify the behavior of deleting posts connected to an entry.
- Deprecated the `gravityview/delete-entry/delete-connected-post` filter.
* Added `gk/gravityview/delete-entry/deleted` action to trigger when an entry is deleted.
- Deprecated the `gravityview/delete-entry/deleted` action.
* Added `gk/gravityview/delete-entry/trashed` action to trigger when an entry is trashed.
- Deprecated the `gravityview/delete-entry/trashed` action.