> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ss14.art/llms.txt
> Use this file to discover all available pages before exploring further.

# Версионирование и совместимость

На этой странице описывается, как версионируется RobustToolbox и какие гарантии обратной совместимости мы предоставляем.

## Номера версий

Robust следует системе, похожей на [SemVer](https://semver.org/). Номера версий обычно имеют формат `major.minor.patch`, где обычно действует следующее:

* Изменение major-версии означает какое-либо ломающее изменение для игр, использующих RT.
* Изменение minor-версии означает новые функции, которые напрямую не являются ломающими.
* Изменение patch-версии — это исправления ошибок или другие незначительные изменения.

Мы также иногда публикуем экспериментальные версии движка, помеченные суффиксами строк, такими как `1.2.3-pvstest`. Эти версии предназначены для тестирования определённых вещей на конкретных живых серверах и не подпадают под какие-либо гарантии стабильности. Поэтому вам не следует их использовать, если вы не обсуждаете это с мейнтейнерами движка. И да, то, как мы их используем, вероятно, несовместимо с semver.

## Гарантии совместимости

### Major-версии

Между major-версиями нет общих гарантий. Мы сделаем всё возможное, чтобы документировать любые ломающие изменения, предоставить инструкции по обновлению и не создавать больше боли, чем необходимо.

### Minor-версии

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

Мы не гарантируем следующее:

* Стабильность на уровне ABI: может потребоваться перекомпиляция игр.
  * Это, в частности, означает, что мы можем делать такие вещи, как перемещение типов между проектами, добавление параметров к перегрузкам, изменение поведения source generator'ов и т.д.
* Сетевая совместимость игры: клиент и сервер должны быть на одной minor-версии.

### Patch-версии

Patch-версии должны содержать только исправления ошибок или другие незначительные изменения без заметного влияния. Обычно они совместимы по сети и ABI с другими patch-версиями в рамках одной minor.

Лаунчер может обновлять версию клиентского движка до более поздней patch-версии при необходимости, например, для обеспечения совместимости с новыми версиями .NET.
