Visão geral de como .NET é versão

O Runtime .NET e o .NET SDK adicionam novas funcionalidades em diferentes frequências. Em geral, o SDK é atualizado com mais frequência do que o Tempo de Execução. Este artigo explica o tempo de execução e os números da versão SDK.

.NET lança uma nova versão principal a cada novembro. As versões parvas, tais como .NET 6 ou .NET 8, são suportadas a longo prazo (LTS). As versões ímpares são suportadas até ao próximo grande lançamento. O último lançamento de .NET é .NET 6.

Detalhes da versão

O Runtime .NET tem uma abordagem major.minor.patch para a versão que segue a versão semântica.

O .NET SDK, no entanto, não segue a versão semântica. O .NET SDK lança-se mais rapidamente e os seus números de versão devem comunicar tanto o tempo de execução alinhado como os lançamentos de menores e remendos do próprio SDK.

As duas primeiras posições do número da versão .NET SDK correspondem à versão .NET Runtime com a que lançou. Cada versão do SDK pode criar aplicações para este tempo de execução ou qualquer versão inferior.

A terceira posição do número da versão SDK comunica tanto o número menor como o número de remendo. A versão menor é multiplicada por 100. Os dois dígitos finais representam o número do patch. Versão menor 1, patch versão 2 seria representado como 102. Por exemplo, aqui está uma possível sequência de tempo de execução e números de versão SDK:

Alterar Tempo de execução de .NET .NET SDK (*)
Versão inicial 5.0.0 5.0.100
Patch SDK 5.0.0 5.0.101
Tempo de execução e patch SDK 5.0.1 5.0.102
Alteração de funcionalidade SDK 5.0.1 5.0.200

NOTAS:

  • Se o SDK tiver 10 atualizações de funcionalidades antes de uma atualização de funcionalidades de tempo de execução, os números das versões passam para a série 1000. A versão 5.0.1000 seguiria a versão 5.0.900. Não se espera que esta situação ocorra.
  • Não ocorrerão 99 versões de patch sem lançamento de recurso. Se uma libertação se aproximar deste número, força uma libertação de recurso.

Pode ver mais detalhes na proposta inicial no repositório do dotnet/designs .

Controlo de versões semântico

O Runtime .NET adere aproximadamente à Versão Semântica (SemVer), adotando a utilização da MAJOR.MINOR.PATCH versão, utilizando as várias partes do número da versão para descrever o grau e o tipo de alteração.

MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]

As opcionais PRERELEASE e BUILDNUMBER as peças nunca fazem parte de lançamentos suportados e só existem em construções noturnas, construções locais a partir de alvos de origem e lançamentos de pré-visualização não suportados.

Compreender alterações no número de número de versão de tempo de execução

  • MAJOR é incrementado uma vez por ano e pode conter:

    • Alterações significativas no produto, ou uma nova direção do produto.
    • A API introduziu alterações de rutura. Há uma barra alta para aceitar mudanças de rutura.
    • É adotada uma versão mais MAJOR recente de uma dependência existente.

    Grandes lançamentos acontecem uma vez por ano, versões par-numeradas são lançamentos suportados a longo prazo (LTS). A primeira versão LTS utilizando este esquema de versão é .NET 6. A versão mais recente não-LTS é .NET 5.

  • MINOR é incrementado quando:

    • É adicionada a superfície da API pública.
    • Um novo comportamento é adicionado.
    • É adotada uma versão mais MINOR recente de uma dependência existente.
    • Uma nova dependência é introduzida.
  • PATCH é incrementado quando:

    • As correções dos insetos são feitas.
    • É adicionado suporte a uma plataforma mais recente.
    • É adotada uma versão mais PATCH recente de uma dependência existente.
    • Qualquer outra mudança não se encaixa num dos casos anteriores.

Quando há múltiplas alterações, o elemento mais alto afetado pelas alterações individuais é aumentado, e os seguintes são reiniciados para zero. Por exemplo, quando MAJOR é incrementado, MINOR.PATCH são reiniciados a zero. Quando MINOR é incrementado, PATCH é reiniciado para zero enquanto MAJOR permanece o mesmo.

Números de versão em nomes de ficheiros

Os ficheiros descarregados para .NET transportam a versão, por exemplo, dotnet-sdk-5.0.301-win10-x64.exe.

Versões de pré-visualização

As versões de pré-visualização têm um -preview.[number].[build] apêndice ao número da versão. Por exemplo, 6.0.0-preview.5.21302.13.

Versões de manutenção

Após o lançamento, os ramos de libertação geralmente param de produzir construções diárias e, em vez disso, começam a produzir construções de manutenção. As versões de manutenção têm um -servicing-[number] apêndice à versão. Por exemplo, 5.0.1-servicing-006924.

Ver também