> For the complete documentation index, see [llms.txt](https://windows.help.formit.autodesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.help.formit.autodesk.com/ru/plugins/how-to-develop-plugins/advanced-development/versioning.md).

# Управление версиями

В процессе разработки и обновления подключаемого модуля может потребоваться присвоить коду номер версии.

Например, API-интерфейсы FormIt могут меняться от версии к версии. И хотя вы можете предпочитать, чтобы новая версия подключаемого модуля использовала новые API-интерфейсы FormIt или WSM, вам также может понадобиться, чтобы подключаемый модуль работал и в более старых клиентах.

Начиная с версии FormIt **v18.0**, управление версиями подключаемого модуля можно реализовать за 3 простые действия.

* Добавьте файл *versions.json* в корневую папку подключаемого модуля.
* Укажите каждую совместимую версию FormIt и каталог, содержащий файлы подключаемых модулей, в файле *versions.json*.
* Используйте внутренний номер версии FormIt или «номер сборки», который можно найти в разделе «Информация» > «О программе» FormIt.

### Организация управления версиями для подключаемого модуля

Упорядочьте каталоги и файлы подключаемых модулей в соответствии с файлом *versions.json*.

Файл *versions.json* должен выглядеть следующим образом.

```
        [
            {
                "version":{
                    "major":18,
                    "minor":0
                },
                "path":"v18_0"
            },
            {
                "version":{
                    "major":19,
                    "minor":1
                },
                "path":"v19_0"
            }
        ]
```

Указанные выше пути *v18\_0* и *v19\_0* должны быть допустимыми вложенными путями из корневого каталога/хранилища.

![](/files/tnIxbQWGn6qeFg0WPGY0)

![](/files/wRgtXAc3hb6JAktUHqoW)

![](/files/k7fxBhJQ9jwjUkrEIJrA)

Для этого рекомендуем перенести код подключаемого модуля во вложенные папки. При использовании указанного выше файла *versions.json* структура каталогов будет выглядеть следующим образом.

* **versions.json** (файл)
* **v18\_0** (каталог)
  * **manifest.json** (файл)
  * **plugin.html** (файл)
  * **plugin.js** (файл)
* **v19\_0** (каталог)
  * **manifest.json** (файл)
  * **plugin.html** (файл)
  * **plugin.js** (файл)

Дополнительными свойствами версии являются exactVersion и lastVersion. Свойство exactVersion указывает, что версия должна точно соответствовать версии FormIt. Свойство lastVersion указывает последнюю версию, разрешенную для выполнения в FormIt. \\

```
[
    {
      "version":{
        "major":18,
        "minor":0,
        "exactVersion":true
        },
        "path":"v18_0"
    },
    {
        "version":{
            "major":19,
            "minor":1,
            "lastVersion":true
       },
        "path":"v19_0"
    }
 ]
```

Для путей также можно использовать ветви/теги/фиксации GIT.

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

* Выполните описанные выше действия, за исключением использования файла *versions\_prerelease.json*.
* Если вы зафиксировали файл *versions\_prerelease* в хранилище, его необходимо удалить после выпуска этой предварительной версии FormIt.
  * В противном случае последующие предварительные версии FormIt будут загружать подключаемый модуль из папки, которая может быть устаревшей или предназначенной для более ранней версии.
