Gambaran umum tentang bagaimana .NET diversikan
.NET Runtime dan .NET SDK menambahkan fitur baru pada frekuensi yang berbeda. Secara umum, SDK diperbarui lebih sering daripada Runtime. Artikel ini menjelaskan runtime dan nomor versi SDK.
.NET merilis versi utama baru setiap November. Rilis bernomor genap, seperti .NET 6 atau .NET 8, didukung jangka panjang (LTS). Rilis bernomor ganjil didukung hingga rilis utama berikutnya. Rilis terbaru .NET adalah .NET 6.
Detail penerapan versi
.NET Runtime memiliki pendekatan major.minor.patch untuk penerapan versi yang mengikuti penerapan versi semantik.
.NET SDK, bagaimanapun, tidak mengikuti penerapan versi semantik. .NET SDK dirilis lebih cepat dan nomor versinya harus mengomunikasikan runtime yang selaras dan rilis minor dan patch SDK sendiri.
Dua posisi pertama nomor versi .NET SDK cocok dengan versi .NET Runtime yang dirilisnya. Setiap versi SDK dapat membuat aplikasi untuk runtime ini atau versi yang lebih rendah.
Posisi ketiga nomor versi SDK mengkomunikasikan nomor minor dan patch. Versi minor dikalikan dengan 100. Dua digit terakhir mewakili angka patch. Versi minor 1, patch versi 2 akan diwakili sebagai 102. Misalnya, berikut adalah kemungkinan urutan runtime bahasa umum dan nomor versi SDK:
Ubah | Runtime .NET | .NET SDK (*) |
---|---|---|
Rilis awal | 5.0.0 | 5.0.100 |
Patch SDK | 5.0.0 | 5.0.101 |
Runtime dan patch SDK | 5.0.1 | 5.0.102 |
Perubahan fitur SDK | 5.0.1 | 5.0.200 |
CATATAN:
- Jika SDK memiliki 10 pembaruan fitur sebelum pembaruan fitur runtime, nomor versi bergulir ke seri 1000. Versi 5.0.1000 akan mengikuti versi 5.0.900. Situasi ini tidak diharapkan terjadi.
- 99 rilis patch tanpa rilis fitur tidak akan terjadi. Jika rilis mendekati angka ini, rilis ini memaksa rilis fitur.
Anda dapat melihat detail selengkapnya dalam proposal awal di repositori dotnet/desain .
Penerapan versi semantik
Runtime .NET kira-kira mematuhi Semantic Versioning (SemVer), mengadopsi penggunaan penerapan MAJOR.MINOR.PATCH
versi, menggunakan berbagai bagian dari nomor versi untuk menggambarkan tingkat dan jenis perubahan.
MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]
Bagian dan BUILDNUMBER
opsional PRERELEASE
tidak pernah menjadi bagian dari rilis yang didukung dan hanya ada pada build malam hari, build lokal dari target sumber, dan rilis pratinjau yang tidak didukung.
Memahami perubahan nomor versi runtime
MAJOR
bertambah setahun sekali dan mungkin berisi:- Perubahan signifikan dalam produk, atau arah produk baru.
- API memperkenalkan perubahan yang melanggar. Ada bilah tinggi untuk menerima perubahan yang melanggar.
- Versi dependensi yang lebih
MAJOR
baru dari dependensi yang ada diadopsi.
Rilis utama terjadi setahun sekali, versi bernomor genap adalah rilis yang didukung jangka panjang (LTS). Rilis LTS pertama yang menggunakan skema penerapan versi ini adalah .NET 6. Versi non-LTS terbaru adalah .NET 5.
MINOR
dinaikkan ketika:- Area permukaan API publik ditambahkan.
- Perilaku baru ditambahkan.
- Versi dependensi yang lebih
MINOR
baru dari dependensi yang ada diadopsi. - Dependensi baru diperkenalkan.
PATCH
dinaikkan ketika:- Perbaikan bug dibuat.
- Dukungan untuk platform yang lebih baru ditambahkan.
- Versi dependensi yang lebih
PATCH
baru dari dependensi yang ada diadopsi. - Perubahan lain tidak sesuai dengan salah satu kasus sebelumnya.
Ketika ada beberapa perubahan, elemen tertinggi yang dipengaruhi oleh perubahan individual bertambah bertahap, dan yang berikut diatur ulang ke nol. Misalnya, ketika MAJOR
bertahap, MINOR.PATCH
diatur ulang ke nol. Ketika MINOR
bertahap, PATCH
diatur ulang ke nol sementara MAJOR
tetap sama.
Nomor versi dalam nama file
File yang diunduh untuk .NET membawa versi, misalnya, dotnet-sdk-5.0.301-win10-x64.exe
.
Versi pratinjau
Versi pratinjau telah -preview.[number].[build]
ditambahkan ke nomor versi. Contohnya,6.0.0-preview.5.21302.13
.
Versi layanan
Setelah rilis keluar, cabang rilis umumnya berhenti memproduksi build harian dan sebaliknya mulai memproduksi build layanan. Versi layanan telah -servicing-[number]
ditambahkan ke versi . Contohnya,5.0.1-servicing-006924
.