O Rails segue uma versão alterada do semver:
Patch Z
Apenas correções de bug, sem mudanças de API e sem funcionalidades novas. Exceto quando necessário para correções de segurança.
Minor Y
Novas funcionalidades, podem conter mudanças na API (serve como versões major do Semver). Mudanças significativas são notificadas junto a avisos de depreciação em lançamentos minor ou major anteriores.
Major X
Novas funcionalidades, possivelmente contém mudanças de API. A diferença entre as lançamentos minor e major do Rails é a magnitude das mudanças significativas, e geralmente para ocasiões especiais.
1 Novas Funcionalidades
Novas funcionalidades são adicionadas apenas na branch principal e não estarão disponíveis em lançamentos pontuais.
2 Correções de Bugs
Apenas o lançamento mais recente vai receber correções de bugs. As correções de bugs geralmente são adicionadas ao branch principal e portado para a branch x-y-stable para a última versão, se houver necessidade suficiente. Quando bugs o suficientes foram corrigidos para uma branch x-y-stable, uma nova versão de patch é construída a partir dela. Por exemplo, a a versão teórica do patch 1.2.2 seria construída a partir da branch 1-2-stable.
Em ocasiões especiais, em que alguém do Core Team concorda em dar suporte a mais versões, elas são todas incluídas na lista de versões suportadas.
Versões incluídas atualmente: 7.0.Z
.
3 Problemas de Segurança
A versão atual e a anterior mais recente vão receber patches e novas versões em casos de um problema de segurança.
Esses lançamentos são criados utilizando a última versão lançada, aplicando as patches de segurança e lançando. Esses patches são, então, aplicados no fim da branch x-y-stable. Por exemplo, um lançamento de segurança teórico 1.2.2.1 seria construído a partir da 1.2.2 e, depois, adicionado no fim da 1-2-stable. Isso significa que lançamentos de segurança são fáceis de atualizar se você usar a versão mais recente do Rails.
Apenas patches de seguranças diretos serão incluídos em lançamentos de segurança. Correções para bugs que não são relacionados à segurança que resultam de um patch de segurança podem ser publicados na branch x-y-stable de um lançamento, e será lançado apenas em uma nova gem de acordo com a política de Correção de Bugs.
Currently included series: 7.0.Z
, 6.1.Z
.
4 Problemas Críticos de Segurança
Para problemas críticos de segurança, todos os lançamentos que estão na versão major atual, e o último release na versão major anterior, vão receber patches e novas versões. A classificação do problema de segurança é avaliado pelo time core.
Versões atualmente incluídas: 7.0.Z
, 6.1.Z
5 Versões não suportadas para lançamentos
Quando uma versão não é mais suportada, é sua responsabilidade lidar com bugs e problemas de segurança. Nós podemos prover backports das correções e publicar elas no git, porém não haverá lançamento de uma versão nova. Se você não estiver confortável em manter sua versão, deve atualizar para uma das versões suportadas.
Feedback
Você é incentivado a ajudar a melhorar a qualidade deste guia.
Por favor, contribua caso veja quaisquer erros, inclusive erros de digitação. Para começar, você pode ler nossa sessão de contribuindo com a documentação.
Você também pode encontrar conteúdo incompleto ou coisas que não estão atualizadas. Por favor, adicione qualquer documentação em falta na main do Rails. Certifique-se de checar o Edge Guides (en-US) primeiro para verificar se o problema já foi resolvido ou não no branch main. Verifique as Diretrizes do Guia Ruby on Rails para estilo e convenções.
Se, por qualquer motivo, você encontrar algo para consertar, mas não conseguir consertá-lo, por favor abra uma issue no nosso Guia.
E por último, mas não menos importante, qualquer tipo de discussão sobre a documentação do Ruby on Rails é muito bem vinda na forum oficial do Ruby on Rails e nas issues do Guia em português.