# Contract: Module Versioning Version: 1.0 ## Purpose Единое правило версионирования внутренних слоёв приложения: плагины, парсеры, API-клиенты, адаптеры и прочие условные модули. Модули — это логические слои внутри одного репозитория, не отдельные пакеты. See `README.md` for examples and the decision tree. ## Rules - Module version format is `N.M`. - New modules start at `1.0`. `0.x` is not used. - Any functional change bumps the major version and resets minor to `0`. - A narrow bugfix that does not change behavior or interface bumps minor by `0.1`. - Store the version in one canonical place only: code constant, module document header, or config field. - If the module is tagged separately, use `/v`. - Do not create a tag without updating the module's canonical version first. - When a commit changes a module, update that module's version in the same commit.