Release Notes for MariaDB Enterprise Server 11.8.3-1

Download Release Notes Changelog Overview of Enterprise Server 11.8

Release date: 22 Oct 2025

MariaDB Enterprise Server 11.8.3-1 is the first GA release of MariaDB Enterprise Server 11.8.

Changes in Storage Engines

  • This release incorporates MariaDB ColumnStore engine version 25.10.0.

MariaDB Enterprise Server 11.8 continues to expand its native vector search capabilities, positioning MariaDB for AI-powered applications such as semantic search and recommendation systems. Already available in the MariaDB Enterprise Server 11.4 are:

  • New Data Type: VECTOR(N) to store multi-dimensional embeddings.

  • Vector Indexing: Efficient similarity search with VECTOR INDEX.

  • Distance Functions:

    • VEC_DISTANCE_EUCLIDEAN() for L2 distance.

    • VEC_DISTANCE_COSINE() for angular similarity.

  • Conversion Functions:

    • Vec_FromText(json_array) and Vec_ToText(vector_column) transform between the text and binary vector formats.

  • System Variables for Index Tuning:

    • mhnsw_max_cache_size, mhnsw_default_distance, mhnsw_default_m, mhnsw_ef_search.

Added to MariaDB Enterprise Server 11.8

  • Distance Functions:

    • VEC_DISTANCE() auto-selects the best distance function based on the index configuration.

  • Optimization that makes vector search 30-50% (depending on the data) faster for the same recall. Enabled automatically for applicable vectors. Vectors are applicable if they can be gradually truncated to trade some recall for speed. For example matryoshka embeddings as produced by OpenAI are applicable.

  • Namespace support was added to HashiCorp Vault in MariaDB. See the Hashicorp namespaces documentation for details.

  • Audit logging buffer writes are possible now.

Indexes, SQL Functions, and Query Enhancements

  • UUID Generation: New functions UUID_v4() and UUID_v7() for modern and time-ordered UUIDs.

  • Multi-Table DELETE Enhancements: Support for ORDER BY and LIMIT.

  • Single-Table DELETE Enhancements: Now it allows index hints.

  • NEW SHOW CREATE SERVER: Recreate server objects similar to SHOW CREATE TABLE.

  • DBMS_OUTPUT: Messages submitted by DBMS_OUTPUT.PUT_LINE() are not sent to the client until the sending subprogram or trigger completes.

Performance Improvements

Data Types and Compatibility

  • UTF-8 by Default: utf8mb4 replaces latin1 and legacy utf8, ensuring full Unicode support, including emojis.

  • Default Collation: utf8mb4_uca1400_ai_ci is now the standard for Unicode character sets.

  • Extended TIMESTAMP Range: Increased upper bound to 2106 on 64-bit systems.

  • ROW Type Enhancements:

    • ROW types are now usable as stored function return values. The support for %ROWTYPE, TYPE OF, and RECORD(...) declarations for Oracle-like compatibility:

      DECLARE
        TYPE DeptRecTyp IS RECORD (
          dept_id    NUMBER(4),
          dept_name  VARCHAR2(30),
          mgr_id     NUMBER(6),
          loc_id     NUMBER(4)
        );
  • Triggers:

    • BEFORE UPDATE OF col1, col2 limits trigger execution to specific column updates:

      CREATE TRIGGER mytrigger BEFORE UPDATE OF col1, col2 ON t1 FOR EACH ROW …
  • Use of SIGNAL SQLSTATE '02TRG' allows skipping a row operation.

  • Stored Procedures: Now support default parameter values:

    CREATE OR REPLACE PROCEDURE p1(param1 INT, param2 INT DEFAULT 1)
  • Associative arrays: DECLARE TYPE .. TABLE OF .. INDEX BY

  • Added caching_sha2_password plugin, see Authentication Plugin - SHA-256 for more information

