6.41 release notes

March 22, 2024

This page describes release information for all Content Management 6.41 versions, including patch releases.

Improvements

HTML output improvements for Page Builder pages (MATRIX-6270)

The HTML output for new content page assets created after this release will not contain a wrapping <div> with the class container. Existing content page assets are unchanged until they are modified and saved. After saving, the <div> will be removed.

Before

<body><div class="container"><span><p>Hello</p></span></div></body>

After

<body><span><p>Hello</p></span></body>

This improvement was released as part of MATRIX-6270.

Bug fixes

The following bugs were resolved in this version of Content Management.

6.41.0

"Add regex" on "Regular Expression" assets does not appear to work (MATRIX-5432)

An issue discovered with a CSS class within the regular expression asset prevented the regex form from loading when the Add regex button was selected. The correct CSS class is now being removed from the form when a user selects Add regex which allows the form to appear immediately.

Content Templates upgraded in Safe Edit from Matrix 5 to 6 will break the UI for backend users (MATRIX-5466)

An issue discovered with how attributes were detected when not in the asset object caused assets in safe edit to produce “attribute not found” errors when attributes were added during upgrades. The default attributes for the asset type are now checked when the object does not contain an attribute for which the value is being looked up. Upgrading assets on a Content Management instance no longer produces “attribute not found” errors when attributes are added to assets in safe edit status.

Quick search leaking memory and causing 500s (MATRIX-5669)

It was discovered that when assets were being fetched in a loop as part of a quick search, they were not being dropped from memory after the iteration. When iterating over enough results the accumulation of assets resulted in memory leaks and ultimately resulted in internal server errors. Assets are now dropped from memory when necessary which fixes the memory leak and improves reliability.

Workflow users looked up too many times in a single request (MATRIX-5806)

Using workflow with some group structures dramatically slowed down the backend because the workflow code looked up users many times within a single request. The workflow now caches user information for the duration of a request. All workflow-enabled systems will experience small backend performance improvements if overly complex group structures exist.

Some UTF-8 characters in username cause the top toolbar to not appear (MATRIX-6016)

Some functions that prepared the user initials shown in the My Account menu in the toolbar were not multi-byte character safe. The menu section within the toolbar fails to load when users' names contained multi-byte characters. The functions responsible for My Account menu initials were upgraded to be multibyle character safe, which prints user initials correctly and allows the toolbar to work correctly.

Diff tool can get stuck in an infinite loop (MATRIX-6019)

The diff highlighter did not account for broken HTML which could cause an infinite loop and prevent the diff from generating. An iteration limit for the diff highlighter prevents an infinite loop from persisting, allowing the diff to generate even if broken HTML is present in the changes.

Reference report is unusably slow on large systems (MATRIX-6097)

An unoptimized query was present in the reference report that could become an issue in large instances. Sometimes, the reference report took up to 15 minutes to compile. The query is now optimized to handle larger data sets, which lets the report run more efficiently on large instances.

Unable to view more than 99 members of a group (MATRIX-6120)

The wrong data was being passed to the method that calculated the total pages in a user group’s Members screen. Because the total page value was incorrectly calculated, pagination broke on the screen. The correct data is now passed to the method, which fixes the root cause of the issue.

Externally authenticated users can edit their details and metadata (MATRIX-6131)

It was discovered that the normally restricted Content Editor user type could change their details in the Admin UI if they signed in using Security Assertion Markup Language (SAML) authentication or other external authentication mechanisms. Restrictions have been added to select asset screens and the asset tree to prevent user account types from modifying settings. Externally-authenticated Content Editors can no longer modify their own details from within the Admin UI.

REST may cache across processes when "allow multiple runs" is off (MATRIX-6174)

The REST asset saved result variables into the cache when “allow multiple runs” was turned off. When the user requested the variables, the asset did not request the variables from the origin. The REST asset has been modified to avoid caching result variables. REST requests in different processes now request from the target when “allow multiple runs” is turned off.

Remapping for deleted assets no longer functions after the introduction of external-uuid (MATRIX-6259)

The method by which remaps for deleted assets were loaded based on URLs did not consider external-uuid’s in the process. Remaps could result in a 404 even though a remap had been set. The logic for remap loading now considers external-uuid’s. Setting a remap on a deleted asset now works as expected.

LDAP Content Editors don’t have the same base restrictions as Content Editors (MATRIX-6265)

Previous work done to limit permissions for content editors was not applied to LDAP content editors. This disparity resulted in LDAP content editors not having the same restrictions as content editor user accounts managed directly within Matrix. The same limitations have been placed on the LDAP content editor account types, making the behavior consistent across authentication methods.

Unable to export partial tree with asset syncing (MATRIX-6268)

Incorrect index values were being set on elements linked to assets used in the export configuration. This problem meant users could not exclude a folder asset and its children from the export configuration in the Asset Syncing tool. Some extra HTML elements were added to the function responsible for setting the correct indexing values, which fixes the underlying issue.

Some specific Tree Location conditions may be ignored for trigger hashing (MATRIX-6292)

A treeid value could be compared to a string or integer value. This incorrect comparison logic could result in triggers not working when they should. A strict type comparison for treeid values is now implemented so that none are missed, and all run as expected.

Make Paint Layouts and DXP design areas work together (MATRIX-6293)

Paint layouts (and their type formats), which include a DXP component will now have static files output in the header and footer when a DXP design area has been configured in the design.

Incorrect ?a= queries fatal error (MATRIX-6295)

A function responsible for fetching asset data would show an error even when instructed to mute errors. Passing an invalid assetid to the ?a= query string could result in a 500 Server Error response rather than the expected 404 Not Found response. Asset ID validation has been modernized, and extra exception handling is implemented when asset data is retrieved, and errors are muted. Trying to specify an invalid asset ID from a query string parameter results in the expected 404 Not Found response.

Morphing assets can outpace db replication (MATRIX-6314)

After morphing an asset, the system switched to the read-only database connection before reloading the asset from the database. In some situations, the system requested morphed asset from read-only DB before replication had completed the update and the type mismatch causes fatal error. The fix keeps the connection locked to the read-write database until the asset has been requested from the DB after morphing. This handling mitigates any issues indirectly caused by database replication latency.

Page Builder A/B Test selectors to use the variant name from Testing service (MATRIX-6340)

The Modern Page Builder shows the custom name set for an A/B testing variant if set through the Squiz Optimization A/B Testing Service.

Make Paint Layouts and DXP design areas work together (MATRIX-6341)

It was discovered that Components would not render on the frontend if they were both included through a DXP design area and contained static files in their header or footer area. This scenario is now supported through a fix that changes how static files are managed in included components.