Bazel 4.0 y versiones posteriores proporcionan compatibilidad con dos segmentos de versiones: versiones de asistencia a largo plazo (LTS) y versiones continuas. En esta página, se aborda el control de versiones en Bazel, los tipos de versiones y los beneficios de esas versiones para los usuarios y colaboradores de Bazel.
Información sobre el control de versiones en Bazel
Bazel usa un esquema de control de versiones semántico major.minor.patch.
- Una versión principal contiene funciones que no son compatibles con versiones anteriores.
- Una versión secundaria contiene funciones nuevas compatibles con versiones anteriores.
- Una versión del parche contiene cambios menores y correcciones de errores.
Si se usa la versión 3.5.1 como ejemplo, una nueva versión de cada tipo daría como resultado los siguientes números de versión:
- Principal: 4.0
- Secundaria: 3.6
- Parche: 3.5.2
Ciclo de lanzamiento de Bazel
Bazel publica continuamente versiones continuas. Cada versión principal es una versión de LTS Puedes elegir seguir la cadencia de lanzamiento: actualizar de una versión de LTS a la siguiente o actualizar con cada versión secundaria.
En la imagen, se muestran las versiones continuas y de LTS, y la compatibilidad esperada para cada una.

Figura 1: Versiones continuas y de LTS
Ramas de versiones
Cada versión principal se convierte en una rama de desarrollo independiente en el lanzamiento. Puedes recibir correcciones para errores críticos en esa rama sin tener que actualizar a la versión de Bazel en el encabezado. Las funciones adicionales en la rama de la versión principal se convierten en versiones secundarias, y la versión más alta de la rama es la versión compatible.
Cada versión de Bazel se combina con una lista de versiones de reglas recomendadas que funcionan juntas, y hay una estricta compatibilidad con versiones anteriores dentro de cada rama.
Versiones de LTS
Una versión de LTS es una versión principal (como 4.0) que se admite durante 3 años después de su lanzamiento. Se lanza una versión principal aproximadamente cada nueve meses.
El desarrollo continuo en una rama de versiones da como resultado versiones secundarias.
Puedes elegir fijar tu proyecto a una versión principal y actualizar a una versión más reciente cuando quieras. Esto te da tiempo para obtener una vista previa de los próximos cambios y adaptarte a ellos con anticipación.
Versiones continuas
Las versiones continuas se cortan periódicamente de la rama principal de Bazel. Esta cadencia de lanzamiento implica una entrega continua de versiones preliminares de la próxima versión principal de Bazel, que están sincronizadas con las versiones internas de Blaze de Google.
Ten en cuenta que una nueva versión continua puede contener cambios rotundos que no son compatibles con versiones anteriores.
Las versiones continuas se prueban en el conjunto de pruebas de Bazel en Bazel CI y
en el conjunto de pruebas interno de Google. Se pueden usar marcas incompatibles para facilitar la migración a la nueva funcionalidad, pero los comportamientos predeterminados pueden cambiar con cualquier versión continua. (También puedes usar versiones continuas para
obtener una vista previa de la próxima versión de LTS. Por ejemplo, 5.0.0-pre.20210604.6 se basa en un
corte candidato el 2021-06-04 y representa un hito hacia la versión 5.0 de LTS
).
Puedes descargar la versión continua más reciente de GitHub. Como alternativa, puedes configurar Bazelisk v1.9.0 (o versiones posteriores) para usar un nombre de versión específico o el identificador “rolling”, que usa la versión continua más reciente. Para obtener más detalles, consulta la documentación de Bazelisk.
Actualizar versiones
- Para obtener más información sobre cómo actualizar tu versión de Bazel, consulta Actualiza Bazel.
- Para obtener más información sobre cómo contribuir con actualizaciones a las nuevas versiones de Bazel, consulta Contribuye a Bazel.