v4.7.12 release

Release date: March 19, 2024


v4.7.12 had 27 improvements, one new feature, and 37 bug fixes.

Significant new feature

  • Hovering over an image in the preview pane now displays the image's crop name and size.

Significant improvements

  • Refactored classes in the package com.psddev.translation (and subpackages) to facilitate integration with future translation services.
  • A role with publish override permission now sees read-only workflow statuses to which that role does not have permission. For example, an article has remaining statuses Review, Proofread, and Publish. An editor has permission only to publish the article using Publish Override. When the editor opens the Workflow widget, the statuses Review and Proofread are read-only labels, giving the editor an indication that clicking Publish Override skips those two statuses.
  • Added a permission for allowing editors to restore an asset from archive to live. This setting prevents an editor without this permission to publish from effectively publishing an archived asset.
  • Moved the permission for Manage Reports from Additional Permissions to UI.
  • Removed GuideField.js as its features were implemented in TypeScript.
  • Integration tests:
    • Added integration tests for sticky search.
    • Added integration tests for content reporting.
    • Added integration tests for Playwright 1.41.2.
    • Added integration tests for content template bulk editing.
    • Added integration test for content edit forms that appear when clicking the edit icon edit.
    • Added integration tests for paging, a dependency for content template bulk editing.
  • Content reporting:
    • Improved error handling and reporting.
    • Added ability to select individual options in the New Report widget, Data Supplier > Content Query > Display Fields.
    • In the Data Supplier field, the Top Content option is hidden if there are no corresponding applicable values.
    • Enhanced the styling of the close button that appears after creating a report.
    • Added ability to track report configurations.
    • Added option to filter contents of the dashboard's Reports widget by all users or by current user.
  • Embedded forms now have the same background shading in the header when the form is collapsed. Previously, when an embedded form was collapsed, the header was lost the background shading.
  • Improved accessibility and usability of the rich-text editor's find/replace toolbar.
  • The internal precision of an asset's scheduled publication date has been reduced to minutes, reflecting what is visible in the date picker. (Previously the precision was stored at the selected date:hour:minute, and additional seconds and milliseconds were included based on the time the editor clicked Set in the date picker.)
  • In the Revisions widget, a clearer presentation is now available for revisions by audience.
  • A setting is now available to ensure the Name field in the Name Revision widget is required.
  • Updated Gradle to v8.6.
  • Reduced build times in GitHub Actions.
  • Refactored code to avoid false positives in Sonar checks.
  • Upgraded Playwright to 1.41.2.
  • Improved performance of the References tab in the Content Type widget by implementing DataCache, thereby avoiding unnecessary Query and recursive reference lookups. See "Breaking changes," below.

Significant defects addressed

  • Corrected an issue preventing closing of a Quick View widget after clicking refresh refresh or changing search filters.
  • Corrected an issue throwing a NullPointerException when attempting to create a content report from search results.
  • Corrected an issue throwing a java.sql.SQLException by upgrading the MySQL Connector/J to 8.0.23 or higher in Tomcat images.
  • Corrected an issue causing the method ReportStorage#createAccessLink to directly download objects instead of rendering download links.
  • Corrected an issue preventing correct rendering of fields of type Set in content edit forms.
  • Corrected an issue causing the Quick View icon info and associated widget to appear in the search panel's board view for content types not configured for quick view.
  • Corrected an issue throwing TestAbortedException errors during integration testing of the Content Templates dashboard widget.
  • Corrected an issue causing the search panel's hierarchy view to always display both tags and sections even when filtering on only one of them.
  • Corrected an issue throwing an Invalid advanced query message in the search panel's board view.
  • Corrected an issue preventing display of a material icon in the Icon field of the New Content Type widget.
  • Corrected an issue preventing proper update of default placeholder text. For example, a Byline field's default placeholder text is an asset's author. Deleting the author from the asset did not remove the author from the Byline field.
  • Corrected an issue preventing display of workflow statuses in various selection fields (other than the standard statuses Draft, Published, Archived, and Revision).
  • Corrected an issue causing incorrect sequencing as specified in the @ToolUi.FieldDisplayOrder annotations when that annotation is used in class T and also used in class Alternation<T>.
  • Corrected an issue causing copied dashboards to display the original dashboard's headings. For example, Sue creates Dashboard A has a widget named Sue's Reports. Sue copied the dashboard to Dashboard B, and renamed the widget to Sam's reports. When using Dashboard B, the widget Sue's Reports remained.
  • Corrected an issue preventing recently used modules from appearing in the module picker's Recently Used list.
  • Corrected an issue causing incorrect text display as specified in the @Recordable.DisplayName annotations when that annotation is used in class T and also used in class Alternation<T>.
  • Corrected an issue causing incorrect application of recordable annotations to modified and target classes. For example, applying the @Recordable.Embedded annotation to Modification<T> embedded both class Modification<T> and class T in a parent class.
  • Corrected an issue preventing an option from being marked as a favorite in drop-down lists.
  • Corrected an issue causing delays of up to five minutes in cache replication.
  • Corrected an issue preventing correct sorting of users in the Search Tool Users widget.
  • Corrected an issue causing delays in rendering large tables in the rich-text editor.
  • Corrected an issue preventing the closing of widgets when pressing Escape. This behavior occurred when a selection field (such as Any Content Type in the search panel) had focus.
  • Corrected an issue allowing possibly excessive scopes in the Google Drive integration.
  • Corrected an issue causing multiple selections to be cleared. For example, an editor selects two options in a selection field, and then types in the field to locate additional options. After typing in the field, the previous two selections are lost.
  • Corrected an issue preventing bulk-uploaded images inside a parent asset from being published when the parent asset is published. For example, in a new article, an editor inserts a gallery in the rich-text editor, and bulk uploads several images into the gallery. Publishing the article did not simultaneously publish the uploaded images.
  • Corrected an issue preventing the method RtcEventUpdateNotifier#onChange from generating NullPointerException errors.
  • Corrected an issue causing case-sensitive sorting of workflow statuses in the Workflow widget. For example, an editor creates an asset, and then opens the Workflow widget. The available statuses were sorted A–Z and then a–z.
  • Corrected an issue causing the rich-text editor to mark correctly spelled words as incorrect, and incorrectly spelled words as correct.
  • Corrected an issue causing clusters with only hidden fields to appear as expandable ( keyboard_arrow_down control) or collapsible (keyboard_arrow_up control).
  • Corrected an issue returning a Service Unavailable status when multiple editors are searching for assets through the search panel.
  • Corrected an issue causing the React Developer Tools extension in Chrome to throw extraneous errors to the browser's console.
  • Corrected an issue throwing a NullPointerException when selecting several assets in search results and then clicking more_horiz to open the search actions menu.
  • Accessibility:
    • Corrected announcement for AI chat icon.
    • Added labels, descriptive text, and announcements to fields as required.
    • Corrected inconsistent field labels and screen announcements.
    • Improved keyboard accessibility and announcements for the image editor.
    • Recast duplicate <h1> headings in various widgets and forms.

Breaking changes

Subclasses of com.psddev.cms.type.Item need to implement ItemContainer to pick up any possible ReferenceField usages in the References tab.

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