Bazel 4.0 y las versiones posteriores ofrecen compatibilidad con dos segmentos: compatibilidad a largo plazo. (LTS) y progresivas. En esta página, se aborda el control de versiones en Bazel, el tipos de versiones y los beneficios de esos lanzamientos para los usuarios de Bazel y colaboradores.
Información sobre el control de versiones en Bazel
Bazel usa un esquema de control de versiones semántico major.minor.patch.
- Un lanzamiento principal contiene funciones que no son retrocompatibles con el versión anterior.
- Una versión secundaria contiene nuevas funciones retrocompatibles.
- Una versión de parche contiene cambios menores y correcciones de errores.
Si usamos la versión 3.5.1 como ejemplo, un nuevo lanzamiento de cada tipo generaría una estos números de versión:
- Mayor: 4.0
- Menor: 3.6
- Parche: 3.5.2
Ciclo de lanzamiento de Bazel
Bazel publica versiones progresivas de manera continua. Cada versión principal es una LTS lanzamiento. Puedes elegir seguir cualquiera de las cadencias de actualización o actualizar Lanzamiento de LTS a la siguiente, o actualización con cada versión de versión secundaria
La imagen muestra las versiones progresivas y LTS, y la compatibilidad esperada con cada uno.
Figura 1: Versiones progresivas y LTS
Ramas de versiones
Cada versión principal se convierte en una rama de desarrollo independiente en el lanzamiento. Puedes recibir correcciones de errores críticos en esa rama sin tener que actualizar al Lanzamiento de Bazel en la cabeza. Las funciones adicionales de la rama de la versión principal se vuelven versiones secundarias, y la versión más alta de la rama es la versión compatible.
Cada versión de Bazel se vincula con una lista de versiones de reglas recomendadas que funcionan y existe una estricta retrocompatibilidad dentro de cada rama.
Versiones de LTS
Una versión LTS es una versión principal (como 4.0) que es compatible durante 3 años tras su lanzamiento. Se lanza una versión principal aproximadamente cada nueve meses.
El desarrollo continuo en una rama de la versión da como resultado versiones menores.
Puedes fijar tu proyecto a una versión importante y actualizarlo a una más reciente a tu propio ritmo. Esto te da tiempo para obtener una vista previa de los próximos cambios y adaptarte a ellas con anticipación.
Versiones progresivas
Las versiones progresivas se quitan periódicamente de la rama principal de Bazel. Esta cadencia de lanzamiento implica una entrega continua de versiones preliminares del siguiente versión principal de Bazel, que están sincronizadas con el plan Blaze interno de Google y lanzamientos de versiones.
Ten en cuenta que una nueva versión progresiva puede contener cambios rotundos que incompatibles con versiones anteriores.
Las versiones progresivas se prueban en el paquete de pruebas de Bazel en Bazel CI y
Paquete de pruebas internas de Google. Las marcas incompatibles pueden
para aliviar la carga de migrar a nuevas funcionalidades, pero los comportamientos
puede cambiar
con cualquier lanzamiento progresivo. También puedes usar lanzamientos progresivos
obtener una vista previa de la próxima versión de LTS. Por ejemplo, 5.0.0-pre.20210604.6
se basa en un
versión candidata el 4-06-2021 y representa un hito hacia la LTS 5.0
release.)
Puedes descargar la versión más reciente en GitHub: Como alternativa, puedes configurar Bazelisk v1.9.0 (o una posterior) para usar un nombre de versión específico El identificador “progresivo”, que usa la versión progresiva más reciente. Para ver 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 Contributing to Bazel.