08
WIKI
REPOSITORY / ScuroNeko/Laniakea
Wiki
猫
KNOWLEDGE
REPOSITORY
Page:
Semver and Releases RU
Pages
AGENTS
Auto Generated Commands RU
Auto Generated Commands
Bot Lifecycle RU
Bot Lifecycle
Bot Options and Configuration RU
Bot Options and Configuration
Commands and Plugins RU
Commands and Plugins
Drafts RU
Drafts
Error Handling RU
Error Handling
Framework Backlog RU
Framework Backlog
Getting Started RU
Getting Started
Home RU
Home
Inline Keyboards and Payloads RU
Inline Keyboards and Payloads
Localization RU
Localization
Logging RU
Logging
MessageContext RU
MessageContext
Middleware RU
Middleware
Migration RU
Migration
Policies RU
Policies
Rate Limiting RU
Rate Limiting
Recipes RU
Recipes
Rich Messages RU
Rich Messages
Runners RU
Runners
Scenes RU
Scenes
Semver and Releases RU
Semver and Releases
Sentry Integration RU
Sentry Integration
Testing Bots with Laniakea RU
Testing Bots with Laniakea
Update Routing Model RU
Update Routing Model
V2 Migration Plan RU
V2 Migration Plan
Webhook Runtime RU
Webhook Runtime
tgapi Overview RU
tgapi Overview
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Semver and Releases RU
English version: Semver-and-Releases
Это краткая русскоязычная версия страницы про semver и политику релизов. Полная и наиболее актуальная страница: Semver-and-Releases.
Зачем нужна эта страница
Она объясняет, как в проекте понимать:
- что считается публичным API;
- что считается ломающим изменением;
- как выбирать целевую версию;
- как changelog и version file должны соотноситься.
Что считается публичным API
Обычно сюда входят:
- exported types и methods;
- вспомогательные методы вроде
AnswerLong(...); - behavior, на который пользователи библиотеки разумно опираются;
- документированная семантика времени выполнения.
Что считается ломающим изменением
Ломающее изменение — это не только удаление функции.
Сюда же относятся:
- несовместимые изменения сигнатур;
- изменение поведения во время выполнения, которое ломает существующий код;
- удаление или переименование публичных вспомогательных методов;
- изменение документированной семантики без совместимого запасного варианта.
Как выбирать версию
Логика обычная semver:
- patch для совместимых исправлений;
- minor для совместимых расширений;
- major для ломающих изменений.
Release candidates дополнительно обозначают нестабильную стадию развития API.
Связь с changelog
При изменениях в main repository changelog должен отражать user-visible изменения и совпадать с version file.
Wiki-only изменения в .wiki в основной CHANGELOG.md не попадают.
Практический вывод
- Не делай ломающих изменений без осознанного решения по версии.
- Сначала определяй целевую версию, потом меняй API.
- Поддерживай changelog, tags и version file согласованными.
Что читать дальше
Navigation
Start here
Runtime and Architecture
- Bot-Lifecycle
- Webhook-Runtime
- Middleware
- Runners
- Error-Handling
- Logging
- Update-Routing-Model
- Policies
- Scenes
Interaction and Telegram API
- Inline-Keyboards-and-Payloads
- Auto-Generated-Commands
- Drafts
- Rich-Messages
- Localization
- Rate-Limiting
- tgapi-Overview