---
title: "Launch Log: AI-built boards, inline Entry Tags editing, and Views kept on uninstall"
date: 2026-10-15
updated: 2026-10-15
author: "Casey Burridge"
link: "https://www.gravitykit.com/launch-log-ai-built-boards-inline-entry-tags/"
category: "Product Updates"
---

This week's releases let an AI assistant build and run GravityBoard boards, and make Entry Tags fields editable inline in GravityView Views with GravityEdit. Views now stay in place when GravityView is deleted, and a new "Delete all Views" button handles it when you do want them gone. GravityView, GravityBoard, GravityCalendar, GravityEdit, Entry Tags, and Dashboard Views all get security fixes, and we recommend updating soon.

## Gravity Forms Dynamic Lookup v1.11.0

This update to [Gravity Forms Dynamic Lookup](https://www.gravitykit.com/products/gravity-forms-dynamic-lookup/) extends last week's name-based sorting and searching in GravityView. Lookup fields that store IDs now sort and search by their displayed name in Views that combine forms with [Multiple Forms](https://www.gravitykit.com/products/multiple-forms/), and in fields that show a user's first name, last name, or nickname (requires GravityView 3.7.0 or newer). [GravityCharts](https://www.gravitykit.com/products/gravitycharts/) charts of these fields now label bars, slices, and legends with names instead of IDs.

More fixes and developer updates in v1.11.0A View that searches a Lookup field for one ID, such as a [View embedded in an entry](https://www.gravitykit.com/docs/gravityview/getting-started-gravityview/how-to-embed-a-view-inside-another-view/) with an `{entry_id}` search value, now includes entries with several selections in a multi-select Lookup field, and `is not` searches leave them out. In the Search Bar's "Search Everything" field, `_` and `%` in a Lookup search match only themselves.

**Developer updates**

- Added the `Field::gk_get_search_target()` method, which tells GravityView where to search and sort by a stored ID's label.

## Gravity Forms Entry Tags v1.5.0

This update to [Gravity Forms Entry Tags](https://www.gravitykit.com/products/gravity-forms-entry-tags/) improves security when tag values are displayed and edited, and we recommend updating. Entry Tags fields can now be edited inline in GravityView Views with [GravityEdit](https://www.gravitykit.com/products/gravityedit/) 2.13.0 or newer (see the GravityEdit section below). Views that link a field to its entry, or open it in a lightbox, now wrap all of a field's tags in one link instead of linking each tag.

Searching by tag works again: searching a View by an Entry Tags field, from a tag link or the [Search Bar](https://www.gravitykit.com/docs/gravityview/search/configuring-the-search-bar/), found no entries. Entry Tags now requires Gravity Forms 2.9.4, PHP 7.4, and WordPress 6.5 or newer.

More fixes and developer updates in v1.5.0 (includes a breaking change)A search for "Bug" no longer matches longer tags such as "Bugfix" in Views (requires GravityView 2.57 or newer) and the Gravity Forms entries list, and tag links work for tags containing `&` or `+`.

Other fixes:

- Tags saved as comma-separated text, such as by an import, appear in Views and the entries list, and stay separate tags when the entry is edited
- Using the tag box in a GravityEdit editor no longer stops other clicks on the page from working
- Default tags with accented letters or quotation marks are saved correctly
- Fields shown by an `is` conditional logic rule on an Entry Tags field are saved
- Gravity Forms entry exports and View [CSV and TSV exports](https://www.gravitykit.com/docs/gravityview/advanced/csv-export/) show tag names instead of code
- Uninstalling Entry Tags from Gravity Forms' Uninstall settings screen works

**Developer updates**

- Replaced GravityView hooks deprecated in GravityView 2.55 with their current equivalents.
- Tag output in GravityView is now built on the `gravityview/template/field/output` filter at priority 4, before GravityView's entry link (priority 5) and GravityEdit (priority 6).
- Breaking change: the `gravityview/template/field/entry_tags/output` filter now receives the finished field HTML, including the tags, any entry link, and GravityEdit's wrapper.

## GravityBoard v1.6.0

This update to [GravityBoard](https://www.gravitykit.com/products/gravityboard/) lets an AI assistant connected through the [GravityKit MCP](https://www.gravitykit.com/docs/gravitykit-mcp/getting-started/) build and run boards. Describe the board you want, and the assistant can create and configure it, manage lanes, and add, edit, move, and delete cards. It can only do what the account it signs in with is allowed to do on each board. The [guide to building boards with AI](https://www.gravitykit.com/docs/gravityboard/build-boards-with-ai/) covers setup and permissions.

![A Claude chat on the left asks for a feature request board from the Feature requests form, and the assistant runs gf_get_form, gb_board_create and gb_card_create, then gives the board's shortcode. On the right, the finished board on a site page shows Backlog, Planned and In Progress lanes of cards with priority labels and due dates.](https://www.gravitykit.com/wp-content/uploads/2026/10/2026-10-15-gravityboard-ai-chat-to-board-1024x630.png)    Card descriptions can now use "Custom text (with merge tags)
." You write the description once in a rich text editor, with merge tags such as `{all_fields}`, and each card fills it in from its own entry[GravityBoard's merge tags](https://www.gravitykit.com/docs/gravityboard/merge-tags-added-by-gravityboard/) and their options for assignees, votes, and voters also appear in the [Visual Merge Tags](https://www.gravitykit.com/docs/general-help/downloads/using-visual-merge-tags/) picker.

![GravityBoard field mapping with Card Description set to Custom text (with merge tags), and the Custom Card Description editor holding Requested by {created_by:display_name}, {Details:2} and Priority {Priority:4}](https://www.gravitykit.com/wp-content/uploads/2026/10/02-gravityboard-custom-description-1024x888.png)    The release includes security fixes, and we recommend updating. Boards that limit which cards each user can see check permissions more closely, and board pages and notes share less user information with people who don't manage the board.

More fixes and developer updates in v1.6.0 (includes a breaking change)When a card's Label uses the same field as the lanes, changing the Label now moves the card to the matching lane, and dragging the card to another lane updates the Label without a reload. Conditional logic on fields that store a user, post, or entry ID, such as Dynamic Lookup, GP Populate Anything (Gravity Wiz), or Nested Forms fields, now matches the name the field shows. Rules using `is` and `is not` with a number still compare the ID. `@` mention emails offer their own merge tags, such as `{notifier_name}`, and attachments, mention emails, voting, and rich text in cards and notes get security improvements.

Other fixes:

- Conditions on Entry Date, Date Updated, or Payment Date with a non-date value no longer cause a fatal error on PHP 8
- Conditions using `is`, `is not`, `in`, or `not in` on Product, Option, or Shipping choices find entries
- Screen readers on translated sites announce the day, month, and year of date conditions in the site's language
- Cards moved or added by two people at the same time keep the right order
- Permanently deleting a card removes its votes on boards with "Trigger Form Notifications" turned off

**Developer updates**

- Added board, lane, and card abilities to the WordPress Abilities API under `gk-gravityboard/*`, runnable at `/wp-json/wp-abilities/v1/abilities/gk-gravityboard/<name>/run`.
- Added the `gk/gravityboard/card/lock_timeout` and `gk/gravityboard/lane/lock_timeout` filters to set how many seconds a card or lane change waits for another change on the same form to finish before it is refused (default: 5).
- Added the `gk/gravityboard/attachments/blocked-extensions` filter to modify which file extensions are refused on boards that allow all file types.
- Added the `gk/gravityboard/merge-tags/assignee-properties` filter to modify which user fields the `{gravityboard_assignee:<property>}` merge tag can output.
- Breaking change: board users and card assignees in the board data no longer include `email`, and a note's `user_email` is empty unless the current user can edit forms.
- The `gk/gravityboard/card/sorted` hook now skips drags within a lane on boards sorted by votes, since nothing is saved.
- `Feed::get_feed()` now returns `false` for feeds that belong to another add-on.
- Deprecated `Ajax::can_add_attachment()` and `Ajax::can_delete_attachment()` in favor of `Attachments::can_upload_attachment()` and `Attachments::can_delete_attachment()`, and `Helpers::has_entries_in_lane()` in favor of `Helpers::get_lane_entry_ids()`.

## GravityCalendar v2.25.0

This update to [GravityCalendar](https://www.gravitykit.com/products/gravitycalendar/) shows calendars entirely in the language chosen in their [Localization setting](https://www.gravitykit.com/docs/gravitycalendar/creating-a-calendar/). Labels such as "all-day," "+3 more," and "No events to display," and the Previous and Next tooltips, used to appear in English, and toolbar buttons such as Today and Month used the site's language. When you pick a language other than the site's and save, the calendar now downloads that translation itself.

![A GravityCalendar month view set to German, showing Oktober 2026, the Heute, Monat, Woche and Tag buttons, weekday headings Mo to So, and event times such as 10 Uhr](https://www.gravitykit.com/wp-content/uploads/2026/10/03-gravitycalendar-german-1024x638.png)
*The release also includes a security improvement for moving and resizing events on the calendar, and we recommend updating*
More fixes and developer updates in v2.25.0All calendar text can now be translated or reworded with a translation plugin such as Loco Translate. Timed events from [external calendar feeds](https://www.gravitykit.com/docs/gravitycalendar/displaying-events-from-another-calendar/), such as Google Calendar, Outlook, or iCloud, now convert to the site's time zone like the calendar's own events.

All-day events in [calendar subscription links](https://www.gravitykit.com/docs/gravitycalendar/subscribing-vs-downloading/) now end on the right day. One-day events used to end on the day they started, and events without an end date ran until the subscription last updated. Resizing an event across several days on a calendar without an End Date field now undoes the resize, where it used to change the event's start date.

**Developer updates**

- The calendar's language downloads respect the `gk/foundation/translations/disable-download` filter, so a site that turns off translation downloads gets none.
- Deprecated the `gravityview/calendar/scripts/fullcalendar/locales_dir_url` filter, which no longer has an effect. Change the calendar's text with a translation or the `gravityview/calendar/options` filter, whose values still take priority.

## GravityEdit v2.13.0

This update to [GravityEdit](https://www.gravitykit.com/products/gravityedit/) adds inline editing of Entry Tags fields in GravityView Views (requires Entry Tags 1.5.0 or newer). Turn on inline editing, click a Tags cell, and add or remove tags in place.

![A GravityView table of project tasks with inline editing on, and the Entry Tags editor open on the Plan the November newsletter row, showing its Marketing and Content tags with Update and Cancel buttons](https://www.gravitykit.com/wp-content/uploads/2026/10/01-entry-tags-inline-edit-1024x362.png)    The release also includes security fixes, and we recommend updating. Inline editing could allow unintended changes to entries under certain conditions, and Entry Tags values shown after an inline edit are now displayed more safely.

More fixes in v2.13.0Inline editing of Entry Tags fields gets a set of fixes. Saving on the Gravity Forms entries list now finishes, the editor no longer shows the first entry's tags alongside the entry's own, and a tag containing a quotation mark or `<` no longer erases every tag. Tags saved as comma-separated text open in the tag picker, and an entry with damaged tag data no longer stops inline editing for the fields below it.

Dynamic Lookup fields whose selected record is no longer one of their choices, such as an entry moved to the trash, keep their selection when edited inline. Dynamic Lookup checkboxes show the right boxes ticked after their choices change, and editing another field inline no longer removes those selections.

Saving a field inline no longer removes backslashes from its value. With Inline Edit Mode set to "In-Place," or when [editing a whole column](https://www.gravitykit.com/docs/gravityedit/inline-edit-column-edit-mode-bulk-editing/), opening another field while an editor is open now takes one click instead of two.

## GravityKit MCP v2.6.1

This update to the [GravityKit MCP](https://www.gravitykit.com/mcp/) makes the `gf_update_field` tool refuse requests it can't carry out, where it used to report success and change nothing. A property sent beside `properties` instead of inside it, such as `placeholder`, is refused with a reply showing where it belongs. Calls with nothing to change, and calls that try to change a field's ID, are refused too. The [tools reference](https://www.gravitykit.com/docs/gravitykit-mcp/available-tools/) lists every tool the server offers.

## GravityMigrate v2.1.2

This update to [GravityMigrate](https://www.gravitykit.com/products/gravitymigrate/) stops duplicate forms when [migrating with an AI assistant](https://www.gravitykit.com/docs/gravitymigrate/migrate-forms-with-ai/). An assistant that retried a migration while the first attempt was still running created the same forms twice.

## GravityView v3.8.0

This update to [GravityView](https://www.gravitykit.com/products/gravityview/) keeps your Views when GravityView is deleted from the Plugins page. Deleting the plugin used to permanently remove every View, entry approval status, and GravityView entry note. When you do want the Views gone, a new "Delete all Views" button in GravityView's settings deletes them all, including trashed ones, without touching forms, entries, or settings. [Deleting all Views and uninstalling GravityView](https://www.gravitykit.com/docs/gravityview/advanced/how-to-delete-the-gravityview-data-when-the-plugin-is-uninstalled/) has the steps.

![Delete all Views section with an unticked confirmation checkbox and a grayed-out Delete all Views button](https://www.gravitykit.com/wp-content/uploads/2026/04/gv-delete-all-views-section-1024x252.png)
*Edit Entry gets a "Use as Page Title" setting that decides whether the*[Edit Entry Title](https://www.gravitykit.com/docs/gravityview/customizing-your-views/changing-the-edit-entry-page-title/) also replaces the page and browser tab titles. It's on by default, so existing Views keep their titles, and the Edit Entry Title no longer renames menu items or other posts listed on the page.

Embedded Views can now choose what to show when their search value is empty, such as a [`{get:customer}` merge tag](https://www.gravitykit.com/docs/gravityview/merge-tags/the-get-merge-tag/) on a page address without a `customer` parameter. The View field for [embedding a View inside another View](https://www.gravitykit.com/docs/gravityview/getting-started-gravityview/how-to-embed-a-view-inside-another-view/) now shows no entries by default in that case. The [`[gravityview]` shortcode](https://www.gravitykit.com/docs/gravityview/shortcodes/using-the-shortcode/) takes `search_value_empty="none"`, and the View block and the Elementor, Divi, and Beaver Builder modules offer "Show no entries." Existing embeds keep showing every entry, and an admin notice lists the pages that use them.

![The Advanced section of the GravityView View field settings: Search field set to created_by, Search operator set to is, Search value set to {created_by:ID}, and When the search value is empty set to Show no entries](https://www.gravitykit.com/wp-content/uploads/2026/04/gravityview-view-field-search-value-empty-768x829.png)
Search Operators other than `Is`, `Is Not`, and `Contains` in embedded Views now work as named. `Not Equal` and `Not In` used to list the entries they should have left out
The release also includes security fixes, and we recommend updating soon:

- Deleting, approving, and rejecting entries from the front end check more closely which entries they act on
- Embedded Views apply their Search Field and Search Value more strictly, so they show only the entries they're set to show (sites using the GravityView Widget for Elementor plugin also need its next update)
- Views built or cloned with the GravityKit MCP could show entries their settings were meant to restrict, or allow REST access that was turned off
- Page and browser tab titles on Views with an Edit Entry Title could show entry values to visitors not allowed to edit the entry

More fixes and developer updates in v3.8.0 (includes breaking changes)Views built with the GravityKit MCP now behave like Views built in the View editor. New Views use the site's default theme instead of Legacy (as do Views created with the REST API), Edit Entry fields show for users editing their own entries, and unsaved settings show their default values. Settings turned on or off with text such as "yes" or "off" are applied correctly, and cloned Views keep their Multiple Forms joins and unions, Layout Builder row settings, and backslashes.

Restoring a View revision now brings back Advanced Filter conditions, Multiple Forms joins and unions, and Layout Builder row settings. Restoring a revision saved before GravityView 3.0.0 no longer removes the View's form, layouts, fields, and widgets, and the Revisions screen shows the right changes after a restore. In the View editor, Advanced Custom Fields (ACF) fields no longer keep a draft View from publishing or saving, and saving with Enter or during an autosave no longer asks you to confirm leaving the page.

[Custom CSS](https://www.gravitykit.com/docs/gravityview/customizing-your-views/adding-custom-css-to-your-website/) can now override the layout's styles, such as table cell padding, along with the Vantage theme's styles and DataTables features such as Buttons. On the Vantage theme, a Google Fonts `@import` no longer wipes out the rest of the Custom CSS. Views shown inside another View, such as through a Custom Content widget or the `[gventry]` shortcode, keep their Custom CSS, Custom JavaScript, layout styles, and Style settings.

Views that [join](https://www.gravitykit.com/docs/gravityview-pro/multiple-forms/joining-multiple-forms/) or [union](https://www.gravitykit.com/docs/gravityview-pro/multiple-forms/using-unions-in-multiple-forms/) forms with Multiple Forms get a set of fixes. In joined Views, the Entry Field block and `[gvfield]` set to First or Last show a value, the Entry block and `[gventry]` show the joined form's values, and links such as `/entry/12,34/` work. Edit Entry shows and saves the right fields, where a field added from another form could change the entry's own field with the same ID. In unioned Views, entries from the added form follow the field mapping in CSV and TSV exports and the REST API, and respect field settings such as "Link phone number" and "Encrypt email address."

Other fixes:

- A search value of `0` in the `[gravityview]` shortcode or an embedded View is no longer ignored
- In DataTables Views, clearing the Search Bar and searching again shows every entry, and the browser Back button steps back through earlier searches and pages
- "Embed only" DataTables Views placed with Beaver Builder load for visitors and users below the Editor role
- Edit Entry no longer erases GP Populate Anything (Gravity Wiz) Drop Down values that depend on a field placed later in the form
- Edit Entry shows the right fields when the same form is embedded on the page, and a field added to the Edit Entry tab twice saves correctly
- `:urlencode` no longer encodes Dynamic Lookup values twice, and [merge tag modifiers](https://www.gravitykit.com/docs/gravityview/merge-tags/merge-tag-modifiers/) print `{` instead of `&#x7b;` when a value contains a curly brace
- On block themes such as Twenty Twenty-Five, images and entry links open in the [lightbox](https://www.gravitykit.com/docs/gravityview/getting-started-gravityview/opening-and-editing-entry-details-in-a-lightbox-modal-popup/) even when the page's first View has "Enable lightbox for images" turned off
- CSV and TSV exports keep trailing empty values
- Cloning a View from the Views list keeps backslashes in its title and settings
- Sites with a View embed missing its [secret](https://www.gravitykit.com/docs/general-help/secret-shortcode-attribute/) no longer create a separate admin notice for every nonexistent address visited

**Developer updates**

- Added the `gk/gravityview/search/empty-value/default` filter to set what embeds without a `search_value_empty` value show when their search value is empty (return `none` to show no entries).
- Added the `gk/gravityview/edit-entry/page-title` filter to change the page title on the Edit Entry screen (return an empty string to keep the page's own title). It and `gk/gravityview/edit-entry/document-title` default to an empty string when "Use as Page Title" is unchecked.
- Added `GV\Entry::is_active()` and `GV\Entry::is_trashed()` methods, which compare the entry's status case-insensitively.
- Breaking change: `gravityview()->plugin->uninstall()` now removes only temporary data and keeps Views, entry approval statuses, GravityView entry notes, capabilities, and options. Use `GravityKit\GravityView\View\ViewRemover::remove_all()` to delete Views.
- Breaking change: `GV\View::get_entry()` now returns the joined row (a `GV\Multi_Entry`) on Views that join forms and accepts joined entry slugs such as `12,34`. On that row, `$entry['id']` and `$entry['form_id']` are `null`, so use `$entry->ID` or `$entry->entries` instead.
- Deletes granted by the `gk/gravityview/delete-entry/can-delete` filter are now checked against the View's forms and the entry's status.
- Each View's Custom CSS and Style settings now print from their own `gravityview_view_css_{View ID}` stylesheet handle, after GravityView's stylesheets.
- A View's `id` setting now stays an integer when a shortcode embeds the View, so strict (`===`) comparisons with the View ID match correctly.
- `gk-gravityview/view-clone` now copies every `_gravityview_` meta key of the source View, and View revisions also track `_gravityview_filters`, `_gravityview_form_joins`, `_gravityview_form_unions`, and `_gravityview_row_settings`.
- `gk-gravityview/view-config-get` and `gk-gravityview/view-settings-patch` now return the default value of each core View setting that is not saved, and refuse to turn on `show_only_entries_by_current_user` when Advanced Filtering is not active or conflicts with the View's filters.
- The entry lightbox page now includes a doctype, so browsers no longer render it in quirks mode.

## GravityView - Dashboard Views v2.0.6

This update to [Dashboard Views](https://www.gravitykit.com/products/dashboard-views/) tightens access to [internal-only Views](https://www.gravitykit.com/docs/gravityview-pro/dashboard-views/getting-started-with-dashboard-views/), and we recommend updating. Their entries, entry counts, and [Maps Layout](https://www.gravitykit.com/products/maps/) map data are now available only to users whose role can open the View.

DataTables Views set to "Restrict to Internal-Only View" no longer show empty cells in the Dashboard, and the Single Entry lightbox in the Dashboard hides fields set to be hidden there. Dashboard Views now requires GravityView 3.5.0, PHP 7.4, and WordPress 6.5 or newer.

## GravityView - DataTables Layout v3.14.1

This update to the [DataTables Layout](https://www.gravitykit.com/products/datatables/) fixes two cases where a table showed "This table could not load": on some sites where another plugin or the theme printed stray output, and after changing page, sorting, or searching when the server took more than 30 seconds to respond.

More fixes in v3.14.1On sites with permalinks set to "Plain," Single Entry, Edit Entry, and Delete Entry links in the table now open the right page instead of raw data. The Calendar widget shows events again in DataTables Views on sites running GravityCalendar 2.23.1 or older. DataTables Views embedded outside the page content, such as by the theme, now honor Search Operators like `Not Equal` and `Not In` (requires GravityView 3.8.0 or newer).

On Views that union forms with [Multiple Forms](https://www.gravitykit.com/products/multiple-forms/), the table now follows the field mapping for entries from the added form, including in Copy, CSV, and Print exports and in Preloaded (Client-side) search. A PHP deprecation notice on PHP 8.4 or newer is also gone.

## How to update

Updates are available from your WordPress dashboard; [installing and updating GravityKit plugins](https://www.gravitykit.com/docs/general-help/downloads/installing-activating-and-updating-gravitykit-plugins/) has the steps. Start with GravityView, GravityBoard, GravityCalendar, GravityEdit, Entry Tags, and Dashboard Views, which include security fixes.