Server & InfrastrukturBerita
.NET 8 dan 9 Berakhir, Saatnya Pindah ke .NET 10 atau 11
.NET 8 dan .NET 9 berhenti didukung 10 November 2026, hari yang sama .NET 11 rilis. Ini perbandingan .NET 10 dan 11 serta cara memilih tujuan migrasi.
Jawaban singkat
Per 10 November 2026, .NET 8 dan .NET 9 tidak lagi mendapat pembaruan keamanan, dengan rilis terakhir 8.0.34 dan 9.0.23. Tujuan migrasinya .NET 10 (LTS) atau .NET 11 (STS) yang rilis hari itu, dan keduanya didukung sampai 14 November 2028.
Daftar isi
- Apa yang berubah pada 10 November 2026?
- .NET 11 rilis, .NET 8 dan 9 pensiun
- Kenapa .NET 8 dan 9 berakhir bersamaan?
- .NET 10 atau .NET 11, mana yang dipilih?
- Fakta yang perlu diketahui dulu
- Apa saja yang baru di .NET 11?
- Kapan memilih .NET 10, kapan .NET 11
- Langkah migrasi yang realistis
- Pertanyaan yang sering diajukan
End of support di .NET berarti Microsoft berhenti merilis tambalan, termasuk tambalan keamanan, untuk versi tersebut. Aplikasi tetap bisa berjalan, tetapi setiap celah baru yang ditemukan sesudahnya akan dibiarkan terbuka. Per 10 November 2026, status itu berlaku untuk .NET 8 dan .NET 9 sekaligus.
Yang dipertaruhkan bila salah langkah: tetap di versi lama berarti menanggung celah tanpa tambalan, sementara salah memilih versi tujuan bisa berarti harus migrasi lagi lebih cepat dari rencana. Kabar baiknya, tahun ini pilihannya lebih sederhana dari biasanya.
Apa yang berubah pada 10 November 2026?
.NET 11 rilis, .NET 8 dan 9 pensiun
Microsoft merilis .NET 11 pada 10 November 2026, bertepatan dengan hari pertama .NET Conf 2026. Pada hari yang sama, halaman kebijakan dukungan resmi memindahkan .NET 8 dan .NET 9 ke daftar versi yang tidak lagi didukung, dengan tanggal akhir dukungan 10 November 2026.
Pembaruan layanan November 2026 menjadi rilis terakhir untuk keduanya: .NET 8.0.34 (SDK 8.0.428) dan .NET 9.0.23 (SDK 9.0.321). Rilis ini masih memuat sejumlah perbaikan keamanan untuk ASP.NET Core dan runtime. Jadi kalau aplikasimu harus bertahan sebentar di versi lama selama migrasi, setidaknya pastikan sudah di patch terakhir itu.
Ada satu catatan dari pengumuman resmi: untuk CVE-2026-118747, perbaikan di jalur .NET 9 ada di paket NuGet System.Formats.Cbor versi 9.0.24, bukan di runtime 9.0.23. Aplikasi yang memakai paket itu perlu memperbarui paketnya, membangun ulang, lalu memasang ulang aplikasinya.
Kenapa .NET 8 dan 9 berakhir bersamaan?
.NET 8 adalah rilis LTS (Long Term Support) yang didukung tiga tahun sejak November 2023. .NET 9 adalah rilis STS (Standard Term Support). Menurut kebijakan resmi yang berlaku sekarang, STS didukung dua tahun, sehingga .NET 9 yang rilis November 2024 juga berakhir November 2026. Hasilnya, dua versi pensiun di hari yang sama.
.NET 10 atau .NET 11, mana yang dipilih?
Fakta yang perlu diketahui dulu
Hal yang paling menarik tahun ini: .NET 10 (LTS) dan .NET 11 (STS) punya tanggal akhir dukungan yang sama, 14 November 2028, menurut halaman kebijakan resmi per 11 November 2026. Microsoft juga menegaskan kualitas dan kebijakan pemeliharaan LTS dan STS sama. Bedanya hanya panjang dukungan, dan kali ini ujungnya kebetulan bertemu.
| Aspek | .NET 10 | .NET 11 |
|---|---|---|
| Jenis rilis | LTS | STS |
| Rilis | November 2025 | 10 November 2026 |
| Akhir dukungan | 14 November 2028 | 14 November 2028 |
| Patch terbaru per 11 Nov 2026 | 10.0.15 (SDK 10.0.404) | 11.0.0 (SDK 11.0.100) |
| Versi C# bawaan | C# 14 | C# 15 |
| Kematangan | Sudah setahun dipakai, patch sampai 10.0.15 | Baru rilis, belum ada rilis patch |
Apa saja yang baru di .NET 11?
Menurut pengumuman resmi Microsoft, sorotan .NET 11 antara lain:
- C# 15 dengan union types dan closed hierarchies, untuk menyatakan kemungkinan hasil sebuah fungsi dengan pemeriksaan dari compiler.
- SDK lebih responsif, berkat host CLI berbasis Native AOT dan server MSBuild yang tetap hangat di antara perintah.
- ASP.NET Core dengan validasi asinkron, OpenAPI 3.2, dan kemampuan baru untuk Blazor dan SignalR.
- .NET MAUI memakai CoreCLR sebagai runtime bawaan.
- Pustaka dengan kompresi Zstandard bawaan dan cara menjalankan proses yang lebih sederhana.
- Publikasi container dengan digest image yang bisa direproduksi lewat
SOURCE_DATE_EPOCH.
Microsoft juga menyebut ratusan optimasi runtime, termasuk perbaikan di compiler JIT. Seberapa besar dampaknya untuk aplikasimu hanya bisa diketahui dengan mengukur sendiri.
Kapan memilih .NET 10, kapan .NET 11
Pilih .NET 10 bila aplikasimu sistem bisnis yang jarang disentuh, tim kecil yang tidak ingin mengejar fitur bahasa baru, atau bila banyak pustaka pihak ketiga yang kamu pakai belum menyatakan dukungan untuk .NET 11. Setahun pemakaian di produksi berarti masalah umum sudah banyak ditemukan dan didokumentasikan. Dengan tanggal akhir dukungan yang sama, kamu tidak kehilangan apa pun dari sisi masa dukungan.
Pilih .NET 11 bila kamu memang ingin memakai C# 15, peningkatan ASP.NET Core terbaru, atau perbaikan performa yang relevan dengan beban kerjamu, dan timmu terbiasa memperbarui dependensi. Karena masa dukungannya berakhir di hari yang sama dengan .NET 10, melompat ke versi terbaru tahun ini tidak mempercepat migrasi berikutnya.
Satu hal yang perlu diingat dari pola rilis resmi: versi baru terbit setiap November, dan versi bernomor genap adalah LTS. Siapa pun yang memilih 10 atau 11 perlu merencanakan migrasi berikutnya sebelum November 2028.
Langkah migrasi yang realistis
Mulai dengan inventaris. Di setiap server dan mesin build, jalankan dotnet --list-runtimes dan dotnet --list-sdks untuk melihat versi yang terpasang. Di repositori, cari nilai net8.0 dan net9.0 di file .csproj, serta tag 8.0 dan 9.0 di Dockerfile.
Setelah itu, ubah TargetFramework ke net10.0 atau net11.0, perbarui paket NuGet ke versi yang mendukung target baru, lalu baca daftar breaking changes resmi untuk versi tujuan di dokumentasi Microsoft. Jalankan seluruh pengujian, uji di staging, baru pasang di produksi. Untuk aplikasi yang berjalan di container, ganti image dasar ke tag versi baru lalu bangun ulang image; langkah aman memperbarui container ada di cara update container Docker tanpa kehilangan data.
Bila aplikasinya banyak, prioritaskan yang terbuka ke internet, seperti API dan aplikasi web ASP.NET Core, karena celah baru paling cepat dimanfaatkan di sana. Kerangka kerja menyusun prioritas seperti ini dibahas di apa itu patch management dan cara menjalankannya. Kalau servernya juga masih Windows Server lama, perhatikan jadwal pensiunnya Windows Server 2016 pada Januari 2027 supaya dua migrasi bisa direncanakan sekaligus.
Pertanyaan yang sering diajukan
Apakah aplikasi .NET 8 langsung berhenti berjalan setelah 10 November 2026?
Tidak. Aplikasi tetap berjalan seperti biasa. Yang berhenti adalah pembaruan keamanan dan perbaikan dari Microsoft, sehingga celah yang ditemukan sesudahnya tidak akan ditambal.
Kenapa tidak tetap di .NET 8 karena dulu LTS?
LTS hanya berarti dukungan tiga tahun, dan untuk .NET 8 masa itu sudah habis per 10 November 2026. Rilis terakhirnya 8.0.34. Setelah itu tidak ada lagi tambalan resmi.
Apakah lompat dari .NET 8 langsung ke .NET 11 bisa?
Bisa, tetapi kamu perlu membaca daftar breaking changes untuk setiap versi di antaranya (9, 10, dan 11), karena perubahan itu menumpuk. Lompatan ke .NET 10 berarti dua set perubahan, ke .NET 11 tiga set.
Bagaimana mengecek versi .NET yang dipakai aplikasi di server?
Jalankan dotnet --list-runtimes untuk melihat runtime yang terpasang, lalu cek TargetFramework di file .csproj atau file runtimeconfig.json hasil publish untuk mengetahui versi yang dipakai aplikasi.


