Download Latest Version mo-v4.1.4-linux-x86_64.zip (86.2 MB)
Email in envelope

Get an email when there's a new version of MatrixOne

Home / v4.1.0
Name Modified Size InfoDownloads / Week
Parent folder
mo-v4.1.0-linux-arm64.zip 2026-07-11 76.5 MB
mo-v4.1.0-linux-x86_64.zip 2026-07-11 86.1 MB
MatrixOne-v4.1.0 source code.tar.gz 2026-07-11 32.4 MB
MatrixOne-v4.1.0 source code.zip 2026-07-11 37.5 MB
README.md 2026-07-11 33.6 kB
Totals: 5 Items   232.6 MB 0

Release date: July 11, 2026 MatrixOne version: v4.1.0

MatrixOne 4.1.0 is a major feature and stability release on top of 4.0. It adds SQL Task execution, Vector Index Plugin Framework with cuVS, writable external tables, GIS/H3/S2 geospatial support, HLL sketch functions, and broad MySQL/PostgreSQL SQL compatibility improvements. On the reliability side, it hardens logtail publishing, lock-service bind fencing, txn workspace merge ordering, RSS/cache pressure control, checkpoint flush prioritization, and CN health circuit breaking — alongside extensive fixes across REPLACE/INSERT, planner, parquet external tables, data branch, and fileservice.

Key Improvements

SQL Engine & Compatibility

  • SQL Task Execution: Add SQL Task execution support with multi-CN metadata visibility and BVT coverage
  • PostgreSQL-style UPDATE: Support UPDATE ... SET ... FROM ... WHERE syntax and planner dedup by target row_id
  • MySQL DML Alignment: Align ON DUPLICATE KEY UPDATE and REPLACE syntax variants with MySQL semantics
  • Advanced SQL Features: Support nested correlated subqueries, ORDER BY NULL / GROUP BY NULL, chained RENAME TABLE, INT + INTERVAL / INT - INTERVAL, LIMIT 0, and reserved keywords as aliases after AS
  • Index & Plan Enhancements: Support enum/prefix text indexes, deterministic paired range index selection, nullable IN-list runtime semantics, and zonemap pruning for nullable IN lists
  • New Built-in Functions: Add JSON_LENGTH, HLL sketch functions, lock-wait/lock functions, BIT_COUNT, interval helpers, UUID functions, NAMECONST, regex support, and DOUBLE PRECISION as a DOUBLE synonym
  • Parser & Types: Support array column type syntax, POSITION(substr IN str), and human-readable datetime strings in MO_TS table hint

Vector, Fulltext & GIS

  • Vector Index Plugin Framework: Introduce pluggable vector index framework with cuVS C++ library integration
  • Vector Performance: Coalesce checksummed ReadAt, batch UnionBatch varlena materialization, and prefix offset collection optimizations
  • Fulltext: Add dict-based tokenizer and fulltext index rewrite support for joins
  • GIS: Add geometry engine plus S2 and H3 geospatial cell functions

External Tables & Data Loading

  • Writable External Tables: Support INSERT / LOAD into stage files with CN-local file stage writes
  • Parquet & Hive: Enhance Hive-partitioned Parquet external tables, parallelize Parquet load by row group, harden external Parquet reads (S3 amplification, LIST/UINT64 edge cases), and add broad BVT coverage
  • LOAD Optimizations: Keep large LOAD external scan multi-CN, bound first-line row size sampling, and fix year-column / datetime load issues

Storage, Memory & Execution

  • RSS Pressure Control: Add RSS pressure cache controller, keep meta cache out of RSS eviction, and port minimal RSS cache pressure protection
  • Spill & Aggregation: Implement spill support for merge_order; free merge group spill aggregate states and stop at max spill level instead of erroring
  • ALTER / Index Backfill: Optimize alter copy and index backfill memory; limit alter copy pipeline flush concurrency
  • CN Proxy & Health: Add CN health circuit breaker to skip overloaded CNs

Data Branch, CDC & Platform

  • Data Branch: Unify diff/merge collect-range over arbitrary DAG depth, optimize merge apply execution, and fix privilege model / table clone SQL
  • CDC: Align CDC pause visible state and support compatible SHOW / DROP syntax
  • Platform: Upgrade to Go 1.26.4; add mo-dev and mo-bug-triage agent skills; add protected database support

