docs/content/v2.20/yugabyte-platform/manage-deployments/upgrade-software-prepare.md
Before starting an upgrade, note the following:
It is strongly recommended to upgrade to the latest minor version of every release.
For example, if you are upgrading from v2.20.2.0, and the latest release in the v2024.2 release series is v2024.2.8.0, then you should upgrade to v2024.2.8.0 (and not v2024.2.1.0 or v2024.2.0.0).
Upgrades must be to a chronologically later release - you cannot upgrade to a version that was released before the one you are currently running. For example, if you are running v2024.2.8.0 (released February 23, 2026), you cannot upgrade to v2025.2.1.0 (released February 12, 2026).
Upgrades are not supported between preview and stable versions.
Make sure the universe nodes meet the software requirements for running the version of YugabyteDB you are installing.
Refer to Software requirements for database nodes.
If your universe is running on a deprecated OS, you need to update your OS before you can upgrade to the next major release of YugabyteDB. Refer to Patch and upgrade the Linux operating system.
Backups
Point-in-time-restore (PITR)
Before starting the upgrade, review the following major changes in previous YugabyteDB releases. Depending on the upgrade you are planning, you may need to make changes to your automation.
The YB Controller (YBC) service was introduced in v2.16.0 for all universes (except Kubernetes), and is required for YBA 2.16.0 and later.
YBC is used to manage backup and restore, providing faster full backups, and introduces support for incremental backups.
Impacts
Firewall ports - update your firewall rules to allow incoming TCP traffic on port 18018, which is used by YBC, for all nodes in a universe.
On-premises provider - if you use on-premises providers with manually-provisioned nodes, update your current procedures for manually provisioning instances to accommodate YBC. This includes the following:
Set systemd-specific database service unit files (if used). Refer to Manually provision on-premises nodes.
After upgrading nodes, manually install YBC on the nodes. Refer to Upgrade manually-provisioned on-premises universe.
OS patching procedure - for universes created using an on-premises provider with manually-provisioned nodes, if your OS patching procedures involve re-installing YugabyteDB software on a node, you will need to update those procedures to accommodate YBC.
YBC was introduced for Kubernetes clusters in v2.18.0. Refer to Upgrading from versions earlier than v2.16.0.
The YugabyteDB Anywhere Node Agent was introduced for all universes in v2.18.2. Node agent is an RPC service running on a YugabyteDB node, and is used to manage communication between YugabyteDB Anywhere and the nodes in universes. Except for Day 0 tasks during initial installation, YugabyteDB Anywhere no longer uses SSH and SCP to manage nodes; instead, YugabyteDB Anywhere connects to the Node agent process listening on port 9070, and performs all its management via this secure connection. For more information, refer to the Node agent FAQ.
Impacts
Firewall ports - update your firewall rules to allow incoming TCP traffic on port 9070 for all nodes in a universe. YugabyteDB Anywhere listens to node agents on port 443.
On-premises provider - if you use on-premises providers with manually-provisioned nodes, you will need to update your current procedures for manually provisioning instances to include installing node agent. Refer to Install node agent.
OS patching procedure - for universes created using an on-premises provider with manually-provisioned nodes, if your OS patching procedures involve re-installing YugabyteDB software on a node, you will need to update those procedures to accommodate node agent.