Upgrade paths

Tier: Free, Premium, Ultimate Offering: Self-managed

Upgrading across multiple GitLab versions in one go is only possible by accepting downtime. If you don’t want any downtime, read how to upgrade with zero downtime.

Upgrade paths include required upgrade stops, which are versions of GitLab that you must upgrade to before upgrading to later versions. When moving through an upgrade path:

  1. Upgrade to the required upgrade stop after your current version.
  2. Allow the background migrations for the upgrade to finish.
  3. Upgrade to the next required upgrade stop.

From GitLab 17.5, required upgrade stops consistently land on minor versions X.2, X.5, X.8, and X.11. This schedule provides a predictable upgrade schedule for instance administrators.

To determine your upgrade path:

  1. Note where in the upgrade path your current version sits, including required upgrade stops:

  2. Consult the version-specific upgrade instructions:

Even when not explicitly specified, upgrade GitLab to the latest available patch release of the major.minor release rather than the first patch release. For example, 16.8.7 instead of 16.8.0.

This includes major.minor versions you must stop at on the upgrade path because there may be fixes for issues relating to the upgrade process.

Specifically around a major version, crucial database schema and migration patches may be included in the latest patch releases.

Upgrade Path tool

To quickly calculate which upgrade stops are required based on your current and desired target GitLab version, see the Upgrade Path tool. This tool is maintained by the GitLab Support team.

To share feedback and help improve the tool, create an issue or merge request in the upgrade-path project.

Earlier GitLab versions

For information on upgrading to earlier GitLab versions, see the documentation archives. The versions of the documentation in the archives contain version-specific information for even earlier versions of GitLab.

For example, the documentation for GitLab 15.11 contains information on versions back to GitLab 12.