Key Bug Fixes

Transaction, Logtail & Lock Service

  • Logtail Publishing: Stream-publish txn tails to remove batch-wide wait
  • Txn Lifecycle: Preserve txn write order after workspace merge; close txn operator on wait failure; avoid recovery async task panic
  • Lock Table Binds: Fence txns on bind changes; refine keeper bind refresh on keep failures; check bind before lock success; clean stale range waiters; validate orphan remote txns; check lock table binds during LOAD
  • Locking Semantics: Allow lock tables in transactions; prevent OOM in PKPersistedBetween under high-concurrency lock checks

Memory, Cache & Fileservice

  • RSS & Cache: Reduce RSS growth from dedupLoad sync.Map retention and flush convoy; bound full-object disk cache wait fallback; stream full-object disk cache without read wait amplification
  • Fileservice: Reduce memory pressure from concurrent cache allocations; keep disk cache file state consistent; avoid closing idle upload connections
  • S3 & Object Storage: Restore defense-in-depth for CN flush S3 memory throttling; fix rscthrottler double-counting of RSS/reserved; retry QCloud PUT with seekable reader and retryable status handling
  • Checkpoint: Prioritize stalled checkpoint bounded flush

SQL Correctness & Planner

  • REPLACE / INSERT: Resolve unique-key conflicts when PK is auto-generated; handle one new row conflicting with multiple old rows via different unique keys; allow replace duplicate source keys; expand const columns by row count in preinsert; keep insert memory-pressure flush concurrency fixed
  • UPDATE / DELETE: Fix DELETE with JOIN deleting all rows instead of only matched rows; fix fallback UPDATE planner nondeterministic project layout and generated-column correctness
  • SELECT / Plan: Align SELECT ... FOR UPDATE with MySQL on derived/agg/subquery; guard prepared phy scope shape mismatch; sanitize non-finite plan stats; prevent join order parent cycles; fix NULL left operand in IN predicates
  • Type & Function Fixes: Fix LEAD/LAG cast, div-by-zero, math domain errors, GREATEST/LEAST numeric promotion, coalesce decimal scale, and preserve text type in conditional string casts
  • Wire Protocol: Return T_blob for FROM_BASE64, UNHEX, AES_DECRYPT to match MySQL wire protocol

DDL, Bootstrap & Metadata

  • DDL Safety: Reconcile deleted tenant upgrade tasks; skip stale relations during drop database; restore skip for already-deleted relations; honor IF NOT EXISTS for CREATE TABLE ... LIKE and IF EXISTS for drop index
  • ALTER / Clone: Fix alter copy add primary key precheck; fix table clone visibility for repeated alter; sync Name2ColIndex when appending __mo_rowid to index table TableDef
  • Restore / PITR: Support ACCOUNT clause in RESTORE ... FROM PITR; fix restore external table handling; fix DropDatabase SnapshotTS restore race

LogService, Proxy & Runtime

  • LogService: Skip zombie check for discovery proxy; create on-the-fly clients outside pool lock; fix stale replica truncation
  • Proxy / Pipeline: Clear transfer latch after unsafe attempt; bound pipeline cleanup waits; register remote dispatch receivers early; fold variable expressions before remote run
  • HNSW / CDC / ISCP: Force single-thread HNSW build on CDC/sync path then restore multi-thread build with vendored USearch fix; fix HLC ahead-of-wall-clock causing ISCP update failure

Data Branch, External & Frontend

  • Data Branch: Avoid data branch merge channel race; optimize no-PK merge apply on main; fix create table clone SQL and privilege model
  • Frontend / Auth: Scope table and view grant option checks; keep DDL ownership on matched role; align role rule merge semantics; refresh global sysvars for SHOW GLOBAL VARIABLES; support global timeout sysvars; require DELETE privilege for REPLACE conflicts
  • Session / Sysvar: Session.GetSessionSysVar returns nil for registered sysvars missing from per-session map
  • Test / Dev: Replace sleep with @wait_expect for statement_info readiness; make make dev-up work with readable temp compose files and HAKeeper bootstrap

What's Changed

Full Changelog: https://github.com/matrixorigin/matrixone/compare/v4.0.0...v4.1.0

Source: README.md, updated 2026-07-11