6.47 release notes

September 18, 2024

This page covers changelog information for all Content Management 6.47 versions, including patch releases.

(FEAAS-941) Format text menu on content pages menu doesn’t open for any formatted text components after the first one on the page

All formatted text content components would render based on location at the time of page render which caused the issue in the title. The fix ensures that positioning is relative to its formatted content component. Dropdowns for all formatted content components now render based on the location of their formatted content component.

(FEAAS-942) Page builder radio inputs, clicks on checkbox label toggles incorrect checkbox

Form fields and labels for the component editing interface were not unique per component instance. If multiple component instances or different components shared the same field names, clicking a label for one of those fields would focus on the wrong field. Clicking the label for the checkbox and radio fields would change the value of the incorrect field. The fix adds a unique prefix to each component editing interface field, preventing the problem from appearing.

(FEAAS-948) Cannot create Content Pages with names longer than 128 characters

When attempting to create a new content page asset through the Content API with a name longer than 128 characters, the page would not be created, and the warning message Value too long for type character varying(128) appeared. The fix truncates any page name sent to the Content API longer than 128 characters while preserving the full name in Content Management. When sent, new content pages with names longer than 128 characters are created as expected.

(FEAAS-997) Cloning Content Page assets fails to clone content/components in the page

When cloned, nested content page assets were incorrectly cloning the contents of parent pages. The fix ensures that, regardless of the parent asset, all fields are cloned from the source clone page to the destination clone page (including components and attributes) when cloning content pages.

(FEAAS-1003) Text block items in the outline column appear as "Text block" instead of showing characters contained in the block

Text blocks in content page outlines were displayed as "Text block". In contrast, they should have displayed a limited number of characters of the content of the text block if possible. The fix checks if the service can retrieve any valid text content from the text block and, if possible, show as much of the content possible in the outline column.

(FEAAS-1004) Make Global API identifier and component sets configurable by System Admins

System administrators can configure a Matrix instance global API identifier and Component Sets. The global values can be used if a site has no configuration. If a site does have configuration, then the site-level API identifier overrides the global configuration. Local component sets are available in addition to the global ones.

(FEAAS-1097) Change a-b tests URL

(6.47.1) The URL path for Optimization  A/B tests was updated from optimization/experiments/ to optimization/ab-tests/ to align the URL path with the name of the service.

(FEAAS-1021) When re-ordering card fields in a component, the cards sometimes appear to duplicate themselves

A race condition bug caused some Content Management assets to resolve to another asset. While this was purely cosmetic and would fix itself upon saving and reloading, it confused users who observed the race condition. Some component editing UI cards with assets would have duplicates of other cards' content. The fix ignores prior requests for a card that took longer than the current card, which fixed the race condition. Cards should no longer duplicate themselves with their content. And should work as expected,

(MATRIX-6145) The HIPO pop-up window doesn’t close from the button

An issue with the logic applied to windowed or modal-based HIPO screens meant that modal-based HIPO screens would sometimes not be dismissible when warnings or errors appeared. The fix implements slightly different logic to find the button when the HIPO is displayed as a dialog box, which means the dialog box can be closed if warnings or errors appear.

(MATRIX-6500) Incorrect link to docs from Asset Management API Token Details screen

The URL on the Asset Management API asset Detail screen and the Create new Asset Management API Token pop-up window pointed to Content API documentation. When users clicked the Asset Management API documentation link, they were redirected to the documentation for the Content API. URLs to Asset Management and Content API documentation have been modified to point to the index of their respective documentation sets. Users can now access the correct documentation resources for the selected API.

(MATRIX-6594) Clearing the Root Node of top-level menu breaks design_file.php

An issue was discovered where a root node asset ID assigned a value and subsequently cleared could result in the value being set to null. This null state would break the design file linked to the root node asset and present an error to the user. The fix adds a default state to root node assets to ensure design files can parse correctly. Users can now add and remove the root node for header_nav assets without issue.

(MATRIX-6602) Search pages can time out on recurring events with no end date

When searching empty daily recurring calendar events, fetching and rendering were done in a nearly "infinite" manner if there were enough events. The search request could time out, resulting in 504 Gateway Timeout and would break any page the search was attached to. The fix implements a render time threshold, which terminates the request if the default 30-second threshold is reached. A system log entry is also created to help troublshoot the issue.

The search will return whatever recurring calendar events were processed leading up to the request exceeding the threshold. However no guarantees are made relating to how the assets might render.
(MATRIX-6625) Web HIPOs that meet the freestyle threshold don’t honor the status check threshold time limit

A bug was discovered in the calculation that controlled when the HIPO process would enter an unconstrained (not constrained by the time limit threshold) freestyle mode. HIPO processes that incorrectly entered freestyle mode could time out and subsequently fail. The fix ensures that only a select few dependent HIPO processes are permitted to enter freestyle mode, with most HIPO jobs subjected to the time-constrained process. HIPO jobs will no longer enter the incorrect mode and time out.

(MATRIX-6646) TRIM/HPRM: Accessing large attached files from a downloaded cache can result in out of memory error

It was discovered that the output buffer still occupies memory when reading a large TRIM file. If output buffering was enabled while a large TRIM file was being read it would trigger an out-of-memory error. The fix cleans up the output buffer before reading TRIM files to avoid the out-of-memory issue.

(MATRIX-6668) Add support for Data Records asset types to Asset Management API

The Data Record asset can now be created using the Asset Management API. Read the Asset Management API docs for more information.

(MATRIX-6701) Allow NameIDPolicy to be omitted for SAMLRequests

It was discovered that when configuring a SAMLRequest to the identity provider using the Admin UI, SimpleSAMLphp would always send a NameID Policy in the SAMLRequest. SAML identity provider services that require NameID policy to be omitted were rendered unusable without manual on-server configuration. The fix adds a "No policy" option to the NameID policy attribute. When "No policy" is chosen for the NameID policy attribute, the NameID policy is not sent in the SAMLRequest to the identity provider.

(MATRIX-6725) Limit generateGetChildrenQuery() when initially used for display purposes

It was discovered that the database query to get the child asset count was slow when there were many child assets. All asset screens for assets near the root of the asset tree could be very slow to access on large systems. The fix implements a database query that only counts the first 500 children. The message shown under these conditions now offers a broader estimation of "500+" as a trade-off to make the screen more performant.