v4.8.0-rc.2024.3.28 beta release

Release date: April 2, 2024


v4.8.0-rc.2024.3.28 beta release has 34 bug fixes, 28 improvements, and two new features.

Significant new features

  • GraphiQL Explorer:
    • Removed sorting for root fields, nested fields, and input arguments.
    • Restored the sorting logic for interfaces that was previously removed.
  • Hovering over an image in the preview pane now displays the image's crop name and size.

Significant improvements

  • GraphQL:
    • Classes more performant.
    • Expanded query capability.
    • Expanded access to view system.
    • Enabled access to arbitrary Java methods.
    • Added Java code generator.
    • Merged CDA and CMA into a single GCA API.
  • Removed extraneous Auto Awesome icon Magic Button from text fields that do not interact with ChatGPT.
  • In board view, the search panel's current sort field appears in each card. For example, if the search panel is sorted by update date, the update date appears in each asset's card.
  • 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.
  • Migrated the class HttpServletRequest to WebRequest. See "Breaking changes," below.
  • 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.)
  • Refactored classes in the package com.psddev.translation (and subpackages) to facilitate integration with future translation services.
  • A setting is now available to ensure the Name field in the Name Revision widget is required.
  • 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.
  • 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.
  • Integration tests:
    • Added integration tests for paging, a dependency for content template bulk editing.
    • Added integration tests for sticky search.
    • Added integration tests for content reporting.
    • Added integration tests for Playwright 1.41.2.
    • 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.
    • Added ability to track report configurations.

Significant defects addressed

  • 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.
  • 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.
  • 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 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 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 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 closing of a Quick View widget after clicking refresh refresh or changing search filters.
  • 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 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 allowing possibly excessive scopes in the Google Drive integration.
  • 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 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 preventing correct rendering of fields of type Set in content edit forms.
  • Corrected an issue causing the method ReportStorage#createAccessLink to directly download objects instead of rendering download links.
  • 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:
    • 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.
    • Corrected announcement for AI chat icon.
    • Recast duplicate <h1> headings in various widgets and forms.

Breaking changes

  • Regarding the implementation of DataCache, if you created classes extending Item , and those subclasses contain references to other content types, you may need to update those subclasses to implement the new ItemContainer interface.
  • Regarding the migration from HttpServletRequest to WebRequest, implementations of interfaces/abstract classes incorporating HttpServletRequest may experience disruptions in downstream applications. Below are the changed APIs:
    • brightspot.core.requestextras.RequestExtra#matches
    • brightspot.core.requestextras.RequestMatcher#matches
    • brightspot.form.field.captcha.CaptchaProvider#validate
    • brightspot.form.field.FieldProcessor#getPriority
    • brightspot.form.field.FieldProcessor#getValue
    • brightspot.form.field.validate.FieldValidator#validate
    • com.psddev.access.AccessProvider#findAccesses
    • com.psddev.access.AccessProvider#requiresAccess
    • com.psddev.analytics.AnalyticsDataProcessor#modify
    • com.psddev.auth.AuthenticationManager#getCurrentSession
    • com.psddev.auth.social.AbstractAtlassianAuthenticationProvider#createCallbackUrl
    • com.psddev.auth.social.AbstractLinkedInAuthenticationProvider#createCallbackUrl
    • com.psddev.cms.auth.ToolAuthenticator#logIn
    • com.psddev.cms.auth.ToolAuthenticator#onFormPost
    • com.psddev.cms.ui.Components#createObjectLabel
    • com.psddev.segmentation.Target#matches
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