MatrixOne v26.3.0.13 Release Notes
Release Date: May 26, 2026 MatrixOne Version: v26.3.0.13
MatrixOne 3.0.13 is a stability and correctness release. It makes TASKS a non-reserved keyword, broadens role rewrite rule coverage to secondary and inherited roles, and fixes GROUP_CONCAT ordering and LEAD/LAG decimal scaling issues.
Improvements
TASKS Made Non-Reserved Keyword (#24482)
TASKSis no longer a reserved keyword. It can now be used as an unquoted identifier (table name, column name, etc.) without backtick wrapping.
Role Rewrite Rules Now Cover Secondary and Inherited Roles (#24393)
- Rewrite rules are now loaded from all active roles: the default role, directly granted secondary roles, and inherited roles (discovered via breadth-first traversal by grant time). Previously only the default role's rules were used.
- When multiple roles define a rule for the same table, the priority order is: default role > directly granted secondary roles (by grant time) > inherited roles (breadth-first by grant time).
- Rules from different roles that produce the same output columns are merged using
UNION DISTINCT, producing a combined rule rather than a blind last-write-wins override. ALTER ROLE ... ADD RULEnow validates that therule_sqlis a syntactically validSELECTstatement before writing it tomo_catalog.mo_role_rule. Invalid rule SQL is rejected immediately with an error.- Rewrite rule load failures and formatting errors are now properly returned to the client as query errors instead of being silently swallowed. Queries that would have silently skipped rewrite injection in previous versions may now fail with an explicit error when the rule set is malformed.
- Switching roles (
SET ROLE, secondary role toggle) now invalidates the privilege and rewrite rule caches, ensuring the new role's permissions take effect immediately.
Bug Fixes
GROUP_CONCAT: Multi-Argument with ORDER BY (#24398)
- Fixed
GROUP_CONCAT(a, ':', b ORDER BY k)where multi-argument GROUP_CONCAT with anORDER BYclause was incorrectly ordering. The ORDER BY now correctly sorts the concatenated values. - Fixed independent ordering for multiple
GROUP_CONCATcalls in the same query (e.g.,GROUP_CONCAT(a ORDER BY x)andGROUP_CONCAT(b ORDER BY y)). Each call now uses its ownORDER BYclause independently.
LEAD/LAG: Decimal Default Value Casting (#24445)
- Fixed a decimal scaling issue where the default value (third argument) of
LEAD()andLAG()window functions was not cast to match the type of the value expression. For example,LEAD(decimal_col, 1, -1)with aDECIMAL(10,4)column would display-0.0001instead of-1.0000. The default is now properly cast to the value column's type.
Compatibility Notes
- Queries that previously ran with a malformed rewrite rule that was silently skipped may now return an explicit error. Review role rules with
SHOW RULES ON ROLEand remove or fix invalid entries withALTER ROLE ... DROP RULE. TASKScan now be used as an unquoted identifier. Existing code that backtick-wrapsTASKScontinues to work.
About This Document
This document is generated by the docs sync agent based on the MatrixOne source diff and reviewed by humans via pull request.