v4.8.7 release
Release date: June 12, 2025
v4.8.7 release had one new feature, five improvements, and 39 bug fixes.
Significant new feature
- Added a Show AI Content toggle to the rich-text editor toolbar, enabling users to visually identify and review AI-generated text. AI-generated content is now highlighted in blue when the toggle is on, making it easier to proofread and fact-check. Users can also insert AI content directly at their current cursor location within the editor.
Significant improvements
- Introduced a validation process and Gradle task to enforce UTF-8 encoding for all property files, addressing past issues with character corruption in translations. Project documentation now clearly recommends UTF-8 encoding to ensure consistency and prevent future encoding issues.
- The Reset button in CMS search now fully clears all filters for the selected content type, even when sticky search is enabled.
- Added
onFind
,setupMenuForAria
, andtoggleMenu
functions towindow.BRIGHTSPOT.js
for experimentation from newer Brightspot versions to 4.5.
Significant defects addressed
- Fixed an issue where JSON files included in
_navigation.config.json
were incorrectly assigned thePreviewPage.hbs
template, resulting in type compatibility errors. This bug introduced a breaking change. See the Breaking Changes section below for more information. - Resolved an issue where Mirror Preview would erratically switch between content and a blank state when a rich text element was opened.
- Fixed an issue where long URLs in the URLs Widget could occasionally run off the edge of the page.
- Fixed an issue where links inside pop-up frames would reload the entire page, navigating you away from the underlying page you were editing.
- Fixed an accessibility issue where the Create New option in
ComboInput
dropdowns was not keyboard accessible. - Resolved an issue where users could create new revisions from revision pages even when draft creation was disabled.
- Resolved an issue where the
CIGtitle-toggle
icon did not update its state when toggled in cluster headings. - Fixed an accessibility issue where the Bulk Workflow Selected option in the ellipses menu could not be activated via keyboard.
- Fixed an accessibility issue where the Reset Filters button on the Search page could not be activated using the keyboard.
- Resolved an issue where rich text enhancements within editorial content types were not rendering correctly based on the view system.
- Resolved an issue where unscheduling the revision set for a future date did not clear the publish date.
- Saved search links are now shortened in versions 4.5.x and 4.7.x.
- Addressed an issue where the report widget would display an empty table with no message when no results were returned. An info-message is now shown when there is no data to display.
- Fixed an issue where the search keyword could become stuck when Retain all filters and settings was enabled.
- Added a warning message to the Calendars admin page when a calendar is no longer connected to a user’s profile.
- Fixed an issue where dragging and dropping multiple articles from The Shelf into the rich-text editor would result in only the last article link appearing.
- Resolved an issue where data for custom modules could not be viewed using
_renderer=json
or_renderer=styleguide
. This fix introduced a breaking change. See the Breaking Changes section below. - Fixed an issue where the Report widget could throw an error if not configured as a
ValueReporter
orTableReporter
. - Resolved an issue where the replication cache reported a healthy status despite having stopped receiving updates.
- Fixed an issue causing read-only fields to be sortable.
- Fixed CMS image preview functionality to properly handle a
URLStorageItem
using a URL that contained spaces encoded as+
instead of%20
. - Disabled browser autocomplete for Content Filter inputs across Sites & Settings and Named Revisions.
- Fixed calendar date/time picker issue that was resetting the selected time to the present time when viewing it after setting it.
- Resolved an issue where GraphQL Content API endpoint queries could fail with a Failed to load schema error.
- Fixed an issue where revision validation occurred before a content state was set to be updated by widgets. Since validation occurred before additional changes were made, the additional changes would sometimes survive validation when they should not have.
- Resolved an issue where theme images with non-absolute src URLs caused errors during the screenshot phase of the build process.
- Resolved an issue where revisions would at times run validation without first calling
beforeSave()
. - Fixed an issue where
FieldAccessFilter
added comments inside HTML tags that do not support them. - Fixed an issue where the banner on revision items would incorrectly show Published instead of Updated during workflow states.
- Resolved an issue where the notifications were not being rendered when site specific role was set.
- Fixed JavaScript error that occurred when using the rich-text editor's full screen mode in places other than on a content edit page.
- Fixed an issue where the title of the conversation widget is partially obscured after adding a comment.
- Fixed an issue where selecting Reports in the navigation menu would incorrectly highlight the Dashboards item.
- Addressed an issue causing frequent errors occurred when committing web response in the application logs. This fix introduced a breaking change. See the Breaking Changes section below.
- Resolved an issue where updated editorial information was not being displayed by
PrePublishAction.shouldDisplay
upon publishing. - Resolved an issue where image URLs with uppercase characters were being converted to lowercase, causing image rendering failures.
- Fixed an issue where columns containing list values were not being displayed in content reports.
- Fixed an issue that caused a
NullPointerException
in the rich-text editor when the AI Plugin was disabled. - Resolved multiple integration test failures related to AI functionality in version 4.8.
Breaking changes
- Projects that used the
navigation
configuration option to exclude static JSON files that should not be processed (e.g. example API responses from 3rd party) need to now usestaticFiles
option instead to explicitly mention which files should not be processed. - As a result of resolving an issue where data for custom modules could not be viewed using
_renderer=json
or_renderer=styleguide
, theRenderer#render
API signature was changed from returning aString
to returning aCharSequence
. This may impact projects that call that API directly that depend on the return type being aString
. - The following APIs have been removed:
WebResponse#getCookies(String)
WebResponse#addCookie(String, String)