> 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.01/25.01.1.md).

# MaxScale 25.01.1 Release Notes

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](https://jira.mariadb.org/projects/MXS).

## Changed Features

### [MXS-5122](https://jira.mariadb.org/browse/MXS-5122) Scale everything according to the amount of available container resources

If MaxScale is running in a container, it will adapt to amount of resources (CPUs and memory) available in the container. See [threads](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#threads) and [query\_classifier\_cache\_size](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#query_classifier_cache_size) for more information.

## Dropped Features

## Deprecated Features

## New Features

### [MXS-3628](https://jira.mariadb.org/browse/MXS-3628) Fully support inclusion and exclusion in projection document of find

[NoSQL](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md) 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.

### [MXS-4761](https://jira.mariadb.org/browse/MXS-4761) Diff - Router for comparing different servers

Diff is a router using which the behaviour of two servers can be compared. Please see [Diff](https://github.com/mariadb-corporation/mariadb-docs/blob/main/release-notes/mariadb-maxscale-release-notes/Routers/Diff.md) for more information.

### [MXS-4791](https://jira.mariadb.org/browse/MXS-4761) Workload Capture and Replay

A number of components using which a live workload can be captured and later replayed. Please see [Wcar](https://github.com/mariadb-corporation/mariadb-docs/blob/main/release-notes/mariadb-maxscale-release-notes/Filters/Wcar.md) for more information.

### [MXS-4842](https://jira.mariadb.org/browse/MXS-4842) Safe failover and safe auto\_failover

Added a *safe*-option to MariaDB Monitor *auto-failover*. *safe* does not perform failover if data loss is certain. Equivalent manual command added. See [monitor documentation](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md) for more information. This change affects REST-API output: the *attributes.parameters.auto\_failover*-field of the monitor JSON description is now a string.

### [MXS-4897](https://jira.mariadb.org/browse/MXS-4897) Add admin\_ssl\_cipher setting

Enabled REST-API TLS ciphers can be tuned with the global setting [admin\_ssl\_cipher](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#admin_ssl_cipher).

### [MXS-4986](https://jira.mariadb.org/browse/MXS-4986) Add low overhead trace logging

The new [trace\_file\_dir](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#trace_file_dir) and [trace\_file\_size](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#trace_file_size) 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 [log\_info](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#log_info) 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.

### [MXS-5016](https://jira.mariadb.org/browse/MXS-5016) Add support for MongoDB Compass

[NoSQL](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md) now implements the commands needed by [MongoDB Compass](https://www.mongodb.com/products/tools/compass), which now can be used for browsing NoSQL collections.

### [MXS-5037](https://jira.mariadb.org/browse/MXS-5037) Track reads and writes at the server level

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.

### [MXS-5041](https://jira.mariadb.org/browse/MXS-5041) Don't replay autocommit statements with transaction\_replay

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.

### [MXS-5047](https://jira.mariadb.org/browse/MXS-5047) Test primary server writability in MariaDB Monitor

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 [monitor documentation](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md) for more information.

### [MXS-5049](https://jira.mariadb.org/browse/MXS-5049) Implement host\_cache\_size in MaxScale

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 [host\_cache\_size](/docs/maxscale/maxscale-management/deployment/installation-and-configuration/maxscale-configuration-guide.md#host_cache_size) parameter can be used to control the size of the cache and the cache can be disabled with `host_cache_size=0`.

### [MXS-5069](https://jira.mariadb.org/browse/MXS-5069) support bulk returning all individual results

MaxScale now supports the protocol extensions added in MariaDB 11.5.1 where the bulk execution of statements returns multiple results.

### [MXS-5075](https://jira.mariadb.org/browse/MXS-5075) Add switchover option which leaves old primary server to maintenance mode

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 [monitor documentation](/docs/maxscale/reference/maxscale-monitors/mariadb-monitor.md) for more information.

### [MXS-5136](https://jira.mariadb.org/browse/MXS-5136) Extend the number of supported aggregation stages and operations.

[NoSQL](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md) now implements the command [aggregate](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md#aggregation-commands) and provides a number of aggregation pipe line [stages](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md#aggregation-pipeline-stages) and [operators](/docs/maxscale/reference/maxscale-protocols/maxscale-nosql-protocol-module.md#aggregation-pipeline-operators).

### MaxGUI

Numerous additions have been added and improvements made to MaxGUI. The most notable ones are listed here:

* [MXS-3852](https://jira.mariadb.org/browse/MXS-3852) Show Only SQL editor Sessions/Connections Status Separately On Maxscale GUI
* [MXS-3952](https://jira.mariadb.org/browse/MXS-3952) Auto-inject `LIMIT` and `OFFSET`, and allow no limit
* [MXS-4370](https://jira.mariadb.org/browse/MXS-4370) Auto expand active schema node
* [MXS-4849](https://jira.mariadb.org/browse/MXS-4849) Export the visualized configuration graph
* [MXS-4886](https://jira.mariadb.org/browse/MXS-4886) Query Editor: Add UI for creating and altering object
* [MXS-5228](https://jira.mariadb.org/browse/MXS-5228) Visualize `active_operations`

## Bug fixes

These are bug-fixes, which are not present in MaxScale 24.02.4, the most recent MaxScale maintenance release.

* [MXS-4785](https://jira.mariadb.org/browse/MXS-4785) KafkaCDC JSON conversion is taking most of the CPU time
* [MXS-5201](https://jira.mariadb.org/browse/MXS-5201) SystemD complains about legacy PID file paths
* [MXS-5246](https://jira.mariadb.org/browse/MXS-5246) Kafkacdc may produce invalid JSON
* [MXS-5314](https://jira.mariadb.org/browse/MXS-5314) Resultset table not fully expanded for inactive query tab
* [MXS-5332](https://jira.mariadb.org/browse/MXS-5332) The /var/lib/maxscale/maxscale.cnf.d should be a part of the packages
* [MXS-5382](https://jira.mariadb.org/browse/MXS-5382) Errors due to max\_connections being exceeded are always fatal errors
* [MXS-5395](https://jira.mariadb.org/browse/MXS-5395) Kafkacdc errors for wrong GTID positions are not clear
* [MXS-5397](https://jira.mariadb.org/browse/MXS-5397) NVL and NVL2 are not detected as builtin functions outside of sql\_mode=ORACLE
* [MXS-5401](https://jira.mariadb.org/browse/MXS-5401) absolute path to maxctrl.js in binary tarball bin/maxscale script
* [MXS-5408](https://jira.mariadb.org/browse/MXS-5408) rebuild-server does not work with MariaDB 11.4
* [MXS-5409](https://jira.mariadb.org/browse/MXS-5409) list session in GUI shows wrong amount of sessions
* [MXS-5415](https://jira.mariadb.org/browse/MXS-5415) retry\_failed\_reads is not affected by delayed\_retry\_timeout
* [MXS-5419](https://jira.mariadb.org/browse/MXS-5419) Duration types that only take seconds return ms as units instead of s

## Known Issues and Limitations

There are some limitations and known issues within this version of MaxScale. For more information, please refer to the [Limitations](/docs/maxscale/maxscale-quickstart-guides/mariadb-maxscale-limitations-guide.md) guide.

## Packaging

RPM and Debian packages are provided for the supported Linux distributions.

Packages can be downloaded [here](https://mariadb.com/downloads/#mariadb_platform-mariadb_maxscale).

## Source Code

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](https://github.com/mariadb-corporation/MaxScale).

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

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