Enhancements to System Versioned Tables

  • System Versioned Tables is a powerful feature for auditing changes to data. Enabling System Versioned Tables is as easy as creating a table by using

    CREATE TABLE contracts (...) WITH SYSTEM VERSIONING;

    Or enabling the feature for an existing table by using

    ALTER TABLE contracts ADD SYSTEM VERSIONING;

    In both cases, invisible fields will be created in the table to track the timestamps and period for which the data is valid. A DBA/DevOps might want these fields to be visible. It is now possible to change such implicit fields to explicit ones by the following types of statements:

    SET @@system_versioning_alter_history= keep;
    ALTER TABLE contracts ADD COLUMN rs TIMESTAMP(6) AS ROW START, ADD COLUMN re TIMESTAMP(6) AS ROW END, ADD PERIOD FOR SYSTEM_TIME (rs,re);

Security

  • New Authentication Plugin—PARSEC:

    • Based on elliptic curve cryptography.

    • Mitigates the replay and man-in-the-middle attacks. Example on how to create a user using the new authentication plugin:

      CREATE USER 'MariaDBUser'@'%' IDENTIFIED VIA PARSEC USING PASSWORD('MyPassword123!');

      This will result in:

      SHOW GRANTS FOR MariaDBUser@'%';
      Grants for MariaDBUser@%
      GRANT USAGE ON *.* TO `MariaDBUser`@`%` IDENTIFIED VIA parsec USING 'P0:lhXyNv1cIxpB8EnTxR7ON7S7:1l3rWRW1/jw45yrvYXB8eh02wzk7lcJcz4CMc
      Ww2b+8'

      \

  • Unix Socket Enhancements:

    • Now supports explicit OS user mapping via IDENTIFIED VIA UNIX_SOCKET AS 'user'.

    • It is also possible to specify more than one OS user with the usual OR syntax:

      CREATE USER dba IDENTIFIED VIA UNIX_SOCKET AS 'jack' OR IDENTIFIED VIA UNIX_SOCKET AS 'jill';

Replication & Clustering

  • Improved Replication Lag Monitoring:

    • SHOW REPLICA STATUS now includes:\

      Master_last_event_time
      
      Slave_last_event_time
      
      Master_Slave_time_diff
  • Information Schema Table for Replication Status:\

    MariaDB [test]> SELECT Master_last_event_time,Slave_last_event_time,Master_Slave_time_diff FROM information_schema.slave_status\G
    *************************** 1. row ***************************
    Master_last_event_time: 2024-08-13 07:32:38
    Slave_last_event_time: 2024-08-13 07:32:37
    Master_Slave_time_diff: 1
  • New Option – --slave-abort-blocking-timeout: Kills blocking non-replication queries after a timeout.

  • Galera SST Automation: SST user is now auto-created and managed internally.

  • Backported MDEV-35304 : Add {{Connects_Tried}} & {{Master_Retry_Count}} from CS-12.0

Key Management

  • KMS Plugin Enhancement: The file_key_management plugin can now read keys from a Unix socket, not just from files.

  • File Key Management Encryption Plugin: Added key rotation capability; see this page for details. In addition, a new Information Schema table was added, FILE_KEY_MANAGEMENT_KEYS.

Observability & Information Schema

  • Temporary File Disk Space Limits:

    • max_tmp_session_space_usage and max_tmp_total_space_usage prevent runaway disk usage.

  • New Status Variables: tmp_space_used, max_tmp_space_used.

  • New Information Schema Views:

    • SLAVE_STATUS to view replication lag via SQL.

    • USERS for password state and expiration monitoring.

    • SEQUENCES to introspect auto-generated sequences:\

      SELECT * FROM INFORMATION_SCHEMA.SEQUENCES\G
      *************************** 1. row ***************************
             SEQUENCE_CATALOG: def
              SEQUENCE_SCHEMA: test
                SEQUENCE_NAME: s_name
                    DATA_TYPE: tinyint
            NUMERIC_PRECISION: 8
      NUMERIC_PRECISION_RADIX: 2
                NUMERIC_SCALE: 0
                  START_VALUE: 100
                MINIMUM_VALUE: -127
                MAXIMUM_VALUE: 126
                    INCREMENT: 10
                 CYCLE_OPTION: 0
  • Enhanced ANALYZE FORMAT=JSON:

    • Includes r_index_rows, r_icp_filtered.

  • Thread Naming for Diagnostics: Thread names are now more descriptive.

  • Galera Information Schema: New WSREP_BF_ABORTS Information Schema table.

  • Galera Information Schema: New WSREP_THD_STATE and WSREP_THD_STATE_HISTORY Information Schema tables.

  • Galera Information Schema: New Information Schema table WSREP_CONNECTIONS.

  • Galera Information Schema: New Information Schema WSREP_CERT_KEYS and WSREP_CERT_KEYS_HISTORY tables.

