docs/content/stable/releases/yba-releases/v2.20.md
What follows are the release notes for all releases in the YugabyteDB Anywhere (YBA) v2.20 series. Content will be added as new notable features and changes are available in the patch releases of the v2.20 series.
For an RSS feed of all release series to track the latest product updates, point your feed reader to the RSS feed for releases.
{{< warning title="Technical Advisories" >}}
Index update can be wrongly applied
Impacts: v2.20.0.0 to 2.20.1.2
The impacted releases contain an issue where an index update can be wrongly applied, leading to index corruption in the following rare cases:
For more information, see #20648.
If you're using a v2.20 series release prior to v2.20.1.3, it is recommended that you upgrade to YugabyteDB 2.20.1.3 or later.
Correctness issue for queries using SELECT DISTINCT
Impacts: v2.20.1.0 to 2.20.1.3
The impacted releases contain a correctness issue for queries using SELECT DISTINCT clause. The queries may return incorrect results when the following conditions are true:
BatchNestedLoopJoin is enabled.JOIN clause is present in the query.DISTINCT clause is present in the query.For more information, see #20827.
{{< /warning >}}
Build: 2.20.12.0-b30
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2.20.11.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
Build: 2.20.11.0-b34
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
reset_password API. PLAT-16734nodeSelector values in overrides. PLAT-16727node_health.py for monitoring. PLAT-17042,PLAT-14157,PLAT-15440,PLAT-15558,PLAT-15938,PLAT-13095,PLAT-14774node_health stats from /tmp to avoid data truncation. PLAT-17615,PLAT-17219Running or ToBeRemoved. PLAT-17252Build: 2.20.10.0-b29
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
rpc_latency_sum and rpc_latency_count metrics. PLAT-16544yba-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-16641Build: 2.20.9.0-b47
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
pexvenv generation by testing and marking ybops import. PLAT-15112AvailableReplicas in stateful sets. PLAT-15483Build: 2.20.8.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2.20.8.0-b53
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
New automatic on-premises provisioning
We've automated and simplified the previously manual or otherwise cumbersome process for preparing nodes for use in on-premises providers. System admins now download and run a single, simplified provisioning script directly on the VMs. The script not only provisions the node but also creates the on-premises infrastructure provider and adds the node to the infrastructure provider's free pool. After the process is completed, your nodes are ready for deployment in universes. With this new provisioning method, dozens of steps are reduced to just a few, the provisioning process won't change from release to release, and security concerns about providing SSH and/or sudo access to VMs are eliminated.
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.
Explicitly set HTTP header 'Transfer-Encoding:chunked for a quieter logging experience. PLAT-11189Name instance tags to universes. PLAT-9827polkit package is installed on AlmaLinux 9 nodes to enable linger. PLAT-15698Build: 2.20.7.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
Build: 2.20.7.1-b10
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2.20.7.0-b58
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
ysql_hba_conf_csv value from logs to mask LDAP bind password. PLAT-13707yb_platform_backup.sh to handle version checks better on custom storage path containers. PLAT-14705yba-ctl backup scripts to support the use of Prometheus HTTPS option, addressing backup interruptions for on-premise installations. PLAT-14522Region name option and ensures regions are searched in the provider, fixing the issue of missing region metadata when adding provisioned nodes via Node Agent. PLAT-14790userUUID$apiToken, reducing call time. PLAT-14850Resizing state and enhancing action performance. PLAT-14822,PLAT-14857$ sign in the API token with a safer character to prevent bash command disruptions. PLAT-15027Build: 2.20.6.0-b66
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Create Alert page by hiding the default destination option if no default destination is previously set by the user. PLAT-10340Build: 2.20.5.0-b72
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
smtpPort and Server and Port fields in Create new alert channel dialog to prevent errors. PLAT-13702SuppressHealthCheckNotificationsConfig, to the MaintenanceWindow model class and its APIs. PLAT-13518Failed To Delete, and queues ongoing deletions for later when YBA restarts. PLAT-13750offline_access scope is set. PLAT-11246,PLAT-14174api_token. PLAT-8028Failed To Delete, and queues ongoing deletions for later when YBA restarts. PLAT-13750kubectl warn log interference in yb_backup.py, aiding successful execution of remote commands. PLAT-14012exported_instance label from Prometheus targets of database exported metrics. PLAT-12808machineImage parameter is used during universe creation, reducing failures in custom AMI cloud cases. PLAT-13632yb_home directory, facilitating the collection of custom metrics. PLAT-14216current lag stat in xCluster to be table & stream specific, not influenced by other universes. PLAT-14425ListLiveTabletServers API for YugabyteDB versions earlier than 2.8 to prevent chain upgrade failures. PLAT-13657yugaware_property contains legacy ones, paving the way for successful version comparison and patching. PLAT-13681follower_lag_ms metric to the dashboard for easier identification of lagging masters and struggling TServers. PLAT-14254vnetName/securityGroupId fields from the region object during provider editing. PLAT-14802stderr keyword argument was incorrectly passed. PLAT-14208Build: 2.20.4.1-b5
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
Build: 2.20.4.0-b50
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
OS Certification: Amazon Linux 2, CIS-hardened, on ARM. Support for Amazon Linux 2 (CIS-hardened) has been added on ARM architectures.
Top ten alerts. Added new alerts to understand database load and monitor database internals. Alerts to monitor database internals include, cache miss, and log cache size.
ikeep to the XFS mount options to mitigate possible key duplication in the block cache. PLAT-13192EditUniverse for code simplicity and incorporates backported changes from the replace node to 2.20. PLAT-11267chronyc is not installed. PLAT-13137ldap using regex with whitespace characters. This eliminates previous false validations. PLAT-13575C grade ciphers for key exchange to prevent security threats. Adjusts cipher suite list for Prometheus, allowing modification during installation/upgrade to disable certain ciphers. Ensures only A grade ciphers with key size greater than 2048 bits are used, enhancing security against potential attacks. PLAT-9590Edit Universe modal from wrongly displaying master placement as Place Masters on the same nodes as T-Servers for a dedicated universe, providing accurate universe creation details. PLAT-13445useIMDSv2 field from AWS cloudinfo to the ImageBundle details for better provider creation payload configuration. PLAT-12967CertsRotate task to retry, ensuring the subtasks are idempotent. PLAT-13280sshPort fitting all the provider validations, adjusting it to map to $.imageBundles[i]. instead of $. to accommodate the relocation of sshUser and sshPort to image bundle details level. PLAT-13392confirm replication lag alert step during the Disaster Recovery (DR) configuration process. PLAT-13547useTimeSync toggle when setUpChrony is already enabled. Adds enable_imdsv2_support runtime flag to AWS provider form and allows toggling of IMDSv2 in YBAManged Imagebundle. PLAT-13551,PLAT-13536machineImage parameter is used during universe creation, reducing failures in custom AMI cloud cases. PLAT-13632useIMDSv2 as deprecated at the provider level and moves it back to AWS cloud info. PLAT-13482Build: 2.20.3.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
{{< warning title="Use v2.20.3.1 or later.">}} {{< /warning >}}
Network Resource Group and Network Subscription ID fields for better understanding when to fill them. PLAT-12546installRoot configuration values for a smooth replicated migration process by adding a validation check before starting the migration. PLAT-12785,PLAT-12784api_token endpoint on HA followers for pre-existing customer automation, mitigating potential usage difficulties. PLAT-13274,PLAT-13269,PLAT-13267mv command usage across file systems during replicated migration, addressing failure issue when root install directory exists on a different file system. Also resolves minor logging issues. PLAT-12836yb.always_wait_for_data_move, and ensures waitForDataMove always executes to prevent data loss. PLAT-10522-classic and -core Java packages in your home library to version 1.2.11 for more advanced capability. PLAT-11662CheckNodeSafeToDelete subtask for delete read replica clusters ensuring quicker deletion process. PLAT-12242lockUniverseForUpdate and lockForFreezeAndUpdate. Removes redundant helper methods and optimizes lockUniverseCanUpdate functionality. PLAT-12342restart replication when adding tables. PLAT-12472,PLAT-11801,PLAT-11853Error state for disaster recovery configurations, disabling all operations except deletion if creation or replica replacement fails. Updates Yugabyte platform UI to reflect these changes. PLAT-12473masterState is not cleared if the current task isn't a placement modification task, maintaining temporary universe states for retry. PLAT-12713xClusterOnly set to true. PLAT-12786deletePitrConfigs parameter setting to accurately delete PITR configurations on old standby universe during a switchover. PLAT-12854sshPort value could be overridden to null, ensuring compatibility with Custom-AMI during universe creation. PLAT-12946autoIncludeIndexTables is enabled, relevant index tables are added to user's table selection. PLAT-12985SAFE_TO_RUN_IF_UNIVERSE_BROKEN list. PLAT-13035View Universe option for checking user configuration of the created universe, including primary cluster and any existing read replica. Offers an alternate to edit workflow for universe viewing. Also fixes a problem where clicking Details Link in Read Replica on Universe Overview Page caused error. PLAT-13055Failed to parse BackupRequestParams error. PLAT-13056sudo command and fixes NTP Clock Sync health check failure on Amazon Linux 2 CIS hardened image. PLAT-13080,PLAT-13000rootCA rather than taskParams, enhancing data backup integrity during a task failure. Resolves a under replicated error in node-to-node root certificate rotation, maintaining stability. PLAT-13172edit_in_use_provider runtime configuration flag. PLAT-13187template field instead of the name field on the YBA UI, increasing alert configuration flexibility. PLAT-13211wait_for_server_ready.timeout that replaces the static 10-minute wait to cater to users with a massive number of tablets requiring extended local bootstrap time. PLAT-8632yb.wait_for_clock_sync.inline_enabled to false. Effectively manages clock skew. PLAT-9452Add instance type modal to avoid unintentional edits in the on-prem provider. PLAT-12641IAM Profile for non-AWS YugabyteDB Anywhere deployments, preventing task failure. PLAT-12181Build: 2.20.2.4-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
wait_for_server_ready.timeout to adjust the default 10-minute wait time to suit user requirements. PLAT-8632Build: 2.20.2.3-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Build: 2.20.2.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
api_token endpoint from HA standby, easing difficulties for customers with existing automation that previously relied on this access. PLAT-13267,PLAT-13268Build: 2.20.2.1-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
mv command usage across file systems during replicated migration, addressing failure issue when root install directory exists on a different file system. Also resolves minor logging issues. PLAT-12836Build: 2.20.2.0-b145
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Nutanix Ready. YugabyteDB and YugabyteDB Anywhere has been certified to be compatible as part of the Nutanix Ready AHV program.
Automated Linux OS patching and upgrades for on-prem. You can now use safety-improved YugabyteDB Anywhere APIs when automating your rolling patch scripts for Linux OSs (typically, for OS security, and minor or major OS upgrades). PLAT-10591, PLAT-10988
REST API versioning and clean-up. REST API simplification and streamlining for most important APIs. PLAT-11133
Improved Auth when using GCS for backups for Kubernetes universes. When taking backups of a Kubernetes universe to Google GCP, allow use of the Google GKE Service Account for authentication to the Google Storage. PLAT-10571
Asymmetric nodes in each region (API support only). In a stretched cluster, nodes in each region can now have different instance types (that is, different number of CPU cores, memory, and so on).
Task Retryability for VM-based universes. You can now address the cause of a failure for a complex operation and retry. For example, if adding nodes to a universe fails due to a cloud quota limit, you can fix the quota issue and retry the task. {{<tags/feature/ea>}} PLAT-6141
Backup portability. After sending backups to a cloud object store (such as S3, GCS, or Azure blob storage), you can now copy those backup sets to other cloud storage buckets and restore from them. {{<tags/feature/ea>}} PLAT-10179
xCluster DR. A turnkey solution for business continuity and disaster recovery, allowing you to recover from an unplanned outage (failover) or to perform a planned switchover. {{<tags/feature/ea>}}
Edit universe providers. You can now add and remove regions and change service accounts for providers with active universes.
follower_lag.max_threshold, for customising lag allowance. This change notably enhances upgrade processes and mitigates false positive scenarios. PLAT-10286master_join_existing_universe flag for existing VM universes, replacing cluster configurations atomically for a seamless transition. PLAT-10511sharedVPCProject ID via the YBA UI for GCP providers, replacing the older GCP project name field. Now, users can specify two projects at a time: Shared VPC Project for VPC shared environment and GCE Project for project where VM will be provisioned. PLAT-11065::log-bundle command to capturing logs from the last day for long-running YBA instances, enhancing running time and reducing hang periods. PLAT-11220yba-ctl reconfigure, enhancing HA workflow stability. PLAT-11525is_bootstrap_required_rpc_pool.max_threads, enabling users to dictate the maximum thread pool size for isBootstrapRequired rpc calls. PLAT-11841bootstrap terminology to full copy in the YBA UI and enhances the failover and switchover modal texts for clarity. It further adjusts the endpoints in the ApiAndUserPermMapping.ts and includes the RbacValidatorcomponent to support new DR API operations. PLAT-11987,PLAT-10138,PLAT-11664/features page to a provider level setting, allowing creation of symmetric geo-partitioned universes. PLAT-12003{{base_url}}/customers/{{customer_uuid}}/dr_configs/{{dr_config_uuid}}/edit API endpoint. PLAT-12203yb_api_timeout_secs and yb_task_timeout_secs respectively. Eradicates line variable overwrite issue by blanking out the line variable prior to reading the next message and finally adjusts coprocess operation to start and stop only when necessary. PLAT-12483kExternal. PLAT-9993,PLAT-11775/metrics endpoint for async_replication_sent_lag. PLAT-12439dbs field, effectively interpreting it as a restart for all tables in the configuration; switches from the restart xCluster configuration request to a dedicated DR configuration API, and adopts the set table API for efficient drop table operations in DR context. PLAT-12554Error state for disaster recovery (DR) configurations, enabling users to manage configuration failures more effectively. If a DR creation or replace replica operation fails, the Error state is triggered. In this state, existing DR configurations can only be deleted, with all other operations disabled. This update also reflects in the YBA UI and disables restart replication if a DR is not in a stable state. PLAT-12473,PLAT-12585pg_ctl start by consistently clearing the conf directory during reinstallation while maintaining its state during a soft clean. PLAT-12620,PLAT-12597edit DR configuration button for halted Disaster Recovery (DR) configurations, allowing safe edits of backup storage settings even in a halted state.create universe processes. PLAT-12681,PLAT-12722AddOnClusterDelete, EditUniverse, and ReadOnlyClusterDelete workflows and cleans up the YBC directories, enhancing the on-prem universe management. PLAT-11056Backup Failed. PLAT-11489api/v1/login or api/login endpoints, enhancing itest/API access and user convenience, especially in the event of HA failover. PLAT-12154skipProvisioning value instead of defaulting to false, preserving manual provisioning settings during on-prem provider edits. PLAT-12393Updating status even after error throw. PLAT-12396bind_password and dbUserPassword in application log entries. PLAT-12423No tables selected error message for a Disaster Recovery configuration by enabling it to disappear when tables are selected, enhancing user interface experience. PLAT-12480Create Schedule sub-tasks didn't run and the UI malfunctioned due to the parent task marking as successful while its percentage completion remained at zero. This fix ensures the smooth running of scheduled backup tasks. PLAT-12512edit resource permissions. PLAT-12257useHostVPC setting prevention which was causing update operations to fail. PLAT-12553update_disk method to prevent the Resize node operation from failing on AWS, to ensure successful universe creation. PLAT-12645enable_auto_flag_validation to toggle these checks. Addresses an issue tied to different DB versions and misaligned ysql_enable_packed_row autoflag states, preventing failure of disaster recovery setups. PLAT-12656needsExpandPVC check, ensuring the correct azConfig use instead. PLAT-12658GetAutoFlagsConfig RPC call if the universe does not support autoflags. PLAT-12788Build: 2.20.1.3-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
s3cmd version. PLAT-11559{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
This is a YugabyteDB-only release, with no changes to YugabyteDB Anywhere.
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
server.pem on reconfigure. PLAT-12101,PLAT-12045{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Ability to limit user access to a subset of universes. With this enhancement, database administrators can independently manage designated universes, allowing for more granular control and division of responsibilities among DBAs. PLAT-7904 {{<tags/feature/ea>}}
Ability (for current customers who previously installed YBA using Replicated) to migrate to the improved YBA Installer for upcoming upgrades. The new installer offers enhanced speed, simplicity, and robustness. Note that Replicated will reach its end-of-life by the conclusion of 2024. Users are recommended to migrate to the YBA Installer before this deadline for a smoother transition. PLAT-8364 {{<tags/feature/ea>}}
New API call that synchronizes PG roles from a customer's Active Directory or LDAP, to enable securely authenticated and authorized access to database data. PLAT-9711
Ability to recover from failed operations such as universe growth, shrinkage, or modification, in the Kubernetes (K8s) environment by employing a retry mechanism, eliminating the need to contact support. Note that failures attributed to external factors, such as insufficient permissions or resources, should be addressed and resolved before initiating a retry. PLAT-11541, PLAT-8420
Safeguard to prevent the restoring of a backup of a newer version database to an older versioned (and therefore incompatible) YBA universe. PLAT-8162
Leverage the authentication capabilities of Google GKE's Service Account when taking backups of a Kubernetes universe to Google GCP. This streamlines the backup process, offering users the flexibility to authenticate seamlessly with Google Storage using their GKE Service Account. PLAT-10571
Official support and certification of Ubuntu version 22 for use with YugabyteDB Anywhere and YugabyteDB.
Minor correctness enhancement introduced when performing a complex Kubernetes operation such as universe growth, shrinkage, or modification. The task will now be marked successful only after successfully completing the operation, ensuring a more accurate status update compared to the previous behavior of marking it before completion. PLAT-10289
HSTS headers and other custom headers in API responses, enhancing security across portals espousing https and fulfilling customer requirements. PLAT-9109,PLAT-11546allow_volume_decrease to true, enabling smoother transitions between different instance types and disk sizes without encountering edit operation issues. PLAT-10325No default destination configured instead. PLAT-10340<private key> instead. PLAT-10613.bash_profile for a new user on certain operating systems by explicitly setting the file ownership. PLAT-10930prom_snapshot as a variable, resolving a regression from 2.18.4 and 2.20.0 versions. PLAT-11216SCRATCH is now only assigned for GCP universes, preventing the task from failing. PLAT-11452kubeConfig. PLAT-11464Restore History tab, correcting the previous issue where a failed restore was incorrectly labelled as Backup Failed. PLAT-11489edit EIT (Encryption in Transit) button from the security actions dropdown, enhancing the stability of the platform. PLAT-11503yugabyte_affected_node_names, yugabyte_affected_node_identifiers, yugabyte_affected_node_addresses ) to use comma separation instead of space separation to align with alert notification template expectations. PLAT-11532{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
play.ws.ssl connections{{< warning title="Use 2.20.1.3 or later.">}} {{< /warning >}}
For instructions on installing YugabyteDB Anywhere, refer to Install YugabyteDB Anywhere.
Support for OIDC token-based authentication via Azure AD. This allows YSQL database users to sign in to YugabyteDB Anywhere universes using their JSON Web Token (JWT) as their password. When configured in YugabyteDB Anywhere, users can obtain their token from their YugabyteDB Anywhere user profile, or copy it from the YugabyteDB Anywhere landing page.
Ability to browse the full history of restores for universes. After performing a restore, navigate to the Restore History tab to verify restore details and view all previous restores.
Support for backing up and restoring tablespaces. You can now restore tablespaces to a universe with a matching topology; that is, a universe that have the same zones and regions as the backed up universe.
Online point-in-time-recovery (PITR), which allows you to perform PITR without the need to stop any workloads.
Enhanced metrics display. Click and drag to select a time range in any chart to zoom in to display granular data points.
Quicker rolling restarts due to enhancements that accelerate the time it takes to perform local bootstrapping of tablets.
Improved safety checks for rolling upgrades. Before a node is upgraded, YugabyteDB Anywhere checks for under-replicated tablets to make sure your universe is in a healthy state before proceeding with the upgrade.
Improvements to node disk usage alerts to support alerting on non-data partitions.
useTablespaces boolean in list backup responseyb.ui.feature_flags.granular_metrics runtime flag as enabled by defaultyb_platform_backup script for restore commands and platform backup restore for docker based installationssu instead of sudo -u to run commands as user