Skip to content

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
  • 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.
  1. 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 — including cluster_info_cache_refresh_interval and enable_orphan_shutdown — giving operators of large fleets finer control over refresh and cleanup intervals. (CLUS-7584)
  • 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 with MASTER_SSL=1 so the SSL-only requirement is honored. (CLUS-7010)

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.repo template, which caused dnf metadata download failures on Rocky Linux 8 during PBM agent installation. (CLUS-7518)
    • 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 deleteAccount requests 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)
    • Monitoring & Deployment
      • Fixed offline installation of Redis Cluster, which previously still required downloading the remi repository package from the internet. (CLUS-7493)
    • 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 ~1 twice 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) under gtid_strict_mode. The cluster-securing step now sets sql_log_bin=0 alongside wsrep_on=0 so 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)

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_target values 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=OFF and 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_DIR when backup schedules run frequently — temporary files are now swept and empty parents removed after each operation. (CLUS-7422)
    • 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 FORGET temporarily 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_audit plugin 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 deleteAccount requests for read-only callers, ensuring consistent enforcement regardless of how the API is invoked. (CLUS-7244, CLUS-7311)
    • Monitoring & Deployment
      • Agent-based Prometheus monitoring deployment no longer fails on hosts with strict umask settings — /etc/prometheus/prometheus.yml is now created with the correct prometheus:prometheus ownership across all save paths. (CLUS-7396)
    • 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 -v output. (CLUS-6889)
      • Fixed a memory leak in the cluster information cache that could grow over long-running CMON sessions. (CLUS-7292)

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_basebackupincr is now a selectable backup method for PostgreSQL 17+. The wizard warns if the selected host has WAL summarization disabled, and ensures summarize_wal=true is 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_wal ON or OFF and refreshes the node state immediately. (CLUS-7196, CLUS-7280)
      • Under the hood — incremental backups run via pg_basebackup --incremental, support the summarize_wal setting 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_basebackup backups, 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_basebackup backup. (CLUS-7224)
      • Create a new cluster directly from an incremental pg_basebackup backup. (CLUS-7225)
      • Replica compatibility — incremental pg_basebackup now works correctly on a replica even when the primary has summarize_wal disabled. (CLUS-7281)
    • 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)
  • Improvements:

    • PostgreSQL backups dynamically raise wal_keep_size before running pg_basebackup to 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)
  • Bug fixes:

    • Backups
      • Incremental pg_basebackup now succeeds after a prior pg_basebackup restore, so repeated backup/restore cycles work as expected. (CLUS-7300)
      • Creating an incremental pg_basebackup backup for a newly added replica node now succeeds. (CLUS-7364) Added safeguards to prevent incremental pg_basebackup from 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_storage flag on the backup job. (CLUS-6986)
    • 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_killprocess and 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)
    • 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_keep pre-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)

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_messages table 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)
  • Improvements:

    • PostgreSQL Backup Reliability — Updated pg_basebackup to 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)
  • 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 /32 CIDR 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 clusterRole handling when adding nodes
      • Fixed an issue where the shardsvr clusterRole was incorrectly added to a replica set when adding a node.

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 bcrypt hashes via libbcrypt.
    • 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).
  • 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_addresses using 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).

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_storage job could be blocked by other jobs.
      • 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.
    • PostgreSQL Logical Replication

      • CLUS-6573 – Make PSQL promote replica stable
        • Added a reusable generatePrimarySlotName helper.
        • Limited logical replication slot names to 64 bytes.
    • CMON/Prometheus/Process handling

      • CLUS-6860 – Segfault on cmonprometheus::check and process handling
        • Prometheus integration
          • Improves cache access patterns while querying exporters to prevent races and segfaults.
      • CLUS-6656 – Cmon segfaults when starting
    • 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_only and super_read_only but correctly disables them.
    • 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.

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 initdb to generate pg_hba.conf with peer authentication for local connections and md5 for host connections, replacing the default trust method.
    • CMON now prefers local socket for pg_basebackup when pg_hba.conf allows
    • 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.conf entries 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:
      • peer is now used for local (Unix socket) connections
      • md5 is enforced for host-based connections
    • Address an issue with expired MSSQL certificates and backup restore. Renew certificates with s9s CLI (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 cmon and cmnd (CLUS-6663, CLUS-6662)
      • Removed weak CBC and Camellia-based cipher suites from cmon and cmnd in 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|false option 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_tls12 setting is propagated to cmnd (cmnd.conf) to ensure consistent TLS behavior.
    • 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=C for initdb commands.
      • Removed the requirement to explicitly set lc_collate, lc_ctype, and related locale settings to C. These values will now be automatically derived from server_encoding.
      • During upgrades, the system now reuses the previous node’s locale settings. Including lc_collate, lc_ctype, lc_messages, lc_monetary, lc_numeric, and lc_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.
    • 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_dump options 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_only and super_read_only not 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.service in controller_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_thread failures 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_galeraServers from 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_dumpall restore 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-checksums when 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