MatrixOne v26.4.2.0 Release Notes¶
Release Date: August 26, 2026 MatrixOne Version: v26.4.2.0 (v4.2.0)
MatrixOne v26.4.2.0 introduces enforced CHECK constraints, MySQL-compatible ALTER TABLE ... ALGORITHM/LOCK clauses, Iceberg and MongoDB external tables, the MERGE INTO and RETURNING statements, several new system variables, and a set of new aggregate, JSON, datetime, and utility functions.
New Features¶
Enforced CHECK constraints:
CHECKconstraints are now enforced on writes. A violating row raises a constraint-violation error,NULLvalues pass the check,INSERT IGNOREskips violating rows, andREPLACE,ON DUPLICATE KEY UPDATE, andCREATE TABLE AS SELECTall enforce the constraint.ALTER TABLE ... ALGORITHMandLOCKclauses:ALTER TABLEnow accepts MySQL-compatibleALGORITHM {DEFAULT | INSTANT | INPLACE | COPY}andLOCK {DEFAULT | NONE | SHARED | EXCLUSIVE}clauses. Rebuilding operations such asADD COLUMNandDROP COLUMNrequireALGORITHM=COPY; incompatible combinations are rejected with an explanatory error.Iceberg external data (policy-gated):
CREATE ICEBERG CATALOGregisters an Apache Iceberg REST catalog,CREATE EXTERNAL TABLE ... ENGINE=ICEBERGmaps a MatrixOne table to a catalog table, andSHOW ICEBERG CATALOGSlists registered catalogs. Iceberg code defaults all gates off, while the shippedetc/launch/cn.tomlprofile enables the read/write/DML/delete gates. In either case, access remains fail-closed until principal mapping and residency policy are registered.MongoDB external data (allowlist-gated):
CREATE MONGODB CONNECTIONregisters a MongoDB connection, andCREATE EXTERNAL TABLE ... ENGINE=MONGODBmaps a MatrixOne table to a MongoDB collection. The v4.2.0 constructor defaults the connector to enabled, but endpoint access remains fail-closed because hostname/CIDR allowlists default empty. Credentials must use the account-scopedsecret://env/MO_MONGODB_...namespace supported by the built-in resolver. Known v4.2.0 issue:SHOW MONGODB CONNECTIONSfails with an internal privilege-definition error instead of listing connections.Iceberg and MongoDB lifecycle:
ALTER ICEBERG CATALOG/DROP ICEBERG CATALOG,SHOW ICEBERG NAMESPACES/SHOW ICEBERG TABLES, andALTER MONGODB CONNECTION/DROP MONGODB CONNECTIONmanage and inspect registered external-data metadata.INSERT OVERWRITEadds Iceberg writes with optional staticPARTITION(field = literal, ...)selection.Data Branch output tables and schema evolution:
DATA BRANCH DIFF ... OUTPUT AS tablepersists a diff as a normal table with collision-safe source/flag metadata columns. DIFF and MERGE accept only schema changes with provable column lineage and compatible types, nullability, and key definitions.Vector-index covering columns: IVFFLAT, CAGRA, and IVFPQ indexes accept
INCLUDE(column_list)to store additional non-vector columns for covering queries without using them in distance calculations.MERGE INTO: performs row-level merge operations on an Iceberg table, updating or deleting matched rows and inserting rows that are not matched. It requires Iceberg write, DML, and delete support to be explicitly enabled.RETURNING: returns the final row images of supported single-tableINSERT,UPDATE, andDELETEstatements. The returning list can use target-table columns and deterministic scalar expressions; aggregates,old/newpseudo-namespaces, and the unsupported DML variants are rejected.ANALYZE TABLE,DUMP TABLE,LOAD TABLE,PERFORM:ANALYZE TABLEcollects column statistics with an optional column list;DUMP TABLEandLOAD TABLEexport and reload table data vialocal,file://, orstage://paths;PERFORMexecutes aSELECTwhile suppressing result rows in the client response (saved results remain available toRESULT_SCANwhen enabled).New functions:
APPROX_PERCENTILE(),MAX_BY(),MAX_BY_NON_NULL(),DATE_TRUNC(),JSON_CONTAINS(),JSON_CONTAINS_PATH(),JSON_MERGE_PATCH(),JSON_MERGE_PRESERVE(),JSON_OVERLAPS(),JSON_REMOVE(),ONNX_RUN(), andROW_COUNT().New system variables:
enable_explain_scheduling,query_max_workers,query_pool_strict,remap_rewrites, andcte_max_memory_bytes.MATRIXONE_NATIVESQL mode: a MatrixOne-specificsql_modetoken that relaxes selected MySQL DML compatibility checks, requires complete-token string-to-number conversion, and makesONLY_FULL_GROUP_BYuse a stricter literal group-list rule when both modes are enabled.
Behavior Changes¶
group_concat_max_lendefault changed: the default value ofgroup_concat_max_lenwas changed from4to the MySQL-compatible1024bytes, soGROUP_CONCATresults are no longer silently truncated to four bytes by default.
Compatibility Notes¶
CHECKconstraints that previously were accepted but not enforced now reject violating writes. Review existing schemas that relied on unenforcedCHECKconstraints before upgrading.Applications that depended on the old four-byte
GROUP_CONCATdefault will now receive up to 1024 bytes by default; setgroup_concat_max_lenexplicitly to preserve the previous behavior.
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.