---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/devops/concepts/versioning.md?version=v26.1
  - https://ydb.tech/docs/ru/devops/concepts/versioning.md?version=v26.1
  - href: ru/devops/concepts/versioning.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/devops/concepts/versioning.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Версионирование YDB

Релизы YDB именуются версией, представляющей собой строку, состоящую из нескольких компонентов. В зависимости от контекста часть находящихся справа компонентов может быть опущена. Упорядоченный список компонентов:

1. Две последние цифры года выпуска;
2. Номер мажорной версии внутри года;
3. Номер минорной версии внутри мажорной;
4. Номер патча внутри минорной;
5. Тип релиза.

Таким образом, мажорные релизы обычно идентифицируются двумя компонентами, например, `24.3` — третий мажорный релиз в 2024 году. Минорные релизы идентифицируются тремя компонентами, например, `24.3.14` — четырнадцатый релиз в рамках третьей мажорной версии в 2024 году.

Список доступных версий можно получить на [странице загрузки](https://ydb.tech/docs/ru/downloads/index.md?version=v26.1). Релизная политика YDB описана более детально в статье [Управление релизами](https://ydb.tech/docs/ru/contributor/manage-releases.md?version=v26.1) в разделе документации для разработчиков YDB.

## Совместимость версий {#version-compatability}

{% note info %}

Раньше версия сервера YDB состояла из 3 чисел (например, `v24.3.3`), начиная с мажорной версии `25.1`, добавлена четвертое число, которое обозначает номер патча (например, `v25.1.1.3`). Подробнее про изменения в именовании версий [тут](https://ydb.tech/docs/ru/contributor/manage-releases.md?version=v26.1).

{% endnote %}

Совместимыми для обновления являются все минорные версии в рамках одной мажорной версии. Мажорные версии совместимы последовательно. Для обновления на следующую мажорную версию предварительно следует обновиться до последнего доступного минорного релиза текущей мажорной версии. Например:

* `X.Y.*.* → X.Y.*.*` — обновление возможно, все минорные версии в рамках одной мажорной совместимы.
* `X.Y.Z.*` (последняя доступная `X.Y.*.*`) → `X.Y+1.*.*` - обновление возможно, мажорные версии последовательны.
* `X.Y.*.*` → `X.Y+2.*.*` — обновление невозможно, мажорные версии непоследовательны.
* `X.Y.*.* → X.Y-2.*.*` — обновление невозможно, мажорные версии непоследовательны.

{% note warning %}

Также в любом случае нельзя откатываться более чем на 2 мажорные версии назад относительно хотя бы раз установленной версии, так как настолько старая версия может не знать, как работать с данными на дисках, записанными текущей.

{% endnote %}

### Примеры совместимости версий

* `v.25.1.3.2`  ->  `v.25.1.5.5` - обновление возможно
* `v.25.1.5.5`  ->  `v.25.2.3.1` - обновление возможно (где `v25.1.5.*` последняя доступная минорная версия в `v.25.1`)
* `v.25.1.4.1`  ->  `v.25.2.3.1` - обновление невозможно, необходимо сначала обновиться до последней минорной версии (`v.25.1.5.*`)
* `v.25.1.5.5`  ->  `v.25.3.5.3` - обновление невозможно, необходимо сначала обновиться до следующей мажорной версии (`v.25.2.*.*`).

## Формальное описание возможных версий

```bnf
<valid-version> ::= <version-core> "-" <version-type>

<version-core> ::= <year> "." <major> "." <minor> "." <patch>

<version-type> ::= "testing" | "stable" | "lts"

<year> ::= <positive digit> <digit>

<major> ::= <positive digit>

<minor> ::= <digits>

<patch> ::= <digits>

<digit> ::= "0" | <positive digit>

<positive digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<digits> ::= <digit> | <digit> <digits>
```

### Примеры полных версий

* Тестовая версия: `24.3.13.6-testing`
* Стабильная версия: `24.3.14.2-stable`
* LTS версия: `24.3.14.2-lts`
