Skip to content

Release cycle es ES

GitHub Action edited this page Apr 29, 2021 · 23 revisions

Ciclo de lanzamiento

ASF utiliza el versionado común de C# con 4 números, representado como A.B.C.D. Una versión dada siempre está "congelada", apuntando a un código fuente fijo desde el que se compiló (empaquetado junto con la publicación). No pretendemos eliminar ninguna versión previamente publicada, siempre y cuando nuestro proveedor de alojamiento (GitHub) las conserve por tiempo indefinido, por lo tanto puedes regresar a cualquier de ellas sin necesidad de hacer copias.

En términos generales del versionado de ASF, hacemos todo lo posible por seguir el versionado semver de MAJOR.MINOR.PATCH en los 3 números menos significativos - B.C.D. Estos tres números están directamente relacionados con el código de ASF. El número A más significativo indica cambios con un alcance que va más allá del código base de ASF, normalmente afectando los cimientos del programa.

ASF es un proyecto que apunta a tener más o menos una versión por mes, indicado por un aumento del número C. Para hacer posible esta versión, tenemos prelanzamientos más pequeños dedicados a usuarios avanzados, que sirven como marcas más pequeñas de cambios que son lanzados según sea necesario cuando haya suficientes cambios desde la versión anterior. Eventualmente, cuando se determine que un prelanzamiento es suficientemente estable sin regresiones críticas que deban ser corregidas en comparación con la versión estable anterior, será marcada como la siguiente versión estable, iniciando al mismo tiempo un nuevo ciclo mensual para la siguiente.

Aunque hacemos todo lo posible para que incluso nuestros prelanzamientos sean relativamente estables, debe tenerse en cuenta que los prelanzamientos no se supone que sean usados en un entorno de producción. Los prelanzamientos podrían tener errores críticos y funcionalidades arruinadas, que es exactamente la razón por la que los lanzamos en primer lugar - para poder evitar todo ese problema en nuestras versiones estables y ofrecer un software confiable. Si no estás dispuesto a aceptar un riesgo mayor que proviene de usar software potencialmente inestable, por favor, evita usar nuestros prelanzamientos y conserva la última versión estable, que es más apropiado para la mayoría de usuarios.

Dependiendo de la cantidad de cambios en el ciclo, normalmente solo habrá un salto de versión C (desde la versión estable anterior), y saltos D por cada prelanzamiento. Sin embargo, al introducir cambios con un alcance mucho mayor, especialmente cambios importantes, el ciclo podría comenzar en (o cambiar a la mitad) el salto B o incluso en el A - dicho cambio indica que el ciclo de lanzamiento actual tiene el potencial de ser más inestable de lo normal, y debe ser probado con cuidado. Ten en cuenta que los cambios semver que hacemos solo se relacionan con la versión estable previamente publicada, no rastreamos el versionado entre prelanzamientos en un ciclo, lo que significa que la versión 1.0.1.2 podría tener una nueva característica que 1.0.1.1 no tenía, siempre que la versión estable previa sea de la familia 1.0.0. Del mismo modo, podría haber cambios mayores incluso entre dos prelanzamientos del mismo ciclo, lo que es especialmente cierto cuando todavía estamos decidiendo la forma final de una funcionalidad recién introducida o algo similar.

Salto de versión Semver Ejemplo de cambios
A Cambios mayores en .NET runtime, cambios en los cimientos, cambios mayores que están más allá del código base de ASF
B Major Cambios menores en .NET runtime, cambios en el código base de ASF, ediciones importantes de código que no se clasifican como menores
C Minor Nuevos ciclos mensuales, normalmente introduciendo nuevas funcionalidades, comandos, propiedades de configuración u otros cambios que no alteran las configuraciones existentes
D Patch Nuevos prelanzamientos que son parte del ciclo actual (indicado por un número mayor), importantes correcciones de errores a las versiones estables existentes que no introducen cambios en el código más allá de lo necesario

Por favor, ten en cuenta que las características y cambios introducidos recientemente puede no estar documentados (por ejemplo, en la wiki) hasta algún tiempo después, ya que la documentación normalmente se escribe una vez que el código para una función dada está listo (para ahorrarnos tiempo en reescribir documentación cada vez que decidimos modificar la función en la que estamos trabajando). Debido a que los prelanzamientos puede contener código aún en proceso que todavía no tiene una forma final, la documentación puede llegar en una etapa posterior del desarrollo. Lo mismo aplica al changelog general que puede no estar disponible para una pre-versión dada hasta algún tiempo después. Por lo tanto si decides usar versiones en prelanzamiento entonces prepárate para revisar cambios en el repositorio de ASF de vez en cuando. Por supuesto, la falta de documentación aplica solo para las pre-versiones - cada versión estable siempre debe tener un changelog y documentación completa en la wiki al momento de su publicación.

El changelog preciso que compara una versión con la otra siempre está disponible en GitHub - a través de los "commits" y cambios en el código. En la publicación solo tendemos a documentar cambios que consideramos importantes entre la última y la actual versión. Dicho registro de cambios nunca está completo, por lo que si quieres ver todos los cambios que ocurrieron entre una versión y otra (como las actualizaciones de nuestras dependencias) - por favor, usa el historial de GitHub para eso.

El proyecto ASF es impulsado por nuestro proceso de integración continua. Se supone que cada versión es reproducible, por lo tanto no debería ser problema tomar el código fuente (incluido en el lanzamiento) de una versión determinada y compilarlo tú mismo obteniendo el mismo resultado que el disponible a través de nuestros ejecutables precompilados. Normalmente evitamos compilar las versiones nosotros mismos, los binarios publicados provienen directamente de nuestro proceso de integración continua.

Clone this wiki locally