Release notes v2.3.4
Release highlights
- Version name: ClusterControl 2.3.4
- State: Stable
- First release date: October 7th, 2025
- Maintenance status: Active
- Total maintenance builds: 17
- Last release date: June 8th, 2026
- Support for MySQL Group Replication (Oracle).
- Support for Percona Server Pro 8.4.
- Support for Redis 8.
- Support for PostgreSQL 18.
- Support for TimescaleDB 17 and 18.
- CMON controller pool for ClusterControl scalability (Tech Preview).
- Restore external and partial backups operations for MySQL and PostgreSQL.
- PostgreSQL custom data directory - Use any custom data directory location for your database nodes.
- PostgreSQL local handling improvement for new deployment and major upgrades.
- Kubernetes integration is now GA. See User Guide → Integration → Kubernetes.
- Prometheus now supports HTTP basic authentication.
- Drop support for new cluster deployments for MariaDB-related clusters 10.4 and older.
- "Enable TimescaleDB" as an PostgreSQL action/job has been deprecated.
- PostgreSQL 18
- Major upgrade from PostgreSQL 17 to 18 is not currently supported.
- Import existing PostgreSQL 18 is not currently supported.
- Only for streaming replication.
- Early preview release of CMON controller pool only supports multiple controller pools co-located on a same host.
- Follow standard upgrade procedures as outlined in the documentation.
Maintenance Release: June 8th, 2026
-
Build:
- clustercontrol-controller-2.3.4-20549
-
Improvements:
- Exposed several previously hardcoded controller timers and behaviors as
cmon.cnf keys— includingcluster_info_cache_refresh_intervalandenable_orphan_shutdown— giving operators of large fleets finer control over refresh and cleanup intervals. (CLUS-7584)
- Exposed several previously hardcoded controller timers and behaviors as
-
Bug fixes:
- Fixed some clusters failing to load in large ("pool mode") deployments managing 100+ clusters, including a heap-corruption mitigation in the process-spawn path (now using
posix_spawn). (CLUS-7578, CLUS-7621) - Fixed a data race on the controller's set of owned cluster IDs under load in pool mode, which could lead to undefined behavior. (CLUS-7610)
- Fixed MSSQL Always On clusters firing a spurious "failover to new primary" during cluster bootstrap, before the availability group had finished forming. (CLUS-7632)
- Fixed adding a MariaDB replica failing when the master has
require_secure_transport=ON— replication now starts withMASTER_SSL=1so the SSL-only requirement is honored. (CLUS-7010)
- Fixed some clusters failing to load in large ("pool mode") deployments managing 100+ clusters, including a heap-corruption mitigation in the process-spawn path (now using
Maintenance Release: May 25th, 2026
-
Build:
- clustercontrol-controller-2.3.4-19890
- clustercontrol-mcc-2.3.4-856
- clustercontrol2-2.3.4-2290
-
Bug fixes:
- Backups
- Fixed a broken Percona Backup for MongoDB (PBM) noarch repo URL in the
percona.pbm.repotemplate, which causeddnfmetadata download failures on Rocky Linux 8 during PBM agent installation. (CLUS-7518)
- Fixed a broken Percona Backup for MongoDB (PBM) noarch repo URL in the
- Security & Access Control
- Hardened read-only user enforcement: read-only accounts can no longer terminate running database queries from the UI, and the controller now rejects
deleteAccountrequests originating from read-only users. (CLUS-7244, CLUS-7311) - Improved password masking in error reports so that credentials are properly redacted across all reported code paths when masking is enabled. (CLUS-6958)
- Hardened read-only user enforcement: read-only accounts can no longer terminate running database queries from the UI, and the controller now rejects
- Monitoring & Deployment
- Fixed offline installation of Redis Cluster, which previously still required downloading the
remirepository package from the internet. (CLUS-7493)
- Fixed offline installation of Redis Cluster, which previously still required downloading the
- Replication & Stability
- Fixed the "retry SSH connection" action not working for nodes in sharded Valkey/Redis clusters. (CLUS-7199)
- Fixed Galera cluster auto-rename producing
~1twice instead of incrementing to~2, and resolved display inconsistencies in the resulting cluster name. The renamed value is now persisted to the cluster config. (CLUS-7512) - Fixed a MariaDB Galera race where cmon DDL operations during cluster deployment could randomly hit
errno 1950(out-of-order GTID) undergtid_strict_mode. The cluster-securing step now setssql_log_bin=0alongsidewsrep_on=0so the local binlog seqno no longer advances past the wsrep-coordinated cluster seqno. (CLUS-7513)
- UI
- Dashboards now keep refreshing when the first Prometheus fetch returns empty results, instead of stalling on freshly-deployed Prometheus servers. (CLUS-7396)
- Restored the "Rebuild Replication Slave" action in the UI for cross-cluster asynchronous replication topologies. (CLUS-7405)
- Backups
Maintenance Release: May 13th, 2026
-
Build:
- clustercontrol-controller-2.3.4-19548
- clustercontrol-mcc-2.3.4-841
- clustercontrol2-2.3.4-2278
-
Improvements:
- MaxScale 24.x Support — ClusterControl now supports MaxScale 24.x while preserving backward compatibility with earlier versions. Supported distributions include AlmaLinux 8/9, CentOS 9, Debian 11/12, Rocky Linux 8/9, and Ubuntu 22/24. (CLUS-7444)
- Cross-cluster Replication — Added the missing “Rebuild Replication Slave” action for Galera nodes participating in cross-cluster asynchronous replication topologies. (CLUS-7405)
-
Bug fixes:
- Backups & Restore
- PostgreSQL point-in-time recovery (PITR) no longer behaves differently between the first and subsequent base backups; stale
recovery_targetvalues are no longer carried over from previous PITR attempts. (CLUS-4899) - Galera cluster restore from a mysqldump-based backup no longer breaks replica nodes. The restore now runs with
wsrep_on=OFFand forces SST on secondaries afterwards so all nodes converge on the restored data. (CLUS-6440, CLUS-7478) - ClusterControl no longer leaves thousands of leftover temporary directories under
STAGING_DIRwhen backup schedules run frequently — temporary files are now swept and empty parents removed after each operation. (CLUS-7422)
- PostgreSQL point-in-time recovery (PITR) no longer behaves differently between the first and subsequent base backups; stale
- Replication & Clustering
- The “retry SSH connection” action now functions correctly on sharded Valkey/Redis clusters. (CLUS-7199)
- Re-adding a previously removed node to a sharded Valkey cluster no longer fails because of
CLUSTER FORGETtemporarily blacklisting the node ID — ClusterControl now waits and retries until the rejoining node is accepted. (CLUS-7404) - MariaDB semi-synchronous replication setup no longer fails due to use of MySQL 8 variable names (
rpl_semi_sync_source); MariaDB’s master/slave conventions (rpl_semi_sync_master) are now used correctly. (CLUS-7387) - MariaDB audit logs generated by the
server_auditplugin are now included in Error Reports. (CLUS-7283)
- Security & Access Control
- View-only users can no longer terminate database queries from the UI. The backend now also rejects
deleteAccountrequests for read-only callers, ensuring consistent enforcement regardless of how the API is invoked. (CLUS-7244, CLUS-7311)
- View-only users can no longer terminate database queries from the UI. The backend now also rejects
- Monitoring & Deployment
- Agent-based Prometheus monitoring deployment no longer fails on hosts with strict umask settings —
/etc/prometheus/prometheus.ymlis now created with the correctprometheus:prometheusownership across all save paths. (CLUS-7396)
- Agent-based Prometheus monitoring deployment no longer fails on hosts with strict umask settings —
- UI
- Monitoring dashboards now populate within seconds of agent-based monitoring deployment instead of remaining on “No Data” until manually refreshed. (CLUS-7396)
- Stability
- Fixed false “HAProxy Disconnected” alarms for PostgreSQL replica nodes registered on HAProxy’s read-write listening port. (CLUS-6857)
- Fixed the HAProxy version being incorrectly displayed in the ClusterControl GUI due to overly greedy parsing of
haproxy -voutput. (CLUS-6889) - Fixed a memory leak in the cluster information cache that could grow over long-running CMON sessions. (CLUS-7292)
- Backups & Restore
Maintenance Release: April 26th, 2026
-
Build:
- clustercontrol-controller-2.3.4-18991
- clustercontrol-mcc-2.3.4-824
- clustercontrol2-2.4.0-2263
-
New features:
- Incremental PostgreSQL backups with pg_basebackup (streaming to S3): End-to-end support for
pg_basebackup --incremental, including the controls, wizard flow, and restore paths needed to use it in production:- Backup Wizard —
pg_basebackupincris now a selectable backup method for PostgreSQL 17+. The wizard warns if the selected host has WAL summarization disabled, and ensuressummarize_wal=trueis set on the target before submitting the backup. (CLUS-7196, CLUS-7212, CLUS-7223) - Configure WAL — the node-level "Configure WAL" action lets you turn
summarize_walON or OFF and refreshes the node state immediately. (CLUS-7196, CLUS-7280) - Under the hood — incremental backups run via
pg_basebackup --incremental, support thesummarize_walsetting across the full workflow, and stream directly to S3 (removing the local-disk capacity requirement). (CLUS-6563, CLUS-7084, CLUS-7086, CLUS-7213) - Backup manifests are now uploaded separately from the tarball for both full and incremental
pg_basebackupbackups, enabling cleaner storage and retrieval. (CLUS-7195) - Restore an incremental backup chain — ClusterControl automatically retrieves the full chain, reconstructs it with
pg_combinebackup, and restores the combined data. (CLUS-7085, CLUS-7218, CLUS-7220, CLUS-7221) - Point-in-time recovery (PITR) from an incremental
pg_basebackupbackup. (CLUS-7224) - Create a new cluster directly from an incremental
pg_basebackupbackup. (CLUS-7225) - Replica compatibility — incremental
pg_basebackupnow works correctly on a replica even when the primary hassummarize_waldisabled. (CLUS-7281)
- Backup Wizard —
- Promote Replica for Valkey / Redis: Valkey (Sentinel and Sharded) and Redis clusters now support promoting a replica to primary from the node's action menu. A confirmation dialog guards against accidental promotion. (CLUS-6951, CLUS-7285)
- Incremental PostgreSQL backups with pg_basebackup (streaming to S3): End-to-end support for
-
Improvements:
- PostgreSQL backups dynamically raise
wal_keep_sizebefore runningpg_basebackupto prevent failure when WAL files are recycled mid-backup; the original value is restored on the target node afterward. (CLUS-7075) - Galera package detection has been updated to work with the new Percona repository API, keeping Galera version selection accurate for new deployments and upgrades. (CLUS-7331)
- PostgreSQL backups dynamically raise
-
Bug fixes:
- Backups
- Incremental
pg_basebackupnow succeeds after a priorpg_basebackuprestore, so repeated backup/restore cycles work as expected. (CLUS-7300) - Creating an incremental
pg_basebackupbackup for a newly added replica node now succeeds. (CLUS-7364) Added safeguards to prevent incrementalpg_basebackupfrom failing when attempted on a fresh timeline after a restore. (CLUS-7383) - The controller is no longer offered as a backup storage host in pool mode for cluster types where it should be disabled, and selecting the controller as storage now correctly sets the
cc_storageflag on the backup job. (CLUS-6986)
- Incremental
- User Management
- Creating a new PostgreSQL user in User Management v2 now works reliably. Grants and revokes are always applied at the database level as expected. (CLUS-7231)
- Deleting a PostgreSQL user that owns no objects no longer fails — privileges are now explicitly revoked before the user is dropped. (CLUS-7232)
- Cluster permission level no longer unexpectedly switches from Read-Only to Custom in User Management when new clusters are added; existing non-custom teams are now correctly reflected on new clusters. (CLUS-7077)
- Fixed a syntax error when creating a MySQL user with "No privileges" selected. (CLUS-7076)
- Security & Access Control:
- View-only users can no longer kill a database query — execution permissions on the
qm_killprocessand qm_purge actions have been tightened. (CLUS-7244) - View-only users can no longer delete database users. The DB Users screen now correctly enforces read-only access across Galera, MySQL Replication, and PostgreSQL Streaming Replication clusters. (CLUS-7290)
- Credential passwords are now consistently masked in error reports when the masking option is enabled — previously some passwords could leak through unmasked. (CLUS-6958)
- View-only users can no longer kill a database query — execution permissions on the
- Certificates
- A previously created Certificate Authority can now be selected as the issuer when generating server or client certificates. Selecting the CA from the side menu no longer replaces it with a self-signed certificate. (CLUS-7252)
- Replication & Stability
- Adding a PostgreSQL replica to a cluster under load no longer times out, and the
wal_keeppre-flight warning has been corrected for PostgreSQL 13 and later. (CLUS-7277) - Fixed a UI crash that could occur when switching from PostgreSQL user management to a Valkey cluster that had failed. (CLUS-7365)
- Adding a PostgreSQL replica to a cluster under load no longer times out, and the
- Backups
Maintenance Release: April 7th, 2026
-
Build:
- clustercontrol-controller-2.3.4-18486
- clustercontrol2-2.3.4-2242
- clustercontrol-mcc-2.3.4-785
-
Controller:
- Simpler monitoring setup with shared Prometheus hosts. When using a shared Prometheus instance, the controller now reuses existing credentials. This reduces manual configuration and lowers the chance of misconfiguring monitoring authentication. (CLUS-7024)
- Improved reliability of Prometheus authentication on shared hosts - Fixes have been made to how basic authentication is handled for Prometheus on shared hosts, eliminating intermittent authentication issues in some environments. (CLUS-7024)
- More reliable Percona XtraDB Cluster deployments on Ubuntu - An issue that could cause Percona XtraDB Cluster deployments to fail on Ubuntu has been resolved. Deployments on supported Ubuntu versions should now complete as expected. (CLUS-7041)
- Clearer handling of unreachable MySQL hosts - The controller now treats “unknown host” errors from MySQL as connection issues. This improves error messages and behavior when a MySQL host cannot be reached or is misconfigured. (CLUS-7193)
- Safer default MySQL performance collection - A low-level performance collection option has been removed from the default MySQL configuration to reduce unnecessary overhead on instances where that extra detail is not needed. (CLUS-7243)
- More consistent data directory layout for CCX - Data directories for CCX instances are now standardized. This helps avoid confusion about where data is stored and reduces risk from misconfigured paths.
-
UI:
- Cleaner PostgreSQL role creation form - When creating roles in PostgreSQL User Management, the password expiry option is now only shown when it actually applies. This reduces clutter and makes the role creation flow clearer. (CLUS-7074)
- PgBouncer settings visible again - The PgBouncer configuration is now correctly shown under Manage → Configuration, so you can once again view and adjust connection pooling settings from the UI. (CLUS-7052)
Maintenance Release: March 24th, 2026
-
Build:
- clustercontrol-controller-2.3.4-18341
- clustercontrol-mcc-2.3.4-775
- clustercontrol2-2.3.4-2232
-
Bug fixes:
- Fixed an issue where the
outgoing_messagestable could fill up unnecessarily in CCX deployments. (CLUS-7145) - Prevented automatic database schema upgrades in CCX environments to avoid unintended side effects. (CLUS-7158)
- Cluster migration no longer aborts when a cluster has no SSL certificate files under
/var/lib/cmon/ca. (CLUS-7112) - Fixed missing adapter checks in secure file handling that could cause incorrect results when checking for the existence of configuration files. (CLUS-7163)
- Exceptions thrown during Kubernetes configuration checks and job execution are now properly caught and handled, preventing unexpected crashes. (CLUS-7164)
- Fixed a regression that prevented editing of MySQL database users. (CLUS-7071)
- Fixed PgBouncer deployment failures when PostgreSQL nodes are running on a non-default port. (CLUS-6998)
- Fixed Cluster Load metric options on the Overview Page appearing clickable but having no effect. (CLUS-6975)
- Fixed the “Rows per Page” control in the ProxySQL UI not correctly updating the number of displayed rows. (CLUS-6973)
- Sorting by “Hits” in the ProxySQL Rules view now sorts numerically instead of alphabetically, ensuring accurate ordering. (CLUS-6974)
- Fixed an issue where login was attempted before the Kubernetes operator ping completed, causing intermittent login failures. (CLUS-6764)
- Fixed an extra space in the connection pool example string that could cause unexpected issues. (CLUS-7083)
- Fixed an issue where the
-
Improvements:
- PostgreSQL Backup Reliability — Updated
pg_basebackupto use the stream WAL method for more reliable base backups. (CLUS-7172) - Kubernetes Secret Migration — ClusterControl now automatically migrates cluster configuration files to Kubernetes Secrets before the daemon starts, improving security posture in Kubernetes environments. (CLUS-7171)
- Monitoring Exporter Updates — Several monitoring exporters have been updated to newer versions for improved compatibility and observability. (CLUS-7080)
- User Management — The “Disable Login” button has been renamed to “Disable User” for clarity, and user locking (login/nologin) is now supported. (CLUS-6712)
- Audit Logging — Audit logging has been added to user management, along with general improvements to the user details view. (CLUS-6713)
- Controller Retry — A retry option is now available in the Add Controller job action menu, making it easier to recover from failed controller additions. (CLUS-7044)
- File migration events are now logged at INFO level instead of WARNING, reducing noise in operational logs. (CLUS-7112)
- Redis/Valkey and MSSQL log files are now included in Error Reports for more complete diagnostics. (CLUS-7007)
- PostgreSQL Backup Reliability — Updated
-
UI
- Long cluster names are now displayed in full in the left-side navigation menu. (CLUS-7078)
- Long SQL queries in the ProxySQL UI now wrap automatically, making them easier to read without horizontal scrolling. (CLUS-6976)
- Granular controller access with CIDR
/32— You can now use a/32CIDR mask to restrict access to a specific controller IP address. A helpful tooltip has been added to guide you through this setting. (CLUS-7018)
Maintenance Release: March 9th, 2026
-
Build:
- clustercontrol-controller-2.3.4-18160
- clustercontrol2-2.3.4-2224
- clustercontrol-mcc-2.3.4-760
-
Controller:
- Fixed an issue where a controller ID could be lost if removed by another pool member, causing controller registration problems. (CLUS-7065)
- Fixed ProxySQL deployment failures in multi-controller environments. (CLUS-7050)
- Fixed Percona XtraDB Cluster deployment failures on Ubuntu. (CLUS-7041)
- Resolved PostgreSQL 12/13 repository conflicts that could cause upgrade failures by switching to PGDG archive repositories. (CLUS-6971)
- Fixed a stability issue that could cause unexpected crashes during cluster removal. (CLUS-6962)
- Fixed Prometheus TLS/Auth being incorrectly enabled in CCX-managed environments. (CLUS-6959)
- Fixed MongoDB replica set nodes incorrectly receiving a shard server role when added to a cluster. (CLUS-6944)
- Fixed a memory safety issue in filesystem configuration handling. (CLUS-6903)
- Package manager operations (yum/dnf) now automatically retry up to 5 times on transient failures, improving reliability on systems with intermittent network issues. (CLUS-6859)
- Fixed an issue where jobs could not be cancelled when the ClusterControl database became temporarily unavailable in CCX environments. (CLUS-6524)
- Fixed cloud backup uploads getting stuck and failing to progress. (CLUS-6427)
-
GUI:
- Cluster Load metrics on Overview Page — The Cluster Load metric options on the Overview Page are now fully functional. Previously, the options appeared clickable but had no effect. (CLUS-6975)
- MySQL database user editing — Fixed an issue where editing MySQL database users could fail unexpectedly. (CLUS-7071)
- PgBouncer deployment with non-default PostgreSQL ports — PgBouncer can now be successfully deployed when PostgreSQL nodes are running on a non-default port. (CLUS-6998)
- ProxySQL pagination — The "Rows per Page" control in the ProxySQL UI now correctly updates the number of displayed rows. (CLUS-6973)
- ProxySQL Rules sorting — Sorting by "Hits" in the ProxySQL Rules view now sorts numerically instead of alphabetically, ensuring accurate ordering. (CLUS-6974)
- Login reliability — Improved connection handling during the login process to prevent intermittent failures. (CLUS-6764)
Maintenance Release: February 2nd, 2026
-
Build:
- clustercontrol-controller-2.3.4-17761
-
Controller:
- CLUS-6859 - Improved package manager retry behavior
- Fixed const-correctness issues in the retry logic
- Added retry logic for yum/dnf package manager operations.
- Configured dnf package update commands to retry up to 5 times and log warnings only until the final failure.
- CLUS-6944 - Corrected
clusterRolehandling when adding nodes- Fixed an issue where the shardsvr
clusterRolewas incorrectly added to a replica set when adding a node.
- Fixed an issue where the shardsvr
- CLUS-6859 - Improved package manager retry behavior
Maintenance Release: January 28th, 2026
-
Build:
- clustercontrol-controller-2.3.4-17687
- clustercontrol2-2.3.4-2202
- clustercontrol-mcc-2.3.4-719
-
Controller
- HAProxy hostname resolution & alarms (CLUS-6905)
- Switched HAProxy to prefer internal hostnames for database nodes instead of public/external hostnames.
- Improved HAProxy db node list parsing to be more strict and fail fast on syntax issues.
- Updated HAProxy install flow to:
- Warn when a node is skipped during installation.
- Use internal hostnames for database nodes by default where appropriate.
- Adjusted HAProxy node addition logic to:
- Check for existing hosts by internal hostname while preserving previous behavior.
- Avoid raising alarms for missing db nodes when those nodes are registered using data or internal hostnames.
- Fixed an incorrect numeric operator in HAProxy health‑check scripts.
- Prometheus & HTTP client basic auth (CLUS-6623)
- Implemented basic auth support in the CMON HTTP client.
- Introduced deployment of Prometheus with Basic Auth and TLS enabled.
- Replaced external htpasswd dependency by generating
bcrypthashes vialibbcrypt.
- Fixed a dangling pointer bug in
FilesystemReadWriteConfig(CLUS-6903) - Ensured correct ownership of PgBackRest repositories when using NFS. Explicitly enforce repository ownership as postgres (CLUS-6753).
- HAProxy hostname resolution & alarms (CLUS-6905)
-
GUI:
- Backup retention preview (CLUS-6918)
- Fixed the backup "Preview" page to correctly display the configured default backup retention period
- HAProxy/node address display
- Updated UI to display HAProxy
node_addressesusing semicolon (;) as the separator (CLUS-6923). - Aligned deployment and preview flows so HAProxy deployment using internal IP addresses is consistently reflected in the preview step (CLUS-6854).
- Updated UI to display HAProxy
- Backup retention preview (CLUS-6918)
Maintenance Release: January 15th, 2026
-
Build:
- clustercontrol-controller-2.3.4-17501
-
Controller:
-
Backup & Restore
- CLUS-6837 – Restore log backup fails on MSSQL
- Fixed an issue where restoring log backups on MSSQL would fail.
- CLUS-5810 – The job to upload backup to cloud is blocked
- Resolved a problem where the
upload_backup_data_to_cloud_storagejob could be blocked by other jobs.
- Resolved a problem where the
- CLUS-6586 – Restoring the cloud backup uses the default home dir
- Fixed cloud backup restore to use the correct home directory, avoiding failures when adding new replicas.
- CLUS-6837 – Restore log backup fails on MSSQL
-
PostgreSQL Logical Replication
- CLUS-6573 – Make PSQL promote replica stable
- Added a reusable
generatePrimarySlotNamehelper. - Limited logical replication slot names to 64 bytes.
- Added a reusable
- CLUS-6573 – Make PSQL promote replica stable
-
CMON/Prometheus/Process handling
- CLUS-6860 – Segfault on
cmonprometheus::checkand process handling- Prometheus integration
- Improves cache access patterns while querying exporters to prevent races and segfaults.
- Prometheus integration
- CLUS-6656 – Cmon segfaults when starting
- CLUS-6860 – Segfault on
-
Galera/Host Manager/Controller pool behaviour
- CLUS-6492 – Galera clusters new deployments on pool leave controller in bad state.
-
Donor/Read-only handling
- CLUS-6566 – Donor node stuck in read-only mode after resync
- Fixed logic so donor nodes correctly leave read-only mode after resync.
- CLUS-6672 – Disable readonly not remove parameter
- Adjusted parameter handling so "disable read-only" does not remove
read_onlyandsuper_read_onlybut correctly disables them.
- Adjusted parameter handling so "disable read-only" does not remove
- CLUS-6566 – Donor node stuck in read-only mode after resync
-
CI/Tooling/Misc
- CLUS-6674 – Escape rebase output JSON for Slack notification
- Ensured rebase output is correctly escaped for JSON payloads sent to Slack, preventing malformed notifications.
- CLUS-6674 – Escape rebase output JSON for Slack notification
-
Maintenance Release: December 22nd, 2025
-
Build:
- clustercontrol-mcc-2.3.4-693
-
GUI:
- Address an issue (404) when opening the Kubernetes Settings sub pages (CLUS-6871)
Maintenance Release: December 17th, 2025
-
Build:
- clustercontrol-controller-2.3.4-17322
- clustercontrol-mcc-2.3.4-689
- clustercontrol2-2.3.4-2187
-
Controller:
- Address an issue with cmon exporter appending authentication entries to the pg_hba.conf file. (CLUS-6278)
- Configure
initdbto generatepg_hba.confwith peer authentication for local connections and md5 for host connections, replacing the default trust method. - CMON now prefers local socket for
pg_basebackupwhenpg_hba.confallows - Falls back to TCP/IP using the cmon_replication user and PGPASSWORD when local socket access is not allowed
- Added support for positional insertion of
pg_hba.confentries instead of always appending- Added detection of local trust rules
- CMON now inserts user-specific entries before any local trust rules
- Improved default security posture by replacing global trust rules:
peeris now used for local (Unix socket) connectionsmd5is enforced for host-based connections
- Address an issue with expired MSSQL certificates and backup restore. Renew certificates with
s9sCLI (CLUS-6631):s9s cluster --renew-cert --cluster-id=4 - Address an improvement to update Prometheus version used to 2.53.5 LTS (CLUS-6829)
- Address an issue with Valkey 7 deployments on Oracle 8 (CLUS-6818)
- Address an issue with adding a new Valkey node (CLUS-6744)
- Address issues creating a replica cluster with PostgreSQL (CLUS-6735)
- Address improvements to hardened TLS configuration for
cmonandcmnd(CLUS-6663, CLUS-6662)- Removed weak CBC and Camellia-based cipher suites from
cmonandcmndin line with current recommendations from https://ciphersuite.info. - New installations now enforce TLS 1.3 by default, while existing installations keep TLS 1.2 enabled for backward compatibility.
- Added a new
allow_tls12=true|falseoption in CMON’s configuration:false: only TLS 1.3+ connections are allowed.true: both TLS 1.2 and TLS 1.3+ are allowed.
- The
allow_tls12setting is propagated tocmnd(cmnd.conf) to ensure consistent TLS behavior.
- Removed weak CBC and Camellia-based cipher suites from
- Address an issue with restoring external backup because primary could not be determined (CLUS-6590)
- Address improvements with potential race conditions with frequent configuration changes and remove cluster operations (CLUS-6852)
-
GUI:
- Address an issue where the bi-directional option was incorrectly shown for create replica cluster with PostgreSQL streaming replication cluster (CLUS-6796)
- Address an issue with Query Monitoring/Agents page not refreshing when clicking on a different cluster (CLUS-6780)
- Address an issue when editing backup schedules where storage host was not correct with MongoDB (CLUS-6757)
- Address an improvement to truncate DB user privileges with there many PostgreSQL users listed (CLUS-6578)
- Address an issue with a too narrow custom data directory input field with the PostgreSQL wizard (CLUS-6828)
Maintenance Release: December 2nd, 2025
-
Build:
- clustercontrol-controller-2.3.4-17176
- clustercontrol2-2.3.4-2180
-
Controller:
-
PostgreSQL locale handling improvements (CLUS-6693).
- Fixed locale settings for PostgreSQL major upgrade jobs
- No longer use
LC_ALL=Cforinitdbcommands. - Removed the requirement to explicitly set
lc_collate,lc_ctype, and related locale settings toC. These values will now be automatically derived fromserver_encoding. - During upgrades, the system now reuses the previous node’s locale settings. Including
lc_collate,lc_ctype,lc_messages,lc_monetary,lc_numeric, andlc_time. Ensuring that any custom locale configurations are preserved.
-
Added support for TimescaleDB 17 and 18 on the following platforms:
- TimescaleDB 17 supported on:
- Ubuntu 22.04 (Jammy),
- Ubuntu 24.04 (Noble),
- Debian 11 (Bullseye),
- Debian 12 (Bookworm),
- CentOS/RHEL 9.
- TimescaleDB 18 supported on:
- Ubuntu 22.04 (Jammy),
- Ubuntu 24.04 (Noble),
- Debian 12 (Bookworm),
- CentOS/RHEL 9.
- TimescaleDB 18 on Rocky Linux 9 is currently supported with limitations due to a Linux distribution issue.
- TimescaleDB 17 supported on:
-
Address a deployment issue affecting Valkey 8 and 9 on Rocky Linux 9. (CLUS-6748)
- Address an issue when promoting a PostgreSQL replica to a primary (CCX)(CLUS-6573)
-
-
GUI:
- Address an issue with PITR label with backup tool tip (CLUS-6577)
- Address an issue with inconsistent
pg_dumpoptions in the UI (CLUS-6624)
Maintenance Release: November 18th, 2025
-
Build:
- clustercontrol-controller-2.3.4-17075
- clustercontrol-mcc-2.3.4-654
- clustercontrol2-2.3.4-2169
-
Controller:
- Address an issue with the Galera donor node stuck in read-only mode after resync. An alarm will be triggered if the donor remains in read-only (CLUS-6566).
- Address an issue with disabling
read_onlyandsuper_read_onlynot taking effect with Percona XtraDB cluster (CLUS-6672). - Address an issue adding a replica when restoring a cloud backup using the default home directory instead of the configured backup mount point (CLUS-6586).
- Address an UI issue with HAProxy advanced settings not correctly reflecting the correct RO/RW port used (CLUS-6670).
-
GUI:
- Address an issue to remove ‘beta’ label from QM agents (CLUS-6682).
- Address tooltips improvements for partial backup with
pg_dump(CLUS-6630).
Maintenance Release: October 30th, 2025
-
Build:
- clustercontrol-controller-2.3.4-16739
-
Controller:
- Addressed hanged jobs occurring in the 2.3.4 release (CLUS-6606).
- Added several handy scripts for improved usability.
- Improved trace logging and applied various clang fixes (CLUS-6492).
- Enhanced detection of
cmon.serviceincontroller_pool.sh(CLUS-6492). - Improved cluster monitoring traces in
cmon.log(CLUS-6492). - Added thread info logging after instance creation (CLUS-6492).
- Improved formatting and added traces for
s9s_func_threadfailures in cmon (CLUS-6492). - Removed controllers with duplicate hostname and port on start (CLUS-6492).
- Forced cmonhostmanager cache update (reload from DB) when Galera has no servers (CLUS-6492).
- Prevented
m_galeraServersfrom being cleared when cache is empty (Fix for CLUS-6492). - Avoided updating cmonhostmanager to prevent deadlocks (CLUS-6492, CLUS-6606).
- Fixed various clang-tidy issues (CLUS-6612, CLUS-6581).
- PostgreSQL:
- Improved logs during backup restore operations (CLUS-6612).
- During
pg_restore, directories are now processed correctly (CLUS-6581). - Prevented re-application of schema filters during backup restore (CLUS-6581).
- PgDump: Use
pg_dumpallrestore when the DB name is * (CLUS-6612). - PgBackRest: Simplified filtering for verifyBackup mode (CLUS-6612).
- PgBackRest: Filter backup candidates by the requested target host port (CLUS-6612).
- Restore host now inherits port from the backup record (CLUS-6612).
- PostgreSQL 18: Fixed upgrade process by adding
--no-data-checksumswhen needed (CLUS-6522).
Maintenance Release: October 24th, 2025
-
Build:
- clustercontrol-controller-2.3.4-16604
-
Controller:
- Address an issue to update an expired repository GPG key for MySQL (CLUS-6604)
Maintenance Release: October 23rd, 2025
-
Build:
- clustercontrol-controller-2.3.4-16591
- clustercontrol-mcc-2.3.4-626
- clustercontrol2-2.3.4-2151
-
Controller:
- Address an issue with supported versions for TimescaleDB. Only available with PostgreSQL 16 (not 17 or 18 at the moment) (CLUS-6589)
- Address an issue with node removal with Redis / Valkey cluster (CLUS-6464)
- Address an issue when upgrading CMON 2.3.1 to 2.3.4 during DB migration (CLUS-6559)
- Address an issue with pg_BackRest when the env MODULSHOME is used (CLUS-6562)
- Address an issue with partial backup restore with pg_dump when using sudo user (CLUS-6538)
- Address an improvement to support LDAP_OPT_REFERRALS with LDAP (CLUS-6355)
- Address an issue with running CMON jobs being purged (CLUS-6520)
- Address an improvement to support Redis 8 (CLUS-6496)
- Address an improvement to support PostgreSQL 18 (CLUS-6497)
- Limitations (will be addressed with a future patch):
- Major upgrade from 17 to 18 is not currently supported
- Logical Replication Deployments / Imports is not currently supported
-
GUI:
- Enable TimescaleDB as an PostgreSQL action/job has been deprecated - not supported. Please deploy a TimescaleDB cluster or manually enable the extension if required (CLUS-6598)
- Address an issue with the tooltip for pg_dumpall (CLUS-6582)
- Address an issue with Query Monitor / Agents with Group Replication (CLUS-6525)
- Address an issue with missing ‘bootstrap’ option when restoring MySQL backups (CLUS-6513)
- Address an issue with PostgreSQL backup schedules where ‘verify backup’ option was not persisted/correctly set (CLUS-6535)
- Address an issue with missing partial backup options when selecting ‘mariadb-dump’ as backup method (CLUS-6485)
- Address an issue with a broken cluster list filter dialog (CLUS-6500)
- Address minor cosmetic with the CMON pool wizard and UI (CLUS-6435, CLUS-6507, CLUS-6577)
Initial Release: October 7th, 2025
- Build:
- clustercontrol2-2.3.4-2138
- clustercontrol-mcc-2.3.4-604
- clustercontrol-controller-2.3.4-16304
- clustercontrol-kuber-proxy-0.1.0-589
- clustercontrol-proxy-2.3.4-129
- clustercontrol-cloud-2.3.4-446
- clustercontrol-clud-2.3.4-446
- clustercontrol-notifications-2.3.4-388
- clustercontrol-ssh-2.3.4-229
- s9s-tools 1.9.2025100911
We’re pleased to announce the release of ClusterControl v2.3.4 which adds support for:
- MySQL Group Replication for native multi-primary HA
- Percona Server Pro 8.4
- Backup and restore improvements specifically with external and partial backups for MySQL/PostgreSQL
- Preview of a scalable CMON Controller pool
Features
MySQL Group Replication
Whether you’re building a high-availability service or planning for zero-downtime operations, Group Replication offers a robust MySQL-native solution that minimizes operational overhead while maximizing resilience:
- Automatic failover with built-in consensus-based membership and leader election.
- Synchronous replication using Paxos-like protocols to ensure strong consistency across nodes.
- Multi-primary support for concurrent writes on multiple nodes with conflict detection.
- Seamless scaling of reads and writes without manual topology management.
- Self-healing clusters, with automatic member rejoin and state reconciliation.
- Load balancing, with HAProxy and Keepalived for high availability routing.
Backup and Restore
- Restore external backup
- Various improvements / fixes for MySQL Replication & PostgreSQL
- Partial Backup & Restore
- Supported now with Percona Xtrabackup, MariaDB mariadb-backup and pg_dump
Scaling and High Availability - ClusterControl CMON Controller Pool
This update brings a preview of CMON controller pooling, dynamic cluster assignment, and Kubernetes-native configuration storage for K8s and non-K8s environments.
- Controller Pooling: You can now run multiple collocated controllers (on the same or different hosts) with isolated configs and coordinated cluster ownership.
- Cluster Auto-Assignment: Clusters are dynamically and transactionally assigned across active controllers. The system ensures no cluster is ever left orphaned. Ensures zero downtime and failover with minimal manual intervention
- Graceful Scaling: When scaling your controller pool up/down, CC automatically redistributes clusters while preserving service continuity.
Miscellaneous
- Support for Percona Server Pro 8.4