Vue d’ensemble de la gestion des versions de .NET

Le Runtime .net et le kit de développement logiciel (SDK) .net ajoutent de nouvelles fonctionnalités à différentes fréquences. En général, le kit de développement logiciel (SDK) est mis à jour plus fréquemment que le Runtime. Cet article explique le runtime et les numéros de version du kit de développement logiciel (SDK).

.NET publie une nouvelle version majeure chaque novembre. Les versions paires, telles que .NET 6 ou .NET 8, sont prises en charge à long terme (LTS). Les versions inhabituelles sont prises en charge jusqu’à la prochaine version majeure. La dernière version de .NET est .NET 5.

Informations détaillées sur la gestion des versions

Le Runtime .NET présente une approche majeure. mineure de correctif pour le contrôle de version qui suit le contrôle de version sémantique.

Toutefois, le kit de développement logiciel (SDK) .NET ne suit pas le contrôle de version sémantique. Le kit de développement logiciel (SDK) .NET est plus rapide et ses numéros de version doivent communiquer à la fois le runtime aligné et les versions mineures et correctives du SDK.

Les deux premières positions du numéro de version du kit de développement logiciel (SDK) .NET correspondent à la version du Runtime .NET qu’il a fournie avec. Chaque version du SDK peut créer des applications pour ce runtime ou toute version antérieure.

La troisième position du numéro de la version du SDK indique le numéro mineur et de correctif. La version mineure est multipliée par 100. Les deux derniers chiffres représentent le numéro du correctif. La version mineure 1 avec version de correctif 2 serait représentée par le chiffre 102. Par exemple, voici une séquence possible des numéros de version du runtime et du kit de développement logiciel (SDK) :

Changement Runtime .NET SDK .NET ( * )
Version initiale 5.0.0 5.0.100
Correctif SDK 5.0.0 5.0.101
Correctif du runtime et du SDK 5.0.1 5.0.102
Modification des fonctionnalités du SDK 5.0.1 5.0.200

REMARQUES :

  • Si le kit de développement logiciel (SDK) comporte 10 mises à jour de fonctionnalités avant une mise à jour de fonctionnalité d’exécution, les numéros de version s’inscrivent dans la série 1000. La version 5.0.1000 suit la version 5.0.900. Cette situation n’est pas censée se produire.
  • Il ne se produira pas 99 publications de correctifs sans une publication de fonctionnalité. Si une publication est proche de ce numéro, cela force une publication de fonctionnalité.

Vous trouverez plus de détails dans la proposition initiale dans le dépôt dotnet/designs.

Gestion sémantique de version

Le Runtime .net adhère approximativement à la gestion sémantique des versions (SemVer), en adoptant l’utilisation du contrôle de MAJOR.MINOR.PATCH version, en utilisant les différentes parties du numéro de version pour décrire le degré et le type de modification.

MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]

Les pièces facultatives PRERELEASE et BUILDNUMBER ne feront jamais partie des versions prises en charge, elles existent seulement sur les builds générés pendant la nuit, builds locaux générés à partir des cibles de la source et préversions non prises en charge.

Description des changements de numéro de version du runtime

  • MAJOR est incrémenté une fois par an et peut contenir :

    • Modifications significatives dans le produit ou nouvelle orientation du produit.
    • L’API a introduit des modifications avec rupture. La barre est haute pour accepter les changements cassants.
    • Une version MAJOR plus récente d’une dépendance existante est adoptée.

    Les mises en production majeures se produisent une fois par an, les versions paires sont des versions prises en charge à long terme (LTS). La première version de LTS à l’aide de ce schéma de contrôle de version est .NET 6, qui sera publiée en novembre 2021. La dernière version non LTS est .NET 5.

  • MINOR est incrémenté quand :

    • Une surface d’exposition d’API publique est ajoutée.
    • Un nouveau comportement est ajouté.
    • Une version MINOR plus récente d’une dépendance existante est adoptée.
    • Une nouvelle dépendance est introduite.
  • PATCH est incrémenté quand :

    • Des correctifs de bogues sont effectués.
    • La prise en charge d’une plateforme plus récente est ajoutée.
    • Une version PATCH plus récente d’une dépendance existante est adoptée.
    • Toute autre modification ne relevant pas d’un des cas précédents.

Quand il existe plusieurs modifications, l’élément le plus élevé affecté par des modifications individuelles est incrémenté et les suivants sont remis à zéro. Par exemple, lorsque MAJOR est incrémenté, est MINOR.PATCH réinitialisé à zéro. Lorsque MINOR est incrémenté, PATCH est réinitialisé à zéro alors qu’il MAJOR reste le même.

Numéros de version dans les noms de fichiers

Les fichiers téléchargés pour .NET portent la version, par exemple, dotnet-sdk-5.0.301-win10-x64.exe .

Préversions

Les versions préliminaires ont un -preview.[number].[build] ajouté au numéro de version. Par exemple : 6.0.0-preview.5.21302.13.

Versions de maintenance

Une fois qu’une version est publiée, les branches de la version arrêtent généralement de produire des builds quotidiens pour commencer à produire des builds de maintenance. Pour les versions de maintenance, un -servicing-[number] est ajouté à la version. Par exemple : 5.0.1-servicing-006924.

Voir aussi