Vue d’ensemble de la façon dont .NET est versionné
Le runtime 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 les numéros de version du runtime et du Kit de développement logiciel (SDK).
.NET publie une nouvelle version majeure tous les mois de novembre. Les versions numérotées paires, telles que .NET 6 ou .NET 8, sont prises en charge à long terme (LTS). Les versions numérotées impaires sont prises en charge jusqu’à la prochaine version majeure. La dernière version de .NET est .NET 6.
Informations détaillées sur la gestion des versions
Le runtime .NET adopte une approche de type majeur/mineur/correctif de la gestion de versions qui adhère à la gestion sémantique de versions.
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 publié plus rapidement 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 avec laquelle il a été publiée. 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 de numéros de version du runtime et du SDK :
Modifier | Runtime .NET | KIT DE DÉVELOPPEMENT LOGICIEL (SDK) .NET (*) |
---|---|---|
Version initiale | 5.0.0 | 5.0.100 |
Correctif de SDK | 5.0.0 | 5.0.101 |
Correctif de SDK et du runtime | 5.0.1 | 5.0.102 |
Modifications de fonctionnalités du SDK | 5.0.1 | 5.0.200 |
REMARQUES :
- Si le Kit de développement logiciel (SDK) a 10 mises à jour de fonctionnalités avant une mise à jour de fonctionnalité de runtime, les numéros de version sont ajoutés à 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 Core adhère globalement à la Gestion sémantique de version (SemVer), adoptant ainsi l’utilisation de la gestion de versions MAJOR.MINOR.PATCH
, qui utilise 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 :- Des changements significatifs dans le produit ou une nouvelle direction de produit.
- L’API a introduit des modifications cassantes. La barre est haute pour accepter les changements cassants.
- Une version
MAJOR
plus récente d’une dépendance existante est adoptée.
Les versions majeures se produisent une fois par an et les versions numérotées paires sont des versions prises en charge à long terme (LTS). La première version LTS utilisant ce schéma de contrôle de version est .NET 6. 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, quand MAJOR
est incrémenté, MINOR.PATCH
sont remis à zéro. Lorsqu’il MINOR
est incrémenté, PATCH
est réinitialisé à zéro tout et MAJOR
ne change pas.
Numéros de version dans les noms de fichiers
Les fichiers téléchargés pour .NET mentionnent la version, par exemple dotnet-sdk-5.0.301-win10-x64.exe
.
Préversions
Pour les préversions, un -preview.[number].[build]
est 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
.