El proceso de versionado

Este documento explica el proceso de versionado de Symfony (Symfony es el código alojado en el repositorio Git principal symfony/symfony).

Symfony gestiona sus versiones a través de un modelo basado en tiempo; cada seis meses sale una nueva versión de Symfony: una en Mayo y otra en Noviembre.

Nota

Este proceso de versionado fue adoptado a partir de Symfony 2.2, y todas las «reglas» explicadas en este documento se deben seguir estrictamente a partir de Symfony 2.4.

Desarrollo

El periodo de seis meses se divide en dos fases:

  • Desarrollo: Cuatro meses para agregar nuevas características y mejorar las existentes;
  • Estabilización: Dos meses para corregir errores, preparar el lanzamiento y esperar a que el ecosistema de Symfony en conjunto (bibliotecas de terceros, paquetes y proyectos que utilizan Symfony) se pongan al día.

Durante la fase de desarrollo, cualquier nueva característica se puede revertir si no será terminada a tiempo o si no estará lo suficientemente estable como para ser incluida en la versión final actual.

Manteniendo

Cada versión de Symfony se mantiene durante un determinado periodo de tiempo, en función del tipo de la versión.

Versiones estándar

Una versión estándar se mantiene durante un periodo de ocho mes.

Plazo de apoyo a versiones mayores

Cada dos años, se apoya una nueva versión mayor (también conocidas como versiones LTS por Long Term Support Release) será publicada. Cada versión LTS será apoyada por un periodo de tres años.

Nota

El apoyo pagado después de tres años con el apoyo prestado por la comunidad también se puede comprar en SensioLabs.

Programa

A continuación se muestra el cronograma de las primeras versiones que utilizan este modelo de edición:

../../_images/release-process.jpg
  • El amarillo representa la fase de desarrollo
  • El azul representa la fase de estabilización
  • El verde representa el periodo de mantenimiento

Este se traduce en fechas y periodos de mantenimiento muy predecibles.

  • (especial) Symfony 2.2 será lanzado a finales de Febrero del 2013;
  • (especial) Symfony 2.3 (la primer versión LTS) se liberará a finales de Mayo del 2013;
  • Symfony 2.4 será lanzado a finales de Noviembre del 2013;
  • Symfony 2.5 será lanzado a finales de Mayo del 2014;
  • ...

Compatibilidad con versiones anteriores

Después del lanzamiento de Symfony 2.3, la compatibilidad hacia atrás se mantendrá a toda costa. Si no es posible, la característica, mejora o corrección de errores se programará para la siguiente versión principal: Symfony 3.0.

Nota

El trabajo sobre Symfony 3.0 se iniciará cuando suficientes características principales de compatibilidad con versiones anteriores estén esperando en la lista de pendientes.

Depreciaciones

Cuando la implementación de una característica no se pueda reemplazar con otra mejor sin romper la compatibilidad hacia atrás, todavía existe la posibilidad de depreciar la vieja implementación y añadir una nueva preferida al lado de la otra. Lee el documento con las convenciones para conocer más sobre el manejo de la depreciación en Symfony.

Justificación

Este proceso de liberación se adoptó para dar mayor predecibilidad y transparencia. Se discutió basándose en los siguientes objetivos:

  • Acortar el ciclo de liberación (permitiendo que los desarrolladores se puedan beneficiar más rápido de las nuevas características);
  • Darle más visibilidad a los desarrolladores que están usando la plataforma y a los proyectos de código abierto que utilizan Symfony;
  • Mejorar la experiencia de los colaboradores del núcleo de Symfony: que todo mundo sepa cuando una característica esté disponible en Symfony;
  • Coordinar el calendario de Symfony con proyectos PHP populares que funcionan bien con Symfony y con proyectos que utilizan Symfony;
  • Darle tiempo al ecosistema de Symfony para ponerse al día con las nuevas versiones (autores de paquete, escritores de documentación, traductores, ...).

El periodo de seis meses fue elegido para ajustarse a dos lanzamientos en un año. Este también permite un montón de tiempo para trabajar en las nuevas características y permite que las características que no están listas se pospongan para la próxima versión sin tener que esperar demasiado tiempo para el siguiente ciclo.

El modo de mantenimiento dual se adoptó para hacer feliz a cada usuario de Symfony. Moviéndose rápido, a quién quiera trabajar con la última y más reciente, utilizando las versiones estándar: una nueva versión será publicada cada seis meses, y esta cuenta con un periodo de dos meses para actualizarse. Las empresas que deseen una mayor estabilidad pueden utilizar las versiones LTS: una nueva versión será publicada cada dos años y cuenta con un año para actualizarse.

Bifúrcame en GitHub