Plan de versiones programadas
TDF LibreOffice Document Liberation Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Donar
Introducción
El modelo de desarrollo por series de publicaciones periódicas ha demostrado producir el software libre de mejor calidad. Los lanzamientos periódicos son aquellos que no se detienen si no se ha terminado una funcionalidad o incluido una corrección de error; en la medida de lo posible, el tiempo es la única métrica. Esto disciplina a los desarrolladores a incluir correcciones a tiempo, proporciona previsibilidad y permite actualizar el producto constantemente. El proyecto necesita publicar, tan pronto como sea posible, versiones con mejoras incrementales basadas en la versión estable anterior. Por este motivo, puede que tenga sentido esperar a que se publique la primera o segunda actualización menor de una versión estable —p. ej., 5.0.1 o 5.0.2 son, respectivamente, la primera y segunda actualizaciones de la versión 5.0—.
- LibreOffice produce versiones semestrales predecibles, las cuales están en perenne sincronía con otros proyectos de software libre (como GNOME) y que se emiten con al menos un mes de antelación a los lanzamientos de distribuciones Linux importantes (como Ubuntu).
- Sincronizar la planificación de versiones con el resto del ecosistema del software libre trae grandes ventajas, dado que permite distribuir las funcionalidades recientes a los usuarios con extrema rapidez, dado que reduce el retardo en el ciclo de las distribuciones. Por este motivo buscamos crear versiones nuevas cada seis meses y alinearlas a los meses de marzo y septiembre.
- Se ha demostrado que las versiones de lanzamiento basados en el tiempo producen software libre de la mejor calidad. Una versión de este tipo es aquella que no espera características ni correcciones de errores, sino que se basa (tan puramente como sea posible) en el tiempo. Esto impone disciplina en la introducción de correcciones, brinda previsibilidad y permite una liberación más regular.
También se da el caso de que necesariamente se lanzan antes, y luego rápidamente, versiones de corrección de errores incrementales basadas en la versión estable anterior. Por lo tanto, si necesita la versión con más calidad, puede tener sentido posponer una actualización hasta el primer o quizás el segundo lanzamiento de la versión punto menor.
- Hay dos ramas: «Fresh/Nuevo» (la versión más reciente) y «Still/Estable» (la versión inmediatamente anterior), las cuales se destinan, respectivamente, a usuarios generales que quieren probar las últimas novedades y a entornos empresariales o de producción que buscan mayor fiabilidad.
- Como resultado, los usuarios obtienen una nueva versión principal cada seis meses con una amplia gama de funciones, correcciones y mejoras. Además, obtienen muchos micro lanzamientos de corrección de errores puros. El primer lanzamiento de X.Y.0 está destinado a los primeros usuarios. Se recomienda a los usuarios más conservadores que esperen una versión posterior de la corrección de errores de X.Y.Z.
Tenga en cuenta que las fechas mencionadas en el cronograma pueden cambiarse si hay problemas técnicos serios o de otro tipo con el lanzamiento. Es posible que se necesite un a versión candidata (RC) adicional si la versión candidata final no se ajusta a los Criterios de versión. Tal problema cambiaría el lanzamiento final por una semana o incluso más.
El gráfico simplificado siguiente muestra tres versiones colocadas en una línea de tiempo de 24 meses.
Versión 7.4
Lanzamiento | Congelamiento | Publicación |
---|---|---|
7.4.0 (cong.: 30.ª semana) | Semana 19 , may 9, 2022 - may 15, 2022 | Semana 33 , ago 15, 2022 - ago 21, 2022 |
7.4.1 | Semana 34 , ago 22, 2022 - ago 28, 2022 | Semana 37 , sep 12, 2022 - sep 18, 2022 |
7.4.2 | Semana 38 , sep 19, 2022 - sep 25, 2022 | Semana 41 , oct 10, 2022 - oct 16, 2022 |
7.4.3 | Semana 44 , oct 31, 2022 - nov 6, 2022 | Semana 47 , nov 21, 2022 - nov 27, 2022 |
7.4.4 | Semana 50 , dic 12, 2022 - dic 18, 2022 | Semana 53 , ene 2, 2023 - ene 8, 2023 |
7.4.5 | Semana 07 , feb 13, 2023 - feb 19, 2023 | Semana 10 , mar 6, 2023 - mar 12, 2023 |
7.4.6 | Semana 16 , abr 17, 2023 - abr 23, 2023 | Semana 19 , may 8, 2023 - may 14, 2023 |
Fin del período de servicio | 12 de junio de 2023 |
Consulte también el programa detallado y el informe de novedades.
Versión 7.3
Lanzamiento | Congelamiento | Publicación |
---|---|---|
7.3.0 (cong.: 2.ª semana) | Semana 43 , oct 25, 2021 - oct 31, 2021 | Semana 05 , ene 31, 2022 - feb 6, 2022 |
7.3.1 | Semana 06 , feb 7, 2022 - feb 13, 2022 | Semana 09 , feb 28, 2022 - mar 6, 2022 |
7.3.2 | Semana 10 , mar 7, 2022 - mar 13, 2022 | Semana 13 , mar 28, 2022 - abr 3, 2022 |
7.3.3 | Semana 15 , abr 11, 2022 - abr 17, 2022 | Semana 18 , may 2, 2022 - may 8, 2022 |
7.3.4 | Semana 20 , may 16, 2022 - may 22, 2022 | Semana 23 , jun 6, 2022 - jun 12, 2022 |
7.3.5 | Semana 26 , jun 27, 2022 - jul 3, 2022 | Semana 29 , jul 18, 2022 - jul 24, 2022 |
7.3.6 | Semana 33 , ago 15, 2022 - ago 21, 2022 | Semana 36 , sep 5, 2022 - sep 11, 2022 |
7.3.7 | Semana 41 , oct 10, 2022 - oct 16, 2022 | Semana 44 , oct 31, 2022 - nov 6, 2022 |
Fin del período de servicio | 30 de noviembre de 2022 |
Consulte también el programa detallado y el informe de novedades.
Versión 7.2
Lanzamiento | Congelamiento | Publicación |
---|---|---|
7.2.0 (cong.: 30.ª semana) | Semana 19 , may 10, 2021 - may 16, 2021 | Semana 33 , ago 16, 2021 - ago 22, 2021 |
7.2.1 | Semana 34 , ago 23, 2021 - ago 29, 2021 | Semana 37 , sep 13, 2021 - sep 19, 2021 |
7.2.2 | Semana 38 , sep 20, 2021 - sep 26, 2021 | Semana 41 , oct 11, 2021 - oct 17, 2021 |
7.2.3 | Semana 44 , nov 1, 2021 - nov 7, 2021 | Semana 47 , nov 22, 2021 - nov 28, 2021 |
7.2.4 | Semana 48 , nov 29, 2021 - dic 5, 2021 | Semana 49 , dic 6, 2021 - dic 12, 2021 |
7.2.5 | Semana 50 , dic 13, 2021 - dic 19, 2021 | Semana 53 , ene 3, 2022 - ene 9, 2022 |
7.2.6 | Semana 07 , feb 14, 2022 - feb 20, 2022 | Semana 10 , mar 7, 2022 - mar 13, 2022 |
7.2.7 | Semana 16 , abr 18, 2022 - abr 24, 2022 | Semana 19 , may 9, 2022 - may 15, 2022 |
Fin del período de servicio | 12 de junio de 2022 |
Consulte también el programa detallado y el informe de novedades.
Versión 7.1
Lanzamiento | Congelamiento | Publicación |
---|---|---|
7.1.0 (cong.: 2.ª semana) | Semana 43 , oct 19, 2020 - oct 25, 2020 | Semana 05 , feb 1, 2021 - feb 7, 2021 |
7.1.1 | Semana 06 , feb 8, 2021 - feb 14, 2021 | Semana 09 , mar 1, 2021 - mar 7, 2021 |
7.1.2 | Semana 10 , mar 8, 2021 - mar 14, 2021 | Semana 13 , mar 29, 2021 - abr 4, 2021 |
7.1.3 | Semana 15 , abr 12, 2021 - abr 18, 2021 | Semana 18 , may 3, 2021 - may 9, 2021 |
7.1.4 | Semana 20 , may 17, 2021 - may 23, 2021 | Semana 23 , jun 7, 2021 - jun 13, 2021 |
7.1.5 | Semana 26 , jun 28, 2021 - jul 4, 2021 | Semana 29 , jul 19, 2021 - jul 25, 2021 |
7.1.6 | Semana 33 , ago 16, 2021 - ago 22, 2021 | Semana 36 , sep 6, 2021 - sep 12, 2021 |
7.1.7 | Semana 41 , oct 11, 2021 - oct 17, 2021 | Semana 44 , nov 1, 2021 - nov 7, 2021 |
7.1.8 | Semana 48 , nov 29, 2021 - dic 5, 2021 | Semana 49 , dic 6, 2021 - dic 12, 2021 |
Fin del período de servicio | 30 de noviembre de 2021 |
Consulte también el programa detallado y el informe de novedades.
Versión 7.0
Lanzamiento | Congelamiento | Publicación |
---|---|---|
7.0.0 (cong.: 29.ª semana) | Semana 19 , may 4, 2020 - may 10, 2020 | Semana 32 , ago 3, 2020 - ago 9, 2020 |
7.0.1 | Semana 33 , ago 10, 2020 - ago 16, 2020 | Semana 36 , ago 31, 2020 - sep 6, 2020 |
7.0.2 | Semana 38 , sep 14, 2020 - sep 20, 2020 | Semana 41 , oct 5, 2020 - oct 11, 2020 |
7.0.3 | Semana 43 , oct 19, 2020 - oct 25, 2020 | Semana 46 , nov 9, 2020 - nov 15, 2020 |
7.0.4 | Semana 48 , nov 23, 2020 - nov 29, 2020 | Semana 51 , dic 14, 2020 - dic 20, 2020 |
7.0.5 | Semana 07 , feb 15, 2021 - feb 21, 2021 | Semana 10 , mar 8, 2021 - mar 14, 2021 |
7.0.6 | Semana 16 , abr 19, 2021 - abr 25, 2021 | Semana 19 , may 10, 2021 - may 16, 2021 |
Fin del período de servicio técnico | 31 de mayo de 2021 |
Consulte también el programa detallado y las notas de la versión.
Versión 6.4
Lanzamiento | Congelamiento | Publicación |
---|---|---|
6.4.0 (cong.: 2.ª semana) | Semana 42 , oct 14, 2019 - oct 20, 2019 | Semana 05 , ene 27, 2020 - feb 2, 2020 |
6.4.1 | Semana 06 , feb 3, 2020 - feb 9, 2020 | Semana 09 , feb 24, 2020 - mar 1, 2020 |
6.4.2 | Semana 09 , feb 24, 2020 - mar 1, 2020 | Semana 12 , mar 16, 2020 - mar 22, 2020 |
6.4.3 | Semana 13 , mar 23, 2020 - mar 29, 2020 | Semana 16 , abr 13, 2020 - abr 19, 2020 |
6.4.4 | Semana 18 , abr 27, 2020 - may 3, 2020 | Semana 21 , may 18, 2020 - may 24, 2020 |
6.4.5 | Semana 24 , jun 8, 2020 - jun 14, 2020 | Semana 27 , jun 29, 2020 - jul 5, 2020 |
6.4.6 | Semana 30 , jul 20, 2020 - jul 26, 2020 | Semana 33 , ago 10, 2020 - ago 16, 2020 |
6.4.7 | Semana 39 , sep 21, 2020 - sep 27, 2020 | Semana 42 , oct 12, 2020 - oct 18, 2020 |
Fin del período de servicio | 30 de noviembre de 2020 |
Consulte también el calendario detallado y el informe de novedades.
Versión 6.3
Lanzamiento | Congelamiento | Publicación |
---|---|---|
6.3.0 (congelamiento: 29.ª sem.) | Semana 19 , may 6, 2019 - may 12, 2019 | Semana 32 , ago 5, 2019 - ago 11, 2019 |
6.3.1 | Semana 32 , ago 5, 2019 - ago 11, 2019 | Semana 35 , ago 26, 2019 - sep 1, 2019 |
6.3.2 | Semana 36 , sep 2, 2019 - sep 8, 2019 | Semana 39 , sep 23, 2019 - sep 29, 2019 |
6.3.3 | Semana 41 , oct 7, 2019 - oct 13, 2019 | Semana 44 , oct 28, 2019 - nov 3, 2019 |
6.3.4 | Semana 47 , nov 18, 2019 - nov 24, 2019 | Semana 50 , dic 9, 2019 - dic 15, 2019 |
6.3.5 | Semana 05 , ene 27, 2020 - feb 2, 2020 | Semana 08 , feb 17, 2020 - feb 23, 2020 |
6.3.6 | Semana 15 , abr 6, 2020 - abr 12, 2020 | Semana 18 , abr 27, 2020 - may 3, 2020 |
Fin del período de servicio | 29 de mayo de 2020 |
Consulte también el calendario detallado y las notas de la versión.
Fechas
El lanzamiento se basa en el tiempo, pero el cronograma define semanas calendario en lugar de fechas exactas. Es porque siempre somos un poco flexibles. El lanzamiento puede retrasarse unos días debido a errores de bloqueo, problemas de compilación y otros problemas técnicos.
El lanzamiento consta de varias compilaciones beta y candidatas a lanzamiento. Se necesitan varias acciones para cada compilación. El flujo de trabajo ideal se ve así:
- Lunes: fecha límite de confirmación; se envía un recordatorio a la lista de correo desarroyo, l10n antes de que suceda
- Martes: la etiqueta se crea en una confirmación que compila y pasa las pruebas unitarias, subsiguientes y de humo; la etiqueta se anuncia en las listas de correo de desarrollo y control de calidad
- Miércoles: las compilaciones se cargan en el sitio de versiones preliminares; se anuncian en el las listas de correo desarrollo y control de calidad
- Jueves: las compilaciones se cargan en espejos. Se anuncian a través de muchos canales, p. listas de correo, twitter
- Viernes: las compilaciones están disponibles a través del sitio oficial de versiónes de desarrollo
El lanzamiento final generalmente se anuncia el jueves, pocos días después de que salga el candidato de lanzamiento final.
Tenga en cuenta que somos muy estrictos con las confirmaciones de la versión candidata final, por lo que no es necesaria una prueba de regresión completa. Se utiliza como la versión final cuando pasa las pruebas necesarias. Se acaba de renombrar en los espejos.
Agenda
La agenda en las siguientes reglas:
- haga el lanzamiento principal cada seis meses y sincronícelo (al menos un mes antes) con las principales distribuciones de Linux; siempre viene con una amplia gama de funciones, correcciones y mejoras
- haga un lanzamiento puro de corrección de errores cada mes después del lanzamiento principal hasta que sea lo suficientemente bueno incluso para las personas más conservadoras; hagalo posteriormente y con menos frecuencia.
- haga lanzamientos puros de corrección de errores, incluidas las correcciones de seguridad, hasta que el próximo lanzamiento esté listo para la mayoría de las personas conservadoras
- no haga dos compilaciones la misma semana.
El resultado es la siguiente plantilla:
Evento | Verano | Invierno |
---|---|---|
x.y congelación de funciones | jun.(i) | dic.(i) |
x.y.0 primera versión | ag.(i) | febr.(i) |
x.y.1 versión de corr. de errores | sept.(i) | mar.(i) |
x.y.2 versión de corr. de errores | oct.(i) | abr.(i) |
x.y.3 versión de corr. de errores | nov.(i) | my.(i) |
x.y.4 versión de corr. de errores | dic.(i) | jun.(i) |
x.y.5 versión de corr. de errores | febr.(m) | ag.(m) |
x.y.6 versión de corr. de errores | abr.(m) | oct.(m) |
Donde (i) significa el inicio del mes, (m) significa la mitad del mes y (f) significa el final del mes.
Congelamiento de las cadenas
Los planes de lanzamiento para la primera versión de cada lanzamiento principal indican una "congelación de la interfaz de usuario y la secuencia de comandos en inglés". La idea es facilitar la vida de los traductores. Los traductores deberían poder confiar en que no se agregarán nuevas cadenas traducibles a la interfaz de usuario ni a los archivos de ayuda entre el período de congelación y publicación de cadenas.
Después de que sale la primera versión de una versión principal, está bien corregir los errores en la interfaz de usuario y las cadenas de ayuda. Cualquier contenido completamente nuevo debe apuntar al próximo lanzamiento importante.
Esquema de versiones
Hacemos varias compilaciones en torno a cada versión. Se utiliza el siguiente esquema de versiones:
- X.Y.0.0.alphaZ - Zth versión alfa de la versión inicial
- X.Y.0.0.betaZ - Zth versión beta del lanzamiento inicial
- X.Y.0.Z - Candidato de lanzamiento Zth del lanzamiento inicial, el último rc se considera como final y se coloca en la página principal de descarga
- X.Y.1.Z - Candidato de lanzamiento Zth del primer lanzamiento de corrección de errores, el último rc se considera como final y se coloca en la página de descarga principal
Parece ser el mejor compromiso con las siguientes ventajas:
- fácil de entender para los usuarios normales, las banderas alfa y beta se conocen de otros proyectos, por lo que establecen expectativas razonables
- clasificación alfabética correcta en RPM, Bugzilla
- "fácil" de analizar (cadenas alfa/beta delimitadas por puntos)
Hubo una larga discusión sobre este esquema en la lista de correo.
Aceleración del ciclo de versiones
Esta aceleración del ciclo de lanzamiento implica una ingeniería de lanzamiento y un esfuerzo de control de calidad considerables. Para reducir el costo de estos, trabajamos para proporcionar instantáneas diarias completas (es decir, que contengan todos los idiomas) de la rama maestra para permitir la prueba continua de las mejoras del código. Esto ya funciona parcialmente, como se puede ver/descargar desde aquí.
Del mismo modo, planeamos automatizar cada vez más el proceso de compilación para permitir un flujo de lanzamiento de mucho menor contacto y continuar reduciendo el espacio físico de nuestros binarios para permitir una transferencia mucho más rápida de compilaciones equivalentes al producto.
Versiones sin vida útil
Un lanzamiento normalmente tiene una vida útil de alrededor de nueve meses. Consideramos que un lanzamiento ha llegado a su Fin de vida (EOL) un mes después del último lanzamiento planificado.
Si desea soporte a más largo plazo para una versión, le recomendamos que contrate a cualquier | Desarrollador certificado que pueda brindarle el servicio.
Debido a la cantidad de datos, los lanzamientos se dividieron en ReleasePlan/Archive.