Поддержка фреймворка Rails делится на четыре группы: новые особенности, исправления программных ошибок, проблемы безопасности и серьезные проблемы безопасности. Они обрабатываются следующим образом, все версии, кроме релизов безопасности, в формате X.Y.Z
.
Rails придерживается смещения версий semver:
Патч Z
Только исправления программных ошибок, никаких изменений в API, никаких новых особенностей. За исключением случаев, когда это необходимо для исправления безопасности.
Второстепенное число Y
Новые особенности, могут содержать изменения API (выступать в качестве главных версий Semver). Существенные изменения сочетаются с уведомлениями об устаревании в предыдущем второстепенном или главном релизе.
Главное число X
Новые особенности, скорее всего, будут содержать изменения API. Отличие главного релиза Rails от второстепенного в количестве существенных изменений, и он обычно зарезервирован для особых случаев.
Новые особенности добавляются только в ветвь main и не будут доступны в промежуточных релизах.
Только последние серии релизов будут содержать исправления программных ошибок. Исправления ошибок обычно добавляются в ветку main, и бэкпортируются в ветку x-y-stable последних серий релизов, если есть действительная необходимость. Когда достаточное количество исправлений ошибок добавлено в ветку x-y-stable, из них создается новый патч-релиз. Например, теоретический патч-релиз 1.2.2 будет создан из ветки 1-2-stable.
В особых случаях, когда кто-то из Core Team соглашается поддерживать больше серий, они включаются в список поддерживаемых серий.
В настоящее время поддерживаются серии: 7.1.Z
.
Текущая серия релизов и последняя из предыдущих будут получать патчи и новые версии в случае проблем с безопасностью.
Эти релизы создаются через применения патчей безопасности в последнюю выпущенную версию. Затем патчи включаются в конец ветки x-y-stable. Например, теоретический релиз безопасности 1.2.2.1 будет построен из 1.2.2, а затем добавлен в конец 1-2-stable. Это означает, что релизы безопасности легко апгрейднуть, если использовать последнюю версию Rails.
В релизы безопасности будут включены только непосредственные патчи безопасности. Исправления для ошибок, не связанных с безопасностью, производные из патча безопасности, могут быть опубликованы в ветке релиза x-y-stable, и будут выпущены только как новый гем, в соответствие с политикой исправления ошибок.
В настоящее время поддерживаются серии: 7.1.Z
, 7.0.Z
, 6.1.Z
.
Для серьезных проблем с безопасностью все релизы в текущей главной серии, а также последний релиз в главных предыдущих сериях будут содержать патчи и новые версии. Классификация проблем безопасности оценивается Core Team.
В настоящее время поддерживаются серии: 7.1.Z
, 7.0.Z
, 6.1.Z
.
Когда серия релиза больше не поддерживается, вы сами несете ответственность за программные ошибки и проблемы с безопасностью. Мы можем предоставить бэкпорт исправлений и опубликовать их в git, но новых релизов выпущено не будет. Если не хочется поддерживать собственные версии - произведите апгрейд до поддерживаемой версии.