Overzicht van de versie van .NET

De .NET Runtime en de .NET SDK voegen nieuwe functies toe met verschillende frequenties. Over het algemeen wordt de SDK vaker bijgewerkt dan de Runtime. In dit artikel worden de runtime- en SDK-versienummers uitgelegd.

.NET brengt elke november een nieuwe primaire versie uit. Even genummerde releases, zoals .NET 6 of .NET 8, worden op lange termijn ondersteund (LTS). Oneven releases worden ondersteund tot de volgende primaire release. De nieuwste versie van .NET is .NET 6.

Versiebeheerdetails

De .NET Runtime heeft een major.minor.patch-benadering voor versiebeheer die volgt op semantische versiebeheer.

De .NET SDK volgt echter geen semantische versiebeheer. De .NET SDK wordt sneller uitgebracht en de bijbehorende versienummers moeten zowel de afgestemde runtime als de eigen secundaire en patchreleases van de SDK communiceren.

De eerste twee posities van het .NET SDK-versienummer komen overeen met de .NET Runtime-versie waarmee deze is uitgebracht. Elke versie van de SDK kan toepassingen maken voor deze runtime of een lagere versie.

De derde positie van het SDK-versienummer communiceert zowel het secundaire als het patchnummer. De secundaire versie wordt vermenigvuldigd met 100. De laatste twee cijfers vertegenwoordigen het patchnummer. Secundaire versie 1, patchversie 2 wordt weergegeven als 102. Hier volgt bijvoorbeeld een mogelijke reeks runtime- en SDK-versienummers:

Wijziging .NET-runtime .NET SDK (*)
Eerste release 5.0.0 5.0.100
SDK-patch 5.0.0 5.0.101
Runtime- en SDK-patch 5.0.1 5.0.102
Wijziging van SDK-functie 5.0.1 5.0.200

NOTITIES:

  • Als de SDK 10 onderdelenupdates heeft vóór een runtime-onderdelenupdate, worden versienummers in de 1000-serie opgenomen. Versie 5.0.1000 volgt versie 5.0.900. Deze situatie zal naar verwachting niet optreden.
  • 99 patchreleases zonder een functierelease worden niet uitgevoerd. Als een release dit nummer nadert, wordt er een functierelease afgevraagd.

Meer informatie vindt u in het eerste voorstel in de opslagplaats dotnet/designs .

Semantic Versioning

De .NET Runtime houdt zich ruwweg aan Semantic Versioning (SemVer), waarbij het gebruik van MAJOR.MINOR.PATCH versiebeheer wordt gebruikt, waarbij de verschillende onderdelen van het versienummer worden gebruikt om de mate en het type wijziging te beschrijven.

MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]

De optionele PRERELEASE onderdelen BUILDNUMBER maken nooit deel uit van ondersteunde releases en bestaan alleen op nachtversies, lokale builds van brondoelen en niet-ondersteunde preview-releases.

Inzicht in wijzigingen in runtime-versienummer

  • MAJOR wordt één keer per jaar verhoogd en kan het volgende bevatten:

    • Belangrijke wijzigingen in het product of een nieuwe productrichting.
    • API heeft belangrijke wijzigingen geïntroduceerd. Er is een hoge balk voor het accepteren van belangrijke wijzigingen.
    • Er wordt een nieuwere MAJOR versie van een bestaande afhankelijkheid gebruikt.

    Grote releases vinden eenmaal per jaar plaats, zelfs genummerde versies worden op lange termijn ondersteund (LTS). De eerste LTS-release met dit versiebeheerschema is .NET 6. De nieuwste niet-LTS-versie is .NET 5.

  • MINOR wordt verhoogd wanneer:

    • Er wordt een openbaar API-oppervlak toegevoegd.
    • Er wordt een nieuw gedrag toegevoegd.
    • Er wordt een nieuwere MINOR versie van een bestaande afhankelijkheid gebruikt.
    • Er wordt een nieuwe afhankelijkheid geïntroduceerd.
  • PATCH wordt verhoogd wanneer:

    • Er worden oplossingen voor fouten aangebracht.
    • Ondersteuning voor een nieuw platform wordt toegevoegd.
    • Er wordt een nieuwere PATCH versie van een bestaande afhankelijkheid gebruikt.
    • Elke andere wijziging past niet in een van de vorige gevallen.

Wanneer er meerdere wijzigingen zijn, wordt het hoogste element dat wordt beïnvloed door afzonderlijke wijzigingen verhoogd en worden de volgende opnieuw ingesteld op nul. Wanneer MAJOR bijvoorbeeld wordt verhoogd, MINOR.PATCH wordt deze waarde opnieuw ingesteld op nul. Wanneer MINOR wordt verhoogd, PATCH wordt deze ingesteld op nul terwijl MAJOR deze hetzelfde blijft.

Versienummers in bestandsnamen

De bestanden die voor .NET zijn gedownload, dotnet-sdk-5.0.301-win10-x64.exebevatten bijvoorbeeld de versie.

Preview-versies

Preview-versies hebben een -preview.[number].[build] toegevoegd aan het versienummer. Bijvoorbeeld 6.0.0-preview.5.21302.13.

Onderhoudsversies

Nadat een release is uitgegaan, stoppen de releasebranches over het algemeen met het produceren van dagelijkse builds en beginnen ze in plaats daarvan met het produceren van onderhoudsversies. Onderhoudsversies zijn -servicing-[number] toegevoegd aan de versie. Bijvoorbeeld 5.0.1-servicing-006924.

Zie ook