Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Learn about the new features, bug fixes, and changes in MariaDB MaxScale 25.01 releases. This section provides detailed release notes for these specific versions.
Explore MariaDB MaxScale release notes. This section provides detailed information on new features, bug fixes, and improvements for each version, essential for planning upgrades and deployments.
Learn about the new features, bug fixes, and changes in MariaDB MaxScale 23.08 releases. This section provides detailed release notes for these specific versions.
Old release notes for MariaDB MaxScale releases
Learn about the new features, bug fixes, and changes in MariaDB MaxScale 24.02 releases. This section provides detailed release notes for these specific versions.
Learn about the new features, bug fixes, and changes in MariaDB MaxScale 23.02 releases. This section provides detailed release notes for these specific versions.
Learn about the new features, bug fixes, and changes in MariaDB MaxScale 2.5 releases. This section provides detailed release notes for these specific versions.
MaxScale 23.08.3 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2023-11-06
This document describes the changes in release 23.08.3, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Crash on maxctrl list sessions
Relative paths do not work when defined in the configuration file
Binlog encryption broken
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.8 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-12-05
This document describes the changes in release 23.02.8, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
ssl_version should specify minimum version
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.6 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-11-05
This document describes the changes in release 23.02.6, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Crash on maxctrl list sessions
Handshake response packet size limit is too strict
Binlog encryption broken
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 25.01.5 is a Stable (GA) maintenance release of MariaDB MaxScale 25.01, released on 2025-12-09
Release 25.01.5 is a GA release.
This document describes the changes in release 25.01.5, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 24.02.8 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2025-12-09
This document describes the changes in release 24.02.8, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.08.1 is a Stable (GA) release of MariaDB MaxScale 23.08, released on 2023-09-21
This document describes the changes in release 23.08.1, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.02.16 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2025-12-09
This document describes the changes in release 23.02.16, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.02.1 is a Stable (GA) release of MariaDB MaxScale 23.02, released on 2023-03-15
This document describes the changes in release 23.02.1, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.11 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-12-01
This document describes the changes in release 22.08.11, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.10 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-11-06
This document describes the changes in release 22.08.10, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MXS-6031 No error message if connection to server fails during start of switchover
MXS-6013 SHOW CREATE TABLE doesn't detect if a temporary table is used
MXS-6005 Signal 11 crash
MXS-5983 Default users_refresh_interval causes repeated user account loading
MXS-5963 maxctrl create report --archive error reporting produces errors
MXS-5954 kafkacdc doesn't escape db name identifiers resulting in errors
MXS-5952 MaxScale failover fails with MASTER_SSL=1 default in MariaDB 11.4
MXS-5948 Database names with dashes are not properly escaped when disabling events
MXS-5947 Fix for MXS-5196 can break "maxctrl create report"
MXS-5946 MaxKeys usage message is obsolete
MXS-5717 Rebuild Replica fails when using MaxScale encrypted password for monitor user
MXS-5688 MariaDBMon should not solely depend on "STOP SLAVE" when doing failover/switchover
MXS-5637 ssl_ciphers-setting does not affect TLSv1.3 ciphers
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
MXS-6013 SHOW CREATE TABLE doesn't detect if a temporary table is used
MXS-6005 Signal 11 crash
MXS-5983 Default users_refresh_interval causes repeated user account loading
MXS-5963 maxctrl create report --archive error reporting produces errors
MXS-5954 kafkacdc doesn't escape db name identifiers resulting in errors
MXS-5952 MaxScale failover fails with MASTER_SSL=1 default in MariaDB 11.4
MXS-5948 Database names with dashes are not properly escaped when disabling events
MXS-5947 Fix for MXS-5196 can break "maxctrl create report"
MXS-5946 MaxKeys usage message is obsolete
MXS-5717 Rebuild Replica fails when using MaxScale encrypted password for monitor user
MXS-5688 MariaDBMon should not solely depend on "STOP SLAVE" when doing failover/switchover
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-4762 REST-API generates too many errors for some endpoints
MXS-4760 Automatically ignored tables are not documented for schemarouter
MXS-4749 log_throttling should be disabled if log_info is on
MXS-4735 Connection IDs are missing from error messages
slave_selection_criteria should accept lowercase version of the values
Passthrough authentication does not support COM_CHANGE_USER
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5983 Default users_refresh_interval causes repeated user account loading
MXS-5963 maxctrl create report --archive error reporting produces errors
MXS-5954 kafkacdc doesn't escape db name identifiers resulting in errors
MXS-5948 Database names with dashes are not properly escaped when disabling events
MXS-5947 Fix for MXS-5196 can break "maxctrl create report"
MXS-5946 MaxKeys usage message is obsolete
MXS-5717 Rebuild Replica fails when using MaxScale encrypted password for monitor user
MXS-5688 MariaDBMon should not solely depend on "STOP SLAVE" when doing failover/switchover
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-3004 Add semi-sync support to Pinloki
MXS-4555 Dynamic filter capabilities do not work
MXS-4552 "Unknown prepared statement handler" error when connection_keepalive is disabled on a readconnroute service
MXS-4547 Empty regex // is not treated as empty
MXS-4540 transaction replay retries repeatedly after failing checksum
QLA filter not properly logging USE DBx command.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-4869 Parameter table isn't refreshed after update in the GUI
MXS-4856 GUI failed to create a monitor in a monitored server detail page
MXS-4851 No space or separator between 2 routing targets in the services dashboard
MXS-4798 Broken slave promoted to master when no other servers are available
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
maxctrl list sessionsMXS-4803 Binlog encryption broken
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MaxScale 24.02.6 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2025-06-07
This document describes the changes in release 24.02.6, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Maxctrl interactive mode doesn't use --tls-verify-server-cert=false
The logout screen is shown when accessing the MaxGUI login view.
optimistic_trx causes a query to hang
Processing of conditional headers is incorrect
MaxCtrl fails to read large inputs from stdin
admin_oidc_url is documented to not be dynamic when in fact it is
REST-API always sends a Connection: close header
Signal 11 crash when enabling causal reads with Galera
Add a Service with a CLUSTER as its target breaks CONFIG SYNC
Aborted connection on backend mariadb with persistpool maxscale
Maxctrl config permission check error message is misleading
Wrong password in interactive mode is only seen after the first command
--secretsdir has no default value
Query Editor default connection type preference is changed unexpectedly
Using PKCS#1 private key in the REST-API results in cryptic errors
Trailing parts of large session command are not routed correctly
Prepared statements fail through schemarouter for Columnstore
Masking with functions uses wrong rule settings
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 24.02.1 is a Stable (GA) release of MariaDB MaxScale 24.02, released on 2024-04-08
This document describes the changes in release 24.02.1, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Add disk_space_ok option to master_conditions and slave_conditions
Setting a path argument to empty reads uninitialized memory
REST-API TLS keys are not validated at runtime
MaxScale should prevent incompatible TLS certificates from being configured
enforce_read_only_slaves can set master to read_only
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.08.12 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2025-12-09
This document describes the changes in release 23.08.12, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
No error message if connection to server fails during start of switchover
SHOW CREATE TABLE doesn't detect if a temporary table is used
Signal 11 crash
Default users_refresh_interval causes repeated user account loading
maxctrl create report --archive error reporting produces errors
kafkacdc doesn't escape db name identifiers resulting in errors
Database names with dashes are not properly escaped when disabling events
Fix for MXS-5196 can break "maxctrl create report"
MaxKeys usage message is obsolete
Rebuild Replica fails when using MaxScale encrypted password for monitor user
MariaDBMon should not solely depend on "STOP SLAVE" when doing failover/switchover
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 23.08.10 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2025-06-06
This document describes the changes in release 23.08.10, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Maxctrl interactive mode doesn't use --tls-verify-server-cert=false
The logout screen is shown when accessing the MaxGUI login view.
optimistic_trx causes a query to hang
Processing of conditional headers is incorrect
MaxCtrl fails to read large inputs from stdin
admin_oidc_url is documented to not be dynamic when in fact it is
REST-API always sends a Connection: close header
Signal 11 crash when enabling causal reads with Galera
Add a Service with a CLUSTER as its target breaks CONFIG SYNC
Aborted connection on backend mariadb with persistpool maxscale
Maxctrl config permission check error message is misleading
Wrong password in interactive mode is only seen after the first command
--secretsdir has no default value
Using PKCS#1 private key in the REST-API results in cryptic errors
Trailing parts of a large session command are not routed correctly
kafkacdc commits offsets when it probes GTIDs from Kafka
Logs Archive page doesn't show a useful API error
Masking with functions uses the wrong rule settings
There are some limitations and known issues within this version of MaxScale. For more information, please refer to thedocument.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 23.08.4 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2023-12-05
This document describes the changes in release 23.08.4, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
SSL_VERSION should have a way to disallow deprecated versions
Startup option --basedir mishandled
Parameter table isn't refreshed after update in the GUI
GUI doesn't show and allow to edit connection_metadata after a listener is created
maxscale 23.08.3 crash with dump_last_statements=on_close set
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.7 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-12-02
This document describes the changes in release 23.02.7, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Startup option --basedir mishandled
Parameter table isn't refreshed after update in the GUI
GUI failed to create a monitor in a monitored server detail page
No space or separator between 2 routing targets in the services dashboard
Broken slave promoted to master when no other servers are available
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
Release 2.5.27 is a GA release.
Released: 27 Jul 2023
This document describes the changes in release 2.5.27, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Provide a way to show details about all supported MaxScale modules via REST API and/or MaxCtrl
REST-API documentation is wrong about which server parameters can be modified
The fact that readconnroute doesn't block writes with router_options=slave is not documented
Listener creation error is misleading
Cache filter hangs if statement consists of multiple packets.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
Release 2.5.26 is a GA release.
Released: 23 May 2023
This document describes the changes in release 2.5.26, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Partially executed multi-result queries are not treated as partial results
Query classifier does not recognize BEGIN NOT ATOMIC ... END
Readwritesplit prefers idle primary over busy replicas
transaction_replay_max_size default is 1GiB instead of 1MiB
Not all passwords were obfuscated in the maxctrl report
Regular expression documentation is inaccurate and lacking
KB pages reference mysqlauth and mysqlauth is deprecated for mariadbauth
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 21.06.18 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2024-11-25
This document describes the changes in release 21.06.18, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 25.01.4 is a Stable (GA) maintenance release of MariaDB MaxScale 25.01, released on 2025-09-08
MaxScale 25.01.3 is a Stable (GA) maintenance release of MariaDB MaxScale 25.01, released on 2025-06-25
NOTE: The MaxScale package has been renamed from maxscale-enterprise back to maxscale, which may, when repositories are used, require 25.01.1 and 25.01.2 to be removed before installing 25.01.3.
This document describes the changes in release 25.01.3, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please see .
For any problems you encounter, please consider submitting a bug report on .
MaxScale 24.02.3 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2024-09-09
This document describes the changes in release 24.02.3, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.08.11 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2025-09-08
MaxScale 23.02.11 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2024-09-05
This document describes the changes in release 23.02.11, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.14 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2024-09-09
This document describes the changes in release 22.08.14, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.7 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-08-01
This document describes the changes in release 22.08.7, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.6 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-05-26
This document describes the changes in release 22.08.6, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.5 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-03-27
This document describes the changes in release 22.08.5, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MariaDB MaxScale 22.08 series changes and improvements
Sessions can now be restarted so that added server are taken into use.
Sessions can now be killed using maxctrl.
MariaDBMonitor can use mariadb-backup to clone the contents of a server.
MariaDB MaxScale 25.10 series changes and improvements
The diagnostic output of maxctrl show filter now shows the rules of a filter, if it has such.
At startup, if there are filters that are not used by any service, or servers that are not referred to by any service or monitor, a warning will be logged.
net_write_timeout now also affects backend connections.
Release 2.5.25 is a GA release.
Released: 30 Mar 2023
This document describes the changes in release 2.5.25, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
Release 2.5.18 is a GA release.
Released: 12 Jan 2022
This document describes the changes in release 2.5.18, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
Release 2.5.24 is a GA release.
Released: 4 Jan 2023
This document describes the changes in release 2.5.24, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MXS-4657 Add human readable message text to API errors like 404
MXS-4656 Setting session_track_trx_state=true leads to OOM kiled.
MXS-4642 Document that the Xpand service-user requires "show databases" privilege
MXS-4617 expire_log_duration not working
MXS-4566 RHEL8 Packages for 23.02.1 and 22.08.5
MXS-4557 Binlogrouter breaks if event size exceeds INT_MAX
MXS-4556 Maxscale ignores lower_case_table_names=1 on config file
MXS-4548 The statement canonicalizer cannot handle comments within statements
MXS-4524 Wrong server version assumption
MXS-4515 MaxScale leaks sessions if they are closed when writeq throttling is enabled
MXS-4514 skip_name_resolve is not modifiable at runtime
MXS-4510 Uncaught exception in binlogrouter
MXS-4504 IP wildcard values are not permitted in host values while using data masking
MXS-4494 Replication breaks if binlogfilter excludes events
MXS-4489 PHP program reports different collation_connection when connecting via Maxscale
MXS-4476 Memory leak in smartrouter
MXS-4474 MaxScale hangs with warning about "Worker 1 attempted to send a message to worker 1"
MXS-4473 Hang in smartrouter under heavy load
MXS-4469 Schemarouter routing logic documentation is out of date
MXS-4459 Improve match/exclude documentation for avrorouter and kafkacdc
MXS-4197 pinloki_start_stop is unstable
MXS-3972 The rpl_state in binlogrouter is not atomic
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-3938 Debug assert in xpandmon
MXS-3934 Linking a service at runtime to an xpandmon doesn't work
MXS-3933 Avro reader client can fail
MXS-3928 MaxScale logs a warning when users are loaded from a Xpand cluster
MXS-3920 Can't connect to MaxScale when schema uses utf8mb4 chars >= U0080
MXS-3897 MaxScale crashes when executing CDC process to kafka
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-4450 6.4 no longer provides full certificate chain in TLS HELLO
MXS-4440 Lost connection to backend server: network error (server1: 104, Connection reset by peer)
MXS-4439 Maxscale is failing with Resource temporarily unavailable errors
MXS-4423 Rebalancing is not always initiated from the affected worker/thread
MXS-4404 Maxscale: KafkaCDC writes to current_gtid.txt causes high disk utilisation.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-4856 GUI failed to create a monitor in a monitored server detail page
MXS-4855 While writing query GUI response very slow
MXS-4851 No space or separator between 2 routing targets in the services dashboard
MXS-4818 Columns with the same name break sorting, filtering, and grouping features in Query Editor
MXS-4798 Broken slave promoted to master when no other servers are available
MXS-4789 GUI workspace caching doesn't work accurately
MXS-4728 Laggy issues on result data table
CVE-2024-7553 Fixed by MXS-5400 Upgrade MongoC library to 1.27.5
MXS-5394 Empty passwords are shown as non-empty if password encryption is enabled
MXS-5387 Crash in MariaDBParser::Helper::get_query_info()
MXS-5378 Nested listener parameters depend on protocol being defined
MXS-5377 Debug assert if backend fails during multi-packet query
Kafkaimporter doesn't work with MariaDB 11
timeout in kafkacdc is not a duration type
GDB stacktraces may hang
Improve MariaDB Monitor documentation on auto_failover and auto_rejoin
Kafkaimporter constraint makes it difficult to use with kafkacdc
Kafkacdc does not mention row-based replication as a requirement
User account manager hangs on shutdown
Slow servers may cause OOM situations if prepared statements are used
Prepared statements should never be removed from session command history
Kafkacdc always reads last GTID from Kafka on startup
SET NAMES UTF8MB4,autocommit=0 is not detected correctly
The --config-check fails if /var/cache/maxscale cannot be read
Read-only error during read-write transaction should trigger transaction replay
MaxScale installs scripts with non-standard file permissions
Valgrind reports read from uninitialized GWBUF for ccrfilter
Retrying of reads on the current primary unnecessarily requires delayed_retry
delayed_retry should not retry interrupted writes
SET statements multiple values are not parsed correctly
test_mxb_string sometimes times out on aarch64
Debug assertion due to non-existent dcall ID
Remove obsolete prelink script
MaxCtrl does not accept dot notation for nested parameters
Listener with ssl=false allows user accounts created with REQUIRE SSL to log in
wsrep_desync behavior is undocumented
webpack warns about yargs
Master Stickiness status not displayed correctly with use_priority
Replicas after maxscale binlog don't get updates
In the previous version of MaxScale, maxctrl was implemented as a JavaScript script that was run using the node interpreter on the platform. That introduced a dependency on node that earlier was not present. In this version of MaxScale, maxctrl is again a native executable without that dependency.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
This page is licensed: CC BY-SA / Gnu FDL
MXS-5920 MaxCtrl/REST-API should tell if password encryption is enabled
MXS-5915 MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
MXS-5911 Upgrade Connector/C to 3.3.16 and 3.4.6
MXS-5910 Error 1047 when trying to run semi-sync replication through Maxscale
Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
Initial config not stored for servers
Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MaxScale 24.02.5 crashes with fatal signal 6 (std::length_error in maxbase::load_file) on Ubuntu 24.04
Watchdog timeout diagnostics are not detailed enough
Authentication failure on all backends does not immediately close sessions
MaxScale allows unlimited COM_CHANGE_USER attempts
Schema tree explorer doesn't show all tables or schemas
Configuration setting names use the old mariabackup name when the executable name is now mariadb-backup
List of read-only builtin functions is out-of-date
Maxscale Uptime on the GUI is overlapping
Config sync does not mark resources as modified
MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
Confusing log message when the wrong connection holds on to the master server lock
maxctrl does not obfuscate password in ps output
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
MXS-5626 Network options for maxvisualize are not documented
MXS-5625 maxpostprocess install failure leaves a corrupt installation
MXS-5618 Maxctrl interactive mode doesn't use --tls-verify-server-cert=false
MXS-5613 The logout screen is shown when accessing the MaxGUI login view.
Processing of conditional headers is incorrect
MaxCtrl fails to read large inputs from stdin
admin_oidc_url is documented to not be dynamic when in fact it is
REST-API always sends a Connection: close header
Signal 11 crash when enabling causal reads with Galera
Diff-router does not decrypt password before stopping replication
Diff-router should log more information when starting
Add a Service with a CLUSTER as its target breaks CONFIG SYNC
Diff-router's behaviour is confusing when it fails to start
Aborted connection on backend mariadb with persistpool maxscale
Maxctrl config permission check error message is misleading
Wrong password in interactive mode is only seen after the first command
--secretsdir has no default value
Query Editor default connection type preference is changed unexpectedly
Using PKCS#1 private key in the REST-API results in cryptic errors
Trailing parts of large session command are not routed correctly
Prepared statements fail through schemarouter for Columnstore
Masking with functions uses wrong rule settings
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
MXS-5232 Large batches of session commands may leave sessions alive for a long time
MXS-5231 Connections to servers in maintenance are sometimes not discarded
MXS-5227 MaxScale does not drop supplementary groups if --user is used
MXS-5226 LICENSE.TXT is a dangling symlink in RPMs
MXS-5213 Erroneous "Cluster gtid domain is unknown" error message during failover
MXS-5209 Reads with max_slave_connections=0 after a switchover do not discard stale connections
MXS-5206 Readwritesplit does not drop connections to severely lagging servers
MXS-5200 CMake 3.28.3 warnings
MXS-5198 Default logrotate config in .deb / docu missing params
MXS-5196 /maxscale/logs/data may return no data if maxlog=0 and syslog=1
MXS-5193 Multi-statement commands may end up being stored in the session command history
MXS-5191 Two cache filters in same service causes errors on session creation
MXS-5190 dotnet EntityFrameworkCore generates insert queries that are getting routed to all nodes as session write
MXS-5179 Active schema is not highlighted in the schema tree explorer
MXS-5171 MaxScale does not have time to open the file during rotation for a new binlog
MXS-5165 MariaDB Monitor rebuild server may try to chown "/var/lib/mysql/" instead of just "/var/lib/mysql"
MXS-5162 Post reboot binlog router entered stuck state
MXS-5160 postinst script prints output while installing
MXS-5159 MaxScale does not use remote address sent in proxy header from client for authenticating the client
MXS-5146 23.08.6 build ppc64le fails
MXS-5135 The GUI should clear all http readonly cookies
MXS-5133 Memory leak in namedserverfilter
MXS-5132 Inbound proxy protocol does not generate the correct error if proxy_protocol_network is not defined
MXS-5131 comment filter uses the wrong module name
MXS-5129 Cache may delete values from LRU but not from storage
MXS-5128 Failed patching passive parameter value
MXS-5127 DEALLOCATE PREPARE is not routed to all nodes
MXS-5126 Segfault in cache filter with default configuration
MXS-5125 Executing identical prepared statements may lose one of them on reconnection
MXS-5121 MaxScale detects wrong server character set
MXS-5109 A logout endpoint for the GUI to clear all http readonly cookies
MXS-4605 Monitor should drop the connection when faced with an Access Denied error
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5920 MaxCtrl/REST-API should tell if password encryption is enabled
MXS-5915 MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
MXS-5911 Upgrade Connector/C to 3.3.16 and 3.4.6
MXS-5910 Error 1047 when trying to run semi-sync replication through Maxscale
Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MaxScale 24.02.5 crashes with fatal signal 6 (std::length_error in maxbase::load_file) on Ubuntu 24.04
Watchdog timeout diagnostics are not detailed enough
Authentication failure on all backends does not immediately close sessions
MaxScale allows unlimited COM_CHANGE_USER attempts
List of read-only builtin functions is out-of-date
Config sync does not mark resources as modified
MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
Confusing log message when the wrong connection holds on to the master server lock
The variable disk_space_threshold should be dynamic for Servers
maxctrl does not obfuscate password in ps output
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-5232 Large batches of session commands may leave sessions alive for a long time
MXS-5227 MaxScale does not drop supplementary groups if --user is used
MXS-5226 LICENSE.TXT is a dangling symlink in RPMs
MXS-5213 Erroneous "Cluster gtid domain is unknown" error message during failover
MXS-5209 Reads with max_slave_connections=0 after a switchover do not discard stale connections
MXS-5200 CMake 3.28.3 warnings
MXS-5198 Default logrotate config in .deb / docu missing params
MXS-5197 Failed to drop the trigger due to invalid syntax in the Query Editor
MXS-5196 /maxscale/logs/data may return no data if maxlog=0 and syslog=1
MXS-5193 Multi-statement commands may end up being stored in the session command history
MXS-5191 Two cache filters in same service causes errors on session creation
MXS-5190 dotnet EntityFrameworkCore generates insert queries that are getting routed to all nodes as session write
MXS-5171 MaxScale does not have time to open the file during rotation for a new binlog
MXS-5162 Post reboot binlog router entered stuck state
MXS-5160 postinst script prints output while installing
MXS-5159 MaxScale does not use remote address sent in proxy header from client for authenticating the client
MXS-5146 23.08.6 build ppc64le fails
MXS-5135 The GUI should clear all http readonly cookies
MXS-5133 Memory leak in namedserverfilter
MXS-5132 Inbound proxy protocol does not generate the correct error if proxy_protocol_network is not defined
MXS-5131 comment filter uses the wrong module name
MXS-5127 DEALLOCATE PREPARE is not routed to all nodes
MXS-5121 MaxScale detects wrong server character set
MXS-5109 A logout endpoint for the GUI to clear all http readonly cookies
MXS-4605 Monitor should drop the connection when faced with an Access Denied error
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5232 Large batches of session commands may leave sessions alive for a long time
MXS-5227 MaxScale does not drop supplementary groups if --user is used
MXS-5226 LICENSE.TXT is a dangling symlink in RPMs
MXS-5213 Erroneous "Cluster gtid domain is unknown" error message during failover
MXS-5210 Text could be selected during server node drag for switch-over
MXS-5209 Reads with max_slave_connections=0 after a switchover do not discard stale connections
MXS-5200 CMake 3.28.3 warnings
MXS-5198 Default logrotate config in .deb / docu missing params
MXS-5196 /maxscale/logs/data may return no data if maxlog=0 and syslog=1
MXS-5193 Multi-statement commands may end up being stored in the session command history
MXS-5191 Two cache filters in same service causes errors on session creation
MXS-5190 dotnet EntityFrameworkCore generates insert queries that are getting routed to all nodes as session write
MXS-5171 MaxScale does not have time to open the file during rotation for a new binlog
MXS-5162 Post reboot binlog router entered stuck state
MXS-5160 postinst script prints output while installing
MXS-5154 Adding or removing objects resets the GUI configuration graph's zoom ratio
MXS-5146 23.08.6 build ppc64le fails
MXS-5133 Memory leak in namedserverfilter
MXS-5131 comment filter uses the wrong module name
MXS-5127 DEALLOCATE PREPARE is not routed to all nodes
MXS-5121 MaxScale detects wrong server character set
MXS-4605 Monitor should drop the connection when faced with an Access Denied error
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-4684 Detect ALTER EVENT failure on MariaDB 11.0
MXS-4683 ssl parameters specified on the bootstrap server are not copied to the rest
MXS-4680 Session idleness diagnostic is wrong
MXS-4676 REST-API documentation is wrong about which server parameters can be modified
Document grants needed for MariaDB 11.1
causal_reads=local is serialized as causal_reads=true
Listener creation error is misleading
xpandmon diagnostics are not useful
Document supported wire protocol versions
Cache filter hangs if statement consists of multiple packets.
Post reboot binlog router entered stuck state
Add human readable message text to API errors like 404
Setting session_track_trx_state=true leads to OOM kiled.
Missing kafkaimporter documentation
Documentation claims that netmask support is limited to numbers 255 and 0
MongoDB monitoring promoted when connecting to NoSQL service
qlafilter log event notifications are sometimes lost
GUI is unable to create a listener with other protocols than MariaDBProtocol
readconnroute documentation page contains a typo "max_slave_replication_lag"
Harden BLR binlog file-index handling
Connection in Query Editor is closed after 1 hour of being idle
Rebalancing is unsafe to use with readwritesplit
binlogrouter shows MaxScale's binary log coordinates in SHOW SLAVE STATUS
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-4615 Partially executed multi-result queries are not treated as partial results
MXS-4614 Query classifier does not recognize BEGIN NOT ATOMIC ... END
MXS-4612 Query Editor: High memory usage when multiple statements are executed in a batch query
MXS-4611 Readwritesplit prefers idle primary over busy replicas
MXS-4602 Qlafilter logs responses from non-matched queries
MXS-4599 AVX instructions end up being executed on startup
MXS-4596 Query canonicalization does not work on scientific numbers
MXS-4595 maxctrl classify sends malformed SQL
MXS-4586 transaction_replay_max_size default is 1GiB instead of 1MiB
MXS-4571 Passwords appear masked even if they are not set
MXS-4570 CREATE USER statements aren't obfuscated in the Query Editor history query
MXS-4569 Undefined behavior in simd_canonical.cc
MXS-4560 Not all passwords were obfuscated in the maxctrl report
MXS-4550 Regular expression documentation is inaccurate and lacking
MXS-4548 The statement canonicalizer cannot handle comments within statements
MXS-4502 KB pages reference mysqlauth and mysqlauth is deprecated for mariadbauth
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-4557 Binlogrouter breaks if event size exceeds INT_MAX
MXS-4556 Maxscale ignores lower_case_table_names=1 on config file
MXS-4555 Dynamic filter capabilities do not work
MXS-4552 "Unknown prepared statement handler" error when connection_keepalive is disabled on a readconnroute service
MXS-4547 Empty regex // is not treated as empty
MXS-4540 transaction replay retries repeatedly after failing checksum
MXS-4524 Wrong server version assumption
MXS-4515 MaxScale leaks sessions if they are closed when writeq throttling is enabled
MXS-4514 skip_name_resolve is not modifiable at runtime
MXS-4513 The connections graph the on GUI dashboard "jumps" on every refresh
MXS-4512 Clang 15 compilation fails on 22.08
MXS-4510 Uncaught exception in binlogrouter
MXS-4504 IP wildcard values are not permitted in host values while using data masking
MXS-4499 config_sync_cluster always uses the mysql database
MXS-4494 Replication breaks if binlogfilter excludes events
MXS-4489 PHP program reports different collation_connection when connecting via Maxscale
MXS-4488 MaxScale can hang if non-MariaDB data is sent to a MariaDB protocol port
MXS-4481 Attempting to create a table with the name "DUAL" crashes MaxScale
MXS-4461 Debug assertion in dcb.cc
MXS-4459 Improve match/exclude documentation for avrorouter and kafkacdc
MXS-4410 QLA filter not properly logging USE DBx command.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MariaDBMonitor settings ignore_external_masters, detect_replication_lagdetect_standalone_master, detect_stale_master and detect_stale_slave have been removed. The first two were ineffective, the latter three are replaced by master_conditions and slave_conditions.
A new Query Rewrite filter, using which queries can be rewritten based upon a template, has been added.
MaxScale no longer logs to both the SystemD journal and MaxScale log by default: the default value of syslog was changed from true to false to reduce the amount of redundant log messages that are logged. To retain the old behavior of logging to both MaxScale's own files and to the SystemD journal, add syslog=true under the [maxscale] section.
The dbfwfilter module that was deprecated in version 6 has now been removed.
MaxGUI Query Editor has changed the type of browser storage from local storage to IndexedDB. As the result, query history, favorite, and configuration are reset. Apart from that, query favorite was renamed to query snippets allowing to quickly insert the query to the editor by typing its prefix. See MaxGUI tutorial
The Xpand monitor now handles group change explicitly.
The Maintenance|Drain state of a server is now synchronized between multiple MaxScale instances if configuration synchronization is enabled.
Causal reads now supported in a multi-MaxScale setup.
The and monitors are deprecated in 22.08.2 and will be removed in 23.02.0.
For more details, please refer to:
The changelog for the previous MaxScale version can be found here.
The global settings query_retry and query_retry_timeout, as well as the monitor settings backend_write_timeout and backend_read_timeout have been removed. The settings are still recognized but any configured values are ignored.
The monitor setting backend_connect_timeout has been deprecated. Use backend_timeout instead.
Now possible to clear service and server statistics using maxctrl.
Support for compression protocols has been added to MaxScale. Both the traditional zlib compression as well as the newer zstd based compression protocols are supported by MaxScale.
MaxGUI Query Editor now disables logging for auto-generated queries by default, while queries manually written and executed in the Query Editor are still logged. Logging for both types can now be managed in the General tab of the Preferences dialog.
MaxScale now uses Forward-confirmed reverse DNS whenever resolving client IP addresses to hostnames. This is similar to how MariaDB handles reverse DNS lookups. The debug=disable-fcrdns debug option can be used to disable it in cases where there are issues with DNS servers.
In the output of maxctrl list server, the state of a server and reason for the state are now separated. The state of a server is shown as Read, Write, Up or Down, possibly augmented with Maintenance or Draining|Drained, while the reason for the state is shown in the next column.
Added simple syntax for maxctrl call command that allows object instances to be used in place of the module name. For example, the maxctrl call command mariadbmon switchover MariaDB-Monitor and maxctrl call command MariaDB-Monitor switchover are now both valid.
Simple filters that have no settings are now automatically created by MaxScale whenever a service refers to them by the module name. For example, filters=hintfilter will enable routing hints for a service without having to define a separate filter section in the configuration.
The statistics in readwritesplit and readconnroute that track session activity per backend have been replaced with a generic metric in the service that already tracked the average and maximum duration of a session. The max_session_active_pct and avg_session_active_pct track the maximum and average percentage that a session has been active, that is, when a query has been in execution on a backend server. This can also be thought of as the length of the session with the idle subtracted from it. The max_session_queries and avg_session_queries track the maximum and average number of queries an individual session has done.
MaxScale can now send metrics to an OpenTelemetry Collector. Telemetry configuration
Added scan-topology command to MariaDB Monitor.
Added discover-replicas command to both MariaDB Monitor and Galera Monitor.
Added bootstrap command to both MariaDB Monitor and Galera Monitor.
Added redirect command to MariaDB Monitor.
MariaDB Monitor backup commands (rebuild-server, create-backup, restore-from-backup) now support key-value arguments. The commands also support the dry-run-option, which checks if MaxScale configuration and servers support the commands.
MariaDB Monitor backup operation status can be shown in detail with the fetch-cmd-status command.
Available backups can be listed with the MariaDB Monitor list-backups command.
Added servers_no_cooperative_monitoring_locks setting to MariaDB Monitor.
Added auto_failback_switchover to MariaDB Monitor.
MaxCtrl now attempts to read the [maxctrl] section from /etc/maxscale.cnf if the configuration file is present and readable. This can be used to customize the MaxCtrl options at a global level for all users.
The maxctrl create server command has a new --copy option that uses the configuration of an existing server as the default configuration. This makes creating multiple similarly configured servers easier. For example, maxctrl create server server2 --copy server1 address=server2.my.host.com would use the settings of server1 for server2 but use a custom value for the address setting.
Galera Monitor now requires the REPLICA MONITOR privilege and will fail to monitor the servers if lacking it. With MariaDB Server versions older than 10.5, REPLICATION CLIENT is required.
It is now possible to dump the content of the query classifier cache using maxctrl.
Listeners and servers support zero-configuration SSL, as described here. See configuration guide for more information.
Added global setting require_secure_transport which forces encryption to be configured everywhere.
By default, MaxScale no longer generates a core file in case of a crash.
The system variable tracker value for redirect_url is intercepted and renamed by MaxScale to mxs_rdir_url. This is done to prevent accidental redirections away from MaxScale.
The new redirect_url parameter can be used to implement connection redirection in MaxScale.
session_trace_match is now matched for every logged message.
When MaxScale is used with MariaDB 12 or later and the service user has the SET USER grant, the backend connections now log in using the service user credentials and then switch to the client user account using the new SET SESSION AUTHORIZATION feature in MariaDB 12. This makes it possible to use authentication plugins like ed25519 and PARSEC without having to configure anything extra in MaxScale. For more information, refer to the documentation of the use_service_credentials setting.
Added support for the PARSEC authentication plugin. The plugin can be used with MariaDB 12 directly and with MariaDB 11.6 or later if the user mapping file is used. For more information, refer to the PARSEC authenticator documentation.
For more details, please refer to:
The changelog for the previous MaxScale version can be found here.
MaxScale 25.10.0 is a Stable (GA) release of MariaDB MaxScale 25.10, released on 2025-10-22
Release 25.10.0 is a GA release. It was released on 2025-10-22.
This document describes the changes in release 25.10, when compared to release 25.01.
For any problems you encounter, please consider submitting a bug report on our Jira.
The global settings query_retry and query_retry_timeout, as well as the monitor settings backend_write_timeout and backend_read_timeout have been removed. The settings are still recognized but any configured values are ignored.
The global settings event.authentication_failure.facility and event.authentication_failure.level have been deprecated and renamed to event_authentication_failure_facility and event_authentication_failure_level respectively.
The monitor setting backend_connect_timeout has been deprecated. Use backend_timeout instead.
Restores the old primary server to primary status once it rejoins the cluster after failover. See for more information.
Manually alters replication topology.
MaxScale can now send metrics to an OpenTelemetry Collector.
The Galera monitor can now bootstrap itself from an existing Galera cluster. Please see the Galera Monitor for more information.
Lists available backups in the backup storage.
If MaxScale is used with MariaDB 12.0 and the service user has the required grants to switch users, the backend authentication will be done with the service user credentials and the new SET SESSION AUTHORIZATION command is used to switch the user account to the one that the client is requesting. This makes the authentication between MaxScale and MariaDB very flexible and allows it to use an efficient, secure and fast authentication mechanism like ed25519 or PARSEC while still supporting all possible authentication mechanisms between the client and MaxScale.
To disable this feature, add use_service_credentials=false to the server section.
When creating a server using maxctrl it is now possible to copy all nonspecified settings from an existing server.
MariaDB Monitor backup operation status can be shown in detail with the command.
MariaDB Monitor (rebuild-server, create-backup, restore-from-backup) now support key-value arguments. The commands also support the dry-run-option, which checks if MaxScale configuration and servers support the commands.
If there is a [maxctrl] section in the MaxScale configuration file, maxctrl will read settings from there if it's readable. This makes it easier to enable encryption and to define the credentials that are used to access MaxScale.
With the initial_status setting, the initial state of all servers can be set to either down, up, read or write. This allows manual assignment of server states for special cases where monitoring is either not needed or doesn't produce the expected result.
The first value in the maxctrl call command can now also be the name of an object in MaxScale instead of the module name. This makes it much more convenient to call the module command of the correct object.
For example, maxctrl call command mariadbmon switchover My-Monitor can now be done with maxctrl call command My-Monitor switchover.
MaxScale now supports the newer zstd as well as the older zlib compression at the protocol level. Unlike MariaDB and MySQL, which have a fixed compression threshold of 50 bytes, MaxScale can be customized to compress at a custom threshold with the mariadbprotocol.compression_threshold setting to reduce the CPU cost for small payloads.
To disable support for the protocol level compression, set mariadbprotocol.compression=none in the listeners.
A filter that does not have any configuration settings can be directory used in the configuration section of a service, without a configuration section of its own. See the for more information.
The implicit filter can be used for preventing writes to a server.
The NoSQL protocol now supports the use of indexes. See for more information.
MaxScale now supports the use of multiple authentication plugins for both client and backend authentication. The set of supported plugins can be configured with the authenticator setting in the listeners. For example to enable both traditional mysql_native_password and the newer PARSEC authentication, use authenticator=mariadbauth,parsecauth in the listeners.
MaxScale now contains a that first learns what statements are allowed and then rejects statements that are not allowed.
Added and commands to Galera Monitor. bootstrap populates an empty monitor. discover-replicas finds new servers to add to the monitor and optionally removes disconnected servers.
Added , and commands to MariaDB Monitor. scan-topology is mainly useful in checking if all servers in the replication cluster are monitored. bootstrap populates an empty monitor. discover-replicas finds new servers to add to the monitor and optionally removes disconnected servers.
MaxScale will rename the redirect_url server variable change in the response from a server to mxs_rdir_url before the packet is returned to clients. This is to prevent someone from inadvertently bypassing MaxScale by doing a SET GLOBAL redirect_url through MaxScale. Redirecting clients away from MaxScale, should be done via maxctrl alter service ... redirect_url=<URL>.
MaxScale now has a configuration setting using which clients can be redirected away from MaxScale.
Using the new it is possible to affect the server selection order in ReadConnRoute.
maxctrl list commandsWith the --fields flag the output of maxctrl can be customized. For instance:
MaxScale now enforces the REQUIRE (X509|ISSUER|SUBJECT|CIPHER) clauses on user definitions. Please see the server documentation for more information.
Monitors and service will activate the configured role when logging in. See and settings for more information.
By default, MaxScale no longer generates a core file when it crashes. Please see for more information.
excludes listed servers from cooperative monitoring.
When configuration file parsing fails in an early phase, the actual offending line will now be logged in the error message to make it easier to pinpoint the problem.
MaxScale now supports authentication.
In the output of maxctrl list server, the state of a server and reason for the state are now separated. The state of a server is shown as Read, Write, Up or Down, possibly augmented with Maintenance or Draining|Drained, while the reason for the state is shown in the next column. For instance, in a Primary/Replica cluster, the reason for the state Read may be Primary, read_only, indicating that although the server is the primary, it has read_only turned on, so it cannot be used for writing.
Using maxctrl, it is now possible to clear both server and service statistics.
MaxScale can connect to a MariaDB Server that is using a self-signed certificate and verify the certificate. See for more information.
MaxScale can generate a self-signed certificate and a supporting client can verify it. See for more information.
Using maxctrl it is now possible to dump the content of the query classifier cache to a file. The cache can be dumped as json, as pretty formatted json and as json lines, i.e. as json objects separated by a newline.
At startup, if there are filters that are not used by any service, or servers that are not referred to by any service or monitor, a warning will be logged.
The maxctrl list servers command now also has a customizable field for replication lag information. To use it, add replication-lag to the list in the --fields option.
The global setting forces encryption to be configured everywhere.
A new feature in the readwritesplit router that synchronizes committed transactions on one or more replicas by waiting for the transaction to be replicated. It has two modes of operation: the soft mode synchronizes the transactions but proceeds normally if a synchronization timeout occurs and the hard mode which will close the client session if synchronization times out. The sync_transaction_max_lag setting can be used to adjust when the throttling takes place and sync_transaction_timeout controls the maximum amount of lag that the client applications will experience.
This feature can be used to limit the amount of replication lag that the cluster will see. It also provides a way to have fully synchronous replication with MariaDB with stronger durability guarantees than is possible with semi-synchronous replication.
The MaxScale GUI and REST-API now use role based access control to restrict the operations that users can do. The admin and basic roles both retain their old behavior of the former being allowed to do anything and the latter being only able to perform read-only operations. The new editor role has the ability to also modify objects but it lacks the ability to create, modify or delete users and roles. The new sql role is only allowed to access the query API and the Workspace in the GUI.
User-defined roles can also be added with the maxctrl create role command. The permissions that the roles have are admin for creating users, edit for creating, modifying and destroying objects, view for viewing information about objects and MaxScale itself and sql for accessing the SQL query API.
Run custom SQL on a server when it gains a primary or replica role. See and for more information.
It is now possible to use passphrase protected certificate keys. Please see and for more information.
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
Highlight changed parameters
Query Editor: Add UI for creating and altering users
Backup operations UI
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
MaxScale 24.02.2 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2024-05-27
This document describes the changes in release 24.02.2, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Add "enforce_read_only_servers" feature to MariaDB Monitor
Server version checks are overly pessimistic
Connection busy error occurs when connecting to a listener in the Query Editor
MariaDB Monitor can kill connections from other monitors during switchover
Master Stickiness state is not documented
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MariaDB MaxScale 24.02 series changes and improvements
The default values of some readwritesplit parameters have been updated. The new default values are:
master_reconnection=true
master_failure_mode=fail_on_write
strict_tmp_tables=true
transaction_replay_timeout=30s
MariaDB-Monitor now requires MariaDB Server 10.4 or newer for failover/ switchover. Server 10.3 is end of life.
Server setting private_address added. Used for detecting and setting up replication. See for more information.
MariaDB-Monitor allows customization of some mariadb-backup settings. See and for more information.
MariaDB-Monitor setting servers_no_promotion now affects primary server selection during MaxScale startup or due to replication topology changes.
Pam authentication now always checks account status. Previously, this check was not performed if MaxScale was configured for username mapping (authenticator_options=pam_backend_mapping=mariadb). This means that if username mapping is configured in the OS pam service config, the final username must be a valid user. This is similar to MariaDB Server behavior.
Support for the legacy SysV and Upstart system managers has been removed. In practice this change will not affect anything as all supported operating systems use SystemD as the system manager and MaxScale has long preferred it over the legacy systems.
The output of maxctrl show service now includes the statistics for the services.
The max_sescmd_history_length and avg_sescmd_history_length statistics in readwritesplit were moved into the core as service statistics. The session command history was moved into the MaxScale core in MaxScale 6 but the statistics were not updated to match this.
Several redundant schemarouter statistics have been either replaced by statistics that are found in the general service statistics output or have been removed if they were irrelevant.
longest_sescmd_chain replaced by max_sescmd_history_length.
queries replaced with routed_packets.
admin_readwrite_hosts and admin_readonly_hosts added. These settings limit the allowed source addresses for admin (REST-API) connections. See for more information.
The alter commands in MaxCtrl now allow modifications to thetargets, servers, filters and cluster parameters for monitors and services. This makes it easier to define the exact set of servers that is to be used by a monitor or a service.
The feature no longer requires modifying session_track_system_variables on the server. MaxScale adds last_gtid to the variable automatically for each session. Clients should not modify it manually.
The now logs the execution of the binary protocol statements as text. This makes it so that for all execution of SQL, the query value in log_data will produce output.
The functionality that the auth_all_servers parameter enabled is automatically enabled by the schemarouter whenever it is used.
For more details, please refer to:
The changelog for the previous MaxScale version can be found .
MariaDB MaxScale 23.08 series changes and improvements
The global setting skip_permission_checks has been deprecated and is ignored. Monitors start regardless of monitor user permissions.
The uppercase versions of the slave_selection_criteria parameter in readwritesplit have been deprecated. All runtime modifications to the parameters are now saved using the lowercase versions.
By default, readwritesplit will not replay transactions that are about to commit when transaction_replay is enabled. To retain the old behavior where transactions were always replayed, disable transaction_replay_safe_commit.
Readwritesplit will now retry queries with partially returned results if they are done inside a transaction and transaction_replay is enabled.
prune_sescmd_history now also performs history simplification by removing redundant executions of the same statement. This will reduce memory usage in the case when history repeats a small cycle of commands. One example of this is connection pools that prepare the connection with a small set of commands like SET NAMES and SET SQL_MODE.
Common configuration settings can now be specified in a separate section, to be included by other sections.
When changing the service password, the previous password will be retained and continue to be used if the new does not work.
Embedded newlines are removed from logged messages.
Schemarouter database map caches can be cleared with maxctrl call command schemarouter clear <service> where <service> is a service that uses the schemarouter.
Schemarouter now allows stale cache entries to be used while the database map cache is being updated. By default the entries are usable for 150 seconds after they have gone stale. This limit can be configured with themax_staleness parameter.
Added switchover-force command to MariaDB Monitor. This command performs a switchover even if primary server is unresponsive.
Switchover now uses a longer command timeout on the old master. This should remove the need for adjusting monitor setting backend_read_timeout to get switchover to work.
The NoSQL protocol now provides internal caching.
Additional metadata is sent in the connection handshake. For more information, refer to the documentation.
The connection_timeout parameter was renamed to wait_timeout to make the naming of the parameters the same in MaxScale and MariaDB server. The oldconnection_timeout parameter is now an alias to wait_timeout and its use has been deprecated. If used, a warning will be logged that the parameter is deprecated.
The strip_db_esc parameter has been deprecated. The default behavior of stripping the escape characters is in all known cases the correct thing to do. Only broken legacy versions where the grants would be returned without backslash escaping would require this parameter to work.
The Xpand monitor is now region aware.
Passthrough authentication mode added to MariaDBAuth-module. See for more information.
Added pam_mode=suid option to PamAuth module. This option separates the pam system library calls to a separate executable. See for more information. test_pam_login tool updated to support this mode.
Added disk_space_ok option to MariaDB Monitor settings master_conditions and slave_conditions. Enabled by default in master_conditions. See for more information. Only available in MaxScale 23.08.5, 24.02.1 and later.
For more details, please refer to:
The changelog for the previous MaxScale version can be found .
MaxScale 23.02.15 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2025-09-08
This document describes the changes in release 23.02.15, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please see .
For any problems you encounter, please consider submitting a bug report on our Jira.
Add MAXSCALE_USER and MAXSCALE_PASSWORD environment variables
MaxCtrl/REST-API should tell if password encryption is enabled
MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
Upgrade Connector/C to 3.3.16 and 3.4.6
Error 1047 when trying to run semi-sync replication through Maxscale
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 23.02.13 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2025-03-07
This document describes the changes in release 23.02.13, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Early mismatched responses to session commands do not close connections
Remove session_trace parameter from services section
Session commands with max_slave_connections=0 after switchover do not discard stale connections
The "INSERT INTO...RETURNING" syntax breaks causal_reads
config sync does not ignore port for listeners
config_sync_password infinitely doubles after maxscale restart & alter command
The Contact view in the GUI has outdated information
Relationship selections auto-cleared when creating a new monitor object
readwritesplit enables multi-statements regardless of the state of causal_reads
Cluster tree is not visualized accurately
idle_session_pool_time=0s does not fairly share connections
Need Documentation updates for Maxscale install recommendation
MaxCtrl warnings are very verbose
Errors during loading of users lack the service name
maxctrl list queries fails
Encrypted passwords cannot be used with maxctrl
Log message: Unknown prepared statement handler given to MaxScale
Backend connections with fail with EAGAIN
Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
MaxScale 24.02.04 not closing DB Connections properly
Duration types that only take seconds return ms as units instead of s
retry_failed_reads is not affected by delayed_retry_timeout
list session in GUI shows wrong amount of sessions
rebuild-server does not work with MariaDB 11.4
Debug assertion on very large binary protocol prepared statements
NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
Kafkacdc errors for wrong GTID positions are not clear
Errors due to max_connections being exceeded are always fatal errors
Certain special characters in the maxscale user causes async-rebuild-server to fail
ed25519 socket droped when no user_mapping_file
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.10 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2024-05-24
This document describes the changes in release 23.02.10, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Add "enforce_read_only_servers" feature to MariaDB Monitor
'Connection Busy' error causes empty schema tree explorer
Master Stickiness state is not documented
SQL API does not return binary data in resultsets
admin_audit file name does not use log_dir value
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.4 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-08-29
This document describes the changes in release 23.02.4, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
GUI default value of inputs in the object creation dialog is empty after closing the dialog
Session command response verification unnecessarily stores PS IDs for readconnroute
Case-sensitiveness of enumerations is not documented
Galeramon does not update replication lag of replicating servers
Implement an option to switch to the old "ping" behaviour in MaxScale
Connection init sql file execution can hang
information_schema is not invalidated as needed
qc_sqlite does not properly parse a RENAME statement
Update maxscale.cnf default file
Cache does not invalidate when a table is ALTERed, DROPed or RENAMEd
SHOW TABLE STATUS FROM some_schema Fails with SchemaRouter
GTID update may block the REST-API
Binlogrouter treats GTID sequences as 32-bit integers
Readwritesplit does not detect unrecoverable situations
Update MaxGUI screenshots in the documentation
Binlogrouter cannot write binlog files larger than 4GiB
Binlogrouter runs out of memory on very large transactions
Replication via binlogrouter temporarily blocks the REST-API
MaxScale BinlogRouter skips large transactions causing data Inconsistency on attached slave
Switchover fails with 'Unknown thread id' error
Crash in mxs1687_avro_ha
Binlogrouter eventually stops working if semi-sync replication is not used
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.3 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-08-04
This document describes the changes in release 23.02.3, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Provide a way to show details about all supported MaxScale modules via REST API and/or MaxCtrl
Detect ALTER EVENT failure on MariaDB 11.0
ssl parameters specified on the bootstrap server are not copied to the rest
Encrypted passwords are persisted in plaintext
Session idleness diagnostic is wrong
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.2 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-05-26
This document describes the changes in release 23.02.2, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Query classifier does not classify XA transactions correctly.
Partially executed multi-result queries are not treated as partial results
Query classifier does not recognize BEGIN NOT ATOMIC ... END
Query Editor: High memory usage when multiple statements are executed in a batch query
Readwritesplit prefers idle primary over busy replicas
Qlafilter logs responses from non-matched queries
Query Editor doesn't quote identifier names properly
AVX instructions end up being executed on startup
Query canonicalization does not work on scientific numbers
maxctrl classify sends malformed SQL
transaction_replay_max_size default is 1GiB instead of 1MiB
Passwords appear masked even if they are not set
Undefined behavior in simd_canonical.cc
I/O activity status missed on the Server current sessions
Some configuration cause no errors to be logged
Not all passwords were obfuscated in the maxctrl report
Binlogrouter breaks if event size exceeds INT_MAX
Maxscale ignores lower_case_table_names=1 on config file
Regular expression documentation is inaccurate and lacking
The statement canonicalizer cannot handle comments within statements
KB pages reference mysqlauth and mysqlauth is deprecated for mariadbauth
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 22.08.18 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2025-09-08
This document describes the changes in release 22.08.18, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please see .
For any problems you encounter, please consider submitting a bug report on our Jira.
Add MAXSCALE_USER and MAXSCALE_PASSWORD environment variables
MaxCtrl/REST-API should tell if password encryption is enabled
MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
Upgrade Connector/C to 3.3.16 and 3.4.6
Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 22.08.17 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2025-06-04
This document describes the changes in release 22.08.17, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Maxctrl interactive mode doesn't use --tls-verify-server-cert=false
The logout screen is shown when accessing the MaxGUI login view.
optimistic_trx causes a query to hang
Processing of conditional headers is incorrect
MaxCtrl fails to read large inputs from stdin
admin_oidc_url is documented to not be dynamic when in fact it is
REST-API always sends a Connection: close header
Signal 11 crash when enabling causal reads with Galera
Add a Service with a CLUSTER as its target breaks CONFIG SYNC
Aborted connection on backend mariadb with persistpool maxscale
Maxctrl config permission check error message is misleading
Wrong password in interactive mode is only seen after the first command
--secretsdir has no default value
Using PKCS#1 private key in the REST-API results in cryptic errors
Trailing parts of large session command are not routed correctly
kafkacdc commits offsets when it probes GTIDs from Kafka
Logs Archive page doesn't show useful API error
Masking with functions uses wrong rule settings
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 22.08.16 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2025-03-05
This document describes the changes in release 22.08.16, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Early mismatched responses to session commands do not close connections
Remove session_trace parameter from services section
Session commands with max_slave_connections=0 after switchover do not discard stale connections
The "INSERT INTO...RETURNING" syntax breaks causal_reads
config sync does not ignore port for listeners
Documentation regarding mixing of cooperative_monitoring_locks and passive is unclear
Relationship selections auto-cleared when creating a new monitor object
readwritesplit enables multi-statements regardless of the state of causal_reads
Cluster tree is not visualized accurately
idle_session_pool_time=0s does not fairly share connections
Need Documentation updates for Maxscale install recommendation
MaxCtrl warnings are very verbose
Errors during loading of users lack the service name
maxctrl list queries fails
Encrypted passwords cannot be used with maxctrl
Log message: Unknown prepared statement handler given to MaxScale
Backend connections with fail with EAGAIN
Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
MaxScale 24.02.04 not closing DB Connections properly
Resultset is not selected automatically with Inactive query tabs
Duration types that only take seconds return ms as units instead of s
retry_failed_reads is not affected by delayed_retry_timeout
list session in GUI shows wrong amount of sessions
rebuild-server does not work with MariaDB 11.4
Debug assertion on very large binary protocol prepared statements
NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
Kafkacdc errors for wrong GTID positions are not clear
Errors due to max_connections being exceeded are always fatal errors
Certain special characters in the maxscale user causes async-rebuild-server to fail
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 22.08.13 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2024-06-03
This document describes the changes in release 22.08.13, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Add "enforce_read_only_servers" feature to MariaDB Monitor
Master Stickiness state is not documented
ability to setup .secrets file location
max_slave_connections=0 may create slave connections after a switchover
ssl_version in MaxScale and tls_version in MariaDB behave differently
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 22.08.8 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-08-30
This document describes the changes in release 22.08.8, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
GUI default value of inputs in the object creation dialog is empty after closing the dialog
Session command response verification unnecessarily stores PS IDs for readconnroute
Case-sensitiveness of enumerations is not documented
Galeramon does not update replication lag of replicating servers
Implement an option to switch to the old "ping" behaviour in MaxScale
Connection init sql file execution can hang
information_schema is not invalidated as needed
qc_sqlite does not properly parse a RENAME statement
Update maxscale.cnf default file
Cache does not invalidate when a table is ALTERed, DROPed or RENAMEd
SHOW TABLE STATUS FROM some_schema Fails with SchemaRouter
GTID update may block the REST-API
Binlogrouter treats GTID sequences as 32-bit integers
Readwritesplit does not detect unrecoverable situations
Binlogrouter cannot write binlog files larger than 4GiB
Binlogrouter runs out of memory on very large transactions
Replication via binlogrouter temporarily blocks the REST-API
Encrypted passwords are persisted in plaintext
MaxScale BinlogRouter skips large transactions causing data Inconsistency on attached slave
Switchover fails with 'Unknown thread id' error
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 21.06.19 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2025-03-04
This document describes the changes in release 21.06.19, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Container Image vulnerability CVE-2024-21538 (MXS)
Early mismatched responses to session commands do not close connections
Session commands with max_slave_connections=0 after switchover do not discard stale connections
The "INSERT INTO...RETURNING" syntax breaks causal_reads
Documentation regarding mixing of cooperative_monitoring_locks and passive is unclear
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
This page is licensed: CC BY-SA / Gnu FDL
This document lists known issues and limitations in MariaDB MaxScale and its plugins. Since limitations are related to specific plugins, this document is divided into several sections.
Limitations and Known Issues within MariaDB MaxScale
Configuration limitations
Multiple MaxScales on same server
Security limitiations
MariaDB 10.2
MariaDB Default Values
Query Classification
Prepared Statements
Protocol limitations
Limitations with MySQL/MariaDB Protocol support (MariaDBClient)
Authenticator limitations
Limitations in the GSSAPI authenticator
Limitations in the MySQL authenticator (MariaDBAuth)
Filter limitations
Database Firewall limitations (dbfwfilter)
Tee filter limitations (tee)
Monitor limitations
Limitations with Galera Cluster Monitoring (galeramon)
Router limitations
In versions 2.1.2 and earlier, the configuration files are limited to 1024 characters per line. This limitation was increased to 16384 characters in MaxScale 2.1.3. MaxScale 2.3.0 increased this limit to 16777216 characters.
In versions 2.2.12 and earlier, the section names in the configuration files were limited to 49 characters. This limitation was increased to 1023 characters in MaxScale 2.2.13.
Starting with MaxScale 2.4.0, on systems with Linux kernels 3.9 or newer due to the addition of SO_REUSEPORT support, it is possible for multiple MaxScale instances to listen on the same network port if the directories used by both instances are completely separate and there are no conflicts which can cause unexpected splitting of connections. This will only happen if users explicitly tell MaxScale to ignore the default directories and will not happen in normal use.
The parser of MaxScale correctly parses WITH statements, but fails to collect columns, functions and tables used in the SELECT defining the WITH clause.
Consequently, the database firewall will not block WITH statements where the SELECT of the WITH clause refers to forbidden columns.
MaxScale assumes that certain configuration parameters in MariaDB are set to their default values. These include but are not limited to:
autocommit: Autocommit is enabled for all new connections.
tx_read_only: Transactions use READ WRITE permissions by default.
Follow the Jira issue to track the progress on this limitation.
XA transactions are not detected as transactions by MaxScale. This means that all XA commands will be treated as unknown commands and will be treated as operations that potentially modify the database (in the case of readwritesplit, the statements are routed to the master).
MaxScale will not track the XA transaction state which means that any SELECT queries done inside an XA transaction can be routed to servers that are not part of the XA transaction.
This limitation can be avoided on the client side by disabling autocommit before any XA transactions are done. The following example shows how a simple XA transaction is done via MaxScale by disabling autocommit for the duration of the XA transaction.
For its proper functioning, MaxScale needs in general to be aware of the transaction state and autocommit mode. In order to be that, MaxScale parses statements going through it.
However, if a transaction is commited or rolled back, or the autocommit mode is changed using a prepared statement, MaxScale will miss that and its internal state will be incorrect, until the transaction state or autocommit mode is changed using an explicit statement.
For instance, after the following sequence of commands, MaxScale will still think autocommit is on:
To ensure that MaxScale functions properly, do not commit or rollback a transaction or change the autocommit mode using a prepared statement.
Compression is not included in the server handshake.
If a KILL [CONNECTION] <ID> statement is executed, MaxScale will intercept it. If the ID matches a MaxScale session ID, it will be closed, similarly to how MariaDB does it. If the KILL CONNECTION USER <user> form is given, all connections with a matching username will be closed.
MariaDB MaxScale does not support KILL QUERY ID <query_id> type statements. If a query by a query ID is to be killed, it needs to be done directly on the backend databases.
Currently, MariaDB MaxScale only supports GSSAPI authentication when the backend connections use GSSAPI authentication. Client side GSSAPI authentication with a different backend authentication module is not supported.
MySQL old style passwords are not supported. MySQL versions 4.1 and newer use a new authentication protocol which does not support pre-4.1 style passwords.
When users have different passwords based on the host from which they connect MariaDB MaxScale is unable to determine which password it should use to connect to the backend database. This results in failed connections and unusable usernames in MariaDB MaxScale.
Only a subset of netmasks are supported for the Host-column in the mysql.user-table (and related tables). Specifically, if the Host is of the form base_ip/netmask, then the netmask must only contain the numbers 0 or 255. For example, a netmask of 255.255.255.0 is fine while 255.255.255.192 is not.
The Database Firewall filter does not support multi-statements. Using them will result in an error being sent to the client.
The Tee filter does not support binary protocol prepared statements. The execution of a prepared statements through a service that uses the tee filter is not guaranteed to succeed on the service where the filter branches to as it does on the original service.
This possibility exists due to the fact that the binary protocol prepared statements are identified by a server-generated ID. The ID sent to the client from the main service is not guaranteed to be the same that is sent by the branch service.
A server can only be monitored by one monitor. Two or more monitors monitoring the same server is considered an error.
The default master selection is based only on MIN(wsrep_local_index). This can be influenced with the server priority mechanic described in the Galera Monitor manual.
Refer to individual router documentation for a list of their limitations.
Release 2.5.28 is a GA release.
Released: 21 Aug 2023
This document describes the changes in release 2.5.28, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Case-sensitiveness of enumerations is not documented
Galeramon does not update replication lag of replicating servers
Implement an option to switch to the old "ping" behaviour in MaxScale
Connection init sql file execution can hang
qc_sqlite does not properly parse a RENAME statement
GTID update may block the REST-API
Binlogrouter treats GTID sequences as 32-bit integers
Readwritesplit does not detect unrecoverable situations
Binlogrouter always opens a new binlog on startup
Binlogrouter cannot write binlog files larger than 4GiB
Binlogrouter runs out of memory on very large transactions
Detect ALTER EVENT failure on MariaDB 11.0
Encrypted passwords are persisted in plaintext
MaxScale BinlogRouter skips large transactions causing data Inconsistency on attached slave
Switchover fails with 'Unknown thread id' error
Document grants needed for MariaDB 11.1
xpandmon diagnostics are not useful
binlogrouter shows MaxScale's binary log coordinates in SHOW SLAVE STATUS
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
Release 2.5.21 is a GA release.
Released: 8 Jul 2022
This document describes the changes in release 2.5.21, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Document MaxScale performance tuning
Reported size for query classifier cache keeps growing
MaxScale w/SSL doesn't work on FIPS RHEL7
Filter diagnostics are not shown in maxctrl show filters
Servers with priority=0 are selected as Master
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 22.08.4 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-01-19
This document describes the changes in release 22.08.4, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Memory leak in smartrouter
Table selection doesn't tolerate node failures
COM_INIT_DB isn't routed to all shards
Schemarouter routing logic documentation is out of date
Explicit transactions without a default database do not work as expected with schemarouter
Crash during query replay with service-to-service configuration
Schemarouter should prefer targets which have databases in them for session commands
Schemarouter selects an invalid target for queries that do not target a specific shard
Memory issue in Maxscale
6.4 no longer provides full certificate chain in TLS HELLO
MaxScale crashes when a certificate chain is used with the REST-API
Lost connection to backend server: network error (server1: 104, Connection reset by peer)
Log rotation causes errors in qlafilter
SET STATEMENT variables are not ignored when statements are classified
TLS reloading leaks memory
Rebalancing is not always initiated from the affected worker/thread
pinloki_start_stop is unstable
The rpl_state in binlogrouter is not atomic
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
Release 2.5.22 is a GA release.
Released: 11 Oct 2022
This document describes the changes in release 2.5.22, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
REST API reports unknown parameters with warnings and not errors
Altering servers fails if SSL is enabled
Error from missing --secure option is not helpful
MaxCtrl misinterprets some arguments
REST API accepts empty resource IDs
MariaDB-Monitor spams log with connection errors if server is both [Maintenance] and [Down]
Race condition in KILL command processing
"sub" field not set for JWTs
UPDATE with user variable modification is treated as a session command
MXS-4239 readconnroute module routing read queries to inconsistent slave node
Maxscale shows replication status as [Slave, Running] even when replication credentials are wrong
MaxCtrl incompatibility with MemoryDenyWriteExecute=true is not documented
connection_timeout not documented to only take effect on the top level service
KILL command doesn't work correctly if persistent connections are enabled
MaxScale fails to validate its own certificate when the chain of trust is unknown to OpenSSL
Readconnroute load balancing behavior is not well documented
Update documentation on required monitor privileges
Log warning if reverse name resolution takes significant time
Allow empty token when client is replying to AuthSwitchRequest
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MariaDB MaxScale 25.01 series changes and improvements
The functionality that was enabled by the reuse_prepared_statements parameter in readwritesplit has been moved into the filter module. The reuse_prepared_statements parameter has been removed from readwritesplit.
The functionality that was enabled by the optimistic_trx parameter in readwritesplit has been moved into the filter module. Theoptimistic_trx parameter has been removed from readwritesplit.
Added a safe-option to MariaDB Monitor auto-failover. safe does not perform failover if data loss is certain. Equivalent manual command added. See for more information.
MariaDB Monitor can perform a write test on the primary server. See for more information.
MariaDB Monitor switchover can be called with key-value arguments. This form also supports leaving the old primary in maintenance mode instead of redirecting it. See for more information.
Allowed REST-API TLS ciphers can be tuned with the global setting .
The transaction_replay_safe_commit parameter in readwritesplit now also disables the replaying of all writes done when autocommit is enabled. This means that transaction replay will never replay a statement that may commit a transaction.
NoSQL protocol has been extended.
Now supports
Initial support for the command aggregate has been added.
When running in a container, MaxScale adapts to the amount of resources available in the container.
MaxGUI Query Editor now requires delimiter changes for compound statements such as stored procedures, functions, etc. See for more information. However, the dedicated SQL editor (opened via "Create Function", "Alter Function", "Create Trigger" etc., in the schema tree explorer) does not require delimiter changes as it handles SQL as a single statement.
MaxGUI Query Editor now automatically injects a LIMIT clause with a default limit of 10000 into every SELECT statement.
The new and parameters can be used to enable a trace log that writes messages from all log levels to a set of rotating log files. If enabled, the symlink/var/log/maxscale/maxscale.trace will point to the latest trace log file. This is a low-overhead alternative to enabling log_info and is intended to be used for debugging application problems in production where the overhead of log_info cannot be afforded.
The and the have been deprecated and will be removed in the next major release. can be used instead.
The configuration setting has been deprecated and will be removed in the next series.
For more details, please refer to:
The changelog for the previous MaxScale version can be found .
MaxScale 21.06.17 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2024-09-02
This document describes the changes in release 21.06.17, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Large batches of session commands may leave sessions alive for a long time
MaxScale does not drop supplementary groups if --user is used
LICENSE.TXT is a dangling symlink in RPMs
Erroneous "Cluster gtid domain is unknown" error message during failover
Reads with max_slave_connections=0 after a switchover do not discard stale connections
CMake 3.28.3 warnings
Default logrotate config in .deb / docu missing params
/maxscale/logs/data may return no data if maxlog=0 and syslog=1
Multi-statement commands may end up being stored in the session command history
Two cache filters in same service causes errors on session creation
MaxScale does not have time to open the file during rotation for a new binlog
Post reboot binlog router entered stuck state
postinst script prints output while installing
23.08.6 build ppc64le fails
Memory leak in namedserverfilter
comment filter uses the wrong module name
DEALLOCATE PREPARE is not routed to all nodes
MaxScale detects wrong server character set
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
This page is licensed: CC BY-SA / Gnu FDL
Release 2.5.29 is a GA release.
Released: 25 Oct 2023
This document describes the changes in release 2.5.29, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Update pcre2 to 10.42
Fixed by Update pcre2 to 10.42
Fixed by Update pcre2 to 10.42
Fixed by Update pcre2 to 10.36
Fixed by Update pcre2 to 10.36
Fixed by Update pcre2 to 10.36
Fixed by Update libhiredis to 1.0.2.
Fixed by Update libmicrohttpd to version 0.9.76
MaxScale does not always report the OS version correctly
GUI caching issue
log_throttling should be disabled if log_info is on
log_throttling is hard to modify via MaxCtrl
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 22.08.19 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2025-12-09
This document describes the changes in release 22.08.19, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
SHOW CREATE TABLE doesn't detect if a temporary table is used
Default users_refresh_interval causes repeated user account loading
maxctrl create report --archive error reporting produces errors
kafkacdc doesn't escape db name identifiers resulting in errors
Database names with dashes are not properly escaped when disabling events
Fix for MXS-5196 can break "maxctrl create report"
MaxKeys usage message is obsolete
Rebuild Replica fails when using MaxScale encrypted password for monitor user
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
Release 2.5.23 is a GA release.
Released: 28 Nov 2022
This document describes the changes in release 2.5.23, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Full SASL support is not enabled for kafka modules
Smartrouter interrupts the wrong query
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
Release 2.5.19 is a GA release.
Released: 11 Feb 2022
This document describes the changes in release 2.5.19, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Rebalancing may cause MaxScale to crash
Binlog router appends -BinlogRouter to master version string again and again ...
Session capabilities are not frozen on session startup
MariaDBMonitor does not log connection error on startup
Transaction replay doesn't reset transaction on implicit commit
MaxScale stalls and crashes occasionally
"transaction" is always parsed as a reserved word
Read-only transaction behavior is not documented
Xpand monitor doesn't show full configuration in diagnostic output
Hang in RoutingWorker::execute_concurrently semaphore.hh:146
Shutdown bug
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 23.08.9 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2025-03-07
This document describes the changes in release 23.08.9, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.08.7 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2024-09-09
This document describes the changes in release 23.08.7, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.08.6 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2024-06-03
This document describes the changes in release 23.08.6, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.08.2 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2023-10-30
This document describes the changes in release 23.08.2, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.15 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2024-12-09
This document describes the changes in release 22.08.15, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.9 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2023-10-30
This document describes the changes in release 22.08.9, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.3 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2022-12-02
This document describes the changes in release 22.08.3, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
Release 2.5.20 is a GA release.
Released: 10 May 2022
This document describes the changes in release 2.5.20, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 22.08.1 is a Stable (GA) release of MariaDB MaxScale 22.08, released on 2022-09-12
This document describes the changes in release 22.08.1, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 21.06.20 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2025-05-27
This document describes the changes in release 21.06.20, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MXS-4164 Debug assertion when cat session ends
MXS-4160 Maxscale galeramon + max_slave_replication_lag = Could not find valid server for target type TARGET_SLAVE
MXS-4152 Schemarouter performance degrades as the number of tables increases
MXS-4151 Schemarouter duplicate checks are excessively slow
MXS-4146 Xpand MaxScale Tutorial in KB doesn't work
MXS-4141 connection_keepalive=0 causes a memory leak
MXS-4139 connection_keepalive sends pings even if client is idle
MXS-4138 Race condition in binlogrouter
MXS-4134 /etc/maxscale.cnf.d/ is not created by package installation
MXS-4132 router_options=master ignores rank for first server
MXS-4127 MaxCtrl: list services does not include other targets
MXS-4121 MaxCtrl is limited to 2GB of memory
MXS-4120 Avrorouter crash with a SEQUENCE engine table
MXS-4115 Maxscale prints user/pass with CHANGE MASTER command in logfile while failover.
MXS-4110 Schemarouter does not ignore the sys schema
MXS-4100 connection_keepalive=0 causes a memory leak
MXS-4738 The fact that disable_master_failback does not work with root_node_as_master is not documented
MXS-4735 Connection IDs are missing from error messages
MXS-4724 slave_selection_criteria should accept lowercase version of the values
MXS-4717 information_schema is not invalidated as needed
MXS-4706 Cache does not invalidate when a table is ALTERed, DROPed or RENAMEd
Any KILL commands executed using a prepared statement are ignored by MaxScale. If any are executed, it is highly likely that the wrong connection ends up being killed.
The change user command (COM_CHANGE_USER) only works with standard authentication.
If a COM_CHANGE_USER succeeds on MaxScale yet fails on the server the session ends up in an inconsistent state. This can happen if the password of the target user is changed and MaxScale uses old user account data when processing the change user. In such a situation, MaxScale and server will disagree on the current user. This can affect e.g. reconnections.
SET autocommit=0;
XA START 'MyXA';
INSERT INTO test.t1 VALUES(1);
XA END 'MyXA';
XA PREPARE 'MyXA';
XA COMMIT 'MyXA';
SET autocommit=1;set autocommit=1
PREPARE hide_autocommit FROM "set autocommit=0"
EXECUTE hide_autocommitMXS-5094 Stacktraces fail to be generated when MaxScale is run from the terminal
MXS-5093 SQL API does not return binary data in resultsets
MXS-5091 admin_audit file name does not use log_dir value
MXS-5090 ability to setup .secrets file location
MXS-5085 max_slave_connections=0 may create slave connections after a switchover
MXS-5083 ssl_version in MaxScale and tls_version in MariaDB behave differently
MXS-5082 Password encryption format change in 2.5 is not documented very well
MXS-5081 The values of ssl_version in MaxScale and tls_version in MariaDB accept different values
MXS-5074 Warning about missing slashes around regular expressions is confusing
MXS-5068 users_refresh_time=0s does not work as documented
MXS-5063 Maxscale crash - "terminate called after throwing an instance of 'std::bad_alloc'"
MXS-5051 cmake does not check for unixodbc-dev
MXS-5048 Problem in hostname matching when using regex (%) for user authentication
MXS-5039 cooperative_monitoring_locks can leave stale locks on a server if network breaks
MXS-5038 Maxscale key limitations
MXS-5023 kill user and transaction_replay don't play well together in Galera cluster
MXS-5021 gdb-stacktrace is incorrectly presented as a debug option
MXS-4964 Simple sharding tutorial is out of date
MXS-4902 MariaDB Monitor command reset-replication can be started on a secondary MaxScale
times_sescmd_limit_exceeded has been removed.
sescmd_percentage has been removed.
longest_session replaced with max_session_lifetime.
average_session replaced with avg_session_lifetime.
shortest_session has been removed.
MXS-5897 Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
MXS-5865 Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MXS-5837 MaxScale 24.02.5 crashes with fatal signal 6 (std::length_error in maxbase::load_filestd::string) on Ubuntu 24.04
MXS-5769 Watchdog timeout diagnostics are not detailed enough
MXS-5760 Authentication failure on all backends does not immediately close sessions
MXS-5733 MaxScale allows unlimited COM_CHANGE_USER attempts
MXS-5703 List of read-only builtin functions is out-of-date
MXS-5673 Config sync does not mark resources as modified
MXS-5653 MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
MXS-5641 Confusing log message when the wrong connection holds on to the master server lock
MXS-5635 The variable disk_space_threshold should be dynamic for Servers
MXS-5559 maxctrl does not obfuscate password in ps output
MXS-5090 ability to setup .secrets file location
MXS-5085 max_slave_connections=0 may create slave connections after a switchover
MXS-5083 ssl_version in MaxScale and tls_version in MariaDB behave differently
MXS-5082 Password encryption format change in 2.5 is not documented very well
MXS-5081 The values of ssl_version in MaxScale and tls_version in MariaDB accept different values
MXS-5074 Warning about missing slashes around regular expressions is confusing
MXS-5068 users_refresh_time=0s does not work as documented
MXS-5063 Maxscale crash - "terminate called after throwing an instance of 'std::bad_alloc'"
MXS-5051 cmake does not check for unixodbc-dev
MXS-5048 Problem in hostname matching when using regex (%) for user authentication
MXS-5046 maxctrl alter admin_ssl_* not actually updating
MXS-5039 cooperative_monitoring_locks can leave stale locks on a server if network breaks
MXS-5038 Maxscale key limitations
MXS-5035 Setting a path argument to empty reads uninitialized memory
MXS-5034 REST-API TLS keys are not validated at runtime
MXS-5033 MaxScale should prevent incompatible TLS certificates from being configured
MXS-5031 enforce_read_only_slaves can set master to read_only
MXS-5021 gdb-stacktrace is incorrectly presented as a debug option
MXS-5010 Session commands that are executed early are not validated
MXS-5006 maxscale crash
MXS-4902 MariaDB Monitor command reset-replication can be started on a secondary MaxScale
MXS-4834 MaxScale should log a warning if failover may lose transactions
MXS-4676 REST-API documentation is wrong about which server parameters can be modified
MXS-4672 Document grants needed for MariaDB 11.1
MXS-4666 causal_reads=local is serialized as causal_reads=true
MXS-4665 Listener creation error is misleading
MXS-4664 xpandmon diagnostics are not useful
MXS-4661 Document supported wire protocol versions
MXS-4659 Cache filter hangs if statement consists of multiple packets.
MXS-4658 Post reboot binlog router entered stuck state
MXS-4657 Add human readable message text to API errors like 404
MXS-4656 Setting session_track_trx_state=true leads to OOM kiled.
MXS-4655 Missing kafkaimporter documentation
MXS-4651 Documentation claims that netmask support is limited to numbers 255 and 0
MXS-4648 MongoDB monitoring promoted when connecting to NoSQL service
MXS-4645 qlafilter log event notifications are sometimes lost
MXS-4643 GUI is unable to create a listener with other protocols than MariaDBProtocol
MXS-4634 readconnroute documentation page contains a typo "max_slave_replication_lag"
MXS-4631 Manually deleting log files breaks the file purge (expiration).
MXS-4628 Connection in Query Editor is closed after 1 hour of being idle
MXS-4613 binlogrouter shows MaxScale's binary log coordinates in SHOW SLAVE STATUS
MXS-5865 Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MXS-5837 MaxScale 24.02.5 crashes with fatal signal 6 (std::length_error in maxbase::load_filestd::string) on Ubuntu 24.04
MXS-5769 Watchdog timeout diagnostics are not detailed enough
MXS-5760 Authentication failure on all backends does not immediately close sessions
MXS-5733 MaxScale allows unlimited COM_CHANGE_USER attempts
MXS-5703 List of read-only builtin functions is out-of-date
MXS-5673 Config sync does not mark resources as modified
MXS-5653 MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
MXS-5641 Confusing log message when the wrong connection holds on to the master server lock
MXS-5635 The variable disk_space_threshold should be dynamic for Servers
MXS-5559 maxctrl does not obfuscate password in ps output
MXS-5082 Password encryption format change in 2.5 is not documented very well
MXS-5081 The values of ssl_version in MaxScale and tls_version in MariaDB accept different values
MXS-5074 Warning about missing slashes around regular expressions is confusing
MXS-5068 users_refresh_time=0s does not work as documented
MXS-5048 Problem in hostname matching when using regex (%) for user authentication
MXS-5046 maxctrl alter admin_ssl_* not actually updating
MXS-5039 cooperative_monitoring_locks can leave stale locks on a server if network breaks
MXS-5038 Maxscale key limitations
MXS-5035 Setting a path argument to empty reads uninitialized memory
MXS-5034 REST-API TLS keys are not validated at runtime
MXS-5033 MaxScale should prevent incompatible TLS certificates from being configured
MXS-5031 enforce_read_only_slaves can set master to read_only
MXS-5021 gdb-stacktrace is incorrectly presented as a debug option
MXS-5010 Session commands that are executed early are not validated
MXS-5006 maxscale crash
MXS-4902 MariaDB Monitor command reset-replication can be started on a secondary MaxScale
MXS-4834 MaxScale should log a warning if failover may lose transactions
MXS-5508 Relationship selections auto-cleared when creating a new monitor object
MXS-5507 readwritesplit enables multi-statements regardless of the state of causal_reads
MXS-5492 idle_session_pool_time=0s does not fairly share connections
MXS-5488 Need Documentation updates for Maxscale install recommendation
MXS-5466 MaxCtrl warnings are very verbose
MXS-5455 Errors during loading of users lack the service name
MXS-5450 maxctrl list queries fails
MXS-5449 Encrypted passwords cannot be used with maxctrl
MXS-5443 Log message: Unknown prepared statement handler given to MaxScale
MXS-5439 Backend connections with fail with EAGAIN
MXS-5437 Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
MXS-5432 MaxScale 24.02.04 not closing DB Connections properly
MXS-5419 Duration types that only take seconds return ms as units instead of s
MXS-5415 retry_failed_reads is not affected by delayed_retry_timeout
MXS-5403 Debug assertion on very large binary protocol prepared statements
MXS-5398 Some log messages are not logged when session_trace is used
MXS-5397 NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
MXS-5395 Kafkacdc errors for wrong GTID positions are not clear
MXS-5382 Errors due to max_connections being exceeded are always fatal errors
MaxScale now automatically adds last_gtid to session-levelsession_track_system_variables when causal_reads is enabled. The setting is
only modified at the start of a backend connection, so clients should not modify
it afterwards.
async-rebuild-server and async-restore-from-backup now auto-detect server
data directory. Alternatively, the data directory can be specified manually when
launching the operations from command line. Also, mariadb-backup memory use and
thread count can be customized in monitor settings. See MariaDB Monitor documentation
for more information.
The legacy SysV init scripts as well as the Upstart files have been removed. These were never used by MaxScale if it was installed from a RPM or DEB package.
MaxScale now supports the extended result type information extension to the MariaDB network protocol. This extension to the protocol was added in MariaDB 10.5 and some MariaDB connectors like Connector/J benefit from it.
Binlog files can now be automatically compressed. An option to purging binlogs is now to archive them to another file system or for example, to Amazon S3.
Global settings admin_readwrite_hosts and admin_readonly_hosts limit the
hostnames/IPs from which admin (REST-API) clients can log in from. See admin_readonly_hosts and admin_readwrite_hosts
for more information.
private_address is an alternative IP-address or hostname for a server. This is
used by MariaDB Monitor to detect and set up replication. See MariaDB Monitor documentation
for more information.
The gtid parameter now supports the special
values newest that uses the value of @@gtid_binlog_pos and oldest that
scans the output of SHOW BINLOG EVENTS for the earliest GTID.
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5529 Session commands with max_slave_connections=0 after switchover do not discard stale connections
MXS-5527 The "INSERT INTO...RETURNING" syntax breaks causal_reads
MXS-5522 config sync does not ignore port for listeners
MXS-5520 config_sync_password infinitely doubles after maxscale restart & alter command
MXS-5518 Documentation of switchover-force lacks warnings
MXS-5511 The Contact view in the GUI has outdated information
MXS-5508 Relationship selections auto-cleared when creating a new monitor object
MXS-5507 readwritesplit enables multi-statements regardless of the state of causal_reads
MXS-5493 Cluster tree is not visualized accurately
MXS-5492 idle_session_pool_time=0s does not fairly share connections
MXS-5488 Need Documentation updates for Maxscale install recommendation
MXS-5481 Galera Monitor does not log an error if "SHOW SLAVE STATUS" fails
MXS-5480 disable_sescmd_history=true causes a use-after-free
MXS-5466 MaxCtrl warnings are very verbose
MXS-5455 Errors during loading of users lack the service name
MXS-5450 maxctrl list queries fails
MXS-5449 Encrypted passwords cannot be used with maxctrl
MXS-5443 Log message: Unknown prepared statement handler given to MaxScale
MXS-5439 Backend connections with fail with EAGAIN
MXS-5437 Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
MXS-5432 MaxScale 24.02.04 not closing DB Connections properly
MXS-5430 Authentication errors are sometimes not read if backend TLS is enabled
MXS-5419 Duration types that only take seconds return ms as units instead of s
MXS-5415 retry_failed_reads is not affected by delayed_retry_timeout
MXS-5409 list session in GUI shows wrong amount of sessions
MXS-5408 rebuild-server does not work with MariaDB 11.4
MXS-5404 The monitor journal file is not discarded aggressively enough.
MXS-5403 Debug assertion on very large binary protocol prepared statements
MXS-5402 Monitor connections do not check SSL certificate host even when ssl_verify_peer_host is enabled for the server
MXS-5397 NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
MXS-5395 Kafkacdc errors for wrong GTID positions are not clear
MXS-5382 Errors due to max_connections being exceeded are always fatal errors
MXS-5366 Certain special characters in the maxscale user causes async-rebuild-server to fail
MXS-5340 ed25519 socket droped when no user_mapping_file
MXS-5314 Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5232 Large batches of session commands may leave sessions alive for a long time
MXS-5231 Connections to servers in maintenance are sometimes not discarded
MXS-5227 MaxScale does not drop supplementary groups if --user is used
MXS-5226 LICENSE.TXT is a dangling symlink in RPMs
MXS-5222 Query Editor: Unable to fully see error result when previewing a table
MXS-5221 Query Editor: Unable to visualize preview data result set
MXS-5213 Erroneous "Cluster gtid domain is unknown" error message during failover
MXS-5209 Reads with max_slave_connections=0 after a switchover do not discard stale connections
MXS-5208 Table header row fails to expand to full width in ERD modeler
MXS-5206 Readwritesplit does not drop connections to severely lagging servers
MXS-5200 CMake 3.28.3 warnings
MXS-5198 Default logrotate config in .deb / docu missing params
MXS-5196 /maxscale/logs/data may return no data if maxlog=0 and syslog=1
MXS-5193 Multi-statement commands may end up being stored in the session command history
MXS-5191 Two cache filters in same service causes errors on session creation
MXS-5190 dotnet EntityFrameworkCore generates insert queries that are getting routed to all nodes as session write
MXS-5171 MaxScale does not have time to open the file during rotation for a new binlog
MXS-5167 Query Editor "Filter By" and "Group By" work improperly
MXS-5162 Post reboot binlog router entered stuck state
MXS-5161 Downgrading to 23.08 from 24.02 removes some required directories
MXS-5160 postinst script prints output while installing
MXS-5159 MaxScale does not use remote address sent in proxy header from client for authenticating the client
MXS-5146 23.08.6 build ppc64le fails
MXS-5135 The GUI should clear all http readonly cookies
MXS-5133 Memory leak in namedserverfilter
MXS-5132 Inbound proxy protocol does not generate the correct error if proxy_protocol_network is not defined
MXS-5131 comment filter uses the wrong module name
MXS-5127 DEALLOCATE PREPARE is not routed to all nodes
MXS-5126 Segfault in cache filter with default configuration
MXS-5125 Executing identical prepared statements may lose one of them on reconnection
MXS-5121 MaxScale detects wrong server character set
MXS-5109 A logout endpoint for the GUI to clear all http readonly cookies
MXS-4605 Monitor should drop the connection when faced with an Access Denied error
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5106 Server version checks are overly pessimistic
MXS-5101 MariaDB Monitor can kill connections from other monitors during switchover
MXS-5095 Master Stickiness state is not documented
MXS-5094 Stacktraces fail to be generated when MaxScale is run from the terminal
SQL API does not return binary data in resultsets
admin_audit file name does not use log_dir value
ability to setup .secrets file location
max_slave_connections=0 may create slave connections after a switchover
ssl_version in MaxScale and tls_version in MariaDB behave differently
Password encryption format change in 2.5 is not documented very well
The values of ssl_version in MaxScale and tls_version in MariaDB accept different values
Warning about missing slashes around regular expressions is confusing
users_refresh_time=0s does not work as documented
Maxscale crash - "terminate called after throwing an instance of 'std::bad_alloc'"
cmake does not check for unixodbc-dev
Problem in hostname matching when using regex (%) for user authentication
maxctrl alter admin_ssl_* not actually updating
cooperative_monitoring_locks can leave stale locks on a server if network breaks
Maxscale key limitations
Setting a path argument to empty reads uninitialized memory
REST-API TLS keys are not validated at runtime
MaxScale should prevent incompatible TLS certificates from being configured
enforce_read_only_slaves can set master to read_only
kill user and transaction_replay don't play well together in Galera cluster
gdb-stacktrace is incorrectly presented as a debug option
Session commands that are executed early are not validated
maxscale crash
Simple sharding tutorial is out of date
MariaDB Monitor command reset-replication can be started on a secondary MaxScale
MaxScale should log a warning if failover may lose transactions
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
CVE-2022-1587 Fixed by MXS-4806 Update pcre2 to 10.42
CVE-2022-41409 Fixed by MXS-4806 Update pcre2 to 10.42
MXS-4759 Force failover flag
MXS-4831 Missing SQL error in server state change messages
MXS-4829 Query Editor doesn't assign active database to existing query tabs
MXS-4822 Chart pane width issue in Query Editor
MXS-4821 Multi-statement detection works differently on non-AVX2 CPUs
maxscale crashes on maxsimd::generic::is_multi_stmt_imp
@@last_gtid and @@last_insert_id are treated differently
GTIDs used by causal_reads=global cannot be reset without restarting MaxScale
More than one primary database in a monitor results in errors in MaxScale GUI
Error handling differences between running maxctrl directly or in a subshell
--timeout doesn't work with multiple values in --hosts
connection_metadata checks for the wrong capability bit
MaxScale does not always report the OS version correctly
ConfigManager may spam the log with warnings
NullFilter has not been extended to support all routing enumeration values.
Semi-sync replication through MaxScale causes errors on STOP SLAVE
Log version after log rotation
Galeramon should use gtid_binlog_pos if gtid_current_pos is empty
Kafkacdc logs warnings about the configuration
cooperative_replication works even if cluster parameter is not used
Shutdown may hang if cooperative_replication is used
Aborts due to SystemD watchdog should tell if a DNS lookup was in progress
Maxscale crash due to systemd timeout
Sescmd target selection is sub-optimal with lazy_connect
KafkaCDC: current_gtid.txt is moving but is behind
Config sync status leaves origin field empty on restart
Problem while linking libnosqlprotocol.so
dynamic_node_detection=false does not work with server hostname, needs IP
switchover-force should ignore replication delay
Add replication_custom_options to enable replication TLS certification check
Undefined behavior in ed25519 plugin
Qlafilter doesn't handle pipelined queries correctly
When MaxScalle is installed from tarball and starded without -d option --basedir=. is not parsed properly and full directory needs to be specified
No valid servers in cluster 'MariaDB-Monitor'
Duplicate values in servers are silently ignored
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MariaDBMonitor now preserves the MASTER_USE_GTID-setting of a replica when
redirecting one during switchover and failover. When starting a new
replication connection on a previous replica, Slave_Pos is used. When starting
a new replication connection on a previous primary, Current_Pos is used.
Was deprecated in 22.08.2.
Was deprecated in 22.08.2.
ODBC Type SQL Connections
The POST /sql REST-API endpoint can now use an ODBC driver to connect to an
external data source. To make the use of these new ODBC connections easier, a
new endpoint for canceling active queries was added. The POST /sql/:id/cancel
endpoint will interrupt the ongoing operation on the given connection.
For more information on how ODBC type connections differ from native MariaDB connections, refer to the SQL resource documentation.
Asynchronous Query API
The POST /sql/:id/queries now supports the async=true request option. When
enabled, the results of the query will be delivered asynchronously via the newly
added GET /sql/:id/queries/:query_id endpoint.
To make the use of the API easier, the latest asynchronous query result can be
retrieved multiple times. Results can also be explicitly discarded with the newDELETE /sql/:id/queries/:query_id endpoint.
MXS-2709 ETL/Data Migration Service
The newly added ODBC type connections can be used with the new /sql/:id/etl
endpoints to perform data migration operations from external ODBC data sources
into MariaDB. The initial version supports MariaDB-to-MariaDB and
PostgreSQL-to-MariaDB migrations as well as generic migrations done via the ODBC
catalog functions.
For more information on the new API functions, refer to the SQL resource documentation.
MaxScale can read an inbound proxy protocol header and relay the information to backends. See here for more information.
These commands backup and restore database contents to/from an external drive. See monitor documentation for more information.
It is now possible to change at runtime the number of threads MaxScale uses for routing client traffic. See here for more information.
Some configuration parameters, most notable the rules, can now be changed at runtime.
The REST-API calls to MaxScale can now be logged. See here for more information.
Authentication can be enabled when Redis is used as the cache storage. See here for more information.
SSL/TLS can now be used in the communication between MaxScale and the Redis server when the latter is used as the storage for the cache. See here for more information.
maxctrl (list|show) sessions and MaxGUI now show for each session ani/o activity number that gives an indication of the load of a particular
session. The number is the count of I/O operations performed for the session
during the previous 30 seconds.
MariaDB Server ed25519 authentication plugin support added. See here for more information.
The maxctrl list and show commands now display timestamps using the
locale and timezone of the client computer.
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
MXS-4490 Query Editor - A query tab becomes unusable when a connection is not successfully reconnected.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
CVE-2024-7553 Fixed by MXS-5400 Upgrade MongoC library to 1.27.5
MXS-5398 Some log messages are not logged when session_trace is used
MXS-5394 Empty passwords are shown as non-empty if password encryption is enabled
MXS-5387 Crash in MariaDBParser::Helper::get_query_info()
MXS-5378 Nested listener parameters depend on protocol being defined
Debug assert if backend fails during multi-packet query
Kafkaimporter doesn't work with MariaDB 11
timeout in kafkacdc is not a duration type
Allow monitor ssh-parameters to be modified at runtime
GDB stacktraces may hang
Transaction replay may deadlock with switchover
Improve MariaDB Monitor documentation on auto_failover and auto_rejoin
Switchover may cause two transaction replays to be started
XA ROLLBACK is not treated as a rollback in MaxScale
XA END is treated as the transaction commit instead of XA PREPARE
Kafkaimporter constraint makes it difficult to use with kafkacdc
Kafkacdc does not mention row-based replication as a requirement
User account manager hangs on shutdown
Slow servers may cause OOM situations if prepared statements are used
maxctrl destroy session takes only one ID as argument
MaxScale kafkacdc logs "notice : Started replicating from [x.x.x.x]:3306 at GTID 'N-N-N' at every timeout/reconnection
Prepared statements should never be removed from session command history
Kafkacdc always reads last GTID from Kafka on startup
The --config-check fails if /var/cache/maxscale cannot be read
Read-only error during read-write transaction should trigger transaction replay
MaxScale installs scripts with non-standard file permissions
Valgrind reports read from uninitialized GWBUF for ccrfilter
Retrying of reads on the current primary unnecessarily requires delayed_retry
delayed_retry should not retry interrupted writes
SET statements multiple values are not parsed correctly
Debug assertion due to non-existent dcall ID
Remove obsolete prelink script
MaxCtrl does not accept dot notation for nested parameters
The No Backslash Escapes checkbox in the result export dialog is confusing
Listener with ssl=false allows user accounts created with REQUIRE SSL to log in
wsrep_desync behavior is undocumented
Master Stickiness status not displayed correctly with use_priority
Replicas after maxscale binlog don't get updates
In the previous version of MaxScale, maxctrl was implemented as a JavaScript script that was run using the node interpreter on the platform. That introduced a dependency on node that earlier was not present. In this version of MaxScale, maxctrl is again a native executable without that dependency.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
CVE-2022-1587 Fixed by MXS-4806 Update pcre2 to 10.42
CVE-2022-41409 Fixed by MXS-4806 Update pcre2 to 10.42
CVE-2020-7105 Fixed by MXS-4757 Update libhiredis to 1.0.2.
CVE-2023-27371 Fixed by MXS-4751 Update libmicrohttpd to version 0.9.76
MXS-4831 Missing SQL error in server state change messages
MXS-4815 @@last_gtid and @@last_insert_id are treated differently
MXS-4814 GTIDs used by causal_reads=global cannot be reset without restarting MaxScale
MXS-4812 More than one primary database in a monitor results in errors in MaxScale GUI
Error handling differences between running maxctrl directly or in a subshell
--timeout doesn't work with multiple values in --hosts
MaxScale does not always report the OS version correctly
ConfigManager may spam the log with warnings
NullFilter has not been extended to support all routing enumeration values.
Semi-sync replication through MaxScale causes errors on STOP SLAVE
Log version after log rotation
Galeramon should use gtid_binlog_pos if gtid_current_pos is empty
Kafkacdc logs warnings about the configuration
cooperative_replication works even if cluster parameter is not used
Shutdown may hang if cooperative_replication is used
Aborts due to SystemD watchdog should tell if a DNS lookup was in progress
Maxscale crash due to systemd timeout
KafkaCDC: current_gtid.txt is moving but is behind
Config sync status leaves origin field empty on restart
Problem while linking libnosqlprotocol.so
maxctrl create report cannot write to a pipe
Serialization of regular expressions doesn't add escaping slashes
Automatically ignored tables are not documented for schemarouter
log_throttling should be disabled if log_info is on
log_throttling is hard to modify via MaxCtrl
The fact that disable_master_failback does not work with root_node_as_master is not documented
Read-only transaction sometimes loses statements with causal_reads=universal and transaction_replay=true
Connection IDs are missing from error messages
SET TRANSACTION READ ONLY is classified as a session command
MaxScale shutdown is not signal-safe
slave_selection_criteria should accept lowercase version of the values
The match parameters are not regular expressions
Limit the number of statements to be executed in the Query Editor
When MaxScalle is installed from tarball and starded without -d option --basedir=. is not parsed properly and full directory needs to be specified
No valid servers in cluster 'MariaDB-Monitor'
Duplicate values in servers are silently ignored
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-4418 use-after-free in regexfilter
MXS-4416 Stalling connection after running some command
MXS-4415 Warning for xpandmon for 'leaving' / 'late, leaving' being an unknown sub-state
MXS-4413 UPDATE with user variable breaks replication
MXS-4406 State Shown was Not Correct by 'maxctrl list servers' Command
MXS-4404 Maxscale: KafkaCDC writes to current_gtid.txt causes high disk utilisation.
MXS-4399 Query editor - Keyboard trap (accessibility)
MXS-4397 fields parameter breaks REST-API filtering
MXS-4393 Authentication failures during shard mapping are not handled correctly
MXS-4392 Rebuild-server should read gtid from xtrabackup_binlog_info-file
MXS-4389 Crash in handleError
MXS-4388 LOAD DATA LOCAL INFILE and changing autocomit causing stuck
MXS-4378 Obsolete "Run" button label
MXS-4369 Save Script Is Not Working
MXS-4365 Query tab is going infinite loop, unable to use the query tab after the infinite loop
MXS-4360 New values on the GUI table aren't updated until refresh the browser
MXS-4358 Query editor doesn't redirect to the login page after auth token is expired
MXS-4356 Query classification sometimes treats table names as constants
MXS-4352 Debug assertion when server deleted with persist_runtime_changes=false
MXS-4347 error: no matching constructor for initialization of 'maxsql::ComPacket'
MXS-4317 Smartrouter interrupts the wrong query
MXS-4301 Allow case-insensitive [maxscale] section name
MXS-3043 Database grants in user_accounts_file should add the database to the list of known databases
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-3997 Name threads for better CPU usage view
MXS-3665 Provide more feedback on TLS cipher mismatch
MXS-4110 Schemarouter does not ignore the sys schema
MXS-4109 The /user/inet endpoint fails schema validation
MXS-4103 Binlogrouter doesn't decrypt passwords
MXS-4096 Binlog Routers SHOW SLAVE STATUS does not show SSL information
User account manager does not detect db-level priv changes
schemarouter: duplicate tables found, if table differs on upper lower case only
REST API allows deletion of last user
Status of boostrap servers not always the same as the status of corresponding runtime servers
The cache does not handle multi-statements properly.
Add maxctrl command for dumping the whole REST API output
Mariadbmon constantly logs errors if event scheduler is disabled
Debug assert with connection_keepalive and slow server
maxctrl reload service does not bypass the users refresh rate limit
Persistent connection pool is not automatically flushed
CDC protocol logs a notice message for each new connection
Schema auto-generation is not documented
Avrorouter doesn't log an error for failed SHOW CREATE TABLE
Query classifier cache does not properly record all used memory
Race condition in KILL command execution
GSSAPI authenticator documentation is out of date
KILL commands leave no trace in the log
The Cache filter cannot cope with the Redis server closing the connection
Binlogrouter creates malformed replication events
Got below signal 11 error after upgrading maxscale version maxscale 6.2.1
Sync marker mismatch while reading Avro file
Check certificates with extendedKeyUsage options set for correct purpose flags
Improve Rest API performance
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
MXS-4274 maxctrl reload tls does not reload JWT signature keys
MXS-4272 Certain NoSQL $rename operations can cause a crash
MXS-4269 UPDATE with user variable modification is treated as a session command
MXS-4260 Maxscale crashes frequently while performing load testing
A non-admin user cannot view its own information
When creating user, the NoSQL 'userAdminAnyDatabase' role is not handled properly
MXS-4239 readconnroute module routing read queries to inconsistent slave node
Maxscale shows replication status as [Slave, Running] even when replication credentials are wrong
Schemarouter duble free crash
Sometimes the date and time are missing in the query log
Settings of bootstrap servers are not correctly propagated to dynamic servers
Readconnroute load balancing behavior is not well documented
MaxScale failed to login mysql user with empty password
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MXS-5608 optimistic_trx causes a query to hang
MXS-5599 Processing of conditional headers is incorrect
MXS-5598 MaxCtrl fails to read large inputs from stdin
MXS-5590 REST-API always sends a Connection: close header
MXS-5582 Add a Service with a CLUSTER as its target breaks CONFIG SYNC
MXS-5577 Aborted connection on backend mariadb with persistpool maxscale
MXS-5576 Maxctrl config permission check error message is misleading
MXS-5567 Wrong password in interactive mode is only seen after the first command
MXS-5566 --secretsdir has no default value
MXS-5563 Using PKCS#1 private key in the REST-API results in cryptic errors
MXS-5556 Trailing parts of a large session command are not routed correctly
MXS-5542 kafkacdc commits offsets when it probes GTIDs from Kafka
MXS-5541 Logs Archive page doesn't show a useful API error
MXS-5525 Masking with functions uses the wrong rule settings
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available here.
\
MaxScale 24.02.5 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2025-03-10
This document describes the changes in release 24.02.5, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Remove session_trace parameter from services section
Binary tarballs include experimental modules
Default value of wait_timeout should be the same as in MariaDB
Session commands with max_slave_connections=0 after switchover do not discard stale connections
The "INSERT INTO...RETURNING" syntax breaks causal_reads
config sync does not ignore port for listeners
config_sync_password infinitely doubles after maxscale restart & alter command
Documentation regarding mixing of cooperative_monitoring_locks and passive is unclear
Documentation of switchover-force lacks warnings
gtid_start_pos=newest is not documented for avrorouter
The Contact view in the GUI has outdated information
Relationship selections auto-cleared when creating a new monitor object
readwritesplit enables multi-statements regardless of the state of causal_reads
Revert 60400ee256 MXS-4685: Seek GTIDs incrementally
Cluster tree is not visualized accurately
idle_session_pool_time=0s does not fairly share connections
Need Documentation updates for Maxscale install recommendation
Reads are not retried if connection creation fails due to sub-service failure
Binlogrouter multidomain support broken in 24.02
Galera Monitor does not log an error if "SHOW SLAVE STATUS" fails
disable_sescmd_history=true causes a use-after-free
GUI reference doc links are broken
MaxCtrl warnings are very verbose
GUI Logs Archive doesn't display latest log on second visit without refresh
Preserve timestamp when compressing files in Binlogrouter
Errors during loading of users lack the service name
maxctrl list queries fails
Encrypted passwords cannot be used with maxctrl
Log message: Unknown prepared statement handler given to MaxScale
Backend connections with fail with EAGAIN
Galeramon doesn't update GTID positions internally
Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
MaxScale 24.02.04 not closing DB Connections properly
Authentication errors are sometimes not read if backend TLS is enabled
Duration types that only take seconds return ms as units instead of s
retry_failed_reads is not affected by delayed_retry_timeout
list session in GUI shows wrong amount of sessions
rebuild-server does not work with MariaDB 11.4
The monitor journal file is not discarded aggressively enough.
NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
Kafkacdc errors for wrong GTID positions are not clear
Errors due to max_connections being exceeded are always fatal errors
Binlogrouter cannot open compressed files
ed25519 socket droped when no user_mapping_file
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.08.8 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2024-12-09
This document describes the changes in release 23.08.8, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Upgrade MongoC library to 1.27.5
Fixed by Upgrade MongoC library to 1.27.5
Introduce a new core_file variable in MaxScale
Some log messages are not logged when session_trace is used
Empty passwords are shown as non-empty if password encryption is enabled
Crash in MariaDBParser::Helper::get_query_info()
Alter table editor failed to assign table's collation value
In the previous version of MaxScale, maxctrl was implemented as a JavaScript script that was run using the node interpreter on the platform. That introduced a dependency on node that earlier was not present. In this version of MaxScale, maxctrl is again a native executable without that dependency.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.9 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2024-03-05
This document describes the changes in release 23.02.9, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Fixed by Upgrade libssh to 0.10.6
Top-level service reconnection may cause a use-after-free
MaxScale may send two COM_QUIT packets
MaxScale: BUILD/install_build_deps.sh: deprecated --force-yes
Order of servers is different after restart if runtime modifications have been done
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.02.5 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2023-10-28
This document describes the changes in release 23.02.5, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Update pcre2 to 10.42
Fixed by Update pcre2 to 10.42
Fixed by Update pcre2 to 10.42
Fixed by Update libmicrohttpd to version 0.9.76
Missing SQL error in server state change messages
@@last_gtid and @@last_insert_id are treated differently
GTIDs used by causal_reads=global cannot be reset without restarting MaxScale
More than one primary database in a monitor results in errors in MaxScale GUI
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 21.06.16 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2024-05-29
MaxScale 6.4 was renamed to 21.06 in May 2024. Thus, what would have been released as 6.4.16, was released as 21.06.16. The purpose of this change is to make the versioning scheme used by all MaxScale series identical. 21.06 denotes the year and month when the first 6 release was made.
This document describes the changes in release 21.06.16, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
Add "enforce_read_only_servers" feature to MariaDB Monitor
Master Stickiness state is not documented
ability to setup .secrets file location
max_slave_connections=0 may create slave connections after a switchover
ssl_version in MaxScale and tls_version in MariaDB behave differently
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
This page is licensed: CC BY-SA / Gnu FDL
Release 2.5.17 is a GA release.
Released: 13 Dec 2021
This document describes the changes in release 2.5.17, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
MaxScale unconditionally loads global options from /etc/maxscale.cnf.d/maxscale.cnf
test_kafkacdc fails in 2.5
Kerberos tests are skipped in 2.5
The pam_authentication_2fa test fails very often
core dumps from system-tests (meta bug)
Pinloki initial gtid scan incorrectly reads entire files
Errors with causal_reads and read-only transactions
Sending binlog events is inefficient
Document privileges required for procs_priv system table
Allow maintenance mode to be set on Galera cluster master
Allow symbolic link for path to directory /usr/share/maxscale/gui
The location of the GUI web directory isn't documented
Queries are not always counted as reads with router_options=slave
maxscale crash
maxscale rpl_state is empty
SQL_MODE parsing sometimes fails
When MariaDBMonitor acquires lock majority, the log message gives the impression that auto_failover is enabled even when it is not configured
Unexpected internal state with read-only cursor and result with one row
Not enough information in server state change messages
session_track_trx_state set to true causes incorrect routing of SELECT
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for supported the Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 23.02.14 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2025-06-05
This document describes the changes in release 23.02.14, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Maxctrl interactive mode doesn't use --tls-verify-server-cert=false
The logout screen is shown when accessing the MaxGUI login view.
optimistic_trx causes a query to hang
Processing of conditional headers is incorrect
MaxCtrl fails to read large inputs from stdin
admin_oidc_url is documented to not be dynamic when, in fact, it is
REST-API always sends a Connection: close header
Signal 11 crash when enabling causal reads with Galera
Add a Service with a CLUSTER as its target breaks CONFIG SYNC
Aborted connection on backend mariadb with persistpool maxscale
Maxctrl config permission check error message is misleading
Wrong password in interactive mode is only seen after the first command
--secretsdir has no default value
Using PKCS#1 private key in the REST-API results in cryptic errors
Trailing parts of a large session command are not routed correctly
kafkacdc commits offsets when it probes GTIDs from Kafka
Logs Archive page doesn't show a useful API error
Masking with functions uses the wrong rule settings
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical to the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 25.01.2 is a Stable (GA) maintenance release of MariaDB MaxScale 25.01, released on 2025-03-25
MaxScale 23.08.5 is a Stable (GA) maintenance release of MariaDB MaxScale 23.08, released on 2024-03-11
This document describes the changes in release 23.08.5, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
MaxScale 23.02.12 is a Stable (GA) maintenance release of MariaDB MaxScale 23.02, released on 2024-11-27
This document describes the changes in release 23.02.12, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
maxctrl create server --copy server1 server2 address=127.0.0.1 port=3001maxctrl list servers --fields=server,connections,active-operations,gtid$ maxctrl clear statistics MyService
$ maxctrl clear statistics Server1$ maxctrl create qc_dump --format=json /tmp
/tmp/qc_dump-2024-09-23_13-00-30.jsonMXS-5378 Nested listener parameters depend on protocol being defined
MXS-5377 Debug assert if backend fails during multi-packet query
MXS-5374 Kafkaimporter doesn't work with MariaDB 11
MXS-5372 timeout in kafkacdc is not a duration type
MXS-5364 Allow monitor ssh-parameters to be modified at runtime
MXS-5363 GDB stacktraces may hang
MXS-5361 Query editor: Column visibility filter shows wrong checkboxe values after search
MXS-5359 Transaction replay may deadlock with switchover
MXS-5357 Improve MariaDB Monitor documentation on auto_failover and auto_rejoin
MXS-5356 Readwritesplit master_reconnection is incompatible with GET_LOCK
MXS-5355 Switchover may cause two transaction replays to be started
MXS-5351 XA ROLLBACK is not treated as a rollback in MaxScale
MXS-5350 XA END is treated as the transaction commit instead of XA PREPARE
MXS-5344 Kafkaimporter constraint makes it difficult to use with kafkacdc
MXS-5343 Kafkacdc does not mention row-based replication as a requirement
MXS-5341 User account manager hangs on shutdown
MXS-5339 Slow servers may cause OOM situations if prepared statements are used
MXS-5338 Maxscale Admin Audit file should include ip address or host of calling session
MXS-5315 maxctrl destroy session takes only one ID as argument
MXS-5307 MaxScale kafkacdc logs "notice : Started replicating from [x.x.x.x]:3306 at GTID 'N-N-N' at every timeout/reconnection
MXS-5302 Prepared statements should never be removed from session command history
MXS-5298 Kafkacdc always reads last GTID from Kafka on startup
MXS-5296 New entity table is added without default collation
MXS-5273 The --config-check fails if /var/cache/maxscale cannot be read
MXS-5272 Monitor does not show broken external replication in "maxctrl list servers"
MXS-5268 Read-only error during read-write transaction should trigger transaction replay
MXS-5264 MaxScale installs scripts with non-standard file permissions
MXS-5263 Valgrind reports read from uninitialized GWBUF for ccrfilter
MXS-5259 Retrying of reads on the current primary unnecessarily requires delayed_retry
MXS-5258 delayed_retry should not retry interrupted writes
MXS-5256 SET statements multiple values are not parsed correctly
MXS-5248 Debug assertion due to non-existent dcall ID
MXS-5247 Remove obsolete prelink script
MXS-5245 MaxCtrl does not accept dot notation for nested parameters
MXS-5239 Listener with ssl=false allows user accounts created with REQUIRE SSL to log in
MXS-5236 wsrep_desync behavior is undocumented
MXS-5229 Master Stickiness status not displayed correctly with use_priority
MXS-5178 Replicas after maxscale binlog don't get updates
MXS-4995 The "static" property of an object is lost upon restart
MXS-4994 Multiple warnings from the REST-API are printed on the same line
MXS-4992 Documentation Link in GUI leads to 404 page not found
MXS-4981 Hang on shutdown when large batches of session command are pending
MXS-4979 COM_CHANGE_USER may leave stale IDs to be checked
MXS-4978 Read-only transactions are incorrectly tracked
MXS-4968 REST-API TLS certificates can be reloaded but the path to them cannot be altered
MXS-4967 Log throttling is sometimes disabled too early
MXS-4956 Session commands ignore delayed_retry_timeout
MXS-4948 Unable to see columns of view in the Query Editor
MXS-4947 Tables in information_schema are treated as a normal tables
MXS-4945 GUI doesn't validate object name uniqueness accurately
MXS-4943 delayed_retry timeout errors do not have enough information
MXS-4934 Use-after-free after service deletion
MXS-4930 'maxctrl reload tls' has the usage of 'maxctrl reload service'
MXS-4926 History length of sessions is not visible in the REST-API
MXS-4925 self link in /maxscale/logs/data is off by one page
MXS-4924 Very fast client and server may end up busy-looping a worker
MXS-4922 Memory growth for long-running sessions that use COM_CHANGE_USER
MXS-4921 Memory growth for long-running sessions that use prepared statements
MXS-4920 GUI Logs Archive has infinite loading indicator when fetching older logs
MXS-4912 Query classifier cache total-size book-keeping may be wrong
MXS-4910 readconnroute performance regression in 6.4
MXS-4907 Nested parameters in PATCH /v1/maxscale/ do not work correctly
MXS-4906 MonitorWorker::call_run_one_tick() called more often than intended
MXS-4903 Bad configuration in PATCH may partially configure monitors
MXS-4900 maxctrl show qc_cache can easily overwhelm MaxScale
MXS-4896 Reducing the size of the query classifier cache does not cause excess entries to be freed.
MXS-4891 Query editor schema explorer is disabled after reconnecting connections
MXS-4888 Unable to type custom row limit in the Query configuration dialog
MXS-4879 Transaction state viewed from the session is different from the transaction state as viewed from RWS.
MXS-4865 5.5.5- prefix should not be added if all backends are MariaDB 11
MXS-4811 Error handling differences between running maxctrl directly or in a subshell
MXS-4810 --timeout doesn't work with multiple values in --hosts
MXS-4807 MaxScale does not always report the OS version correctly
MXS-4799 ConfigManager may spam the log with warnings
MXS-4797 NullFilter has not been extended to support all routing enumeration values.
MXS-4792 Semi-sync replication through MaxScale causes errors on STOP SLAVE
MXS-4790 Log version after log rotation
MXS-4788 Galeramon should use gtid_binlog_pos if gtid_current_pos is empty
MXS-4782 Kafkacdc logs warnings about the configuration
MXS-4781 cooperative_replication works even if cluster parameter is not used
MXS-4780 Shutdown may hang if cooperative_replication is used
MXS-4778 Aborts due to SystemD watchdog should tell if a DNS lookup was in progress
MXS-4777 Maxscale crash due to systemd timeout
MXS-4775 KafkaCDC: current_gtid.txt is moving but is behind
MXS-4772 Config sync status leaves origin field empty on restart
MXS-4771 Problem while linking libnosqlprotocol.so
MXS-4768 Empty objects for selecting in "Objects Selection" stage of Data migration
MXS-4767 Rebuild-server and related operations fail with "No route to host"
MXS-4766 maxctrl create report cannot write to a pipe
MXS-4765 Serialization of regular expressions doesn't add escaping slashes
MXS-4763 Logs viewer in data migration worksheet doesn't automatically scroll to the bottom
MXS-4760 Automatically ignored tables are not documented for schemarouter
MXS-4749 log_throttling should be disabled if log_info is on
MXS-4747 log_throttling is hard to modify via MaxCtrl
MXS-4738 The fact that disable_master_failback does not work with root_node_as_master is not documented
MXS-4736 Read-only transaction sometimes loses statements with causal_reads=universal and transaction_replay=true
MXS-4735 Connection IDs are missing from error messages
MXS-4734 SET TRANSACTION READ ONLY is classified as a session command
MXS-4732 MaxScale shutdown is not signal-safe
MXS-4724 slave_selection_criteria should accept lowercase version of the values
MXS-4718 Add replication_custom_options to enable replication TLS certification check
MXS-4707 The match parameters are not regular expressions
MXS-4686 Undefined behavior in ed25519 plugin
MXS-4562 When MaxScalle is installed from tarball and starded without -d option --basedir=. is not parsed properly and full directory needs to be specified
MXS-4538 No valid servers in cluster 'MariaDB-Monitor'
MXS-4457 Duplicate values in servers are silently ignored
MXS-5082 Password encryption format change in 2.5 is not documented very well
MXS-5081 The values of ssl_version in MaxScale and tls_version in MariaDB accept different values
MXS-5074 Warning about missing slashes around regular expressions is confusing
MXS-5048 Problem in hostname matching when using regex (%) for user authentication
MXS-5039 cooperative_monitoring_locks can leave stale locks on a server if network breaks
MXS-5038 Maxscale key limitations
MXS-5031 enforce_read_only_slaves can set master to read_only
MXS-5021 gdb-stacktrace is incorrectly presented as a debug option
MXS-5014 During Failover Passive MaxScale route writes to the Old Master
MXS-5010 Session commands that are executed early are not validated
MXS-5009 --basedir is broken
MXS-4902 MariaDB Monitor command reset-replication can be started on a secondary MaxScale
MXS-4834 MaxScale should log a warning if failover may lose transactions
MXS-5542 kafkacdc commits offsets when it probes GTIDs from Kafka
MXS-5541 Logs Archive page doesn't show useful API error
MXS-5535 Not all parameters are shown when creating a new object in the GUI
MXS-5534 maxpostprocess and maxvisualize do not work when used from a binary tarball
Remove session_trace parameter from services section
Diff does not detect anomalous configuration
Binary tarballs include experimental modules
Default value of wait_timeout should be the same as in MariaDB
Session commands with max_slave_connections=0 after switchover do not discard stale connections
Diff router is not compatible with config-sync
The "INSERT INTO...RETURNING" syntax breaks causal_reads
config sync does not ignore port for listeners
Crash in diff router
config_sync_password infinitely doubles after maxscale restart & alter command
Documentation regarding mixing of cooperative_monitoring_locks and passive is unclear
Documentation of switchover-force lacks warnings
Config Wizard page is accessible by basic user
The Contact view in the GUI has outdated information
Upgrading to 25.01.1 causes systemd service files to be removed
WCAR visualization is not included in the package
Relationship selections auto-cleared when creating a new monitor object
readwritesplit enables multi-statements regardless of the state of causal_reads
Revert 60400ee256 MXS-4685: Seek GTIDs incrementally
Cluster tree is not visualized accurately
idle_session_pool_time=0s does not fairly share connections
Address field unexpectedly auto-truncates on the GUI dashboard
Need Documentation updates for Maxscale install recommendation
Reads are not retried if connection creation fails due to sub-service failure
Binlogrouter multidomain support broken in 24.02
Galera Monitor does not log an error if "SHOW SLAVE STATUS" fails
disable_sescmd_history=true causes a use-after-free
"maxctrl alter monitor MyMonitor auto_failover=true" fails
GUI reference doc links are broken
use-after-free when stopping capture
Parallel query execution fails when multiple query tabs are open
MaxCtrl warnings are very verbose
Result headers are not fully expanded in the inactive tab when running queries parallelly
GUI Logs Archive doesn't display latest log on second visit without refresh
Preserve timestamp when compressing files in Binlogrouter
Errors during loading of users lack the service name
GUI tooltip persists on screen after page navigation
maxctrl list queries fails
Encrypted passwords cannot be used with maxctrl
Log message: Unknown prepared statement handler given to MaxScale
Dropdown inputs in Query Editor table editor are not focusable
Failed authentication warnings do not mention lack of client-side SSL as the reason of the failure
The monitor journal file is not discarded aggressively enough.
ed25519 socket droped when no user_mapping_file
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
CVE-2023-2283 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-6004 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-6918 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-48795 Fixed by MXS-5011 Upgrade libssh to 0.10.6
MXS-4917 Add disk_space_ok option to master_conditions and slave_conditions
MXS-5008 Log message on releasing exclusive locks when no lock majority is confusing
MXS-5007 Top-level service reconnection may cause a use-after-free
MXS-5001 Maxscale fail to initiate maxscale.service (Missing /var/run/maxscale) directory
MXS-4998 MaxScale may send two COM_QUIT packets
MaxScale: BUILD/install_build_deps.sh: deprecated --force-yes
Order of servers is different after restart if runtime modifications have been done
The "static" property of an object is lost upon restart
Multiple warnings from the REST-API are printed on the same line
Documentation Link in GUI leads to 404 page not found
maxscale doesn't properly close connections for TCP health check probes
OpenSSL system call error is logged as ERROR when client disconnects abruptly
Hang on shutdown when large batches of session command are pending
COM_CHANGE_USER may leave stale IDs to be checked
Read-only transactions are incorrectly tracked
Can't create more than max_prepared_stmt_count statements
REST-API TLS certificates can be reloaded but the path to them cannot be altered
Log throttling is sometimes disabled too early
Result of KILL CONNECTION_ID() does not propagate all the way to the client
Session commands ignore delayed_retry_timeout
Unable to see columns of view in the Query Editor
Tables in information_schema are treated as a normal tables
GUI doesn't validate object name uniqueness accurately
delayed_retry timeout errors do not have enough information
False protocol incompatibility error
Use-after-free after service deletion
'maxctrl reload tls' has the usage of 'maxctrl reload service'
History length of sessions is not visible in the REST-API
self link in /maxscale/logs/data is off by one page
Very fast client and server may end up busy-looping a worker
Memory growth for long-running sessions that use COM_CHANGE_USER
Memory growth for long-running sessions that use prepared statements
GUI dashboard's width is reduced unexpectedly
Query classifier cache total-size book-keeping may be wrong
readconnroute performance regression in 6.4
Nested parameters in PATCH /v1/maxscale/ do not work correctly
MonitorWorker::call_run_one_tick() called more often than intended
Bad configuration in PATCH may partially configure monitors
Turning on log_info causes parsing related errors and warnings
maxctrl show qc_cache can easily overwhelm MaxScale
MaxScale sends wrong character set (session tracking)
Reducing the size of the query classifier cache does not cause excess entries to be freed.
Query history retention period increases unexpectedly every time the setting dialog is opened
Query editor schema explorer is disabled after reconnecting connections
Unable to type custom row limit in the Query configuration dialog
Transaction state viewed from the session is different from the transaction state as viewed from RWS.
5.5.5- prefix should not be added if all backends are MariaDB 11
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
CVE-2024-7553 Fixed by MXS-5400 Upgrade MongoC library to 1.27.5
MXS-5177 Introduce a new core_file variable in MaxScale
MXS-5398 Some log messages are not logged when session_trace is used
MXS-5394 Empty passwords are shown as non-empty if password encryption is enabled
MXS-5387 Crash in MariaDBParser::Helper::get_query_info()
MXS-5378 Nested listener parameters depend on protocol being defined
Debug assert if backend fails during multi-packet query
Kafkaimporter doesn't work with MariaDB 11
timeout in kafkacdc is not a duration type
Allow monitor ssh-parameters to be modified at runtime
GDB stacktraces may hang
Transaction replay may deadlock with switchover
Improve MariaDB Monitor documentation on auto_failover and auto_rejoin
Switchover may cause two transaction replays to be started
XA ROLLBACK is not treated as a rollback in MaxScale
XA END is treated as the transaction commit instead of XA PREPARE
Kafkaimporter constraint makes it difficult to use with kafkacdc
Kafkacdc does not mention row-based replication as a requirement
User account manager hangs on shutdown
Slow servers may cause OOM situations if prepared statements are used
Maxscale Admin Audit file should include ip address or host of calling session
maxctrl destroy session takes only one ID as argument
MaxScale kafkacdc logs "notice : Started replicating from [x.x.x.x]:3306 at GTID 'N-N-N' at every timeout/reconnection
Prepared statements should never be removed from session command history
Kafkacdc always reads last GTID from Kafka on startup
The --config-check fails if /var/cache/maxscale cannot be read
Monitor does not show broken external replication in "maxctrl list servers"
Read-only error during read-write transaction should trigger transaction replay
MaxScale installs scripts with non-standard file permissions
Valgrind reports read from uninitialized GWBUF for ccrfilter
Retrying of reads on the current primary unnecessarily requires delayed_retry
delayed_retry should not retry interrupted writes
SET statements multiple values are not parsed correctly
Debug assertion due to non-existent dcall ID
Remove obsolete prelink script
MaxCtrl does not accept dot notation for nested parameters
Listener with ssl=false allows user accounts created with REQUIRE SSL to log in
wsrep_desync behavior is undocumented
Master Stickiness status not displayed correctly with use_priority
Replicas after maxscale binlog don't get updates
In the previous version of MaxScale, maxctrl was implemented as a JavaScript script that was run using the node interpreter on the platform. That introduced a dependency on node that earlier was not present. In this version of MaxScale, maxctrl is again a native executable without that dependency.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MaxScale 25.01.1 is a Stable (GA) release of MariaDB MaxScale 25.01, released on 2025-01-16
This document describes the changes in release 25.01, when compared to release 24.02.
For any problems you encounter, please consider submitting a bug report on our Jira.
If MaxScale is running in a container, it will adapt to amount of resources (CPUs and memory) available in the container. See and for more information.
now supports the exclusion of any field and not only _id. Further, fields can also be added and the value of an existing field reset using expressions.
Diff is a router using which the behaviour of two servers can be compared. Please see for more information.
A number of components using which a live workload can be captured and later replayed. Please see for more information.
Added a safe-option to MariaDB Monitor auto-failover. safe does not perform failover if data loss is certain. Equivalent manual command added. See for more information.
Enabled REST-API TLS ciphers can be tuned with the global setting .
The new and parameters can be used to enable a trace log that writes messages from all log levels to a set of rotating log files.
This feature is an alternative to enabling which is not always feasible in a production system due to the high volume of log data that it creates. This overhead of writing large amounts of trace logging data could be mitigated by placing the log directory on a volatile in-memory filesystem but this risks losing important warning and error messages if the system were to be restarted.
The new trace logging mechanism combines the best of both worlds by writing the normal log messages to the MaxScale log while also writing the info level log messages into a separate set of rotating log files. This way, the important messages are kept even if the system is restarted while still allowing the low-level trace logging to be used to analyze the root causes of client application problems.
now implements the commands needed by , which now can be used for browsing NoSQL collections.
In addition to the existing routed_packets counter in the service and server statistics, the number of reads and writes is also tracked with the new routed_writes and routed_reads counters.
With transaction_replay_safe_commit=true (the default), readwritesplit will no longer replay statements that were executed with autocommit=1. This means that a statement like INSERT INTO software(name) VALUES ('MariaDB') will not be replayed if it's done outside of a transaction and its execution was interrupted. This feature makes transaction_replay safer by default and avoids duplicate execution of statements that may commit a transaction.
MariaDB Monitor can perform a write test on the primary server. Monitor can be configured to perform a failover if the write test fails. This may help deal with storage engine or disk hangups. See for more information.
Similar to MariaDB, MaxScale now stores the last 128 hostnames returned by reverse name lookups. This improves the performance of clusters where clients are authenticated based on a hostname instead of a plain IP address. The new parameter can be used to control the size of the cache and the cache can be disabled with host_cache_size=0.
MaxScale now supports the protocol extensions added in MariaDB 11.5.1 where the bulk execution of statements returns multiple results.
MariaDB Monitor module command switchover can now be called with key-value arguments. This form also supports leaving the old primary in maintenance mode instead of redirecting it. See for more information.
now implements the command and provides a number of aggregation pipe line and .
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
Show Only SQL editor Sessions/Connections Status Separately On Maxscale GUI
Auto-inject LIMIT and OFFSET, and allow no limit
Auto expand active schema node
These are bug-fixes, which are not present in MaxScale 24.02.4, the most recent MaxScale maintenance release.
KafkaCDC JSON conversion is taking most of the CPU time
SystemD complains about legacy PID file paths
Kafkacdc may produce invalid JSON
Resultset table not fully expanded for inactive query tab
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 24.02.4 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2024-12-02
This document describes the changes in release 24.02.4, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Fixed by Upgrade MongoC library to 1.27.5
Fixed by Upgrade MongoC library to 1.27.5
servers_no_promotion should prevent a server from being promoted due to replication change
Introduce a new core_file variable in MaxScale
Debug assertion on very large binary protocol prepared statements
Monitor connections do not check SSL certificate host even when ssl_verify_peer_host is enabled for the server
Some log messages are not logged when session_trace is used
Empty passwords are shown as non-empty if password encryption is enabled
In the previous version of MaxScale, maxctrl was implemented as a JavaScript script that was run using the node interpreter on the platform. That introduced a dependency on node that earlier was not present. In this version of MaxScale, maxctrl is again a native executable without that dependency.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 23.08.0 is a Beta release of MariaDB MaxScale 23.08, released on 2023-09-04
This document describes the changes in release 23.08, when compared to release 23.02.
For any problems you encounter, please consider submitting a bug report on our Jira.
During switchover, MariaDB-Monitor creates a new connection to the master with
a long timeout, ignoring the limit of backend_read_timeout. This reduces the
probability of long commands such as set global read_only=1 timing out. When
kicking out super and read-only admin users, monitor prevent writes with
"flush tables with read lock". See
for more information.
Earlier when the SQL sent by a client was logged due to log_info being enabled,
the SQL was logged verbatim, which would cause the log to contain extra newlines
in case the SQL did. From 23.08 forward, newlines are replaced with the text ,
so that a logged line will not contain any extra newlines.
connection_timeout renamed to wait_timeoutThe connection_timeout parameter was renamed to wait_timeout and the old
name is now an alias to the new name. The use of the old name is deprecated.
max_slave_replication_lag renamed to max_replication_lagThe Readwritesplit max_slave_replication_lag parameter was renamed tomax_replication_lag and the old name is now an alias for the new name.
The use of the old name is deprecated.
The configuration parameters query_classifier and query_classifier_args
have been deprecated and are ignored.
The strip_db_esc parameter is deprecated and will be removed in a future
release. The default behavior of stripping escape characters is in all known
cases the correct thing to do and as such this parameter is never required.
The PCRE2 library used by MaxScale now limits the heap memory to 1GB and the
matching limit to 500000 matches. This change was done to prevent catastrophic
backtracing that occurred when regular expressions used nested recursion
e.g. SELECT.*.*FROM.*.*t1.
The NoSQL protocol module now supports internal caching. Since this cache uses keys created from NoSQL protocol requests and stores NoSQL protocol responses, it is more efficient than the regular cache filter. More information about this functionality can be found .
This version of switchover performs the switch even if the primary server is unresponsive i.e. responds to pings but does not perform any commands in a reasonable time. May lead to diverging replication on the old primary. See for more information.
The causal_reads=fast_universal mode uses the same mechanism to retrieve the
GTID position that the universal mode uses but behaves like the fast mode
when routing queries.
The schemarouter database map cache can now be manually cleared with a MaxCtrl command:
This makes it possible to schedule the clearing of the caches for busy systems where the update of the map takes a long time.
Stale entries in the schemarouter database map can now be used up tomax_staleness seconds. This reduces the impact that a shard update causes to
the client applications.
When the service password is changed, MaxScale will remember and use the previous password if the new does not work. This makes it easier to manage the changing of the password, as the password in the backend and in MaxScale need not be changed simultaneously. More information about this functionality can be found .
iss field in JWTsThe iss field of the JWTs that the REST-API in MaxScale generates can now be
configured with admin_jwt_issuer. This allows REST-API clients to see who
issued the token.
It is now possible to specify options in an include-section, to be included by other sections. This is useful, for instance, if there are multiple monitors that otherwise are identically configured, but for their list of servers. More information about this functionality can be found .
The new transaction_replay_safe_commit variable controls whether
about-to-commit transaction are replayed when transaction_replay is
enabled. The new default is to not replay transactions that were being committed
when the connection to the server was lost.
Passthrough authentication mode for MariaDBAuth-module. See for more information.
If a query in a transaction is interrupted and the result was partially delivered to the client, readwritesplit will now retry the execution of the query and discard the already delivered part of the result.
The adds support for LOAD DATA LOCAL INFILE
from S3 compatible storage.
The new connection_metadata listener parameter controls the set of metadata
variables that are sent to the client during connection creation.
By default the values of the system variables character_set_client,character_set_connection, character_set_results, max_allowed_packet,system_time_zone, time_zone and tx_isolation are sent as well as the
current number of connections as the threads_connected variable and the real
64-bit connection ID as connection_id.
Compatible MariaDB connectors will use this information from MaxScale instead of querying the values of the variables from the database server which greatly speeds up connection creation.
It is now possible to limit the nodes the Xpand monitor dynamically detects to those residing in a specific region. See and for more information.
Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:
Add ERD modeler to the workspace. Instructions on using it can be found .
Show schema objects insights. Instructions on using it can be found .
Auto choose active schema for new query tab.
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MaxScale 24.02.7 is a Stable (GA) maintenance release of MariaDB MaxScale 24.02, released on 2025-09-08
This document describes the changes in release 24.02.7, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please see .
For any problems you encounter, please consider submitting a bug report on our Jira.
Add MAXSCALE_USER and MAXSCALE_PASSWORD environment variables
Allow encrypt_binlog=ON and innodb_encrypt_log=ON with Data-at-rest encryption when rebuilding with --async-rebuild-server
MaxCtrl/REST-API should tell if password encryption is enabled
MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
Upgrade Connector/C to 3.3.16 and 3.4.6
Error 1047 when trying to run semi-sync replication through Maxscale
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MXS-4886 Query Editor: Add UI for creating and altering object
MXS-5228 Visualize active_operations
MXS-5332 The /var/lib/maxscale/maxscale.cnf.d should be a part of the packages
MXS-5382 Errors due to max_connections being exceeded are always fatal errors
MXS-5395 Kafkacdc errors for wrong GTID positions are not clear
MXS-5397 NVL and NVL2 are not detected as builtin functions outside of sql_mode=ORACLE
MXS-5401 absolute path to maxctrl.js in binary tarball bin/maxscale script
MXS-5408 rebuild-server does not work with MariaDB 11.4
MXS-5409 list session in GUI shows wrong amount of sessions
MXS-5415 retry_failed_reads is not affected by delayed_retry_timeout
MXS-5419 Duration types that only take seconds return ms as units instead of s
MXS-5387 Crash in MariaDBParser::Helper::get_query_info()
MXS-5384 maxscale version 24 auth_all_servers not picking up users on replicas
MXS-5383 Alter table editor failed to assign table's collation value
MXS-5378 Nested listener parameters depend on protocol being defined
MXS-5377 Debug assert if backend fails during multi-packet query
MXS-5374 Kafkaimporter doesn't work with MariaDB 11
MXS-5372 timeout in kafkacdc is not a duration type
MXS-5366 Certain special characters in the maxscale user causes async-rebuild-server to fail
MXS-5364 Allow monitor ssh-parameters to be modified at runtime
MXS-5363 GDB stacktraces may hang
MXS-5361 Query editor: Column visibility filter shows wrong checkboxe values after search
MXS-5359 Transaction replay may deadlock with switchover
MXS-5357 Improve MariaDB Monitor documentation on auto_failover and auto_rejoin
MXS-5356 Readwritesplit master_reconnection is incompatible with GET_LOCK
MXS-5355 Switchover may cause two transaction replays to be started
MXS-5351 XA ROLLBACK is not treated as a rollback in MaxScale
MXS-5350 XA END is treated as the transaction commit instead of XA PREPARE
MXS-5344 Kafkaimporter constraint makes it difficult to use with kafkacdc
MXS-5343 Kafkacdc does not mention row-based replication as a requirement
MXS-5341 User account manager hangs on shutdown
MXS-5339 Slow servers may cause OOM situations if prepared statements are used
MXS-5338 Maxscale Admin Audit file should include ip address or host of calling session
MXS-5315 maxctrl destroy session takes only one ID as argument
MXS-5307 MaxScale kafkacdc logs "notice : Started replicating from [x.x.x.x]:3306 at GTID 'N-N-N' at every timeout/reconnection
MXS-5302 Prepared statements should never be removed from session command history
MXS-5298 Kafkacdc always reads last GTID from Kafka on startup
MXS-5296 New entity table is added without default collation
MXS-5273 The --config-check fails if /var/cache/maxscale cannot be read
MXS-5272 Monitor does not show broken external replication in "maxctrl list servers"
MXS-5269 Unexpected response after failed session command
MXS-5268 Read-only error during read-write transaction should trigger transaction replay
MXS-5264 MaxScale installs scripts with non-standard file permissions
MXS-5263 Valgrind reports read from uninitialized GWBUF for ccrfilter
MXS-5259 Retrying of reads on the current primary unnecessarily requires delayed_retry
MXS-5258 delayed_retry should not retry interrupted writes
MXS-5256 SET statements multiple values are not parsed correctly
MXS-5248 Debug assertion due to non-existent dcall ID
MXS-5247 Remove obsolete prelink script
MXS-5245 MaxCtrl does not accept dot notation for nested parameters
MXS-5239 Listener with ssl=false allows user accounts created with REQUIRE SSL to log in
MXS-5236 wsrep_desync behavior is undocumented
MXS-5229 Master Stickiness status not displayed correctly with use_priority
MXS-5218 Binlgorouter purge
MXS-5178 Replicas after maxscale binlog don't get updates
MXS-4933 Using targets=... in maxctrl create service should be allowed
MXS-5897 Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
MXS-5882 Initial config not stored for servers
MXS-5865 Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MXS-5837 MaxScale 24.02.5 crashes with fatal signal 6 (std::length_error in maxbase::load_filestd::string) on Ubuntu 24.04
MXS-5769 Watchdog timeout diagnostics are not detailed enough
MXS-5760 Authentication failure on all backends does not immediately close sessions
MXS-5733 MaxScale allows unlimited COM_CHANGE_USER attempts
MXS-5721 Configuration setting names use the old mariabackup name when the executable name is now mariadb-backup
MXS-5703 List of read-only builtin functions is out-of-date
MXS-5673 Config sync does not mark resources as modified
MXS-5653 MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
MXS-5641 Confusing log message when the wrong connection holds on to the master server lock
MXS-5635 The variable disk_space_threshold should be dynamic for Servers
MXS-5559 maxctrl does not obfuscate password in ps output
MaxScale 21.06.21 is a Stable (GA) maintenance release of MariaDB MaxScale 21.06, released on 2025-09-08
This document describes the changes in release 21.06.21, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please see .
For any problems you encounter, please consider submitting a bug report on our Jira.
Add MAXSCALE_USER and MAXSCALE_PASSWORD environment variables
MaxCtrl/REST-API should tell if password encryption is enabled
MaxScale 24.02.6 is not compatible with MariaDB 12.0.2: Monitor fails with 'Cannot convert field ON to boolean'
Upgrade Connector/C to 3.3.16 and 3.4.6
Failing COM_STMT_PREPAREs that don't generate an ID aren't discarded from the history
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the guide.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale is maxscale-X.Y.Z. Further, the default branch is always the latest GA version of MaxScale.
The source code is available .
MaxScale 22.08.12 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2024-03-11
This document describes the changes in release 22.08.12, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on .
maxctrl call command schemarouter clear <service>MXS-5865 Run-time modification of users_refresh_time and users_refresh_interval are not immediately taken into use
MXS-5769 Watchdog timeout diagnostics are not detailed enough
MXS-5760 Authentication failure on all backends does not immediately close sessions
MXS-5733 MaxScale allows unlimited COM_CHANGE_USER attempts
MXS-5703 List of read-only builtin functions is out-of-date
MXS-5685 REST-API documentation for GET versions of relationship endpoints is missing
MXS-5673 Config sync does not mark resources as modified
MXS-5653 MaxScale 24.02.6 GUI does not reflect parameter changes from Configuration Synchronization
MXS-5641 Confusing log message when the wrong connection holds on to the master server lock
MXS-5635 The variable disk_space_threshold should be dynamic for Servers
MXS-5559 maxctrl does not obfuscate password in ps output
CVE-2023-2283 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-6004 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-6918 Fixed by MXS-5011 Upgrade libssh to 0.10.6
CVE-2023-48795 Fixed by MXS-5011 Upgrade libssh to 0.10.6
MXS-4862 ssl_version should specify minimum version
MXS-5007 Top-level service reconnection may cause a use-after-free
MXS-5000 insertstream uses an error code from the reserved client range
MXS-4998 MaxScale may send two COM_QUIT packets
MXS-4997 MaxScale: BUILD/install_build_deps.sh: deprecated --force-yes
Order of servers is different after restart if runtime modifications have been done
The "static" property of an object is lost upon restart
Multiple warnings from the REST-API are printed on the same line
Hang on shutdown when large batches of session command are pending
COM_CHANGE_USER may leave stale IDs to be checked
Read-only transactions are incorrectly tracked
REST-API TLS certificates can be reloaded but the path to them cannot be altered
Log throttling is sometimes disabled too early
Session commands ignore delayed_retry_timeout
Tables in information_schema are treated as a normal tables
GUI doesn't validate object name uniqueness accurately
delayed_retry timeout errors do not have enough information
Use-after-free after service deletion
'maxctrl reload tls' has the usage of 'maxctrl reload service'
History length of sessions is not visible in the REST-API
self link in /maxscale/logs/data is off by one page
Very fast client and server may end up busy-looping a worker
Memory growth for long-running sessions that use COM_CHANGE_USER
Memory growth for long-running sessions that use prepared statements
Query classifier cache total-size book-keeping may be wrong
readconnroute performance regression in 6.4
Undefined behavior with module commands that take no arguments
Nested parameters in PATCH /v1/maxscale/ do not work correctly
MonitorWorker::call_run_one_tick() called more often than intended
Bad configuration in PATCH may partially configure monitors
maxctrl show qc_cache can easily overwhelm MaxScale
Reducing the size of the query classifier cache does not cause excess entries to be freed.
Unable to type custom row limit in the Query configuration dialog
Transaction state viewed from the session is different from the transaction state as viewed from RWS.
5.5.5- prefix should not be added if all backends are MariaDB 11
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the Limitations document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded here.
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available here.
MaxScale 22.08.2 is a Stable (GA) maintenance release of MariaDB MaxScale 22.08, released on 2022-10-20
This document describes the changes in release 22.08.2, when compared to the previous release in the same series.
If you are upgrading from an older major version of MaxScale, please read the upgrading document for this MaxScale version.
For any problems you encounter, please consider submitting a bug report on our Jira.
Allow engine selection for Kafka Importer
Add OpenID integration for the REST API
MaxScale System Diagnostics
Fast Global causal_reads
Log a message whenever a server is set into maintenance mode.
Highlight text when filtering (GUI)
MaxScale Global Memory Use Indicator
Add service reload time somewhere in maxctrl output
Able to list/group servers by Monitor name
Allow for ranking of servers for failover
Token authentication does not work correctly with PAM users
/maxscale/logs/data endpoint doesn't filter syslog contents correctly
The rebalancing functionality is claimed to be disabled
The documentation of the behaviour of 'threads=auto' in containers is incorrect
There are some limitations and known issues within this version of MaxScale. For more information, please refer to the document.
RPM and Debian packages are provided for the supported Linux distributions.
Packages can be downloaded .
The source code of MaxScale is tagged at GitHub with a tag, which is identical
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
is maxscale-X.Y.Z. Further, the default branch is always the latest GA version
of MaxScale.
The source code is available .
MXS-4348 Full SASL support is not enabled for kafka modules
MXS-4338 History/Snippets filter doesn't work on the action and date columns
MXS-4325 Listeners do not accept ssl_ca
MXS-4321 Error from missing --secure option is not helpful
MXS-4316 Data preview tab shows 2 execution time
MXS-4313 MaxCtrl misinterprets some arguments
MXS-4312 REST API accepts empty resource IDs
MXS-4307 Parser can't recognize convert function parameters and cause wrong routing decision
MXS-4304 MariaDB-Monitor spams log with connection errors if server is both [Maintenance] and [Down]
MXS-4303 Disconnect connection in the reconnection dialog doesn't work properly
MXS-4299 Unsaved query tab isn't saved when the current active query tab is not the one has unsaved changes
MXS-4295 Switchover will wait even if slave server are lagging more than switchover_timeout
MXS-4293 Memory leak with causal_reads=universal
MXS-4292 Read-only transaction are not synchronized by causal_reads=universal
MXS-4291 Avrorouter crash when client is closed
MXS-4290 Maxscale masking filter returns parsing error on SELECT with very long WHERE
MXS-4289 Transaction starts on wrong server with autocommit=0
MXS-4281 Query editor connections aren't bound to the query tabs properly
MXS-4280 qc_sqlite does not properly handle a LIMIT clause
MXS-4279 "sub" field not set for JWTs
MXS-4278 The current connection name in the dropdown disappears when failed to connect to a new connection
MXS-4253 Redirecting to 404 page after login with AD PAM user
MXS-4251 Stop button is not working properly and high memory usage in the Query Editor
MXS-4241 MaxScale High CPU / Load issue
MXS-4174 expire_log_duration and expire_log_minimum_files not covered by tests
MXS-4156 Update documentation on required monitor privileges
MXS-4083 CPU utilization high on MaxScale host
MariaDB MaxScale 23.02 series changes and improvements
A transition from the traditional master/slave terminology to the primary/replica terminology has been started. In the documentation and in the logging the transition has been made, but in configuration settings and command output the traditional terminology is still used. Conceptually, master/slave and primary/replica are completely interchangeable.
MariaDB Monitor now preserves the MASTER_USE_GTID-setting of a replica when redirecting one during switchover and failover. When starting a new replication connection on a previous replica, Slave_Pos is used. When starting a new replication connection on a previous primary, Current_Pos is used.
Added replication_custom_options-setting to both MariaDB Monitor and server. This setting enables e.g. setting SSL certificates for replication connections. See for more information.
Create-Backup and Restore-From-Backup commands added to MariaDBMonitor.
The csmon and auroramon monitors that were deprecated in 22.08.2 have been removed.
The obsolete maxctrl drain command has been removed. Use maxctrl set server <name> drain to use the built-in draining mechanism.
The maxctrl cluster commands have been removed. Use the built-in to synchronize the configurations of multiple MaxScale instances.
The REST-API is now supports ODBC-type connections in the /sql endpoints. For more information, refer to the SQL resource .
The REST-API query endpoint now supports asynchronous query execution using the async=true option.
The new /sql/:id/etl endpoints allow ETL operations to be done from ODBC data sources into MariaDB servers. For more information on the new API functions, refer to the SQL resource .
The number of routing threads MaxScale uses can now be changed at runtime.
The Audit-Log allows all REST-API calls to be logged.
MaxScale now supports Xpand parallel replication streams that go through MaxScale.
Authentication can now be enabled when Redis is used as the cache storage.
SSL/TLS can now be used in the communication between MaxScale and Redis when Redis is used as the storage for the cache.
Some Cache configuration parameters, most notable the rules, can now be changed at runtime.
Support for inbound proxy protocol added.
Ed25519Auth-plugin added. The plugin enables authentication with the MariaDB Server ed25519 authentication plugin.
MaxGUI Query Editor has been renamed to "Workspace," and its internal storage key has been modified. As a result, the query history, snippets, and user preferences settings are restored to their default values.
The redundant options for create server and create listener that were deprecated in 22.08 have been removed in MaxScale 23.02. The use of explicit options has been superseded by the use of key=value parameters in allcreate commands.
For more details, please refer to:
The changelog for the previous MaxScale version can be found .

