Pada 28 Oktober 2026, Node.js 26.13.0 resmi menyandang status Long Term Support (LTS) dengan nama kode "Lithium", sehingga garis 26.x kini mendapat dukungan penuh sampai akhir April 2029. Sepekan sebelumnya, Node.js 24 "Krypton" sudah masuk fase maintenance dan hanya menerima perbaikan keamanan tanpa tambahan fitur. Kombinasi kedua pengumuman itu menjadikan bulan ini waktu paling tepat bagi tim yang menjalankan aplikasi JavaScript di produksi untuk merencanakan upgrade.
Apa yang baru di Node.js 26
Rilis 26.0.0 pada 5 Mei 2026 membawa sejumlah perubahan besar yang sekarang sudah stabil di jalur LTS:
- Temporal API aktif secara default, menggantikan peran objek
Dateyang selama puluhan tahun menjadi sumber bug zona waktu. - V8 14.6 dari Chromium 146, lengkap dengan fitur bahasa baru seperti
Map.prototype.getOrInsert(),getOrInsertComputed(), danIterator.concat(). - Undici 8.0.2 sebagai HTTP client bawaan dengan perbaikan performa dan perilaku
fetch. - Perbaikan keamanan dari rilis 26.12.1 pada 21 Oktober 2026, termasuk penolakan alamat IP non-kanonik di TLS serta validasi input DNS terhadap null byte.
Temporal: menghentikan bug tanggal yang berulang
Masalah klasiknya begini: tanggal "2026-11-02" tiba-tiba bergeser sehari ketika dibaca di server dengan zona waktu berbeda, karena Date memperlakukan string tanggal sebagai UTC. Temporal memisahkan konsep tanggal kalender dari waktu presisi, sehingga hasilnya konsisten di mana pun kode dijalankan.
const lama = new Date('2026-11-02');
console.log(lama.getDate()); // 1 atau 2, tergantung zona waktu server
const hari = Temporal.PlainDate.from('2026-11-02');
console.log(hari.day); // 2, tanpa pergeseran zona waktu
const sekarang = Temporal.Now.zonedDateTimeISO('Asia/Jakarta');
console.log(sekarang.add({ days: 30 }).toString());
const akhir = Temporal.PlainDate.from('2027-01-15');
console.log(akhir.since(hari).toString());
Untuk aplikasi pemerintahan maupun keuangan yang akrab dengan tenggat, jadwal, dan laporan per periode, Temporal menghilangkan kebutuhan akan library tanggal pihak ketiga pada banyak kasus.
Yang dihapus, cek sebelum upgrade
Bagian ini paling sering membuat aplikasi gagal saat pindah versi, karena Node.js 26 menghapus beberapa API lama secara permanen:
http.Server.prototype.writeHeader()dihapus total dan harus diganti denganwriteHead().- Modul internal lama
_stream_wrap,_stream_readable,_stream_writable,_stream_duplex, serta_stream_passthroughtidak lagi tersedia. - Flag
--experimental-transform-typesdihapus, danmodule.register()kini deprecated saat runtime sehingga proyek dengan loader kustom perlu menyesuaikan. - Build dari source mensyaratkan GCC 13.2 atau lebih baru.
Ada satu catatan operasional yang mudah terlewat: sejak Node.js 25, binary resmi untuk Linux di-link terhadap libatomic. Di beberapa distro paket itu belum terpasang, sehingga node -v bisa gagal dengan pesan soal libatomic.so.1. Solusinya cukup memasang paket libatomic1 di Debian/Ubuntu atau libatomic di keluarga RHEL sebelum mengganti binary.
Langkah upgrade yang aman
- Inventarisasi dulu. Jalankan
node -vdi setiap server dan periksa fieldenginespadapackage.json, karena proyek tanpa batasan versi biasanya paling rawan. - Uji di lokal atau CI, jangan langsung di produksi. Gunakan nvm atau fnm untuk memasang 26.13.0 berdampingan:
nvm install 26.13.0 nvm use 26.13.0 node -v - Rebuild native module. Modul yang dikompilasi lewat node-gyp harus dibangun ulang karena
NODE_MODULE_VERSIONberubah, jadi hapusnode_moduleslalu instal ulang di lingkungan bersih. - Nyalakan peringatan deprecation. Jalankan test suite dengan
node --trace-deprecationagar pemanggilan API yang akan dihapus terlihat sebelum berubah menjadi error. - Update matriks CI secara bertahap. Tambahkan Node 26 di samping 24, lalu tulis batas versi yang eksplisit:
"engines": { "node": ">=26.13.0 <27" } - Deploy bertahap. Naikkan satu layanan kecil lebih dulu, pantau log dan metrik memori selama beberapa hari, baru pindahkan layanan utama.
Kapan sebaiknya pindah?
Jadwal resmi Node.js memberi gambaran yang cukup jelas untuk perencanaan:
- Node.js 22 "Jod" didukung sampai 30 April 2027.
- Node.js 24 "Krypton" masuk maintenance sejak 20 Oktober 2026 dan berakhir 30 April 2028.
- Node.js 26 "Lithium" berstatus LTS sejak 28 Oktober 2026 dan berakhir 30 April 2029.
Untuk proyek baru, 26 LTS adalah pilihan paling masuk akal, sementara aplikasi lama yang masih di 22 tidak perlu panik. Mulai uji di 26 sekarang, sebab satu tahun lagi Node 22 berhenti total. Bagi tim yang mengelola banyak aplikasi, cara paling efisien adalah menyeragamkan versi runtime di semua server dan menuliskannya di dokumentasi deployment, bukan membiarkan tiap proyek memakai versi berbeda.
Sumber: Node.js 26.13.0 "Lithium" (LTS), Changelog Node.js 26, Jadwal rilis Node.js, MDN: Temporal.
