docs/content/stable/releases/yba-releases/v2025.1.md
What follows are the release notes for all releases in the YugabyteDB Anywhere (YBA) v2025.1 series. Content will be added as new notable features and changes are available in the patch releases of the YBA v2025.1 series.
For an RSS feed of all release series, point your feed reader to the RSS feed for releases.
{{< warning title="On-premises legacy provisioning deprecated" >}}
YugabyteDB Anywhere v2025.2 does not support legacy node provisioning for on-premises universe nodes.
To prepare for v2025.2, update your node provisioning automation and workflows to support the node agent script.
To migrate universe nodes to the new automated provisioning, you can follow the node patching procedure.
{{< /warning >}}
Before upgrading, review the information in Prepare to upgrade YugabyteDB Anywhere.
Build: 2025.1.4.0-b103
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
setuptools and pywheel using .whl files and introducing a new flag use_system_python for system python usage. Ends script if venv isn't settable. PLAT-16111yb.support_bundle.application_logs_regex_pattern. PLAT-19369application_logs_sdf_pattern and application_logs_regex_pattern at runtime for improved flexibility in generating support bundles, and allows custom prefix setting for support bundle filenames. PLAT-19625commonLabels field in Helm overrides for better resource management. PLAT-19491tserver_export metrics collection in support bundles. PLAT-17837automaticDdlMode. PLAT-19136ynp_version to yugabyte to avoid cleanup issues. PLAT-19460masterHttpPort. PLAT-19662,PLAT-19291X-Forwarded-Proto or X-Forwarded-Proto=https header is set. PLAT-19012Regex to Raw String to ensure correctness. PLAT-19865tserver liveness probes in the Helm chart. PLAT-18285Build: 2025.1.3.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2025.1.3.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
Build: 2025.1.3.0-b75
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
SetUniverseReplicationEnabled RPC to 2 minutes. PLAT-20031su by improving user detection logic. PLAT-18500yba-ctl status for global systemd, based on the installation method. PLAT-18733encryption-at-rest-kms-config does not enable encryption at rest in CLI. Now requires ENABLE opType for new EAR workflow. PLAT-18950_total suffix, ensuring proper handling for custom node metrics in K8S universes. PLAT-19056ybp_health_check_tserver metrics were missing for RF1 clusters. PLAT-18636-netty-shaded to version >=1.75.0 to fix {{<cve "CVE-2025-55163">}}. Upgraded -security-crypto from version 5.8.16 to 5.8.18 or higher. Migrated spring libraries to 6.x including a javax to jakarta namespace migration. PLAT-18658severity field in custom_details to yba_severity. PLAT-19084createServicePerPod is enabled. PLAT-19206Build: 2025.1.2.2-b5
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2025.1.2.1-b4
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2025.1.2.0-b110
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
use_sudo is needed for Ansible runbooks based on TServer status. PLAT-17963braces to version 3.0.3 to prevent memory exhaustion. PLAT-18011cdcsdk_flush_lag metric. PLAT-18479yb-server-ctl script to run successfully with system level systemd universes. PLAT-18804dump_role_check in backups to apply flags correctly. PLAT-18533ON_ERROR_STOP by default during restores on master. PLAT-18264on_error_stop to function correctly without needing revert_to_pre_roles_behaviour to be false. PLAT-18594, PLAT-15893testonpremuniverse-onprem-custom-sudo-tls-custom-os-rhel_9 by adjusting owner. PLAT-18940Build: 2025.1.1.2-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
Build: 2025.1.1.1-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
We're excited to announce the key features and enhancements in the 2025.1.1.1 release, designed to improve performance, usability, and management of your database environments.
xCluster Disaster Recovery (DR) – Control-plane support for DDL replication {{<tags/feature/ea idea="2089">}}
Adds YugabyteDB Anywhere support for Automatic transactional xCluster replication enabling seamless replication of schema changes across clusters in a DR setup. For more information, refer to xCluster Disaster Recovery.
UI updates to automatically provision on-premises nodes {{<tags/feature/ga idea="2081">}}.
To improve the out-of-box experience, the UI for creating on-premises providers has been modified to direct users to automatic provisioning. For more information, refer to Automatically provision on-premises nodes.
Note: Support for legacy node provisioning will be dropped in v2025.2 (available late 2025). Before upgrading to v2025.2, be sure to update your node provisioning workflows to support automatic provisioning.
Backups with DDL. Backups succeed even when DDL changes are occurring during the backup process. {{<tags/feature/tp idea="1484">}}
Filter personally identifiable information (PII) in support bundles. When creating support bundles, and the option to collect pgAudit logs is selected, sensitive PII data is now masked, reducing risk of data privacy violations and improving data security stance. {{<tags/feature/ga idea="2170">}}
Support for AWS's EBS disk encryption, complementing (or offering an alternative to) YugabyteDB's encryption-at-rest. {{<tags/feature/ea idea="2329">}}
Batching of rolling operations. During a rolling restart, such as when applying software upgrades and flag changes, YugabyteDB Anywhere can now process multiple YB-TServer nodes in each availability zone simultaneously. This can reduce the time required to perform rolling operations on large clusters by 2x, 3x, or more, depending on the (configurable) batch size. {{<tags/feature/ga idea="444">}}
UNIVERSE.DEBUG for specific debugging actions, enhancing access control. PLAT-14856yba-ctl. PLAT-17546Path sections and updates logging to use journal in systemd files. PLAT-18249systemctl commands for better stability during service management. PLAT-18321replicated_ddls from replication prechecks. PLAT-18346query_id to string for compatibility in live queries. PLAT-18481use_sudo is needed for Ansible runbooks based on tserver status. PLAT-17963pgsql_proxy_bind_address is set manually. PLAT-18058ocpCompatibility.enabled flag. PLAT-17919list universe tables API with xClusterSupportedOnly=True. PLAT-18485dump_role_check in backups to apply flags correctly. PLAT-18533yb.skip_version_checks to bypass software upgrade version checks. PLAT-17780skipKeyValidateAndUpload flag for AWS provider setup to bypass SSH key validation. PLAT-18230hybrid_clock_error metric to YBA for better node health assessment. PLAT-18238Build: 2025.1.0.1-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2025.1.0.0-b168
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
We're excited to announce the key features and enhancements in the 2025.1.0.0 release, designed to improve performance, usability, and management of your database environments.
Custom Linux usernames and directories for on-premesis VMs {{<tags/feature/ga idea="1803">}}
When provisioning on-premise DB nodes, the node-agent-provision.sh script now allows specifying custom Linux usernames and directories.
For more information, refer to Automatically provision on-premises nodes.
YBA CLI {{<tags/feature/ga idea="1879">}}
The YBA CLI, for interacting with YugabyteDB Anywhere from the command line, is now available in GA. For more information, refer to YugabyteDB Anywhere CLI.
Support bundle enhancements {{<tags/feature/ga idea="1861">}}
You can now cancel the collection of support bundles. Collection is also parallelized for faster performance, and bundles include new information such as tablet layout and system logs. For more information, refer to Use support bundles.
Before upgrading from PostgreSQL 11 to PostgreSQL 15 for a multi-region universe, or a universe with more than 10,000 tables and indexes, increase the catalog upgrade timeout by setting the YugabyteDB Anywhere runtime configuration parameter yb.upgrade.wait_attempts_for_major_catalog_upgrade to 60 or higher at the Universe scope. This prevents timeout issues during the PostgreSQL 15 catalog upgrade process.
Refer to Manage runtime configuration settings. You must be a Super Admin or Admin to set Universe runtime configuration flags.
You cannot upgrade from PostgreSQL 11 to PostgreSQL 15 for Kubernetes and OpenShift universes if either YugabyteDB Anywhere or database pods are deployed on different clusters, or if they use different service accounts.
To enhance the reliability and resilience of xCluster and Disaster Recovery (DR) operations, we have introduced changes to the xCluster configuration API. Specifically, new properties have been added to the response payload of the XClusterConfigController.getXClusterConfig() endpoint.
These additions are classified as "breaking changes" for clients that enforce strict schema validation on API responses.
The following sections describe the changes, their impact, and the actions required for client applications.
The primary change affects the data structure returned when retrieving an xCluster configuration.
Affected endpoints
GET /api/v1/customers/{cUUID}/xcluster_configs/{xcUUID}GET /api/v1/customers/{cUUID}/dr_configs/{drUUID}Affected object
XClusterNamespaceConfigThe XClusterConfig object returned by this API contains a list of namespaces. Each object in this list (XClusterNamespaceConfig) now includes three new required properties as decribed in the following table:
| Property name | Type | Description |
|---|---|---|
| backupUuid | UUID string, nullable | The UUID of the backup task used for bootstrapping the namespace during setup. Will be null if bootstrapping was not performed. |
| restoreUuid | UUID string, nullable | The UUID of the restore task used for bootstrapping the namespace. Will be null if no restore operation was performed. |
| replicationSetupTime | string, nullable | An ISO 8601 timestamp indicating when replication was successfully configured for the namespace. Will be null if replication is not yet set up. |
These fields were introduced to persist the state of bootstrapping (via backup/restore) and replication setup, and also make the XClusterNamespaceConfig object more aligned with XClusterTableConfig object. Storing this information in the configuration object is a key part of the effort to make xCluster or DR setup tasks retry-able and abortable.
Older clients that perform strict JSON deserialization on the response from getXClusterConfig may fail. These clients are not expecting the backupUuid, restoreUuid, and replicationSetupTime fields and will likely throw an "unrecognized property" error. Clients that ignore unknown fields are not affected.
Action required: Update your data models for XClusterNamespaceConfig to include the three new fields. It is crucial that the client code can correctly handle null values for these properties, as they are not always populated.
Perform online upgrades to PostgreSQL 15 to ensure access to the latest performance improvements, new extension capabilities, and compliance with organizational upgrade policies. {{<tags/feature/ga idea="358">}}
CipherTrust support. You can now use Thales CipherTrust as the Key Management System (KMS) for encryption at rest. {{<tags/feature/ea idea="1227">}}
xCluster DR improvements. NFS-based backup/restore for the initial full copy is improved (with an optional replication delay), failure handling is improved (retry, rollback, cancel support), and you can rotate certificates without reconfiguring xCluster replication. {{<tags/feature/ga idea="1806">}}
RBAC enhancements. You can now restrict users, such as DBAs, to manage only a specific subset of universes (while other DBAs manage other universes). {{<tags/feature/ga idea="509">}}
Kubernetes
YugabyteDB Kubernetes Operator. A powerful tool designed to automate deploying, scaling, and managing YugabyteDB clusters in Kubernetes environments. It streamlines database operations, reducing manual effort for developers and operators. {{<tags/feature/ga idea="1448">}}
<!-- Other Kubernetes operator IDEA {{<tags/feature/ga idea="664">}} --> <!-- Other Kubernetes operator IDEA {{<tags/feature/ga idea="831">}} -->Pause/resume and vertical scaling (specifically, changing the disk size for pods containing Master processes) is now supported. {{<tags/feature/ga idea="1493">}}
Pod Disruption Budgets (PDBs) are now set for TServer and Master pod collections, rather than at the AZ level, for both new and upgraded universes. {{<tags/feature/ga idea="1489">}}
Support for Kubernetes CertManager with AWS private CA issuer for encryption in transit. When using encryption-in-transit with K8s-based universes, support has been added for aws-privateca-issuer. {{<tags/feature/ga idea="2023">}}
Preemptible Backups. In-progress backups (such as scheduled ones) can now be automatically pre-empted by other universe actions that were formerly blocked. A preempted backup will automatically be restarted and retried after the other operation completes. {{<tags/feature/ga idea="1636">}}
Automated migration to node agent. You can now have YugabyteDB Anywhere automatically upgrade legacy universes that were provisioned without node agent via a banner alert. {{<tags/feature/ga idea="1789">}}
Deprecation of cron on DB nodes. The use of cron to start YB services on DB nodes has been deprecated. Instead, use systemd. YBA now flags any existing DB nodes using cron with a warning containing remediation instructions. {{<tags/feature/ga idea="1805">}}
GCP hyperdisk support. Google Cloud Hyperdisks (Balanced and Extreme) are now supported disk type options when creating universes on Google Cloud Platform. These disk types are only available in some GCP regions. {{<tags/feature/ga idea="1946">}}
Batching of rolling operations. YugabyteDB Anywhere now supports applying changes to multiple nodes in VMs/K8s simultaneously (and in parallel) in each availability zone during rolling operations, such as software upgrades and flag changes. This can reduce the time required to perform rolling operations on large clusters by 2x, 3x, or more depending on the (configurable) batch size. {{<tags/feature/ea idea="444">}}
Monitor universe tasks. The Task History log has been augmented to show the before and after state for each task. {{<tags/feature/ga idea="1224">}}
Improved support for bi-directional xCluster. Bi-directional xCluster supports adding a non-empty table to the replication stream, and safeguards against the unsafe (and potentially data-overwriting) action of restarting replication. {{<tags/feature/ga idea="1533">}}
YSQL Audit Logs. Support for producing and exporting audit logs of PostgreSQL statements (which is often required for compliance with government, financial, or ISO certifications) to a log aggregator. This is based on the pgaudit extension. This is based on the pgaudit extension. {{<tags/feature/ea idea="1773">}}
Pagination for Task list API. The tasks_list REST API now supports paginated (batched) retrieval. {{<tags/feature/ga idea="1883">}}
Semi-automatic xCluster replication. Provides simplified management of YSQL transactional xCluster replication by operating at the database level instead of the table level. This reduces the need for IT admin involvement when tables are created or dropped, as xCluster management is only required for adding or removing entire databases from replication. DDL operations can now be performed by authorized users or DBAs without needing elevated privileges. {{<tags/feature/ga>}}
pexvenv generation by testing and marking ybops import. PLAT-15112UpdateConsistencyCheck subtask. PLAT-17037RollMaxBatchSize in UniverseResp, even if the feature is disabled. PLAT-15574Assign Public IP and AWS ARN fields in edit mode. PLAT-15867PG_COMPATIBILITY is ON and restricts editing in pg_conf_csv. PLAT-16022DeleteReplicationOnSource during failover. PLAT-17038createTransferXClusterCertsRemoveTasks on the source universe. PLAT-17039Explicitly set HTTP header 'Transfer-Encoding:chunked for a quieter logging experience. PLAT-11189tmp_dir flag updates during rolling restarts by tracking changes. PLAT-12263log_dir GFlag for both master and tserver. PLAT-12433=. PLAT-14435::mount_ephemeral_drives to support non-standard disk layouts, including volume groups. PLAT-16266HOSTNAME to EXPORTED_INSTANCE. PLAT-16268use_k8s_custom_resources flag. PLAT-16577yba-ctl preflight command runs smoothly without as_root setting errors. PLAT-16668awsHostedZoneName in AWS provider edit payload to prevent failures. PLAT-16723DeleteBootstrapIds subtask fails. PLAT-16982YBC flags on dedicated masters. PLAT-17472nproc limit to support larger T-Servers. PLAT-17490yba-ctl certs generate command. PLAT-17535yba-ctl rollback to better handle filesystem and service restoration. PLAT-17717Name instance tags to universes. PLAT-9827yba-ctl build issue caused by Go build modifications. PLAT-15733disable_v1_api_token flag to prevent DDoS by skipping invalid token loops. PLAT-15489::clock to better select a valid Python executable if multiple versions are present. PLAT-15771yba-ctl install works on CIS hardened images by adjusting file permissions. PLAT-15780cgroup sizes update correctly after node resizing. PLAT-15952postmaster_cgroup flag based on user intent without needing additional runtime configs. PLAT-16142semanage command runs successfully in the node agent installer. PLAT-16669reset_password API. PLAT-16734SetupYNP only prepares the node agent package without creating an entry. PLAT-17194CreateUniverse for on-prem nodes by modifying preflight checks. PLAT-17368collect_metrics.sh script re-uploads if a node name is reused. PLAT-17671master_join_existing_cluster GFlag during Helm install and universe configuration in K8s. PLAT-15034useLdapSsl flag for LDAP universe sync to support SSL connectivity. PLAT-15197useLdapSsl flag for LDAP universe sync to support SSL connectivity. PLAT-15197update_lb_config task correctly performs its work rather than clearing out prematurely. PLAT-15349AvailableReplicas in stateful sets. PLAT-15483COMMAND_FAILED status. PLAT-15557sshUserOverride during provisioning to prevent OS upgrade failures. PLAT-15632polkit package is installed on AlmaLinux 9 nodes to enable linger. PLAT-15698roll N nodes configuration options to users as public flags. PLAT-15925collectReplicationClusterData to prevent blocking. PLAT-16169list_flags API to display experimental flags. PLAT-16425rpc_latency_sum and rpc_latency_count metrics. PLAT-16544globalBucketAccess field. PLAT-16571dedicatedNodes is set to true for all Kubernetes universes. PLAT-16827node_ip to the config file to prevent race conditions. PLAT-16960sh and moves directories correctly. PLAT-17091xCluster creation only with specified table UUIDs despite new flags. PLAT-17105tasks_list API encounters exceptions. PLAT-17111node_health process stats from /tmp to prevent truncation issues. PLAT-17693,PLAT-17219feature_flags.off_cluster_pitr_enabled flag. PLAT-16149useTimeSync setting for K8s and OnPrem universes. PLAT-16749semanage fcontext runs regardless of SELinux mode to prevent node-agent issues. PLAT-16762node_exporter based on architecture and enhances Python support. PLAT-168712024.1.3.0-b104 on the YBA UI to ensure accuracy in displaying semi-automatic mode availability. PLAT-17045Running or ToBeRemoved. PLAT-17252yb.skip_version_checks to bypass software upgrade version checks. PLAT-17780scrape_interval and scrape_timeout in Kubernetes Helm charts and YBA installer. PLAT-15714s3.use_db_nodes_iam_role_for_backup. PLAT-15859Manage xCluster. PLAT-16061prometheus user to read metrics by restarting node_exporter. PLAT-16274yba-ctl to prevent infinite loops and crashes from unhandled directory creation errors. PLAT-16467yba-ctl efficiency by skipping needless state file updates when no changes occur. PLAT-16641/opt/yugabyte/yugaware/data in Kubernetes environments. PLAT-17138GetReplicationStatus RPC, enhancing xCluster replication monitoring. PLAT-17230yba-ctl clean succeeds even with incorrect configurations. PLAT-17547