This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB 10.4.0 Release Notes

The most recent release of MariaDB 10.4 is:
MariaDB 10.4.34 Stable (GA) Download Now

Download Release Notes Changelog Overview of 10.4

Release date: 9 Nov 2018

MariaDB 10.4 is the current development series of MariaDB. It is an evolution of MariaDB 10.3 with several entirely new features not found anywhere else and with backported and reimplemented features from MySQL.

MariaDB 10.4.0 is an Alpha release.

Do not use alpha releases in production!

For an overview of MariaDB 10.4 see the What is MariaDB 10.4? page.

Thanks, and enjoy MariaDB!

Notable Changes

This will be the first alpha release in the MariaDB 10.4 series.

Notable changes of this release include:

InnoDB

Optimizer

Variables

General

  • IF NOT EXISTS clause added to INSTALL PLUGIN and IF EXISTS clause added to UNINSTALL PLUGIN and UNINSTALL SONAME (MDEV-16294)
  • The obsolete mysql.host table is no longer created (MDEV-15851)
  • Support of brackets (parentheses) for specifying precedence in UNION/EXCEPT/INTERSECT operations (MDEV-11953)
  • Crash safe Aria-based system tables (MDEV-16421)
  • Added Linux abstract socket support (MDEV-15655)
  • Enabled C++11 (MDEV-16410)
  • SET PASSWORD support for ed25519 and other authentication plugins (MDEV-12321)
  • Performance improvements in Unicode collations (MDEV-17534, MDEV-17511, MDEV-17502, MDEV-17474)
  • User data type plugins (MDEV-4912, in progress)
  • Improvements with SQL standard INTERVAL support to help functions TIMESTAMP() and ADDTIME() return more predictable results.
    • Historically, MariaDB uses the TIME data type for both "time of the day" values and "duration" values. In the first meaning the natural value range is from '00:00:00' to '23:59:59.999999', in the second meaning the range is from '-838:59:59.999999' to '+838:59:59.999999'.
    • To remove this ambiguity and for the SQL standard conformance we plan to introduce a dedicated data type INTERVAL that will be able to store values in the range at least from '-87649415:59:59.999999' to '+87649415:59:59.999999', which will be enough to represent the time difference between TIMESTAMP'0001-01-01 00:00:00' and TIMESTAMP'9999-12-31 23:59:59.999999'.
    • As a first step we support this range of values for intermediate calculations when TIME-alike string and numeric values are used in INTERVAL (i.e. duration) context, e.g. as the second argument of SQL functions TIMESTAMP(ts,interval) and ADDTIME(ts,interval), so the following can now be calculated:
SELECT ADDTIME(TIMESTAMP'0001-01-01 00:00:00', '87649415:59:59.999999');
-> '9999-12-31 23:59:59.999999'  

SELECT TIMESTAMP(DATE'0001-01-01', '87649415:59:59.999999')
-> '9999-12-31 23:59:59.999999'  

SELECT ADDTIME(TIME'-838:59:59.999999', '1677:59:59.999998');
-> '838:59:59.999999'  

Changelog

For a complete list of changes made in MariaDB 10.4.0, with links to detailed information on each push, see the changelog.

Contributors

For a full list of contributors to MariaDB 10.4.0, see the MariaDB Foundation release announcement.

Do not use alpha releases in production!


Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.

MariaDB may already be included in your favorite OS distribution. More information can be found on the Distributions which Include MariaDB page.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.