YDB Versioning
YDB releases are named with a version that is a string consisting of several components. Depending on the context, some of the rightmost components may be omitted. The ordered list of components:
- Last two digits of the release year
- Major version number within the year
- Minor version number within the major version
- Patch number within the minor version
- Release type
Major releases are usually identified by two components, for example, 24.3
is the third major release in 2024. Minor releases are identified by three components, for example, 24.3.14
is the fourteenth minor release within the third major version of 2024.
The list of available YDB releases is published on the download page. The YDB release policy is described in detail in the Manage YDB Releases article in the documentation section for YDB developers.
Version Compatibility
Note
Previously, the YDB server version consisted of three numbers (for example, v24.3.3
), starting with major version 25.1
. The fourth number was added to specify the patch number (for example, v25.1.1.3
). For more details about changes in version naming, see Manage YDB Releases.
You can update YDB to a new version in the following cases:
- If the major version numbers are the same, the minor versions can differ.
- If the major version numbers differ by one, first update to the latest available minor release of the current major version before updating to the next major version.
For example:
X.Y.*.* → X.Y.*.*
— update is possible, all minor versions within the same major version are compatible.X.Y.Z.*
(last availableX.Y.*.*
) →X.Y+1.*.*
- update is possible, major versions are sequential.X.Y.*.*
→X.Y+2.*.*
— update is not possible, major versions are non-sequential.X.Y.*.* → X.Y-2.*.*
— update is not possible, major versions are non-sequential.
Warning
Also, you cannot downgrade YDB by more than two major versions because the older version might not support newer data formats stored on disk.
Version Compatibility Examples
v.25.1.3.2
→v.25.1.5.5
- update is possiblev.25.1.5.5
→v.25.2.3.1
- update is possible (wherev25.1.5.*
is the last available minor version inv.25.1
)v.25.1.4.1
→v.25.2.3.1
- update is not possible, you must first update to the last minor version (v.25.1.5.*
)v.25.1.5.5
→v.25.3.5.3
- update is not possible, you must first update to the next major version (v.25.2.*.*
).
Formal Description of Possible Versions
<valid-version> ::= <version-core> "-" <version-type>
| <version-core>
<version-core> ::= <year> "." <major>
| <year> "." <major> "." <minor>
| <year> "." <major> "." <minor> "." <patch>
<year> ::= <digit> <digit>
<major> ::= <digits>
<minor> ::= <digits>
<patch> ::= <digits>
<version-type> ::= "testing"
| "stable"
| "lts"
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<digits> ::= <digit> | <digit> <digits>
Examples of Full Versions
- Testing version:
24.3.13.6-testing
- Stable version:
24.3.14.2-stable
- LTS version:
24.3.14.2-lts