O Bazel 4.0 e versões mais recentes oferecem suporte a duas faixas de lançamento: versões de suporte a longo prazo (LTS) e versões contínuas. Esta página aborda o controle de versão no Bazel, os tipos de versões e os benefícios delas para usuários e colaboradores do Bazel.
Noções básicas sobre o controle de versões no Bazel
O Bazel usa um esquema de controle de versão semântico major.minor.patch.
- Uma versão principal contém recursos que não são compatíveis com versões anteriores.
- Uma versão secundária contém novos recursos compatíveis com versões anteriores.
- Uma versão de patch contém pequenas alterações e correções de bugs.
Usando a versão 3.5.1 como exemplo, uma nova versão de cada tipo resultaria em estes números de versão:
- Maior: 4,0
- Menor: 3.6
- Patch: 3.5.2
Ciclo de lançamento do Bazel
O Bazel publica versões graduais continuamente. Cada versão principal é um LTS lançamento. Você pode escolher seguir a cadência de lançamentos, atualizando de uma versão LTS para a próxima ou atualizando com cada versão secundária.
A imagem mostra as versões contínuas e LTS, e o suporte esperado para cada um.
Figura 1. Lançamentos contínuos e LTS.
Ramificações de lançamento
Cada versão principal se torna uma ramificação de desenvolvimento separada no lançamento. É possível receber correções de bugs críticos nessa ramificação sem precisar atualizar para a versão do Bazel. Os recursos adicionais na sua ramificação de versão principal se tornam versões secundárias, e a versão mais recente na ramificação é a versão com suporte.
Cada versão do Bazel é pareada com uma lista de versões de regras recomendadas que funcionam e há uma estrita compatibilidade com versões anteriores dentro de cada ramificação.
Lançamentos do LTS
Uma versão LTS é uma versão principal (como a 4.0) com suporte por três anos após o lançamento. Uma versão principal é lançada aproximadamente a cada nove meses.
O desenvolvimento contínuo em uma ramificação de lançamento resulta em versões secundárias.
Você pode fixar seu projeto em uma versão principal e atualizar para uma versão mais recente no seu próprio tempo. Assim, você tem tempo de visualizar as próximas mudanças e se adaptar a elas com antecedência.
Lançamentos contínuos
As versões graduais são cortadas periodicamente da ramificação principal do Bazel. Essa cadência de lançamentos envolve um envio contínuo de versões de pré-lançamento da próxima versão principal do Bazel, que são sincronizadas com as versões internas do Blaze do Google.
Uma nova versão gradual pode conter alterações interruptivas que estão incompatíveis com versões anteriores.
As versões graduais são testadas no pacote de testes do Bazel na CI dele.
o pacote de testes internos do Google. É possível que as sinalizações incompatíveis sejam
são usados para aliviar o fardo de migrar para novas funcionalidades, mas os comportamentos padrão
pode mudar em qualquer versão gradual. Também é possível usar versões graduais para
visualizar a próxima versão do LTS. Por exemplo, 5.0.0-pre.20210604.6
é baseado em uma
foi cortada em 04/06/2021 e representa um marco em direção ao LTS 5.0
release.)
Faça o download da versão mais recente em GitHub. Como alternativa, configure Bazelisk v1.9.0 (link em inglês) (ou posterior) para usar um nome de versão específico ou o o identificador "rolling", que usa a versão gradual mais recente. Para mais detalhes, consulte a documentação do Bazelisk (em inglês).
Atualizar versões
- Para mais informações sobre como atualizar a versão do Bazel, consulte Como atualizar o Bazel.
- Para mais informações sobre como contribuir com atualizações para novas versões do Bazel, consulte Como contribuir com o Bazel.