Every recorded version, newest first, with what changed in each one.
Latest 1.5.015 versions
Undated · 15 versions
1.5.0
Latest
40 changes
Changes
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.
🔒 Security
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.
✨ Improved
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.
A board whose lane field has no choices now guides users how to fix instead of showing an empty space.
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
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.
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.
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
Tags could not be added or removed with the keyboard
Space did not start renaming a lane
1.4.5
1 improvement19 changes
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.
Changes
This update strengthens how board permissions are enforced, improves data handling when creating and updating cards, and fixes notification handling.
🔒 Security
✨ Improved
Checkbox and multiselect fields on a card are now edited with multi-value controls. They previously rendered as a single-choice control.
Multiple bugs associated with data loss when editing and creating cards.
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
Notifications set to "Assignee(s) Added", "Assignee(s) Removed" and "Assignee(s) Updated" never sending when a card's assignees changed
`{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
4 changes
Changes
This update brings the GravityBoard block up to date with the current WordPress editor, and restores the Active toggle on the All Boards screen.
✨ Improved
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
10 changes
Changes
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.
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.
💻 Developer Updates
`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
2 changes
Changes
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.
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
3 changes
Changes
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.
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
1 new1 improvement21 changes
New
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
Changes
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 admin board access, and adds an admin-bypass permission filter.
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.
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.
✨ Improved
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
Filters on deleted or missing forms (e.g. when viewing feed settings for a removed form) no longer trigger errors
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.
💻 Developer Updates
1.3.0
4 changes
Changes
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.
Support for displaying [Entry Tags]
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.
1.2.1
1 new7 changes
New
Added boolean `$board_settings[settings][auto_focus]` setting to toggle auto-focusing of cards, modifiable via the `gk/gravityboard/board-settings` filter.
Changes
This release improves the GravityBoard experience with better attachment handling, translation fixes, and a new developer setting for board focus.
✨ Improved
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.
💻 Developer Updates
1.2
3 new12 changes
New
New Action
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.
New Methods
Changes
This release introduces checklist templates, more granular board permissions, developer tools for working with checklists, along with important bug fixes.
[Checklist templates]
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.
✨ Improved
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.
💻 Developer Updates
`ChecklistCollection::flatten` - Combines all checklists in a collection into a single checklist with all items merged sequentially. Returns `null` if the collection is empty.
`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.
`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
5 changes
Changes
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 new4 improvements22 changes
New
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]
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.
Changes
This release introduces [checklists in cards]
[Added support for checklists]
[GravityView Integration]
✨ Improved
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.
💻 Developer Updates
`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.
`gk/gravityboard/checklists/updated` action to run when checklists have been updated.
`gk/gravityboard/checklists/item/added` action to run when a checklist item has been added.
`gk/gravityboard/checklists/item/updated` action to run when a checklist item has been updated.
`gk/gravityboard/checklists/item/deleted` action to run when a checklist item has been deleted.
1.0.2
1 new6 changes
New
Added notices in the Board Permissions settings to explain when associated settings are disabled.
Changes
This update improves the user interface for board visibility and permissions while fixing role-based access to feeds.
✨ Improved
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
1 change
Changes
Error adding GravityBoard scripts to Gravity Forms no-conflict list.
1.0.0
1 change
Changes
🚀 Initial release.
Changelog published by the developer, in their original language.