v4.7.13 release
Release date: May 22, 2024
v4.7.13 had nine improvements and 51 bug fixes.
Significant improvements
- When Solr search data is not cached, Brightspot now searches only the default original database instead of traversing the entire database stack.
- Notifications for the Content Reporting topic have been expanded to filter based on combinations of event, site, and creator as well as combinations of report configuration and event.
- Added a system-wide limit to the number of assets that can be exported from each report in the Reports widget. This limit is configured in the
context.xml
settingbrightspot/contentReporting/reportLimit
. - The task initiated by clicking on Run Report in an Edit Report widget is now asynchronous. Editors no longer experience a UI freeze when the run time is longer than a few seconds. Editors can view the report by clicking the Last Run link or by selecting > Recent Reports in the Edit Report widget.
- Expanded and enhanced integration test APIs.
- Added an integration test for pre- and post-publish actions.
- 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 , 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 rendering of hotspots on images when those hotspots have a
@DisplayName
of anything other thanPin
. - Corrected an issue preventing labels from appearing in hotpsot pins.
- Corrected an issue preventing a deleted watcher from being added again without reopening the View Watchers widget. For example, Adam inadvertently deleted Olivia from an asset's watchers list. The only way Adam could add Olivia back to the list is to reopen the View Watchers widget and then search for and select Olivia.
- Corrected an issue preventing the conversion of a list from basic to advanced. For example, an editor added videos to a basic playlist. When converting the playlist to advanced, the added videos did not appear in the list.
- Corrected an issue causing a filtered search field to become empty after typing a space. For example, in the Authors field, typing
Adam
displayed all the authors starting withAdam
. After typing a space, the list of matching authors was empty. - Corrected an issue causing all Material icons within Brightspot to appear in their solid version even when not selected. For example, the favorite icon always appeared solid even when not toggled on.
- Corrected an issue preventing the publication of a video when the provider was HTML5.
- Corrected an issue causing a hyperlink in the rich-text editor to be applied to all selected characters except the last one.
- Corrected an issue throwing a
NullPointerException
error to appear in a dashboard's Reports widget. - Corrected an issue preventing population of the Suggestions widget when both annotations
@ToolUi.Suggestions
and@Where
are present on aSet<E>
field. See "Breaking changes," below. - Corrected an issue preventing correct styling of the menu to add hotspots.
- Corrected an issue throwing JavaScript errors when clicking to open the Edit Post widget in an asset's Conversation cluster.
- Corrected an issue causing the rich-text editor to accept changes beyond any text actually selected.
- Corrected an issue in which
View ID
appeared in the error messageCredentials and View ID must be populated in order to make requests
while authentication with Google Analytics 4.View ID
was replaced withProperty ID
. - Corrected an issue causing fields of type
java.time.OffsetTime
to be ignored in publication dates. - Corrected an issue preventing an image's Hotspots tab from displaying correctly.
- Corrected an issue preventing an asset's revision URL from being stored when that revision was created.
- Corrected an issue in which an impersonated editor became the active editor. For example, Adam impersonated Olivia. When Adam clicked Stop Impersonating, Olivia became the active editor instead of Adam.
- Corrected an issue preventing admins from saving a header background color at the global level.
- Corrected an issue causing the free text to be erased when changing a content type in the content picker. For example, inside an article, an editor wanted to open the Author field and select an author. The editor typed
Adam
. After changing the content type filter to Author, the free textAdam
disappeared. - Corrected an issue preventing proper closure of the Bulk Workflow widget in the search panel.
- Corrected an issue causing the Publish Override widget to close when tabbing to and pressing enter on the calendar icon .
- Corrected an issue preventing the method
ToolUi#setHidden()
from actually showing or hiding fields and clusters. - Corrected an issue preventing a border from appearing around the Recent Searches widget when tabbing through the search panel.
- 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 phrasecms workflow
. - Corrected an issue causing loss of context in the search panel after clicking . For example, clicking in the Users widget opens the search panel with filters applicable for users. Clicking 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 > 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 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 preventing usage of editorial content types during CloudSQL maintenance.
- Corrected an issue causing the preview pane's width to equal the content edit form's width on initial load.
- 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. - 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 in which the StateWalker class was calling the deprecated
RichTextElement.fromElement(Database db, Element element)
method. The class now callsRichTextElement.fromElement(Recordable parent, Element element)
. - 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 user sessions to unexpectedly end.
- Corrected an issue incorrectly assembling a URL after clicking to open a field's developer text.
- Corrected an issue preventing an asset's state to update if a
Set
field has dynamic placeholder text. - Accessibility
- Ensured focus is applied to fields associated with the control. For example, when adding tags to an article, clicking ensures the focus moves to the newly opened field.
- Ensured focus is applied to fields associated with the and Back controls. For example, in an article, clicking 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 . For example, in the search panel, clicking applies focus to the first item in the subsequent popup menu.
- Added keyboard accessibility to the pagination controls and in the date picker.
- Ensured the order of screen reader announcements matches the visual layout of the content edit form.
Breaking changes
- The behavior for
ToolUi#isEffectivelySuggestions
has changed since it no longer automatically returnsfalse
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.
- The method