Bagikan melalui


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.

Lihat juga