Back to GravityBoard
GravityBoard changelog
Release notes for every version we have on record, newest first.
Latest 1.5.0 · 24 Sep 2026
15 versions
Since Jun 2025
2026 8 versions
1.5.0 Latest 24 Sep 2026 2 new1 improved1 fixed1 security2 removed57 changed
New
- Card notes no longer show images loaded from other sites. Such an image could report the IP address and browser of everyone who read the note to whoever added it.
- New filters:
Improved
- Boards created by an import or MCP ignored the feed defaults until manually updated: nobody could be assigned, @mentions listed nobody, and only administrators had access.
Fixed
- A board whose lane field has no choices now guides users how to fix instead of showing an empty space.
Security
- This update makes boards easier to use with a keyboard and screen reader, keeps card saves from changing unmodified fields, and fixes issues with attachments, mention emails and large boards. It also improves security.
Removed
- Tags could not be added or removed with the keyboard
- Feed::DEFAULT_DARK_TEXT_COLOR and Feed::DEFAULT_LIGHT_TEXT_COLOR are deprecated in favor of the same constants on GravityKitGravityBoardIntegrationsEntryTags.
Changed
- Large boards render faster: cards that are scrolled out of view in a lane are drawn when they come into view.
- A board holding more cards than it can show now says how many of them it is showing, and sets that number by the server's available memory.
- Non-editable fields are shown read-only in the card.
- Conditional logic in the board settings works better with a keyboard and screen reader.
- Saving a card changed fields nobody edited:
- A title or description containing characters such as & or ' was rewritten
- Assignees were cleared on boards with assignees turned off
- Tags were cleared on boards with Entry Tags turned off, or while the Entry Tags plugin was deactivated
- A field holding 0 was shown as blank and saved blank
- Editing a Label mapped to the same field as the lanes moved the card without the board's lane-change notifications.
- Saving only a card's assignees failed on PHP 8 and left an "unsaved changes" warning. On PHP 7 it did not send "Card Edited" notifications.
- The card editor:
- An optional drop down could not be set back to empty
- A radio field showed no choice selected when its stored value was a number
- The due date could not be set with the keyboard, and it was shown in month/day order even on sites that use day/month
- Saving a note without changing its text showed an error
- A file dropped on an existing card was uploaded only with the separate Upload Files button.
- Attachments:
- The user who uploaded attachemnts was shown as "User #" and a number instead of by name
- Uploading a file larger than the server allows showed "No file uploaded." or another unclear message. Such a file is now refused as soon as it is picked, with the maximum upload size
- Deleting an attachment required "Who Can Add Attachments", and without it the attachment stayed listed after its file was deleted
- Deleting an attachment now also requires permission to view attachments, and a refused delete says which permission is missing.
- Mention emails:
- Turning off "Enable Mention Notifications" did not stop them
- Boards created by an import or another plugin did not send them
- A note mentioning several people sent each of them the email written for the first person, with that person's links. Each person now gets their own.
- Assignee merge tags such as {gravityboard_assignees:names} showed names containing characters such as & incorrectly.
- Keyboard and screen reader use:
- Shortcuts such as "?" and "/" did not work until the board had been clicked
- Arrow keys and J/K did not move between cards
- The card menu ignored the arrow keys, Home and End, and closing it with Escape lost your place
- "/" left focus on the filter panel's Close button, and F did not move focus into the fullscreen board
- Enter or Space on a vote button opened the card instead of voting
- Space did not start renaming a lane
- Lane titles, menu items, link buttons and the Tags field showed no focus outline
- Screen readers heard "1 cards" and "1 Notes", heard nothing for a card's description icon, and could not tell which note an Edit or Delete button belonged to.
- Lanes and cards:
- Cards whose lane value matched no lane appeared in an unnamed lane whose actions did not work. They now appear in a lane named "Not set"
- A new lane given the name of a renamed lane shared its cards
- A new card could take the same position as another card, and the two swapped places after a reload
- The drop indicator could flicker while dragging a card over another lane.
- Copying the URL of a board filtered by "No assignees" or "No label" opened a different filter.
- A card's Activity list did not load its notes on sites using Plain permalinks in WordPress.
- The admin board screen told administrators they had no permission to view a board that was switched off.
- Conditional logic on product prices matched the wrong entries on sites whose currency uses a comma for decimals or puts the symbol first.
- Opening or closing a date picker in conditional logic scrolled the page.
- The minimum required WordPress version is now 6.5 and the minimum PHP version is 7.4.
- Foundation to version 1.33.0.
- Gk/gravityboard/notes/allowed-html sets the HTML a card note may contain. Add img back to allow images in notes.
- Gk/gravityboard/data/max-entries sets how many entries a board renders. It receives the cap the server can afford and the feed. The default is set by the request's memory limit, between 250 and 1,000 cards.
- Gk/gravityboard/data/pagination changes the pagination data the cards endpoint returns: total, per_page, offset, count and has_more.
- Gk/gravityboard/renderer/skip-offscreen-cards turns off drawing cards only when they scroll into view. Safari's find-in-page does not match text in a card that has not been drawn.
- Gk/gravityboard/card/writable-fields lists the mapped card fields a card save may write. Removing a key keeps the mapping but stops saves writing that field.
- Gk/gravityboard/card/comparison-value sets the form of a field value used to decide whether a card save changed it. The value written is unaffected.
- Gk/gravityboard/card/self-managed-keys lists card keys an integration fills in itself through gk/gravityboard/card/data, so the card does not also fill them from the entry.
- Gk/gravityboard/feed/field-config changes the editor configuration the board sends for each mapped form field.
- An attachment over the upload size limit is refused with the error code gk_gravityboard_file_too_large.
1.4.5 10 Sep 2026 1 improved2 fixed1 removed14 changed
Improved
- Improved how permissions are enforced when a card is viewed or changed, and when entry notes and attachments are turned off. All users are advised to update.
Fixed
- This update strengthens how board permissions are enforced, improves data handling when creating and updating cards, and fixes notification handling.
- Multiple bugs associated with data loss when editing and creating cards.
Removed
- Notifications set to "Assignee(s) Added", "Assignee(s) Removed" and "Assignee(s) Updated" never sending when a card's assignees changed
Changed
- Checkbox and multiselect fields on a card are now edited with multi-value controls. They previously rendered as a single-choice control.
- Checklist editing not working for users who had the capability, based on board configuration.
- Issues around due dates:
- A card due today showing as "Overdue" too early
- "Due in the next day" matching only cards due today, leaving out tomorrow's
- "Due in the next week" and "Due in the next month" now better cover the periods described.
- Assignee notification issues:
- {gravityboard_assignee_email} and {gravityboard_assignee:display_name} merge tags arriving as literal text.
- Notifications continuing to send after a board's "Trigger Form Notifications" setting was turned off.
- Errors uploading files while creating a new card will keep the form open, making it possible to try again.
- A required checkbox or multiselect field with nothing selected passed validation.
- Pressing Escape while editing a field on a card closed the whole card instead of the field, and in Safari the unsaved-changes prompt could flash and disappear without being answered. Escape now leaves the field and puts the cursor back on it.
- Embedding more than one board on a page would not show anything for the second board. Administrators are now shown a message that only one board can be rendered per page.
- A board whose form has been deleted didn't show a notice.
1.4.4 3 Sep 2026 3 changed
Changed
- This update brings the GravityBoard block up to date with the current WordPress editor, and restores the Active toggle on the All Boards screen.
- The GravityBoard block now previews inside the WordPress editor's iframed canvas, and the editor no longer logs a deprecation warning for it. Pages saved with earlier GravityBoard versions keep working unchanged.
- The Active/Inactive toggle on the All Boards screen displayed as a plain, unstyled button.
1.4.3 27 Aug 2026 1 fixed8 changed
Fixed
- This update fixes boards failing to load on sites that optimize JavaScript, card edits being reported as saved when validation failed, and several display and messaging issues.
Changed
- Boards failing to load on sites that minify JavaScript through a caching or optimization plugin — the board's script and stylesheet now ship as .min files, which those plugins pass through instead of re-minifying and corrupting.
- Editing a card reporting success when a field failed validation, leaving the entry unchanged — the card now marks the fields that need attention.
- Validation messages showing %d in place of the number of fields that need attention when a single field fails.
- Cards showing a choice's stored value instead of its label, so a drop-down, radio button, or checkbox field with separate values now displays "GravityMath" rather than "gravitymath".
- The icon on the board's loading screen appearing to the left of the text instead of centered above it on themes that render SVGs as blocks.
- A "translation loading was triggered too early" notice on WordPress 6.7 and newer, caused by the voting fields loading their translations during plugin bootstrap.
- PATCH gravityboard/v1/boards/{feed_id}/cards/{entry_id} now responds with a 400 and a validation_failed error when a mapped field fails validation, instead of a 200 with a success message.
- Checklist::validate() now returns a WP_Error when the checklist holds an item that is not a ChecklistItem, instead of raising an argument-count error on PHP 8.
1.4.2 4 Jun 2026 1 fixed1 changed
Fixed
- This release fixes an issue where deleting attachments from a card could fail with an invalid file path error on sites with custom upload directories, symlinks, or multisite configurations.
Changed
- Card attachments cannot be deleted when the site's upload directory uses a custom path, lives under a symlink, runs on multisite, or surfaces paths with mixed / and separators.
1.4.1 27 Apr 2026 1 fixed2 changed
Fixed
- This release fixes an issue that prevented boards from loading on the frontend, along with a missing Add Condition button (used to configure conditional logic on a board) in the feed settings.
Changed
- Boards remain stuck on the loading screen and never display their lanes or cards.
- The button to add conditional logic rules is missing from the Advanced tab of the GravityBoard feed settings page.
1.4.0 23 Apr 2026 2 new1 improved1 fixed1 removed16 changed
New
- Card voting: Upvote and downvote buttons on every card let users signal what matters most. Each click adds +1 or -1 to a user's weight on that card, so supporters can stack multiple votes behind the ideas they care about. Optional per-user vote budgets (daily, weekly, monthly, yearly, or all-time) limit how many votes each user has.
- Added gk/gravityboard/permissions/admin-has-full-access filter to control whether administrators bypass all board permission checks. Read the documentation.
Improved
- Enhanced conditional logic:
Fixed
- Let your team or community decide what matters most with GravityBoard Voting! Users upvote and downvote board cards to prioritize feature requests, surface winning ideas, or run polls. Set a vote budget per user, restrict voting to specific lanes, and display voting inside GravityView layouts. This release also improves REST API error handling and conditional logic, fixes a regression affecting...
Removed
- Filters on deleted or missing forms (e.g. when viewing feed settings for a removed form) no longer trigger errors
Changed
- Lane-scoped voting: Enable voting only in the lanes where it makes sense, such as "Ideas" or "Under Review" but not "Done." Cards in restricted lanes show a disabled widget so the vote count remains visible.
- Upvote-only mode: Hide the downvote button entirely for boards where downvoting doesn't belong, such as feature requests or idea boards. Users get a dedicated remove-upvote button to walk their vote back toward zero.
- Voting permissions: New "Who Can Vote on Cards" and "Who Can See Who Voted" settings open voting to a broad audience while keeping voter identities visible only to admins or editors.
- Vote weight and budget indicators: Each card shows a weight badge when a user has stacked multiple votes (up or down), and the vote widget displays how many votes remain in the user's budget so they can pace their support.
- Voters list: Optionally see who voted on a card, with a "(You)" badge next to the current user.
- GravityView integration: Display and collect votes inside GravityView layouts:
- "Entry Voting" field renders the interactive vote widget in any layout
- "Votes Count" field shows a read-only count, sortable in Table layouts
- "Voted By" Advanced Filter targets entries the logged-in user has voted on, for Views like "My Voted Ideas"
- Default View sort by Votes Count, ascending or descending
- Vote counts and remaining budget stay in sync across multiple vote widgets on the same page.
- Notification merge tags: Use {gravityboard_votes:count|average|total|up|down} and {gravityboard_voters:emails} to include vote data and voter email addresses in any Gravity Forms notification. Email every voter when a card moves lanes, surface popularity metrics to subscribers, or build admin digests.
- Shows an error message when the REST API fails to load board data, instead of a silent blank board.
- Empty field values are no longer treated as today's date when using is on, is not on, is before, or is after filters
- Admin-only filters (those suffixed :disabled_admin) no longer error out when applied to multi-value fields.
- Administrators losing access to boards on sites that rely on the gform_full_access capability.
1.3.0 5 Feb 2026 1 improved1 fixed2 changed
Improved
- Support for displaying Entry Tags as color-coded labels on board cards, which can be edited from the card detail view and used to filter the board.
Fixed
- This release adds Gravity Forms Entry Tags support for board cards, fixes date fields showing one day off, and resolves non-admin users not appearing as assignees.
Changed
- Date fields displaying one day off when the WordPress timezone differs from UTC.
- Non-administrator users not appearing as assignees when their roles were selected in board settings.
2025 7 versions
1.2.1 13 Nov 2025 1 new1 fixed4 changed
New
- Added boolean $board_settings[settings][auto_focus] setting to toggle auto-focusing of cards, modifiable via the gk/gravityboard/board-settings filter.
Fixed
- This release improves the GravityBoard experience with better attachment handling, translation fixes, and a new developer setting for board focus.
Changed
- GravityBoard Attachments metabox now appears consistently on all Entry Details pages when GravityBoard feeds exist for the form, providing better context and discoverability.
- Embedded boards scrolling automatically when the page loads.
- Attachments not deleting from the Entry Details page.
- Some translations not loading correctly.
1.2 14 Aug 2025 2 new1 improved1 fixed9 changed
New
- Checklist templates: Added the ability to configure default checklist items that are automatically applied to new entries. Templates can be configured in the Advanced settings tab of each board feed. When multiple feeds are active, their templates are merged sequentially.
- Added gk/gravityboard/checklists/templates-applied - Fires when checklist templates have been applied to an entry, providing the merged collection, entry data, applied feed IDs, form data, and count of items added.
Improved
- Checklist::add_items() - Batch add multiple items to a checklist for improved performance (~50% faster than adding items individually). Validates all items before adding and returns WP_Error if any validation fails.
Fixed
- This release introduces checklist templates, more granular board permissions, developer tools for working with checklists, along with important bug fixes.
Changed
- More granular board permissions: Multiple roles can now be applied to each board permission, allowing for more granular control over who can access and manage boards.
- Conditional logic controlling what cards are displayed is now more powerful, allowing you to add AND/OR groups and powerful filtering options.
- Some checklist items were not deletable or editable.
- Fatal error when trying to access board block settings using an invalid or deleted form ID.
- New Action:
- New Methods:
- ChecklistCollection::flatten() - Combines all checklists in a collection into a single checklist with all items merged sequentially. Returns null if the collection is empty.
- Checklists::get_feed_template() - Retrieve the checklist template configuration from a feed's settings.
- Checklists::parse_template() - Parse checklist template text (one item per line) into a ChecklistCollection object.
1.1.1 4 Jul 2025 5 changed
Changed
- This patch release restores compatibility for older PHP versions and removes warnings in newer ones.
- Boards appeared empty after updating to version 1.1 on sites running PHP 7.4.
- Inconsistencies in date handling for attachments and notes.
- PHP 8.1+ compatibility warnings in the ErrorCollection class.
- Some translation strings were not being handled correctly.
1.1 3 Jul 2025 6 new6 improved17 changed
New
- Added support for checklists with drag-and-drop reordering, progress tracking, and filtering by completion status.
- GravityView Integration: Added "View in GravityView" and "Edit in GravityView" links to cards when a GravityView View is connected to the board.
- Added a screen option to set the number of boards per page in the All Boards page.
- Added "Allow All File Types" setting in the Advanced board settings section to control whether attachment uploads bypass WordPress file type restrictions.
- Added new filters and actions to allow for more flexibility and customization of the checklists feature and GravityView integration. See all available filters and actions.
- Gk/gravityboard/checklists/item/added action to run when a checklist item has been added.
Improved
- Enhanced keyboard accessibility and focus management throughout the interface.
- Improved drag-and-drop experience with better auto-scroll behavior and visual feedback—if you drag a card to the edge of the screen, it will automatically scroll your board to reveal additional lanes.
- Enhanced the Boards Overview page with improved capability management and user experience.
- Improved modal positioning and responsiveness across different screen sizes.
- Gk/gravityboard/checklists/updated action to run when checklists have been updated.
- Gk/gravityboard/checklists/item/updated action to run when a checklist item has been updated.
Changed
- This release introduces checklists in cards, GravityView integration, and major accessibility improvements.
- Displayed unsaved changes warnings when navigating away from a modified card.
- Provided better error handling and validation feedback for form submissions.
- Errors when editing a note after submitting a note.
- Drag-and-drop reordering not saving properly in certain scenarios.
- Keyboard navigation issues when using Tab and Enter keys on interactive elements.
- Modal focus management to ensure proper accessibility behavior.
- Enter key not opening the "View in Gravity Forms" link when focused.
- Board permissions not working correctly for non-admin users when role management plugins were active.
- Layout issues when cards contained many attachments.
- Filters:
- Gk/gravityboard/checklists/export-value filter to allow filtering the export value for checklists.
- Gk/gravityboard/translation-overrides filter to override translations. Read the documentation.
- Gk/gravityboard/board-settings filter to make it easier to add custom settings to the board settings page.
- Gk/gravityboard/card/data filter to allow filtering the card data before being returned from the REST API and rendered in the frontend.
- Actions:
- Gk/gravityboard/checklists/item/deleted action to run when a checklist item has been deleted.
1.0.2 20 Jun 2025 1 new1 improved4 changed
New
- Added notices in the Board Permissions settings to explain when associated settings are disabled.
Improved
- This update improves the user interface for board visibility and permissions while fixing role-based access to feeds.
Changed
- Showed "All Boards" link in the GravityKit menu when the user has permission to access any active boards.
- Only boards the user has permission to access will be listed.
- Feeds not being editable for non-admin users when role management plugins were active.
- Potential fatal error on the All Boards page when no boards were found.
1.0.1 13 Jun 2025 1 changed
Changed
- Error adding GravityBoard scripts to Gravity Forms no-conflict list.
1.0.0 12 Jun 2025 1 changed
Changed
- 🚀 Initial release.
