Announcing MariaDB Community Server 10.9 GA and 10.10 RC

We are pleased to announce MariaDB Community Server 10.9 as GA (Generally Available) and the first RC (Release Candidate) of MariaDB Community Server 10.10.

MariaDB Community Server 10.9 now GA

MariaDB Community Server 10.9 GA adds features such as new JSON functions for developers, to compare JSON documents and to use negative indexes and ranges of elements in JSON functions. Read this blog for a full list of all new features in the 10.9 release series. The MariaDB Community Server 10.9 release series started with Preview Releases, then an RC release in May 2022. MariaDB Community Server 10.9.2 marks the first GA release in this series.

MariaDB Community Server 10.10 now RC

For the 10.10 community server release series, standard MariaDB replication now uses GTID (Global Transaction ID) by default and an allowlist in MariaDB Galera Cluster helps increase the security of a cluster. Developers can now generate binary strings for cryptographic use using the RANDOM_BYTES function that ties into the SSL library. In more detail, MariaDB Community Server 10.10 RC includes the following new features:

For Developers
  • A new RANDOM_BYTES function, which returns a binary string of a length between 1 and 1024 bytes. This nondeterministic value is generated by the random number generator of the SSL library, so it generates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use.
  • New INET4 data type to store IPv4 addresses as 4-byte binary strings. As a data type provided are
    • Validation of incorrect values
    • Comparisons
    • Sorting
    • Functions like CAST
  • New collations based on the Unicode Collation Algorithm (UCA) 14.0.0 have been added for the character sets utf8mb3, utf8mb4, ucs2, utf16, utf32
    • One neutral and 22 language specific collations have been added
    • Case sensitive, case insensitive and nopad variants have been added
    • Collations (how to compare characters) are now separated from character sets (how to store characters). Collation names no longer have to include character set names, and the same collation can apply to many character sets
    • Improved contraction performance in UCA collations
    • Improved UCA collation performance for utf8mb3 and utf8mb4
For DevOps and DBAs
  • Incompatibility change: Replication is now using Global Transaction Ids (GTID) by default to make replicas crash safe
    • The default of CHANGE MASTER TO  for master_use_gtid changes from ‘no’ to ‘slave_Pos’,
    • A fresh slave start, a RESET SLAVE or a CHANGE MASTER TO without the defining master_use_gtid is replicating in the GTID based mode using ‘gtid_slave_pos’ as the position to start downloading transactions from the primary
  • A new option ‘slave_max_statement_time’ for the SQL thread has been added to allow to set a maximum allowed execution time for a replicated query
    • Allows to control the maximum time a replica can be behind a primary if the primary goal is to have a small replication lack, with the cost to be out of sync. It is therefore disabled by default.
  • New allowlist for MariaDB Galera Cluster node to restrict the nodes which can join a cluster to increase security .
    • A new system variable wsrep_allowlist can be used to define a list of IP addresses. Only nodes from these IP addresses can join a running MariaDB Cluster to request a SST or IST to sync the data from the donor.
  • Changed default behavior TIMESTAMP field properties
    • Beginning with MariaDB Server 10.10 the default for explicit_defaults_for_timestamp is set to ON resulting in removing the nonstandard behavior for TIMESTAMP fields in CREATE TABLE
      • The properties DEFAULT CURRENT_TIMESTAMP or ON UPDATE CURRENT_TIMESTAMP are not set anymore for the first TIMESTAMP field in a table if not explicitly set
      • A TIMESTAMP field does not get the property NOT NULL set anymore if not explicitly set
      • The old behavior can be achieved by setting the properties explicitly or by setting explicit_defaults_for_timestamp to OFF
  • Improved optimizer performance in a case of join with many eq_ref tables

We encourage you to download Community Server 10.9 GA and try MariaDB Community Server 10.10 RC. Please note that we do not recommend running RC releases in production.

Resources