> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/maxscale/25.10/25.10-changelog.md).

# MaxScale 25.10 Changelog

MariaDB MaxScale 25.10 series changes and improvements

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td align="center"><p><strong>WEBINAR</strong></p><p>New innovations in MaxScale 25.01 and Enterprise Platform</p></td><td align="center"><a href="https://go.mariadb.com/WBN-Real-world-testing-with-MariaDBEnterprisePlatform-2025-02-28_Registration-LP.html?utm_source=onpagepromo&#x26;utm_medium=kb&#x26;utm_campaign=webinar-maxscale-25-01"><strong>Watch Now</strong></a></td><td><a href="https://go.mariadb.com/WBN-Real-world-testing-with-MariaDBEnterprisePlatform-2025-02-28_Registration-LP.html?utm_source=onpagepromo&#x26;utm_medium=kb&#x26;utm_campaign=webinar-maxscale-25-01">https://go.mariadb.com/WBN-Real-world-testing-with-MariaDBEnterprisePlatform-2025-02-28_Registration-LP.html?utm_source=onpagepromo&#x26;utm_medium=kb&#x26;utm_campaign=webinar-maxscale-25-01</a></td><td><a href="broken://files/57TC3V6duqnJsPBeRWiq">Broken link</a></td></tr></tbody></table>

* 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.
* 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](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#telemetry)
* Added [scan-topology](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#scan-topology) command to MariaDB Monitor.
* Added discover-replicas command to both [MariaDB Monitor](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#discover-replicas) and [Galera Monitor](/docs/maxscale/reference/maxscale-monitors/galera-monitor.md#discover-replicas).
* Added bootstrap command to both [MariaDB Monitor](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#bootstrap) and [Galera Monitor](/docs/maxscale/reference/maxscale-monitors/galera-monitor.md#bootstrap).
* Added [redirect](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#redirect) command to MariaDB Monitor.
* MariaDB Monitor [backup commands](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#backup-operations) (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](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#fetch-cmd-status) command.
* Available backups can be listed with the MariaDB Monitor *list-backups* command.
* Added [servers\_no\_cooperative\_monitoring\_locks](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#servers_no_cooperative_monitoring_locks) setting to MariaDB Monitor.
* Added [auto\_failback\_switchover](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md#auto_failback_switchover) to MariaDB Monitor.
* Added role support to monitors and services. See [monitor](/docs/maxscale/reference/maxscale-monitors/common-monitor-parameters.md#role) and [service](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#role) settings for more information.
* 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](https://mariadb.org/mission-impossible-zero-configuration-ssl/). See [configuration guide](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#tls-ssl-encryption) for more information.
* Added global setting [require\_secure\_transport](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#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](/docs/server/server-management/variables-and-modes/server-system-variables.md#session_track_system_variables) 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](/docs/maxscale/reference/maxscale-listeners.md#redirect_url) parameter can be used to implement [connection redirection](/docs/maxscale/reference/maxscale-protocols/maxscale-mariadb-protocol-module.md#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](/docs/maxscale/reference/maxscale-servers.md#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](/docs/maxscale/reference/maxscale-authenticators/maxscale-parsec-authenticator.md) authenticator documentation.

For more details, please refer to:

* [MariaDB MaxScale 25.10.4 Release Notes](/docs/release-notes/maxscale/25.10/25.10.4.md)
* [MariaDB MaxScale 25.10.3 Release Notes](/docs/release-notes/maxscale/25.10/25.10.3.md)
* [MariaDB MaxScale 25.10.2 Release Notes](/docs/release-notes/maxscale/25.10/25.10.2.md)
* [MariaDB MaxScale 25.10.1 Release Notes](/docs/release-notes/maxscale/25.10/25.10.1.md)
* [MariaDB MaxScale 25.10.0 Release Notes](/docs/release-notes/maxscale/25.10/25.10.0.md)

The changelog for the previous MaxScale version can be found [here](/docs/release-notes/maxscale/25.01/25.01-changelog.md).

<sub>*This page is: Copyright © 2026 MariaDB. All rights reserved.*</sub>

{% @marketo/form formid="4316" formId="4316" %}
