10.8.8

Latest release in branch 10.8
Released 2 years ago (May 05, 2023)

Software MariaDB
Branch 10.8
Status
End of life
Community EOL May 20, 2023
First official release version 10.8.1
First official release date 4 years ago (February 07, 2022)
Release notes https://mariadb.com/docs/release-notes/community-server/old-releases/release-notes-mariadb-10-8-series/mariadb-10-8-8-release-notes
Source code https://github.com/mariadb/server/tree/mariadb-10.8.8
Documentation https://mariadb.com/kb/en/documentation/
MariaDB 10.8 Releases View full list

What Is New in MariaDB 10.8

MariaDB 10.8 is a stable, short-term support release packed with incremental improvements and new features. It focuses on enhancing performance, adding functionality for JSON and GIS data, and improving overall system management.

Category Key Changes
New Features JSON_TABLE, ST_Collect, ST_SwapOrdinates, innodb_fast_shutdown default change
Improvements InnoDB performance, GIS functions, system versioning, password validation
Security OpenSSL 3.0.1 support, new password validation plugin
Deprecated & Removed Deprecation of InnoDB system tables, removal of innodb_locks_unsafe_for_binlog

What new JSON functions were added?

The standout addition for developers is the JSON_TABLE() function. This powerful feature lets you transform JSON data into a relational table format, making it far easier to query complex JSON structures with standard SQL.

In practice, this means you can directly join JSON data with other tables in your database. This bridges the gap between document-based and relational data models, simplifying analytics on semi-structured data stored in JSON columns.

How were GIS capabilities enhanced?

MariaDB 10.8 introduced several new GIS functions to bolster its spatial data handling. Key additions include ST_Collect() for creating geometry collections and ST_SwapOrdinates() for swapping X/Y coordinates within a geometry.

These functions provide more tools for manipulating and analyzing geographic data directly within the database. For GIS workloads, this reduces the need for external data processing, keeping operations fast and integrated.

What InnoDB performance tweaks were made?

A significant change was setting the default value of innodb_fast_shutdown to 0. This ensures a full InnoDB shutdown and purge operation, which is cleaner and more predictable, especially during upgrades.

While this might make shutdowns slightly slower, it prevents potential issues with stale transaction data or undo logs. For most production systems, the trade-off for increased reliability is well worth it.

Were there any important security updates?

Yes, MariaDB 10.8 added support for OpenSSL 3.0.1, keeping encryption libraries current. It also introduced the simple_password_check plugin, which enforces basic password policies by rejecting passwords that are too short or found in a dictionary file.

This plugin provides a straightforward way to improve baseline password security without the complexity of a full-blown validation system. It's a practical first step for hardening database access.

What features were deprecated?

The InnoDB system tables (INNODB_*) in the `mysql` database are now deprecated in favor of using the `INFORMATION_SCHEMA` (e.g., INFORMATION_SCHEMA.INNODB_*) and `PERFORMANCE_SCHEMA` tables for querying InnoDB metadata.

Additionally, the system variable innodb_locks_unsafe_for_binlog was removed. If you're upgrading from an older version, you need to check your configuration and remove any references to this setting.

FAQ

Should I upgrade my production database to MariaDB 10.8?
As a short-term support release, 10.8 is stable but will have a shorter maintenance window than a long-term support (LTS) release like 10.6. It's suitable for production if you are committed to more frequent upgrades. For maximum stability and longer support cycles, an LTS release is often preferred.

How do I use the new JSON_TABLE function?
Use JSON_TABLE in the FROM clause to convert a JSON document into a set of rows. For example: SELECT * FROM JSON_TABLE('[[1,2],[3,4]]', '$[*]' COLUMNS (col1 INT PATH '$[0]', col2 INT PATH '$[1]')) AS jt; This query would return two rows: (1,2) and (3,4).

What is the impact of the innodb_fast_shutdown default change?
Shutting down the database server will take slightly longer because InnoDB performs a full cleanup. The benefit is a more consistent and reliable state on the next startup, which is crucial for avoiding corruption during version upgrades or crash recovery.

Is the simple_password_check plugin enabled by default?
No, it is not enabled by default. You must install it manually by adding plugin_load_add = simple_password_check to your server configuration file (e.g., my.cnf) and then restarting the server to activate it.

Where do I find InnoDB metadata now that the mysql.INNODB_* tables are deprecated?
You should transition your queries to use the corresponding tables in the INFORMATION_SCHEMA. For example, query INFORMATION_SCHEMA.INNODB_TABLES instead of the deprecated mysql.INNODB_TABLE_STATS.

Releases In Branch 10.8

Version Release date
10.8.8 2 years ago
(May 05, 2023)
10.8.7 3 years ago
(February 01, 2023)
10.8.6 3 years ago
(November 03, 2022)
10.8.5 3 years ago
(September 13, 2022)
10.8.4 3 years ago
(August 10, 2022)
10.8.3 3 years ago
(May 18, 2022)
10.8.2 4 years ago
(February 10, 2022)
10.8.1 4 years ago
(February 07, 2022)