Publicado por zzak el 2013-12-21
Traducción de David Padilla
Hemos decidido migrar a una política de Semantic Versioning comenzando con Ruby 2.1.0.
Para poder utilizar un esquema de versiones para Ruby hemos decidido migrar gradualmente a la siguiente política:
Cambios en la Política
Esta política está basada en una propuesta de el administrador de ruby-lang.org Hiroshi Shibata (@hsbt).
Esquema de Versiones
MAJOR
: Incrementado cuando hay un cambio incompatible que no puede ser liberado en MINOR.- Reservado para eventos especiales.
MINOR
: Incrementado cada Navidad, la API puede ser incompatible.TEENY
: Corrección de falla o de seguridad que mantiene compatibilidad de API.- Puede ser incrementada a más de 10 (como
2.1.11
), y será liberada cada 2-3 meses.
- Puede ser incrementada a más de 10 (como
PATCH
: Número de commits desde la última versiónMINOR
(volverá a ser 0 después de liberar una versiónMINOR
).
Esquema de Branching
Se mantendrán los siguientes branches:
- trunk
ruby_{MAJOR}_{MINOR}
El branch de ruby_{MAJOR}_{MINOR}
será mantenido a través de entregas TEENY
.
Se utilizarán tags para cada entrega.
Compatibilidad de API
Los siguientes cambios han sido marcados como incompatibles y requieren
un incremento en la version MINOR
:
- Remover características de API a nivel de C.
- Cambios o adiciones incompatibles con versiones anteriores.
Compatibilidad de ABI
La ABI cumplirá con el siguiente esquema: {MAJOR}.{MINOR}.0
Pondremos nuestro mayor esfuerzo en mantener la compatibilidad de la ABI con el
mismo nivel de entregas de MINOR
. Por lo tanto TEENY
será corregida en 0.
Referencias
Para leer más acerca de esta propuesta por favor ve a las siguientes ligas:
- Introducing a semantic versioning scheme and branching policy
- Accepted proposal in English
- Accepted proposal in Japanese
¡Gracias!
Me gustaría agradecer personalmente a todas las personas que participaron en esta discusión. Cada paso que tomamos nos acerca a un Ruby más estable y efectivo.