End-Of-Life (EOL)

Mengapa dan bagaimana rilis Node.js mencapai End-Of-Life

Versi mayor Node.js dirilis, diperbaiki, dan ditetapkan sebagai End-Of-Life mengikuti jadwal yang dapat diprediksi. Karena tidak memungkinkan untuk memelihara semua lini rilis selamanya, setelah periode pemeliharaan yang direncanakan, lini rilis mayor Node.js akan berhenti dipelihara oleh proyek.

Lihat jadwal rilis Node.js.

Apa yang Terjadi Ketika Suatu Lini Rilis Mencapai EOL

Saat suatu versi mencapai End-Of-Life, artinya versi tersebut tidak lagi menerima pembaruan, termasuk tambalan keamanan. Ini dapat membuat aplikasi yang berjalan pada versi tersebut rentan terhadap masalah keamanan dan bug yang tidak akan pernah diperbaiki.

  • Tidak ada lagi perbaikan kerentanan: Ketika rilis keamanan baru mengungkap masalah dan tambalan pada lini mayor yang lebih baru, meskipun kerentanan yang sama memengaruhi versi EOL, tidak akan ada rilis baru untuk mereka. Pengguna yang tetap bertahan di versi EOL dan menggunakan jalur kode yang terdampak akan langsung rentan terhadap serangan yang memanfaatkan kerentanan tersebut.
  • Kerusakan pada toolchain: Versi EOL mungkin tidak lagi dapat melakukan dynamic linking dengan versi pustaka bersama yang lebih baru yang menjadi dependensinya, yang dapat menghambat atau merusak pembaruan sistem.
  • Perubahan ekosistem: Banyak paket user-land populer menghentikan dukungan untuk versi Node.js yang sudah EOL dari waktu ke waktu. Ketika suatu aplikasi tetap menggunakan paket yang sudah kedaluwarsa, aplikasi tersebut dapat mengalami lebih banyak kerentanan dan bug yang tidak diperbaiki, semakin menjauhi standar ekosistem.
  • Masalah kepatuhan: Banyak audit industri melarang penggunaan runtime yang tidak dipelihara.

Versi EOL

Versi (Kode nama)Pembaruan TerakhirKerentananRincian
v23
2Tinggi2Sedang
v21
7Tinggi5Sedang
v19
1Tinggi3Sedang2Rendah
v18 (Hydrogen)
15Tinggi19Sedang4Rendah
v17
1Tinggi3Sedang1Rendah
v16 (Gallium)
11Tinggi18Sedang4Rendah
v15
1Kritis6Tinggi1Sedang1Rendah
v14 (Fermium)
2Kritis16Tinggi16Sedang5Rendah
v13
1Kritis2Tinggi
v12 (Erbium)
2Kritis13Tinggi6Sedang3Rendah
v11
3Tinggi1Sedang
v10 (Dubnium)
1Kritis12Tinggi3Sedang1Rendah
v9
1Kritis4Tinggi1Sedang1Rendah
v8 (Carbon)
1Kritis11Tinggi2Sedang1Rendah
v7
3Tinggi2Sedang
v6 (Boron)
16Tinggi12Sedang
v5
15Tinggi8Sedang
v4 (Argon)
2Kritis17Tinggi9Sedang
v0
2Kritis

Dukungan Komersial

Meskipun penggunaan versi EOL memiliki banyak kelemahan, dalam praktiknya banyak organisasi menghadapi batasan yang mencegah peningkatan versi secara langsung, seperti kode warisan (legacy), kebutuhan kepatuhan, atau rantai dependensi yang kompleks. Melalui OpenJS Foundation Ecosystem Sustainability Program, Node.js mendapatkan dukungan dari HeroDevs dan NodeSource untuk menyediakan layanan komersial dalam bentuk perbaikan keamanan.

HeroDevs menyediakan Never-Ending Support (NES) untuk versi Node.js yang telah melewati fase pemeliharaan resmi. Ini mencakup tambalan keamanan, bantuan kepatuhan, dan dukungan teknis untuk menjembatani kebutuhanmu sambil kamu merencanakan strategi peningkatan.

Menggunakan versi EOL melalui dukungan komersial harus dianggap sebagai solusi sementara — tujuan utama tetap untuk meningkatkan ke versi yang masih didukung secara aktif.