PL/SQL

Support for Oracle-stype INDEX BY tables (associative arrays) was backported from MariaDB 12.1 in stored routines and anonymous blocks, with this declaration syntax:

TYPE type_name TABLE OF rec_type_name INDEX BY idx_type_name;

Where:

  • type_name supports explicit and anchored data types (e.g t1.col1%TYPE).

  • The INDEX BY clause supports integer and string data types.

  • rec_type_name supports scalar and record data types.

The implementation supports the following associative array methods:

  • FIRST

  • LAST

  • NEXT

  • PRIOR

  • COUNT

  • EXISTS

  • DELETE

Tool Improvements

  • mariadb-dump:

    • The --dir=<path> dumps each database to its subdirectory.

    • Supports parallel dumps and restores.

    • New --update-history converts row_end TIMESTAMPs during export.

  • mariadb-import:

    • --dir=<path> restores from the dumped directory structure.

    • Supports --database, --table, --ignore-database, --ignore-table for selective restore.

    • --innodb-optimize-keys: defers index creation to speed up data loads.

  • mariadb-test (mtr):

    • mtr can be started with the --enable_serveroutput option to enable DBMS_OUTPUT messages. See this section for details.

  • mariadb (command-line client)

    • New --enable_serveroutput option to enable DBMS_OUTPUT messages at start time. See this section for details.

    • New serveroutput and noserveroutput command to enable and disable those messages at runtime. See this section for details.

Userstat Plugin Enhancements

  • Improved Insights:

    • Index usage via QUERIES in INDEX_STATISTICS.

    • Query operation counts: ROWS_INSERTED, ROWS_UPDATED, KEY_READ_HITS, etc.

    • New stats in CLIENT_STATISTICS and USER_STATISTICS.

    • Table I/O metrics: PAGES_ACCESSED, PAGES_READ_FROM_DISK.

Changelog

For the complete list of changes in this release, see the changelog.

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 11.8.3-1 is provided for:

  • AlmaLinux 8 (x86_64, ARM64)

  • AlmaLinux 9 (x86_64, ARM64)

  • AlmaLinux 10 (x86_64, ARM64)

  • Debian 11 (x86_64, ARM64)

  • Debian 12 (x86_64, ARM64)

  • Debian 13 (x86_64, ARM64)

  • Microsoft Windows (x86_64) (MariaDB Enterprise Cluster excluded)

  • Oracle Linux 8 (x86_64, ARM64)

  • Oracle Linux 9 (x86_64, ARM64)

  • Oracle Linux 10 (x86_64, ARM64)

  • Red Hat Enterprise Linux 8 (x86_64, ARM64)

  • Red Hat Enterprise Linux 9 (x86_64, ARM64, PPC64LE)

  • Red Hat Enterprise Linux 10 (x86_64, ARM64)

  • Rocky Linux 8 (x86_64, ARM64)

  • Rocky Linux 9 (x86_64, ARM64)

  • Rocky Linux 10 (x86_64, ARM64)

  • SUSE Linux Enterprise Server 15 (x86_64, ARM64)

  • Ubuntu 22.04 (x86_64, ARM64)

  • Ubuntu 24.04 (x86_64, ARM64)

  • Microsoft Windows (x86_64) (Without MariaDB Enterprise Cluster (Galera) support)

  • Red Hat UBI 8 (x86_64, ARM64)

    • Red Hat UBI 8 is part of the Enterprise Server Docker Image. It does not support MariaDB Enterprise Cluster (Galera) or MariaDB ColumnStore.

Some components of MariaDB Enterprise Server are supported on a subset of platforms. See MariaDB Engineering Policies for details.

Installation Instructions

Upgrade Instructions

This page is: Copyright © 2025 MariaDB. All rights reserved.

Last updated

Was this helpful?