Información general sobre la creación de versiones de .NET

El entorno de ejecución y el SDK de .NET agregan nuevas características con distintas frecuencias. En general, el SDK se actualiza con más frecuencia que el entorno de ejecución. En este artículo se detallan los números de versión del SDK y el entorno de ejecución.

.NET publica una nueva versión principal cada noviembre. Las versiones con números pares, como .NET 6 o .NET 8, cuentan con soporte a largo plazo (LTS). Las versiones con números impares cuentan con soporte hasta el lanzamiento de la siguiente versión principal. La última versión de .NET es .NET 6.

Detalles de control de versiones

El entorno de ejecución de .NET sigue el esquema de control de versiones "principal.secundaria.revisión", que se basa en el control de versiones semántico.

Por su parte, el SDK de .NET no sigue el esquema de control de versiones semántico. El SDK de .NET se publica con mayor rapidez, y sus números de versión deben indicar tanto el entorno de ejecución alineado como la versión secundaria y las publicaciones de revisiones del SDK.

Las dos primeras posiciones del número de versión del SDK de .NET reflejan la versión del entorno de ejecución de .NET con el que se ha publicado. Cada versión del SDK puede crear aplicaciones tanto para este runtime como para cualquier versión anterior.

La tercera posición del número de versión del SDK comunica tanto la versión secundaria como el número de revisión. La versión secundaria se multiplica por 100. Los dos dígitos finales representan el número de revisión. La versión secundaria 1 y la revisión 2 se representan con 102. Por ejemplo, esta es una secuencia posible de los números de versión del SDK y el entorno de ejecución:

Change Runtime de .NET SDK de .NET (*)
Versión inicial 5.0.0 5.0.100
Revisión del SDK 5.0.0 5.0.101
Entorno de ejecución y revisión del SDK 5.0.1 5.0.102
Cambio de características del SDK 5.0.1 5.0.200

NOTAS:

  • Si el SDK tiene 10 actualizaciones de características anteriores a la actualización de una de las características del entorno de ejecución, los números de versión progresarán en la serie de 1000. La versión 5.0.1000 vendría después de la versión 5.0.900. No se espera que esta situación llegue a producirse.
  • Nunca se publicarán 99 versiones sin publicar ninguna característica. Si una versión se acercase a este número, se forzaría una publicación de características.

Puede ver más detalles en la propuesta inicial, que forma parte del repositorio dotnet/designs.

Control de versiones semántico

En cierto modo, el entorno de ejecución de .NET Core el Versionamiento Semántico (SemVer), que adopta el uso del esquema de control de versiones MAJOR.MINOR.PATCH y emplea las distintas partes del número de versión para describir el grado y el tipo de cambio.

MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]

Los elementos opcionales PRERELEASE y BUILDNUMBER nunca forman parte de las versiones compatibles y solo están presentes en las compilaciones nocturnas, en las compilaciones locales a partir de destinos de origen y en las versiones preliminares no compatibles.

Comprender los cambios en el número de versión del runtime

  • MAJOR se incrementa una vez al año y puede suponer lo siguiente:

    • Hay cambios significativos en el producto o este toma una nueva dirección.
    • La API introduce cambios muy importantes. Hay un nivel de aceptación de cambios importantes elevado.
    • Se adopta una versión MAJOR más reciente de una dependencia existente.

    Las versiones principales llegan una vez al año, y las versiones con número pares cuenta con soporte a largo plazo (LTS). La primera versión LTS que usa este esquema de control de versiones es .NET 6. La versión no LTS más reciente es .NET 5.

  • MINOR se incrementa cuando:

    • Se agrega un área expuesta de API pública.
    • Se agrega un nuevo comportamiento.
    • Se adopta una versión MINOR más reciente de una dependencia existente.
    • Se presenta una nueva dependencia.
  • PATCH se incrementa cuando:

    • Se realizan correcciones de errores.
    • Se agrega compatibilidad con una plataforma más reciente.
    • Se adopta una versión PATCH más reciente de una dependencia existente.
    • Cualquier otro cambio no se ajusta a uno de los casos anteriores.

Cuando hay varios cambios, se incrementa el elemento superior afectado por cambios individuales, mientras que los siguientes se restablecen a cero. Por ejemplo, cuando se incrementa MAJOR, MINOR.PATCH se restablecen a cero. Cuando se incrementa MINOR, PATCH se restablece a cero, mientras que MAJOR no se modifica.

Números de versión en los nombres de archivo

Los archivos descargados para .NET indican la versión; por ejemplo, dotnet-sdk-5.0.301-win10-x64.exe.

Versiones preliminares

Las versiones preliminares tienen un elemento -preview.[number].[build] anexado al número de versión. Por ejemplo: 6.0.0-preview.5.21302.13.

Versiones de mantenimiento

Cuando se lanza una versión, las ramas de la versión generalmente dejan de producir compilaciones diarias y, en su lugar, empiezan a generar compilaciones de mantenimiento. Las versiones de mantenimiento tienen un elemento -servicing-[number] anexado a la versión. Por ejemplo: 5.0.1-servicing-006924.

Vea también