v4.5.21 release

Release date: May 20, 2024


v4.5.21 had three improvements and 27 bug fixes.

Significant improvements

  • Added support for MySQL 8. See "Breaking changes," below.
  • Improved keyboard navigation inside a reference field's list of assets. Specifically, after pressing the right arrow key to focus on the favorite icon star_border, pressing the up/down, escape, and tab keys now have expected behaviors.
  • Added the query parameter _callers to URLs to display levels in a stack trace. For example, with _callers=10, the profiler provides 10 levels of stack trace.

Significant defects addressed

  • Corrected an issue preventing a border from appearing around the Recent Searches widget when tabbing through the search panel.
  • Corrected an issue causing loss of context in the search panel after clicking refresh. For example, clicking search in the Users widget opens the search panel with filters applicable for users. Clicking refresh removed those user-specific filters.
  • Corrected an issue preventing expected operation of the annotation @Ignored(false).
  • Corrected an issue causing incorrect layout of the preview pane.
  • Corrected an issue preventing the typing of an HTML hex code in the color picker.
  • Corrected an issue preventing editing text in the rich-text editor when entering full-screen mode with the preview pane open.
  • Corrected an issue causing incorrect layout of the warning messages appearing under search fields in the left rail. For example, when selecting menu > Content Templates, if there are no content templates, the warning message No matching items was not laid out correctly.
  • Corrected an issue throwing an error in The Shelf. Specifically, after saving a search for an external type (such as YouTube Video), opening The Shelf and selecting Recent Activity > Saved searches threw a NullPointerException.
  • Corrected an issue disabling the Format menu when an X (formerly Twitter) post is embedded in the rich-text editor.
  • Corrected an issue preventing population of the Suggestions widget when both annotations @ToolUi.Suggestions and @Where are present on a Set<E> field. See "Breaking changes," below.
  • Corrected an issue throwing JavaScript errors when clicking edit to open the Edit Post widget in an asset's Conversation cluster.
  • Corrected an issue causing cluster labels to display on two lines when a validation error occurs inside that cluster.
  • Corrected an issue throwing a NullPointerException in The Shelf when one of The Shelf's labels are null.
  • Corrected an issue causing user sessions to unexpectedly end.
  • Corrected an issue preventing an asset's state to update if a Set field has dynamic placeholder text.
  • Corrected an issue incorrectly assembling a URL after clicking help to open a field's developer text.
  • Corrected an issue in which an impersonated editor becomes the active editor. For example, Adam impersonates Olivia. When Adam clicks Stop Impersonating, Olivia is now the active editor instead of Adam.
  • Accessibility
    • Ensured focus is applied to fields associated with the add_circle_outline control. For example, when adding tags to an article, clicking add_circle_outline ensures the focus moves to the newly opened field.
    • Ensured focus is applied to fields associated with the edit and Back controls. For example, in an article, clicking edit to edit a tag opens an Edit Tag form and applies focus to the Display Name field; clicking Back applies focus to the originating tag field.
    • Ensured focus is applied to a subsequent control after clicking more_horiz. For example, in the search panel, clicking more_horiz applies focus to the first item in the subsequent popup menu.
    • Ensured the order of screen reader announcements matches the visual layout of the content edit form.
  • Corrected an issue causing the preview pane's width to equal the content edit form's width on initial load.
  • Corrected an issue preventing preview-to-edit containers from rendering fields correctly when those fields do not have a valid preview.
  • Corrected an issue causing a phrase in the search field that was surrounded in quotation marks to ignore all filters and return all assets. For example, searching for "cms workflow" returned all assets, not just those identifiable by the phrase cms workflow.
  • Corrected an issue preventing updates to scheduled revisions from being saved. For example, an editor created a new revision of a homepage, and added a module to the contents. The editor then scheduled this revision. Subsequently, the editor removed a module from the scheduled homepage's contents, and scheduled this new revision. The removed module still appeared. See "Breaking changes," below.
  • Corrected an issue that caused the method SegmentationDatabase#personalize to trigger a large number of extraneous reference resolves.
  • Corrected an issue that did not account for the Zip Slip vulnerability. A security check now exists to detect and avoid this vulnerability.
  • Corrected an issue preventing rCDA schema generation when a field's internal name has a prefix containing a dash. For example, a prefix declared as String PREFIX = "brightspot.custom-components." prevented schema generation.

Breaking changes

  • The behavior for ToolUi#isEffectivelySuggestions has changed since it no longer automatically returns false if there is a field predicate present.
  • Connections to MySQL 8 may not function with an existing dataset due to the following reasons:
    • Upgrading from MySQL 5.6 to 8 is not supported.
    • The UIDs between two images differ.
    • Passwords need to be updated to conform to MySQL 8's caching_sha2_password authentication plugin. See Caching SHA-2 Pluggable Authentication.
  • In the class com.psddev.cms.db.Draft:
    • The method void update(Map, Object, Map, boolean) has been removed.
    • The method void update(Map, Object) is still available.
Our robust, flexible Design System provides hundreds of pre-built components you can use to build the presentation layer of your dreams.

Asset types
Module types
Page types
Brightspot is packaged with content types that get you up and running in a matter of days, including assets, modules and landing pages.

Content types
Modules
Landing pages
Everything you need to know when creating, managing, and administering content within Brightspot CMS.

Dashboards
Publishing
Workflows
Admin configurations
A guide for installing, supporting, extending, modifying and administering code on the Brightspot platform.

Field types
Content modeling
Rich-text elements
Images
A guide to configuring Brightspot's library of integrations, including pre-built options and developer-configured extensions.

Google Analytics
Shopify
Apple News