MatrixOne v26.3.0.9 Release Notes¶
Release Date: April 1, 2026 MatrixOne Version: v26.3.0.9
MatrixOne 3.0.9 introduces improvements and bug fixes that enhance usability. Below are the major updates.
Key Improvements¶
Vector Search & AI Features¶
IVF-FLAT build parity: Port IVF-FLAT index build from main for consistent behavior across branches (#23737).
IVF create plan: Remove cross apply from ivf_create on 3.0-dev to simplify the plan (#23780).
IVF runtime robustness: Harden InMem IVF paths against distVec issues in multi-batch reads and persisted data (#23783, #23812).
IVF memory: Move IVFFLAT-related allocations to heap to avoid stack / escape issues (#23837).
Vector parsing: Restore dimension validation in strToArray for safer string-to-vector ingestion (#23878).
Lock Service & Transactions¶
Lock mode on promotion: When a waiter becomes a holder, keep lock mode in sync; fix range lock mode not synced on the paired entry (#23787, #23809).
Snapshot / ordering experiments: Revert refreshSnapshotAfterLock (#23794); a clone+drop race fix was merged then reverted *before the final pairing fix (#23799, #23802).
Lock retry lifecycle: Exit lock retry cleanly when context is done (#23907).
Message / apply cleanup: Harden cleanup for abandoned JoinMap and nil table functions (#23932).
Parallel executor: Fix dirty lockcount under concurrency (#23928).
Data Branch, Snapshot & Storage (3.0)¶
CI / quality: Fix flaky TestIssue19551 caused by race conditions (#23773).
Stale read after merge + GC: Correct immediate branch merge interactions after GC (#23827).
Data branch diff: Improve diff correctness, memory control, and summary output (#23811).
Full-text + snapshot: Harden fulltext snapshot restore (#23867).
PK / tombstones: Make tombstone checks PK-aware in PKPersistedBetween on 3.0 (#23869).
Object I/O metadata: Keep zonemap for hidden rowid and ts columns after refactor (#23850).
DDL / conflicts: Mitigate intermittent ww_conflict / duplicate key after drop primary key on 3.0 (#23890).
Multi-CN retry: Detect duplicate keys during multi-CN retry paths (#23917).
Dedup / snapshot: In dedupjoin, return ErrTxnNeedRetry from checkSnapshotAdvancedDuplicates to avoid false-positive duplicate errors (#23952).
SQL,** Plan & Execution¶
Prepared statements: Fix PREPARE with ON DUPLICATE KEY UPDATE when NULL is written to an UNSIGNED column (#23888).
ODKU semantics: Fix VALUES() returning stale values instead of NULL in multi-row INSERT … ON DUPLICATE KEY UPDATE (#23896).
Vectors / JSON: Reset vector class to FLAT in ResetWithSameType to fix prepared statement + NULL JSON panic (3.0-dev) (#23865).
Foreign keys: Support repeated delete plan merges for FK cascade on 3.0 (#23900).
Windows & HAVING: Support HAVING filters on window aliases (#23951); fix window + ORDER BY on non-numeric types with RANGE UNBOUNDED frame (#23945).
Dedup join + prepare: Fix prepare interaction with dedup join (#23926).
Information schema: INDEX_TYPE in statistics should use idx.algo instead of NULL (#23933).
Cluster & Infrastructure¶
HAKeeper client: Retry EOF errors for resilience (#23903).
CDC: Address flaky CDC tests / behavior (#23908).
Scans: Make protectedScans suspend/resume defer-safe (#23920).
Object storage: GC / fileservice compatibility fixes for OBS-like S3 backends (#23922).
Key Bug Fixes¶
Critical Panics & Crashes¶
IVF-FLAT InMem paths: distVec / NULL vector scan panics (#23783, #23812, #23835).
Prepared statement path: NULL JSON + vector reset panic (#23865).
Data Consistency & Concurrency
Lock-service waiter/holder and range lock pairing (#23787, #23809).
Stale read after branch merge and GC (#23827).
Tombstone vs PK in persisted paths (#23869).
False duplicates / retry semantics in dedupjoin and multi-CN (#23952, #23917).
CDC & Replication¶
Flaky CDC stabilization (#23908).
SQL & Query Fixes¶
ON DUPLICATE KEY UPDATE with UNSIGNED and VALUES() correctness (#23888, #23896).
Window frames and HAVING on window expressions (#23951, #23945).
Information_schema INDEX_TYPE (#23933).
Infrastructure & Compatibility¶
HAKeeper EOF retries (#23903).
S3 / OBS-like backend quirks in GC (#23922).
protectedScans and defer safety (#23920).
JoinMap / pipeline cleanup (#23932).