Релиш (программное обеспечение)¶
Релиш (англ. release, от лат. remittere — «отпускать, отдавать») — термин программной инженерии, обозначающий опубликованную версию программного продукта, доступную для распространения и использования. В широком смысле релиш — это завершённый этап разработки, оформленный в виде конкретного выпуска ПО с фиксированным набором функций, номером версии и сопроводительной документацией. Термин применяется в разработке программного обеспечения, видеоигр, операционных систем, библиотек и открытого кода.
¶История и происхождение термина
Слово release в значении «выпуск» пришло в программирование из традиции издательского дела и промышленного производства, где оно обозначало выпуск тиража. В 1960-х — 1970-х годах, с развитием промышленной разработки ПО, термин закрепился в практике управления проектами как обозначение поставки продукта заказчику. В русскоязычной среде закрепилась транслитерация «релиз» и калька «выпуск».
¶Виды релишей
Релиши классифицируются по назначению, степени готовности и стабильности:
- Альфа-релиз — ранняя внутренняя версия, предназначенная для тестирования основных функций; содержит значительное число известных ошибок.
- Бета-релиз — тестовая версия, распространяемая среди ограниченного круга внешних пользователей для сбора обратной связи и выявления ошибок в реальных условиях.
- Релиз-кандидат (RC, release candidate) — версия, потенциально готовая к публичному выпуску; используется для финального тестирования.
- Стабильный (Gold, GA — General Availability) релиз — официальная версия, рекомендованная к использованию.
- Патч (patch) — точечное обновление, исправляющее ошибки или уязвимости без изменения основного функционала.
- Мажорный релиз — выпуск с существенными изменениями архитектуры или функционала; обычно сопровождается сменой первого номера версии.
- Минорный релиз — обновление, добавляющее возможности без ломающих изменений.
¶Нумерация версий
Релиши принято нумеровать по схеме, описанной в стандарте семантического версионирования (Semantic Versioning, SemVer). Формат — MAJOR.MINOR.PATCH, где MAJOR — несовместимые изменения API, MINOR — обратносовместимые добавления, PATCH — исправления. Пример: версия 2.4.1 означает второй мажорный релиз, четвёртое минорное обновление и первый патч. В отдельных проектах используют календарное версионирование (например, Ubuntu) или порядковые номера сборок.
¶Процесс выпуска
Подготовка релиза включает ряд этапов:
- Заморозка кода (code freeze) — прекращение внесения новых функций, работа только над исправлениями.
- Регрессионное тестирование — проверка, что изменения не сломали существующий функционал.
- Подготовка release notes — документа с описанием изменений, исправлений и известных проблем.
- Сборка (build) — компиляция финального артефакта, подпись цифровым сертификатом.
- Публикация — размещение на серверах распространения, в репозиториях пакетов, магазинах приложений.
- Пострелизная поддержка — мониторинг отзывов, оперативные hotfix-исправления.
¶Релиши в открытом ПО
В сообществах открытого кода релиши оформляются как теги в системах контроля версий (Git, Mercurial) и публикуются в репозиториях с сопроводительными файлами changelog. Крупные проекты — Linux, PostgreSQL, LibreOffice — поддерживают регулярный цикл выпусков. Пользователи дистрибутивов Linux получают обновления через менеджеры пакетов, которые отслеживают релизы апстрим-проектов.
¶Релиши видеоигр
В игровой индустрии термин используется в схожем значении: релиз — момент выхода игры или крупного дополнения. Практикуется выпуск раннего доступа (Early Access), когда платная тестовая версия распространяется до завершения разработки. Отдельно выделяют day-one патчи — исправления, выпускаемые в день выхода.
¶Релизы как артефакт культуры
Публикация релиза нередко сопровождается мероприятиями: анонсами, стримами, пресс-конференциями. В контексте музыки и кино термин также обозначает выход произведения, однако в ПО он сохраняет инженерный смысл — фиксацию достигнутого состояния продукта.
Источники:
- Pressman R. S. Software Engineering: A Practitioner's Approach.
- Sommerville I. Software Engineering.
- Semantic Versioning 2.0.0 specification.
- IEEE Std 828-2012. Configuration Management in Systems and Software Engineering.
