Enhancements have been made to Squiz Matrix's Automatic Upgrade Script to allow users to view the upgrade steps of specific versions of Matrix without requiring that particular instance.

Previously, users could use the --verbose parameter on the script to display a full list of upgrade steps from their current version to the version of Matrix indicated.

This enhancement introduces a new --show_steps parameter, which allows users to specify two versions of Matrix to view a full list of upgrade steps between them.

Usage of this script parameter is shown below. Please note that the database type (psql or oci) must be specified when using this parameter.

php matrix_upgrade.php --show_steps mysource_4-2-2 mysource_4-8-0 psql

php matrix_upgrade.php --show_steps mysource_4-2-2 mysource_4-8-0 oci

New Asset Workflow Keyword Replacements 

Additional asset workflow keyword replacements have been made available for use within Squiz Matrix. These are as follows:

  • %asset_workflow_applied_schemas%: the workflow schemas currently applied to the asset.
  • %asset_workflow_current_start_time:X%: the time the entire workflow process began, where X is the id of the workflow schema.
  • %asset_workflow_current_stream_name:X%: the name of the workflow stream currently running, where X is the id of the workflow schema.
  • %asset_workflow_current_step_condition_ids:X%: a comma-separated list of asset IDs of user/user group and/or role conditions on the current workflow step, where X is the id of the workflow schema.

Please note that the specification of the workflow schema ID in the above keywords is optional. If no schema id is set, the keyword will return the values of all schemas running on the asset.

These keyword replacements have been added to allow users to extract additional workflow information for their assets.  

Cache Globally: 404 Not Found Page of a Site 

A new setting has been added to the Details screen of Site assets to globally cache the 404 Not Found Page of the Site.

When this field is enabled, the Not Found Page specified on the Details screen will share a common cache entry everywhere it is used, irrespective of the URL.

Caching in these circumstances begins right before painting the page, meaning that all nested content and design areas will be included in the cache.

This option should be used on Sites where the configured Not Found Page is constant and not dynamically generated (URL-based). 

Cacheable Headers for Logged-In Users 

Previously, Squiz Matrix's Cache Manager allowed you to send cacheable headers for all public pages served to users who were not logged-in (public users), allowing the web browser to cache pages for faster browsing.

This feature introduces a new option on the Cache Manager to send cacheable headers for all users, regardless of whether they are public or not.

This option is accessed via new Public User Only options for Root URLs on the Cacheable Headers screen of the Cache Manager.

By default, this option is selected for all Root URLs. If this options is disabled, Squiz Matrix will send cacheable headers for pages served to logged-in users, as well as public users, on that URL.

Additional Changes and Bug Fixes

Minor Enhancements

  • Minor Enhancement #5510: Performance Enhancement: getAllChildLinks().
  • Minor Enhancement #5539: Suggested Tags Now In Alphabetical Order.
  • Minor Enhancement #5554: Default Maori Characters Remapping for WebPath.
  • Minor Enhancement #5557: Restricted File URL Memory.
  • Minor Enhancement #5577: Online Quiz: Server Side Validation.
  • Minor Enhancement #5584: Matrix to Not Poll LDAP During Root User Authentication.
  • Minor Enhancement #5585: Automatic Upgrade Script: Allow PHP Options.
  • Minor Enhancement #5594:Performance Enhancement - getLineageFromURL. 


  • Fixed Bug #5533: Asset Builder asset's Dynamic Create Locations ignore LDAP user group membership.
  • Fixed Bug #5534: Incorrect LEFT JOIN causes performance issue in asset_manager's getAllChildLinks.
  • Fixed Bug #5545: Using ctrl-z while viewing html source in WYSIWYG removes all tags in IE.
  • Fixed Bug #5546: Inaccurate label on the insert image popup of the WYSIWYG.
  • Fixed Bug #5555: Embed YouTube Video by URL improvement.
  • Fixed Bug #5558: Import assets from XML errors when setting permission for online quiz asset.
  • Fixed Bug #5560: Warranty key expiry screen shows up in SOAP API call.
  • Fixed Bug #5562: Asset Map supported java versions.
  • Fixed Bug #5563: root_nodes keyword does not work with modifiers unless used without them first.
  • Fixed Bug #5564: Issue with viewing workflow logs.
  • Fixed Bug #5567: WYSIWYG select text colour on multiple table cells removes cell tag.
  • Fixed Bug #5569: System alternative proxy setting wiped when running installation step 3.
  • Fixed Bug #5572: Conditional Keyword for Paint Layout doesn't let you configure the question id in keywords like 'question_answer_X_qY'.
  • Fixed Bug #5574: Form file upload problem with IOS device.
  • Fixed Bug #5576: Edit permission HIPO goes over 100%.
  • Fixed Bug #5581: tags converted to character references when inside a span when lang attribute removed.
  • Fixed Bug #5583: Revert safe edit assets status with notice links fatal errors when multiple context is defined.
  • Fixed Bug #5587: WYSIWYG Insert link for redirect page or link asset doesn't work with manual entering of the asset ID.
  • Fixed Bug #5588: Thesaurus metadata field keywords not replaced by JS API getKeywordReplacements.


  • Fixed Bug #5566: Remote content page display error message not working.
  • Fixed Bug #5579: Asset builder asset created bodycopy, can not use nesting asset's keywords in Additional Get Vars of Nest Content Type. 


  • Fixed Bug #5535: Inconsistent indexing when non-alphanumeric characters in a string.


  • Fixed Bug #5542: %globals_user_attribute_*% keywords not working for LDAP user.

Web Services

  • Fixed Bug #5532: JS API getLineage function return incorrect data for asset parents that have been linked in multiple places.
  • Fixed Bug #5537: Javascript API createAsset function doesn't work in IE.
  • Fixed Bug #5538: maximum_perm_on_asset returning incorrect permission level.
  • Fixed Bug #5559: JS_API::removeMultipleLinks() throws JSON.parse error on failure.
  • Fixed Bug #5568: SOAP Web Service GetDesignFromURL() returns no results for certain scenarios.
  • Fixed Bug #5570: REST Resource Pages fails to get requested content when only 'Forward user information' is selected.

The Latest

Let Us Know What You Think

Let us know if you spot any errors or if you have any ideas on how we can improve the Matrix Community Website.

Contact Squiz for Demo

Let us show you the true power of Squiz Matrix by giving you a personalised demonstration.