Latest in branch 12.2
12.2.2
Released 06 Feb 2026
(4 months ago)
SoftwareMariaDB
Version12.2
Status
End of life
Initial release12.2.1
18 Nov 2025
(6 months ago)
Latest release12.2.2
06 Feb 2026
(4 months ago)
Community EOL13 May 2026
(Ended 25 days ago)
Enterprise EOLUnavailable
Extended EOLUnavailable
Release noteshttps://mariadb.com/kb/en/release-notes-mariadb-12-2-series/
Source codehttps://github.com/mariadb/server/tree/mariadb-12.2.2
Documentationhttps://mariadb.com/kb/en/documentation/
MariaDB 12.2 ReleasesView full list

What Is New in MariaDB 12.2

MariaDB 12.2 introduces a host of new features, performance enhancements, and bug fixes. This release focuses on improving stability, adding functionality for developers, and refining existing systems.

Category Key Changes
New Features New functions, Oracle compatibility enhancements, system versioning improvements.
Performance Improvements Optimizer enhancements, faster query execution, and better resource management.
Security Updates Security fixes for identified vulnerabilities.
Bug Fixes Resolved issues from previous releases across various components.
Deprecated & Removed Features marked for removal or already removed.

What new functions were added in MariaDB 12.2?

This release adds several powerful functions to simplify complex data operations. The new LEAST_BY() and GREATEST_BY() functions return a value from a row based on the minimum or maximum of another column, which is handy for finding top or bottom records.

For JSON manipulation, JSON_OBJECTAGG() aggregates key-value pairs into a single JSON object directly from a query. The JSON_PRETTY() function formats JSON output for better readability, making debugging much easier.

How does MariaDB 12.2 improve Oracle compatibility?

MariaDB 12.2 continues its push to make porting applications from Oracle easier. A significant addition is support for the DUAL table in PL/SQL mode, which is commonly used in Oracle-style queries.

The update also enhances the DBMS_OUTPUT.PUT_LINE() procedure to behave more like its Oracle counterpart. This matters because it reduces the code changes needed when migrating legacy applications, saving developers a lot of time.

What optimizer enhancements are included?

The optimizer received several tweaks for smarter query planning and execution. One improvement allows the optimizer to use a range scan for queries with IN predicates on partitioned tables, which can significantly speed up data retrieval.

There's also better handling of derived tables and subqueries to avoid unnecessary materialization. In practice, this means complex queries with joins and subqueries will run faster and use less temporary disk space.

Are there any changes to system versioning?

Yes, system versioning (temporal tables) got more flexible. You can now add system versioning to existing tables using the ALTER TABLE statement instead of requiring it at table creation.

The syntax for querying historical data has been improved for clarity. This lowers the barrier to adopting system versioning for auditing and tracking changes in existing applications without a full rebuild.

What security fixes were applied?

The release includes patches for specific security vulnerabilities identified in the codebase. These fixes address potential issues that could be exploited under certain conditions.

As with any update, applying these patches is recommended to keep your database instance secure. Always review the specific CVEs mentioned in the release notes for your deployment.

FAQ

Can I use the new JSON functions to replace application-level formatting?
Yes, JSON_PRETTY() is perfect for generating human-readable JSON directly from your SQL queries. This can clean up your application code by moving presentation logic to the database layer.

Will the Oracle compatibility features affect performance?
No, these are primarily syntactic enhancements. They provide a familiar syntax for developers without introducing overhead to the query execution engine.

Is the new LEAST_BY() function a replacement for subqueries?
Often, yes. It provides a more concise and potentially faster way to find a value based on an extreme value in another column, reducing the need for verbose subquery constructs.

How do I add system versioning to my old tables?
Use ALTER TABLE table_name ADD SYSTEM VERSIONING. This is a straightforward way to add audit trails to existing data without a complex migration.

Should I be concerned about any deprecated features?
Always check the deprecation list in the release notes for your specific use cases. MariaDB typically provides a migration path and advance notice before removing functionality.

Releases In Branch 12.2

VersionRelease date
12.2.206 Feb 2026
(4 months ago)
12.2.118 Nov 2025
(6 months ago)