Tarantool release policy
The Tarantool release policy is constantly changing to become more clear and intuitive. The stated policy uses a SemVer-like versioning format, and upholds version lifecycle with more long-time support series. This document explains the Tarantool release policy, versioning rules, and release series lifecycle.
The stated release policy replaces the legacy policy for:
- The
2.x.y
series since the2.10.0
release. Development for this release starts with version2.10.0-beta1
. - The
3.0.0
series.
Here are the most significant changes from the previously supported legacy release policy:
- Третья часть номера версии больше не указывает на тип версии (альфа-, бета- или релизная). Если это число отлично от нуля, то версия является патчем и содержит только исправление ошибок. На конце номеров предварительных версий теперь есть соответствующие суффиксы, например:
3.0.0-alpha1
. - Согласно старой релизной политике
1.10
была серией с долгосрочной поддержкой (long-term support, LTS), а серия2.x.y
— нет, хоть и содержала стабильные релизы. Теперь долгосрочной поддержкой пользуются обе серии.
The topics below describe the versioning policy in more detail.
The Tarantool release policy is based on having several release series, each with its own lifecycle, pre-release and release versions.
- Что такое релизная серия?
- Релизная серия — это ряд версий для разработки и производственной эксплуатации. Эта последовательность версий линейно развивается по определенному плану. У каждой серии свой жизненный цикл, а версии в ней обладают некоторой гарантией совместимости друг с другом и с версиями других серий. Срок поддержки каждой серии — минимум два года с выхода первого релиза.
- Что такое релизная версия?
Релизная версия, или релиз — это тщательно протестированный и готовый к производственной эксплуатации дистрибутив Tarantool, привязанный к определенному коммиту. Номер релиза состоит из трех частей:
MAJOR.MINOR.PATCH
Каждое число соответствует одному из трех типов релизных версий, о чем подробно рассказано ниже.
- Мажорный релиз
Мажорная релизная версия — это первый релиз в своей релизной серии. Релиз включает в себя новую функциональность и может нарушать обратную совместимость с прежними версиями. Каждый следующий мажорный релиз получает номер, в котором изменено первое число:
MAJOR.0.0 3.0.0
- Минорный релиз
В минорном релизе могут вводиться новые функциональные возможности. Тем не менее он гарантированно будет совместим с более ранними версиями серии. Могут быть также исправлены ошибки. Каждый следующий минорный релиз получает номер, в котором изменено второе число:
MAJOR.MINOR.0 3.1.0 3.2.0
- Патч
Патч (patch release) исправляет ошибки предыдущих версий, но не добавляет новую функциональность. Каждый следующий патч получает номер, в котором изменено третье число:
MAJOR.MINOR.PATCH 3.0.1 3.0.2
Релизы отвечают ряду требований:
- Каждый релиз предварительно тестировался и обкатывался во внутренних проектах, пока не исчезли все сомнения в его стабильности.
- Исправлены все обнаруженные ошибки в стандартных сценариях использования.
- Нет регрессии, то есть нет новых ошибок в функциональности из прошлых релизов. В случае мажорного релиза, нет регрессии в функциональности из предыдущей серии.
Backwards compatibility is guaranteed between all versions in the same release series. It is also appreciated, but not guaranteed between different release series (major number changes). See compatibility guarantees page for details.
- Что такое предварительная версия?
Предварительными называются версии, опубликованные для тестирования и обкатки, но не предназначенные для производственной эксплуатации. Эти версии нумеруются по тому же принципу, что и релизы, но имеют суффикс:
MAJOR.MINOR.PATCH-suffix
Ниже подробно рассказывается о четырех типах предварительных версий.
- Dev-сборка
Dev-сборка (development build) отражает определенный этап разработки продукта. Такие сборки используются только в процессе разработки и внутреннего тестирования.
Dev-сборки обозначаются суффиксом, полученным командой
$(git describe --always --long)-dev
:MAJOR.MINOR.PATCH-describe-dev 2.10.2-149-g1575f3c07-dev 3.0.0-alpha1-14-gxxxxxxxxx-dev 3.0.0-entrypoint-17-gxxxxxxxxx-dev 3.1.2-5-gxxxxxxxxx-dev
- Альфа-версия
В альфа-версию (alpha version) включена часть функциональных возможностей, запланированных в релизной серии. Альфа-версия может быть неполной или нестабильной, а также не обладать обратной совместимостью с предыдущей серией.
Альфа-версии предназначены для пользователей, готовых попробовать новую серию на раннем этапе, а также для тех, кто разрабатывает зависимые компоненты — коннекторы и модули.
MAJOR.MINOR.PATCH-alphaN 3.0.0-alpha1 3.0.0-alpha2
- Бета-версия
В бета-версию (beta version) включены все функциональные возможности, запланированные в релизной серии. Бета-версия подходит, чтобы начать разработку нового приложения.
Бета-версия позволяет проверить, насколько готова к выпуску та или иная функциональная возможность. На основании этого принимается решение, доработать ли эту возможность, удалить или заменить. Бета-версия может содержать известные ошибки новой функциональности, а также регрессионные ошибки в распространенных сценариях использования.
MAJOR.MINOR.PATCH-betaN 3.0.0-beta1 3.0.0-beta2
Note that the development of
2.10.0
, the first release under the new policy, starts with version2.10.0-beta1
.- Релиз-кандидат
В релиз-кандидате (release candidate, RC) исправляются ошибки и совершенствуется функциональность. Он также помогает собирать отзывы перед публикацией релиза. Набор функциональных возможностей в релиз-кандидате такой же, как в бета-версии. Известные ошибки в типичных сценариях использования устранены, регрессионных ошибок нет.
Релиз-кандидат подходит для использования в предпроизводственной среде (staging).
MAJOR.MINOR.PATCH-rcN 3.0.0-rc1 3.0.0-rc2 3.0.1-rc1
Каждая релизная серия проходит три стадии:
Ранняя разработка
Стадия ранней разработки (early development) продолжается до выхода мажорного релиза. На этой стадии публикуются альфа- и бета-версии, а также релиз-кандидаты.
Стадия разделена на два этапа:
- Разработка и проверка новой функциональности в альфа- и бета-версиях. На этом этапе функциональные возможности могут добавляться и в некоторых случаях удаляться.
- Стабилизация. С момента выхода первого релиз-кандидата набор функциональных возможностей не меняется.
Поддержка
Эта стадия начинается, когда выходит первый релиз. Теперь в релизной серии могут появляться только изменения, не нарушающие обратную совместимость.
На этой стадии устраняются известные проблемы безопасности и исправляются регрессионные ошибки, возникшие в серии.
Патчи для регрессионных и других ошибок выпускаются, пока серия не перейдет со стадии поддержки на стадию прекращения поддержки (end of life, EOL).
Решение о том, исправить ли конкретную ошибку в релизной серии, принимается в зависимости от того, насколько проблема серьезна, сложно ли будет ее устранить в предыдущих версиях и нарушит ли исправление обратную совместимость.
На этой стадии в релизной серии могут выпускаться новые функциональные возможности, но все они будут обратно совместимы с предыдущими версиями. Кроме того, может быть выпущен релиз-кандидат, чтобы собрать отзывы пользователей перед выходом релиза.
В течение периода поддержки в релизной серии выпускаются обновления для новых версий дистрибутивов Linux.
Срок поддержки для каждой серии — как минимум два года.
Прекращение поддержки
Стадия прекращения поддержки (end of life, EOL) для серии наступает, когда опубликован последний релиз в этой серии. После этого серия прекращает обновляться.
Для серий, достигших этой стадии, поддержка не гарантируется. Скорее всего, для них не будут выходить обновления, связанные с работой модулей, коннекторов и инструментов.
Стадия прекращения поддержки для релизной серии может наступить только тогда, когда большинство производственных сред, с которыми Tarantool работает по SLA и другим соглашениям, обновится до более новой серии.
End of support
The end of support (EOS) date is later in time than the EOL date. When the series
reaches EOS, the Tarantool team ceases its technical support and does not comply with support-
related inquiries.
It is recommended that the customers follow the calendar
and plan for updates of their Tarantool version before the EOS date.
Стадия
Типы версий
Примеры
Ранняя разработка
Альфа, бета, релиз-кандидат
3.0.0-alpha1
3.0.0-beta1
3.0.0-rc1
3.0.0-dev
Поддержка
Релиз-кандидат, релиз
3.0.0
3.0.1-rc1
3.0.1-dev
Прекращение поддержки
–
–
На стадии ранней разработки последовательность версий в релизной серии может быть такой:
3.0.0-alpha1
3.0.0-alpha2
...
3.0.0-alpha7
3.0.0-beta1
...
3.0.0-beta5
3.0.0-rc1
...
3.0.0-rc4
3.0.0 (релиз)
Как только выпущен первый релиз, серия переходит на стадию поддержки. Дальнейшие версии могут быть опубликованы в такой последовательности:
3.0.0 (релиз новой основной версии)
3.0.1-rc1
...
3.0.1-rc4
3.0.1 (релиз с исправлением ошибок, но без функциональных изменений)
3.1.0-rc1
...
3.1.0-rc6
3.1.0 (релиз с новыми функциональными возможностями и, вероятно, дополнительными исправлениями)
Со временем стадия поддержки подходит к концу, и релизная серия выходит на стадию прекращения поддержки (end of life, EOL). С этого момента новые версии не выпускаются.
Примечание
See all currently supported Tarantool versions in Releases.
Стадия ранней разработки (early development) продолжается до выхода мажорного релиза. На этой стадии публикуются альфа- и бета-версии, а также релиз-кандидаты.
Стадия разделена на два этапа:
- Разработка и проверка новой функциональности в альфа- и бета-версиях. На этом этапе функциональные возможности могут добавляться и в некоторых случаях удаляться.
- Стабилизация. С момента выхода первого релиз-кандидата набор функциональных возможностей не меняется.
Поддержка
Эта стадия начинается, когда выходит первый релиз. Теперь в релизной серии могут появляться только изменения, не нарушающие обратную совместимость.
На этой стадии устраняются известные проблемы безопасности и исправляются регрессионные ошибки, возникшие в серии.
Патчи для регрессионных и других ошибок выпускаются, пока серия не перейдет со стадии поддержки на стадию прекращения поддержки (end of life, EOL).
Решение о том, исправить ли конкретную ошибку в релизной серии, принимается в зависимости от того, насколько проблема серьезна, сложно ли будет ее устранить в предыдущих версиях и нарушит ли исправление обратную совместимость.
На этой стадии в релизной серии могут выпускаться новые функциональные возможности, но все они будут обратно совместимы с предыдущими версиями. Кроме того, может быть выпущен релиз-кандидат, чтобы собрать отзывы пользователей перед выходом релиза.
В течение периода поддержки в релизной серии выпускаются обновления для новых версий дистрибутивов Linux.
Срок поддержки для каждой серии — как минимум два года.
Прекращение поддержки
Стадия прекращения поддержки (end of life, EOL) для серии наступает, когда опубликован последний релиз в этой серии. После этого серия прекращает обновляться.
Для серий, достигших этой стадии, поддержка не гарантируется. Скорее всего, для них не будут выходить обновления, связанные с работой модулей, коннекторов и инструментов.
Стадия прекращения поддержки для релизной серии может наступить только тогда, когда большинство производственных сред, с которыми Tarantool работает по SLA и другим соглашениям, обновится до более новой серии.
End of support
The end of support (EOS) date is later in time than the EOL date. When the series
reaches EOS, the Tarantool team ceases its technical support and does not comply with support-
related inquiries.
It is recommended that the customers follow the calendar
and plan for updates of their Tarantool version before the EOS date.
Стадия
Типы версий
Примеры
Ранняя разработка
Альфа, бета, релиз-кандидат
3.0.0-alpha1
3.0.0-beta1
3.0.0-rc1
3.0.0-dev
Поддержка
Релиз-кандидат, релиз
3.0.0
3.0.1-rc1
3.0.1-dev
Прекращение поддержки
–
–
На стадии ранней разработки последовательность версий в релизной серии может быть такой:
3.0.0-alpha1
3.0.0-alpha2
...
3.0.0-alpha7
3.0.0-beta1
...
3.0.0-beta5
3.0.0-rc1
...
3.0.0-rc4
3.0.0 (релиз)
Как только выпущен первый релиз, серия переходит на стадию поддержки. Дальнейшие версии могут быть опубликованы в такой последовательности:
3.0.0 (релиз новой основной версии)
3.0.1-rc1
...
3.0.1-rc4
3.0.1 (релиз с исправлением ошибок, но без функциональных изменений)
3.1.0-rc1
...
3.1.0-rc6
3.1.0 (релиз с новыми функциональными возможностями и, вероятно, дополнительными исправлениями)
Со временем стадия поддержки подходит к концу, и релизная серия выходит на стадию прекращения поддержки (end of life, EOL). С этого момента новые версии не выпускаются.
Примечание
See all currently supported Tarantool versions in Releases.
Эта стадия начинается, когда выходит первый релиз. Теперь в релизной серии могут появляться только изменения, не нарушающие обратную совместимость.
На этой стадии устраняются известные проблемы безопасности и исправляются регрессионные ошибки, возникшие в серии.
Патчи для регрессионных и других ошибок выпускаются, пока серия не перейдет со стадии поддержки на стадию прекращения поддержки (end of life, EOL).
Решение о том, исправить ли конкретную ошибку в релизной серии, принимается в зависимости от того, насколько проблема серьезна, сложно ли будет ее устранить в предыдущих версиях и нарушит ли исправление обратную совместимость.
На этой стадии в релизной серии могут выпускаться новые функциональные возможности, но все они будут обратно совместимы с предыдущими версиями. Кроме того, может быть выпущен релиз-кандидат, чтобы собрать отзывы пользователей перед выходом релиза.
В течение периода поддержки в релизной серии выпускаются обновления для новых версий дистрибутивов Linux.
Срок поддержки для каждой серии — как минимум два года.
Прекращение поддержки
Стадия прекращения поддержки (end of life, EOL) для серии наступает, когда опубликован последний релиз в этой серии. После этого серия прекращает обновляться.
Для серий, достигших этой стадии, поддержка не гарантируется. Скорее всего, для них не будут выходить обновления, связанные с работой модулей, коннекторов и инструментов.
Стадия прекращения поддержки для релизной серии может наступить только тогда, когда большинство производственных сред, с которыми Tarantool работает по SLA и другим соглашениям, обновится до более новой серии.
End of support
The end of support (EOS) date is later in time than the EOL date. When the series
reaches EOS, the Tarantool team ceases its technical support and does not comply with support-
related inquiries.
It is recommended that the customers follow the calendar
and plan for updates of their Tarantool version before the EOS date.
Стадия
Типы версий
Примеры
Ранняя разработка
Альфа, бета, релиз-кандидат
3.0.0-alpha1
3.0.0-beta1
3.0.0-rc1
3.0.0-dev
Поддержка
Релиз-кандидат, релиз
3.0.0
3.0.1-rc1
3.0.1-dev
Прекращение поддержки
–
–
На стадии ранней разработки последовательность версий в релизной серии может быть такой:
3.0.0-alpha1
3.0.0-alpha2
...
3.0.0-alpha7
3.0.0-beta1
...
3.0.0-beta5
3.0.0-rc1
...
3.0.0-rc4
3.0.0 (релиз)
Как только выпущен первый релиз, серия переходит на стадию поддержки. Дальнейшие версии могут быть опубликованы в такой последовательности:
3.0.0 (релиз новой основной версии)
3.0.1-rc1
...
3.0.1-rc4
3.0.1 (релиз с исправлением ошибок, но без функциональных изменений)
3.1.0-rc1
...
3.1.0-rc6
3.1.0 (релиз с новыми функциональными возможностями и, вероятно, дополнительными исправлениями)
Со временем стадия поддержки подходит к концу, и релизная серия выходит на стадию прекращения поддержки (end of life, EOL). С этого момента новые версии не выпускаются.
Примечание
See all currently supported Tarantool versions in Releases.
Стадия прекращения поддержки (end of life, EOL) для серии наступает, когда опубликован последний релиз в этой серии. После этого серия прекращает обновляться.
Для серий, достигших этой стадии, поддержка не гарантируется. Скорее всего, для них не будут выходить обновления, связанные с работой модулей, коннекторов и инструментов.
Стадия прекращения поддержки для релизной серии может наступить только тогда, когда большинство производственных сред, с которыми Tarantool работает по SLA и другим соглашениям, обновится до более новой серии.
End of support
The end of support (EOS) date is later in time than the EOL date. When the series
reaches EOS, the Tarantool team ceases its technical support and does not comply with support-
related inquiries.
It is recommended that the customers follow the calendar
and plan for updates of their Tarantool version before the EOS date.
Стадия
Типы версий
Примеры
Ранняя разработка
Альфа, бета, релиз-кандидат
3.0.0-alpha1
3.0.0-beta1
3.0.0-rc1
3.0.0-dev
Поддержка
Релиз-кандидат, релиз
3.0.0
3.0.1-rc1
3.0.1-dev
Прекращение поддержки
–
–
На стадии ранней разработки последовательность версий в релизной серии может быть такой:
3.0.0-alpha1
3.0.0-alpha2
...
3.0.0-alpha7
3.0.0-beta1
...
3.0.0-beta5
3.0.0-rc1
...
3.0.0-rc4
3.0.0 (релиз)
Как только выпущен первый релиз, серия переходит на стадию поддержки. Дальнейшие версии могут быть опубликованы в такой последовательности:
3.0.0 (релиз новой основной версии)
3.0.1-rc1
...
3.0.1-rc4
3.0.1 (релиз с исправлением ошибок, но без функциональных изменений)
3.1.0-rc1
...
3.1.0-rc6
3.1.0 (релиз с новыми функциональными возможностями и, вероятно, дополнительными исправлениями)
Со временем стадия поддержки подходит к концу, и релизная серия выходит на стадию прекращения поддержки (end of life, EOL). С этого момента новые версии не выпускаются.
Примечание
See all currently supported Tarantool versions in Releases.
The end of support (EOS) date is later in time than the EOL date. When the series reaches EOS, the Tarantool team ceases its technical support and does not comply with support- related inquiries.
It is recommended that the customers follow the calendar and plan for updates of their Tarantool version before the EOS date.
Стадия | Типы версий | Примеры |
---|---|---|
Ранняя разработка | Альфа, бета, релиз-кандидат | 3.0.0-alpha1
3.0.0-beta1
3.0.0-rc1
3.0.0-dev
|
Поддержка | Релиз-кандидат, релиз | 3.0.0
3.0.1-rc1
3.0.1-dev
|
Прекращение поддержки | – | – |
На стадии ранней разработки последовательность версий в релизной серии может быть такой:
3.0.0-alpha1 3.0.0-alpha2 ... 3.0.0-alpha7 3.0.0-beta1 ... 3.0.0-beta5 3.0.0-rc1 ... 3.0.0-rc4 3.0.0 (релиз)
Как только выпущен первый релиз, серия переходит на стадию поддержки. Дальнейшие версии могут быть опубликованы в такой последовательности:
3.0.0 (релиз новой основной версии) 3.0.1-rc1 ... 3.0.1-rc4 3.0.1 (релиз с исправлением ошибок, но без функциональных изменений) 3.1.0-rc1 ... 3.1.0-rc6 3.1.0 (релиз с новыми функциональными возможностями и, вероятно, дополнительными исправлениями)
Со временем стадия поддержки подходит к концу, и релизная серия выходит на стадию прекращения поддержки (end of life, EOL). С этого момента новые версии не выпускаются.
Примечание
See all currently supported Tarantool versions in Releases.