WEBINAR
New innovations in MaxScale 25.01 and Enterprise Platform

WEBINAR
New innovations in MaxScale 25.01 and Enterprise Platform
MariaDB MaxScale 21.06 series changes and improvements
NOTE MaxScale 6.4 was renamed to 21.06 in May 2024. Thus, what would have been released as 6.4.16 in June, was released as 21.06.16. The purpose of this change is to make the versioning scheme used by all MaxScale series identical. 21.06 denotes the year and month when the first 6 release was made.
Added multiplex_timeout. It sets the time a session can wait for a backend connection to become available when using connection sharing (i.e. idle_session_pool_time).
The hintrouter module was removed in MaxScale 21.06.18. The module was non-functional.
For more details, please refer to:
Nosqlprotocol now supports both SSL and authentication.
A large number of client connections can now share a smaller number of backend connections.
MaxGUI now shows which MaxScale node is in control when cooperative monitoring is enabled.
Filtering can now be used in the KafkaCDC router.
For more details, please refer to:
Significant improvements and feature additions to MaxGUI
Significant improvements to nosqlprotocol
Transaction Performance Monitoring Filter functionality moved to Qlafilter
Most filters can now be reconfigured at runtime
For more details, please refer to:
The versioning scheme has changed; earlier this would have been version 2.6.
A nosqlprotocol protocol module that implements the MongoDB® wire protocol has been introduced.
The Columnstore monitor is now exclusively intended for Columnstore version 1.5.
The Columnstore monitor can now automatically adapt to changes in the cluster configuration.
For more details, please refer to:
MaxAdmin has been removed.
MaxGUI, a new browser based tool for configuring and managing MaxScale is introduced.
MaxInfo-router and the related httpd-protocol have been removed.
Server weights have been removed.
For more details, please refer to:
A Clustrix specific monitor has been added.
A new router, Smart Router, capable of routing a query to different backends depending on the characteristics of the query has been added.
Transaction replaying is now performed also in conjunction with server initiated transaction rollbacks.
Names starting with @@ are reserved for use by MaxScale.
For more details, please refer to:
Runtime Configuration of the Cache
User Specified Syslog Facility and Level for Authentication Errors
config reload removed from MaxAdmin (was deprecated in 2.2)
MariaDBMonitor features added, modified and removed
For more details, please refer to:
Limited support from Pluggable Authentication Modules (PAM).
Proxy protocol support for backend connections.
REST-API for obtaining information about and for manipulating the resources of MaxScale.
MaxCtrl, a new command line client for administering MaxScale implemented in terms of the REST-API.
For more details, please refer to:
MariaDB MaxScale is licensed under MariaDB BSL 1.1.
Hierarchical configuration files are now supported.
Logging is now performed in a way compatible with logrotate(8).
Persistent connections are reset upon reuse.
For more details, please refer to:
MariaDB MaxScale is licensed under MariaDB BSL.
SSL can be used in the communication between MariaDB MaxScale and the backend servers.
The number of allowed connections can explicitly be throttled.
MariaDB MaxScale can continue serving read request even if the master has gone down.
For more details, please refer to:
Authentication now allows table level resolution of grants. MaxScale service users will now need SELECT privileges on mysql.tables_priv to be able to authenticate users at the database and table level.
Firewall filter allows whitelisting.
Client-side SSL works.
For more details, please refer to:
Added support for persistent backend connections
The binlog server is now an integral component of MariaDB MaxScale.
The logging has been changed; instead of different log files there is one log file and different message priorities.
For more details, please refer to:
Logfiles have been renamed. The log names are now named error.log, messages.log, trace.log and debug.log.
For more details, please refer to:
Schemarouter now also allows for an upper limit to session commands.
Schemarouter correctly handles SHOW DATABASES responses that span multiple buffers.
Readwritesplit and Schemarouter now allow disabling of the session command history.
For more details, please refer to:
NOTE: MariaDB MaxScale default installation directory has changed to /usr/local/mariadb-maxscale and the default password for MaxAdmin is now ´mariadb´.
New modules added
Binlog router
Firewall filter
Multi-Master monitor
For more details, please refer to:
This page is licensed: CC BY-SA / Gnu FDL
The user is now informed if runtime changes are made to configuration objects that are defined in static configuration files.
Synchronous mode for the Tee filter
New list queries command for MaxCtrl that lists all active queries
MaxScale can read client user accounts from a file and map them to backend users. See service setting user_accounts_file and listener setting user_mapping_file for more information.
The Database Firewall filter has been deprecated.
If extra_port is defined for a server, it's used by default for monitor and user account manager connections. Normal port is used if the extra-port connection fails due to too low extra_max_connections-setting on the backend.
The deprecated required and disabled values for the ssl parameter have been removed.
Backend connection multiplexing added. See idle_session_pool_time for more information.
Defaults for maxctrl can now be specified in the file ~/maxctrl.cnf
PAM Authenticator can map PAM users to MariaDB users.
MariaDB-Monitor can launch monitor script when slave server exceeds replication lag limit (script_max_replication_lag).
MariaDB-Monitor can disable read_only on master server (enforce_writable_master).
A graphical user interface SQL queries tool for writing, running SQL queries and visualizing the results have been introduced.
Services can now directly route to other services with the help of the target parameter.
Server parameters protocol and authenticator have been deprecated. Any definitions are ignored.
Listeners support multiple authenticators.
The replication lag of a slave server must now be less than max_slave_replication_lag whereas in older versions the replication lag had to be less than or equal to the configured limit.
The global settings auth_read_timeout and auth_write_timeout have been deprecated. Any definitions are ignored.
The Columnstore monitor is now capable of monitoring Columnstore 1.5 in addition to 1.0 and 1.2.
MariaDB-Monitor supports cooperative monitoring. See cooperative monitoring for more information.
The MaxScale cache can now be shared between two MaxScale instances, in which case either memcached or Redis can be used as cache storage. Further, the cache can now also perform table level invalidations and be specific to a particular user.
A completely new binlog router implementation.
Service-to-service routing is now possible with the targets parameter.
TLS CRL and peer host verification support.
Multiple modes of operation for causal_reads.
Names can no longer contain whitespace.
Servers can now be drained.
The servers of a service can now be defined using a monitor.
Durations can now be specified as hours, minutes, seconds or milliseconds.
MaxCtrl commands list sessions, show sessions and show session <id> support reverse DNS lookup of client addresses. The conversion is activated by adding the --rdns-option to the command.
The following MariaDB-Monitor settings have been removed and cause a startup error if defined: mysql51_replication, multimaster and allow_cluster_recovery. The setting detect_replication_lag is deprecated and ignored.
enforce_simple_topology-setting added to MariaDB-Monitor.
The mqfilter has been deprecated.
A Comment filter has been added.
Services and filters can be created at runtime via the REST API
Runtime router reconfiguration is now possible
New Throttle filter that replaces and extends on the limit_queries functionality
MaxCtrl
The create monitor command now accepts a list of key-value parameters
The new drain server drains the server of connections
A new interactive input mode was added
Readwritesplit
Automatic transaction replay allows transactions to be migrated between servers
Master connections can now be re-opened
Writes with autocommit enabled can be automatically retried
Consistent reads on slaves via MASTER_GTID_WAIT
Transaction load balancing for normal transactions
Support for runtime router reconfiguration
A new load balancing method: ADAPTIVE_ROUTING
Experimental resultset concatenation router, cat
The schema router is now capable of table family sharding.
The binlog router can now automatically switch to secondary masters when replicating from a Galera cluster in case the primary master goes down.
MaxScale now has a systemd compatible watchdog.
Server setting authenticator_options is no longer used and any value is ignored.
Firewall can now prevent the use of functions in conjunction with certain columns.
Parser of MaxScale extended to support window functions and CTEs.
Parser of MaxScale extended to support PL/SQL compatibility features of upcoming 10.3 release.
Prepared statements are now parsed and the execution of read only ones will be routed to slaves.
Server states are persisted, so in case of crash and restart MaxScale has the correct server state quicker.
Monitor scripts are executed synchronously, so they can safely perform actions that change the server states.
The Masking filter can now both obfuscate and partially mask columns.
Binlog router supports MariaDB 10 GTID at both ends.
KILL CONNECTION can now be used through MaxScale.
Environment variables can now be used in the MaxScale configuration file.
By default, MaxScale can no longer be run as root.
The MySQL Monitor is now capable of performing failover and switchover of the master. There is also limited capability for rejoining nodes.
Galera monitor now consistently chooses the same node as master.
Galera Monitor can set the preferred donor nodes list.
The configuration can now be altered dynamically, and the changes have persisted.
There is now a monitor for Amazon Aurora clusters.
MySQL Monitor now has a multi-master mode.
MySQL Monitor now has a failover mode.
Named Server Filter now supports wildcards for source option.
Binlog Server can now be configured to encrypt binlog files.
New filters, cache, ccrfilter, insertstream, masking, and maxrows are introduced.
GSSAPI based authentication can be used
Prepared statements are now in the database firewall filtered exactly like non-prepared statements.
The firewall filter can now filter based on function usage.
MaxScale now supports IPv6
The security of MaxAdmin has been improved; Unix domain sockets can be used in the communication with MariaDB MaxScale and the Linux identity can be used for authorization.
MariaDB MaxScale can in real time make binlog events available as raw AVRO or as JSON objects (beta level functionality).
RabbitMQ logging filter
Schema Sharding router
Added option to use high precision timestamps in logging.
Readwritesplit router now returns the master server's response.
New readwritesplit router option added. It is now possible to control the amount of memory readwritesplit sessions will consume by limiting the amount of session modifying statements they can execute.
Minimum required CMake version is now 2.8.12 for package building.
Session idle timeout added for services. More details can be found in the configuration guide.
Monitor API is updated to 2.0.0. Monitors with earlier versions of the API no longer work with this version of MariaDB MaxScale.
MariaDB MaxScale now requires libcurl and libcurl development headers.
Nagios plugins added.
Notification service added.
Readconnrouter has a new "running" router_option. This allows it to use any running server as a valid backend server.
Database names can be stripped of escape characters with the strip_db_esc service parameter.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.
This page is: Copyright © 2025 MariaDB. All rights reserved.