---
title: "Launch Log: Live DataTables totals, a Remove Data option, and rounding for Number field merge tags"
date: 2026-10-29
updated: 2026-10-29
author: "Casey Burridge"
link: "https://www.gravitykit.com/launch-log-live-datatables-totals-remove-data/"
category: "Product Updates"
---

This week's releases add GravityMath totals that follow the rows on screen in DataTables Views, an option to remove GravityView's data while keeping your Views, and security fixes in five products. Tables capped at 200 entries since DataTables 3.14.0 show every entry again, and GravityMath totals come out right in more currencies and languages.

## GravityBoard v1.7.0

This update to [GravityBoard](https://www.gravitykit.com/products/gravityboard/) lets a card's description show a Repeater field. Each row is listed the way the Gravity Forms entry screen shows it, with field labels above their values. Boards that use a Repeater field for a card's title, description, label, or due date also load again; before this release, they didn't load at all.

![A GravityBoard event planning board with Planning, Booked and Done lanes, where each card's description lists the rows of a Vendors Repeater field, with the Vendor and Service labels above their values](https://www.gravitykit.com/wp-content/uploads/2026/10/gravityboard-repeater-card-description-2026-10-29-1024x705.png)    On sites set to another language, the board, the board block in the editor, the GravityView vote widget, and the condition builder in a board's Conditional Logic setting now show their text in the site's language instead of English. [Customizing GravityBoard translations](https://www.gravitykit.com/docs/gravityboard/customizing-gravityboard-translations/)
*covers changing any of these strings*
More fixes and developer updates in v1.7.0Conditional logic dropdowns that search users, entries, or posts now load their choices only when they are opened. Conditions on fields that store several users, posts, or entries, such as GP Nested Forms (Gravity Wiz), Dynamic Lookup, and Populate Anything fields, are no longer slow on forms with a few hundred entries.

Other conditional logic fixes:

- Conditions using the `{get}` merge tag match the right entries when the value in the page address contains `&`, `+`, or `%` (such as "Research & Development"), and no longer change other `{get}` merge tags on the same page
- "Has any of", "has all of", and "has none of" conditions on a Dynamic Lookup field with "Allow multiple selections" and the enhanced user interface work for entries with more than one selection
- Condition dropdowns open in front of the WordPress admin bar, pressing Enter on a selected choice keeps it, and pressing Enter on the clear button clears the choice
- Date conditions show month names, weekdays, and labels in the site's language
- Condition labels with an apostrophe, such as "n'est pas" in French, no longer show `&#039;`
- Weekday names in the date condition calendar are correct in time zones west of UTC, such as the Americas, and screen readers no longer announce the calendar as "Event"

**Developer updates**

- When the [GravityKit MCP](https://www.gravitykit.com/mcp/) blocks a board, lane, or card delete tool, the message to AI assistants now gives a valid value for the `GRAVITYKIT_MCP_ALLOW_DESTRUCTIVE` setting: the tool's name, `gb`, or `all`. [Building boards with AI](https://www.gravitykit.com/docs/gravityboard/build-boards-with-ai/) covers connecting an assistant.

## GravityCalendar v2.26.1

This update to [GravityCalendar](https://www.gravitykit.com/products/gravitycalendar/) improves security, and we recommend updating. HTML in [events from other calendar feeds](https://www.gravitykit.com/docs/gravitycalendar/displaying-events-from-another-calendar/) is handled more safely when "Allow HTML Content" is on. The events of a deactivated calendar are now available only to users who can edit calendars, and only those users see secured and deactivated calendars in the block and Elementor editors. If a secured calendar stops showing on a page, a user who can edit calendars can save the page to show it again.

[Calendar widgets](https://www.gravitykit.com/docs/gravitycalendar/displaying-a-calendar/) in DataTables Views set to [Preloaded (Client-side) mode](https://www.gravitykit.com/docs/gravityview-pro/datatables/client-side-processing/) work again. A widget showing the entries on the page now shows the events of the rows on screen, and changing the table's page, sorting, or search no longer causes a JavaScript error.

More fixes and developer updates in v2.26.1On a page that shows the same View twice, each table now updates only its own Calendar widgets. Each widget also follows its own "Display events for" setting, even when two widgets use the same calendar.

Some searches with "Navigate to Events" and Dynamically Load Events on now show an empty calendar instead of an error. AI assistants are told that an event on a calendar with no Start Time field can only move to another day.

**Developer updates**

- With "Allow HTML Content" on, events added with the `gravityview/calendar/events` filter now go through the same HTML filtering in the browser.

## GravityCharts v1.23.1

This update to [GravityCharts](https://www.gravitykit.com/products/gravitycharts/) fixes DataTables Views that wouldn't load when "Preloaded data loading" was on and a [chart widget](https://www.gravitykit.com/docs/gravitycharts/adding-a-gravitycharts-widget-to-gravityview/) was set to "Entries shown on the page".

## GravityEdit v2.13.2

This update to [GravityEdit](https://www.gravitykit.com/products/gravityedit/) fixes [inline editing](https://www.gravitykit.com/docs/gravityedit/inline-edit-enable-editing/) of Drop Down fields with placeholder text on the Gravity Forms Entries screen. The placeholder showed more than once, adding one more copy on each row down the list.

## GravityExport v1.18.1

This update to [GravityExport](https://www.gravitykit.com/products/gravityexport/) lets other plugins allow or refuse [secured](https://www.gravitykit.com/docs/gravityexport/restricting-file-access-in-gravityexport-gravityexport-lite/) GravityExport Filters download URLs for a given feed and user, using the `gk/gravityexport/download/can-download` filter. This works the same way as for GravityExport Lite download URLs and requires GravityExport Lite 2.7.6 or newer.

## GravityExport Lite v2.7.6

This update to [GravityExport Lite](https://www.gravitykit.com/products/gravityexport-lite/) fixes how Repeater fields export. Values could appear under the wrong column, values from two rows could look like one row, and the Repeater field was offered as a sort field even though sorting by it did nothing.

The "Enable download URL" button and the "Copied!" label on a form's GravityExport Lite settings tab now show in the site's language.

Developer updates in v2.7.6- Added the `gk/gravityexport/download/can-download` filter to allow or refuse a [secured](https://www.gravitykit.com/docs/gravityexport/restricting-file-access-in-gravityexport-gravityexport-lite/) GravityExport Lite download URL for a given feed and user. By default, only users with the `gravityforms_export_entries` capability can download secured exports. Public download URLs are not affected.

## GravityImport v2.12.6

This update to [GravityImport](https://www.gravitykit.com/products/gravityimport/) improves security when [importing List fields](https://www.gravitykit.com/docs/gravityimport/importing-list-fields/), and we recommend updating.

## GravityMath v2.14.0

This update to [GravityMath](https://www.gravitykit.com/products/gravitymath/) brings live totals to DataTables Views. Totals that use `[gravitymath scope="visible"]` in a [Custom Content widget](https://www.gravitykit.com/docs/gravitymath/calculations-in-gravityview/) now add up the rows on screen and update as visitors search, sort, or page through the table. This needs DataTables 3.15.0 or newer. To keep hidden values private, totals of fields the table doesn't show as columns don't update this way.

![A DataTables View of home listings on its second page, with a summary above the table showing the number of homes, average size and total asking price for the 10 rows on screen](https://www.gravitykit.com/wp-content/uploads/2026/10/gravitymath-datatables-visible-totals-usd-2026-10-29-1024x624.png)
On PHP 8, a formula that can't be calculated, such as `max(1,2)` or `max(5)`, now returns an empty result instead of crashing the whole page
Totals are also right again on sites that write decimals with a comma, such as sites in German or stores using the euro. Totals of prices with cents, and of decimal choice values, had come out 10 or 100 times too large.

More fixes and developer updates in v2.14.0Several field types showed the wrong totals. In Views, including Ajax (Server-side) DataTables Views, [totals and footer calculations](https://www.gravitykit.com/docs/gravitymath/how-to-add-field-calculations-to-the-table-footer/) of [Product](https://www.gravitykit.com/docs/gravitymath/pricing-fields-calculation/) (Single, Hidden, and Calculation), Option, Checkbox, and Consent fields showed 0 when the merge tag had no input ID, such as `{Widget:1:sum}`. Product fields now add up their prices, as `scope="form"` does. View totals of [scored Survey (Likert) fields](https://www.gravitykit.com/docs/gravitymath/calculating-survey-fields-totals-based-on-their-scoring/) with multiple rows now show the right result, both for the whole field and for each row.

With `scope="form"`, Option field totals no longer show 0, and Consent field totals leave out the consent text and form revision saved with the entry. Averages, minimums, maximums, and counts of Checkbox fields, and of other fields with multiple inputs, now count each entry instead of each checked choice.

Other currency and number fixes:

- Formulas read prices correctly in currencies that format numbers differently from the site's language; on an English site, "R$ 2,50" was read as 250 and "1.234,56 €" as 1.23456
- [Calculation fields](https://www.gravitykit.com/docs/gravitymath/gravitymath-calculation-field/) read prices with a dot for thousands and a comma for decimals, such as "R$ 1.234,56", as decimal numbers instead of whole numbers
- Formulas work when a currency symbol starting with a capital letter (such as "R$", "CHF", "HK$", or "Kč") appears anywhere but at the start
- Formulas and footer totals work on sites with a custom currency whose symbol contains "/", such as "S/" for the Peruvian sol
- `scope="form"` totals of decimal choice values keep their decimals
- View totals of Shipping and Option fields no longer include digits from choice labels, such as the 2 in "Zone 2"
- With `scope="entry"` and an entry ID, prices are read in the currency the entry was saved in

DataTables View fixes:

- The [Math Summary widget](https://www.gravitykit.com/docs/gravitymath/how-to-display-summaries-using-gvmath/) shows results again in Ajax (Server-side) tables with DataTables 3.14.0 or newer
- In Ajax (Server-side) tables with footer calculations, [footer field filters](https://www.gravitykit.com/docs/gravityview-pro/datatables/datatables-field-filters/) appear, the footer label of a pinned column stays pinned, and hiding a column with the Columns button hides its footer cells
- In Preloaded (Client-side) tables, footer calculations update after a search with the Search Bar widget (requires DataTables 3.15.0 or newer), and Math Summary widgets set to "Entries shown on the page" update after paging, sorting, or searching
- A View placed below a Preloaded (Client-side) DataTables View calculates its View (Visible) footer results from its own entries
- With two DataTables Views on the same page, each Math Summary widget shows its own table's results, and each table keeps its own Calculation Row Position setting
- In tables set to "Hide View data until search is performed", Math Summary widgets showing all View entries no longer send their totals to the browser before a search
- Preloaded (Client-side) tables no longer show a PHP warning when a column's footer calculation has no saved Decimals setting

A file in the bundled math library that failed PHP compatibility checks on PHP 8.1.2 has been removed.

**Developer updates**

- Added filters for live `scope="visible"` totals in DataTables Views: 
    - `gk/gravitymath/datatables/visible/live` to turn them off (default: `true`)
    - `gk/gravitymath/datatables/visible/max-tokens` to set how many totals a table updates on each draw (default: `20`)
    - `gk/gravitymath/datatables/visible/hidden-fields` to let totals read fields the table doesn't show as columns (default: `false`)
    - `gk/gravitymath/datatables/visible/max-rows` to set how many rows a Preloaded (Client-side) table's totals cover (default: `1000`, or the largest option in the View's rows-per-page menu if higher)

## GravitySearch v1.3.1

This update to [GravitySearch](https://www.gravitykit.com/products/gravitysearch/) improves security when searching entries on the [Global Search](https://www.gravitykit.com/docs/gravitysearch/getting-started-with-gravitysearch/) page, and we recommend updating. It also fixes PHP 8.4 deprecation notices from bundled libraries.

## GravityView v3.10.0

This update to [GravityView](https://www.gravitykit.com/products/gravityview/) adds a Remove Data option. It permanently deletes GravityView's data (entry approval statuses, the entry notes GravityView added, and GravityView settings) and resets [user role permissions](https://www.gravitykit.com/docs/gravityview/roles-and-capabilities/gravityview-capabilities/) to their defaults, while keeping your Views. You can find it in three places:

- The new Remove Data section of GravityView's settings
- Manage Your Kit
- A new dialog shown when you deactivate GravityView on the Plugins page, which replaces the browser's confirmation box and still lists the products that need GravityView

![The Deactivate GravityView dialog, listing the add-ons that need GravityView, what removing all GravityView data deletes, and the Remove all data, Cancel and Deactivate buttons](https://www.gravitykit.com/wp-content/uploads/2026/10/gravityview-deactivation-dialog-remove-data-2026-10-29-1024x792.png)
*To delete the Views themselves, use the separate [Delete Views](https://www.gravitykit.com/docs/gravityview/advanced/how-to-delete-the-gravityview-data-when-the-plugin-is-uninstalled/) section*
A new [`:decimals` merge tag modifier](https://www.gravitykit.com/docs/gravityview/merge-tags/merge-tag-modifiers/) rounds a Number field to a set number of decimal places and keeps the field's number format. For a Number field using the Currency format, `{Amount:3:decimals:0}` shows `$4,003` instead of `$4,003.00`.

Switching a View's form now keeps the selected layouts and fills them with the new form's fields, instead of leaving them empty until a layout is chosen again. With [Prevent Direct Access](https://www.gravitykit.com/docs/gravityview/view-settings/the-direct-access-setting/) on, Administrators and Editors can now open a View's single entries at the View's own URL, along with a notice that visitors can see those entries only on pages that embed the View.

This release also fixes two security issues, and we recommend updating. Views with Prevent Direct Access on, embedded on pages hidden by a membership plugin, could load entries or show entry values in the page title to visitors without access to the page; for DataTables Views, the fix needs DataTables 3.14.2 or newer. The Single Entry Title also showed entry values above the password form on password-protected Views and pages.

Views that show Checkbox, Radio Buttons, Drop Down, or Multi Select fields as labels load quickly again with GP Populate Anything (Gravity Wiz) active, after slowing down in 3.6.0.

More fixes and developer updates in v3.10.0In the View editor, the View Type picker appears every time after choosing a form, and switching a View's form no longer leaves the old form's fields on every layout tab except the one changed last.

Two fixes apply to Views managed through the [GravityKit MCP](https://www.gravitykit.com/mcp/): moving a search field no longer removes it from the Search Bar widget in some Views, and saving View settings keeps text that looks like a number as text, so a label such as "0123" keeps its leading zero.

Other fixes:

- Edit Entry no longer triggers a deprecation notice for [multi-page forms](https://www.gravitykit.com/docs/gravityview/edit-entry/edit-entry-multi-page-forms/) with progress steps on Gravity Forms 3.2.1 and newer
- A View embedded in another View no longer makes the outer View use its "[Hide View data until search is performed](https://www.gravitykit.com/docs/gravityview/search/how-to-hide-results-and-only-display-them-if-a-search-is-performed/)" setting

**Developer updates**

- Renamed the class of the bulk actions widget; the old class name still works.
- Deprecated these methods, which now do nothing because each feature registers itself: `GravityView_Change_Entry_Creator::register_created_by_input()`, `GravityView_Theme_Hooks_Elegant_Themes::load_divi_modules()`, `GravityView_Theme_Hooks_Elementor::register_widgets()`, `GravityView_Theme_Hooks_Elementor::maybe_enqueue_editor_assets()`, `GravityView_Theme_Hooks_Elementor::register_widget_icons()`, and `ViewRemovalSettings::add_component_script()`.
- Deprecated `GravityView_Plugin_Hooks_Gravity_Flow::add_workflow_search_fields()` and `GravityView_Widget_Search::add_form_search_fields()`, which now return the fields they receive unchanged. To change the Search Bar widget's fields, use the `gk/gravityview/search/available-fields` filter after priority 0.
- Added filters: 
    - `gk/gravityview/shortcode/gv-entry-link/url`, `gk/gravityview/shortcode/gv-entry-link/anchor-text`, `gk/gravityview/shortcode/gv-entry-link/link-atts`, `gk/gravityview/shortcode/gv-entry-link/has-cap`, and `gk/gravityview/shortcode/gv-entry-link/lightbox` for the `[gv_entry_link]` shortcode
    - `gk/gravityview/shortcode/gventry/edit-output` and `gk/gravityview/oembed/edit-output` for the Edit Entry form shown by `[gventry edit="1"]` and by oEmbed
    - `gk/gravityview/lightbox/entry/link-url`, `gk/gravityview/lightbox/entry/render-type`, and `gk/gravityview/lightbox/entry/action-response` for entries opened in the lightbox
    - `gk/gravityview/admin-views/widget/sanitize` and `gk/gravityview/admin-views/widget/can-duplicate` for widgets in the View editor
    - `gk/gravityview/admin-views/preset-fields/zones` and `gk/gravityview/admin-views/template-switch/transfer` to let a layout place default fields, and fields moved from another layout, in its own zones
    - `gk/gravityview/search/advanced-fields-section` and `gk/gravityview/search/locked-fields` for the Search Bar widget settings
    - `gk/gravityview/rest/inspector/dry-run`

- Added the `gk/gravityview/renderer/notices` action, which fires after a View's built-in notices.
- Added the `GV\View::can_render_entry()` method to check whether a View can show an entry on its Single Entry page. It returns `true` or a `WP_Error` with the reason.

## GravityView - DataTables Layout v3.15.0

This update to the [DataTables Layout](https://www.gravitykit.com/products/datatables/) works with GravityMath 2.14.0 or newer to give `scope="visible"` totals in Custom Content widgets the rows on screen. The totals update as visitors page, sort, search, or change the number of rows shown.

Tables capped at 200 entries since the 3.14.0 update show every entry again. The cap affected tables set to show all entries, some searches, Preloaded (Client-side) tables with [Auto-Update](https://www.gravitykit.com/docs/gravityview-pro/datatables/enable-auto-update-datatables-setting/) after their first refresh, and the Copy, CSV, Excel, PDF, and Print [buttons](https://www.gravitykit.com/docs/gravityview-pro/datatables/datatables-buttons/). If you added a snippet that raises the limit with the `gk/gravityview/view/refresh/max-page-size` filter, remove it: tables now stop at the value it sets.

More fixes and developer updates in v3.15.0Sequence fields no longer restart at 1 on every page of Ajax (Server-side) tables, a problem since 3.14.0. Ajax (Server-side) tables that skip entries, with the "Offset entries starting from" setting or the `offset` shortcode attribute, leave the skipped entries out of the "Showing 1 to 25 of …" count and no longer end with empty pages.

Preloaded (Client-side) tables opened from an address that includes a page number, such as a bookmark or another View's page links on the same page, show their entries instead of "This search returned no results." [Clear Filters](https://www.gravitykit.com/docs/gravityview-pro/datatables/datatables-field-filters/) now also resets the filters of hidden columns.

GravityMath footer calculation fixes:

- In Preloaded (Client-side) tables, calculations set to View (Visible) show the right totals and update when searching, sorting, or paging
- In Preloaded (Client-side) tables, calculations update after a search with the Search Bar widget (requires GravityMath 2.14.0 or newer)
- Calculations show their totals when Field Filters are in the footer and Calculation Row Position is "Above the table footer"; the filters had replaced them
- With [Responsive](https://www.gravitykit.com/docs/gravityview-pro/datatables/responsive-datatables/) on, calculations for hidden columns no longer stay on screen past the edge of the table

**Developer updates**

- Added the `gk/gravityview/datatables/hide-until-searched` filter to control whether a table returns no entries when "Hide View data until search is performed" is on and no search has been made.
- Added the `gk/gravityview/datatables/output/render-rows` filter to control whether a table's data request builds the table rows.
- Added the `window.gvDataTablesApi` JavaScript API for integrations: `sideRequest()` queries a table's data endpoint without redrawing the table, and `ownedTables()` finds the tables that belong to a View embed.
- DataTables Views now skip the 200-row limit on GravityView's `/refresh` endpoint but still apply the `gk/gravityview/view/refresh/max-page-size` filter.
- Export requests for Views that load rows through GravityView's `/refresh` endpoint now include the parameters that `preXhr.dt` listeners add, as admin-ajax requests already did. If they would push the request URL past 6,000 characters, they are dropped and `settings._gvExtrasDropped` records the affected draw.

## GravityView - Featured Entries v2.1.2

This update to [Featured Entries](https://www.gravitykit.com/products/featured-entries/) now requires WordPress 6.5 or newer. It also fixes Views that use the `offset` shortcode attribute with "Move Featured Entries to Top" on, which left out [featured entries](https://www.gravitykit.com/docs/gravityview-pro/featured-entries/how-do-i-feature-an-entry/) and showed entries the offset should have skipped.

## GravityView - Multiple Forms v1.0.2

This update to [Multiple Forms](https://www.gravitykit.com/products/multiple-forms/) fixes [Advanced Filter conditions on joined forms](https://www.gravitykit.com/docs/gravityview-pro/advanced-filter/using-advanced-filtering-with-multiple-forms/) that have a Name or Address field. Selecting the joined form still listed the main form's fields, and saved conditions on its Name or Address fields showed as "no longer available".

## GravityView - Social Sharing & SEO v3.5.0

This update to [Social Sharing & SEO](https://www.gravitykit.com/products/social-sharing-seo/), released on October 27, fixes a security issue on Single Entry pages that could show details of entries a visitor is not allowed to view, and we recommend updating. It now requires WordPress 6.5, PHP 7.4, and GravityView 2.29 or newer.

Sitemaps also stop listing Views that have "Prevent Direct Access" on. This fix needs GravityView 3.4.0 or newer; [excluding Views from XML sitemaps](https://www.gravitykit.com/docs/gravityview-pro/social-sharing-seo/excluding-views-from-xml-sitemaps/) covers the other ways to keep a View out.

Developer updates in v3.5.0- `gravityview_social_get_title()` now returns the title it was passed when the requested entry is not shown by the View passed to it (or by the View GravityView shows on the page when none is passed).
- `gravityview_social_get_permalink()` now returns the link it was passed on a Single Entry page whose View does not show the entry.
- Added `gravityview_social_get_entry_view( $view = null )`, which returns the View GravityView shows on the page when it shows the requested entry, or `null`. A page with several Views needs `?gvid=` to pick one, as with GravityView's Single Entry Title.
- Added `gravityview_social_can_render_entry( $view, $entry )`, which uses GravityView's `GV\View::can_render_entry()` when available.

## How to update

We recommend keeping all your GravityKit products up to date, so they stay compatible with each other and you get every new feature and fix, security patches included. You can update them from your WordPress dashboard:

- In your WordPress dashboard, hover over the **GravityKit** menu and click **Manage Your Kit**.
- Scroll past your licenses to the list of products, then click the **Update Available** filter to see the products with a new version. Their version numbers show in red.
- Click **Update** on each product.

Updates need an active license on the site.

For the full guide, read [installing, activating, and updating GravityKit plugins](https://www.gravitykit.com/docs/general-help/downloads/installing-activating-and-updating-gravitykit-plugins/).