Node.js 27 Alpha Rilis dengan V8 15.6, Batas Heap Default Setengah RAM, dan OpenSSL 3 Wajib
Rilis major pertama di bawah jadwal tahunan yang baru datang dengan daftar perubahan yang cukup panjang, dan beberapa di antaranya bisa mengubah perilaku aplikasi tanpa satu baris kode pun diubah.
Tim Node.js merilis Node.js 27.0.0 versi alfa pada Kamis (29/10/2026). Menurut catatan rilis di situs resmi Node.js, build bernomor 27.0.0-alpha.0.0.0 itu dirilis oleh Rafael Gonzaga dan memperbarui mesin V8 dari versi 14.6 di Node.js 26 menjadi 15.6. Ini rilis major pertama sejak proyek tersebut mengumumkan perubahan jadwal rilis, dari dua menjadi satu rilis major per tahun.
Jadwal Baru: Alfa hingga Maret, LTS Oktober 2027
Berdasarkan rangkuman berita pengembang SourceCodester, fase alfa berjalan kira-kira dari Oktober sampai Maret. Node.js 27 menjadi rilis Current pada April 2027, masuk Long Term Support (LTS) pada Oktober 2027, dan berakhir masa dukungannya pada April 2030. Build alfa tidak ditujukan untuk produksi, melainkan untuk penulis pustaka dan jalur CI yang ingin menguji kompatibilitas lebih awal. CompileDaily sebelumnya membahas rencana Node.js hanya merilis satu versi major per tahun.
V8 15.6 Mengaktifkan Fitur JavaScript Baru
Pembaruan V8 membawa beberapa fitur yang langsung menyala secara default: Math.sumPrecise(), Intl.Locale.prototype.variants, Iterator.prototype.join(), Iterator.prototype.includes(), Iterator.zip(), dan Iterator.zipKeyed(). Tiga fitur lain masih eksperimental dan butuh bendera khusus, yaitu import defer, ArrayBuffer yang tidak bisa diubah, dan batas buffer untuk ekspresi reguler.
Dampak yang lebih terasa ada di sisi perilaku. Hasil fungsi Math bisa berbeda di bit terakhir, urutan Math.random() untuk --random-seed yang sama berubah, dan error.stack tidak lagi dicari lewat rantai prototipe. Untuk larik besar, Array.prototype.sort() kini memakai algoritme PowerSort.
Batas Memori dan Format Serialisasi Berubah
Tanpa bendera --max-old-space-size, batas heap kini setengah dari memori fisik, dengan rentang minimum 256 MB dan maksimum 4 GB. Memori yang dipegang Buffer dan ArrayBuffer ikut dihitung. Tim Node.js meminta pengembang yang bergantung pada nilai bawaan lama untuk menetapkan batas itu secara eksplisit.
Format v8.serialize(), structuredClone(), dan postMessage() juga berganti, sehingga data yang diserialkan tidak bisa dibaca rilis Node.js lama. Heap snapshot kini memuat objek internal dan sumber skrip lengkap, jadi waktu pembuatannya sekitar dua kali lipat dan ukurannya sekitar dua kali lebih besar. Di sisi WebAssembly, asm.js tidak lagi dikompilasi menjadi WebAssembly, dan bendera --experimental-wasm-<nama> diganti menjadi --wasm-<nama>.
OpenSSL 3 Jadi Syarat, Modul Lawas Dipensiunkan
Di antara perubahan yang merusak kompatibilitas (SEMVER-MAJOR), Node.js 27 mensyaratkan OpenSSL 3 atau lebih baru. Build penyedia FIPS bawaan dihapus, dukungan mesin OpenSSL diakhiri, dan sumber OpenSSL dinaikkan ke 4.1.0. Dukungan macOS berbasis Intel diturunkan menjadi eksperimental.
Modul domain kini dinyatakan usang saat runtime dan dialihkan ke AsyncLocalStorage. Modul _http_* ditandai usang, _tls_* mencapai akhir masa hidup, dan bendera --no-experimental-websocket dihapus. Untuk HTTP, keepAliveTimeout bawaan menjadi 65 detik, req.headers memakai prototipe null, dan addTrailers setelah finish ditolak. fs.glob diimplementasikan secara native, sedangkan net melempar galat bila listen dipanggil berkali-kali.
Rilis ini juga membawa tambahan non-merusak, seperti fs.mkstemp(), zlib.crc32c, dan modul eksperimental net/promises. Pekerjaan V8 utamanya dikerjakan Joyee Cheung. Catatan perubahan lengkap V8 dari 14.6 ke 15.6 baru akan dibagikan kemudian, menurut catatan rilis.
Dengan jadwal tahunan, alfa ini adalah satu-satunya jendela panjang sebelum Node.js 27 menjadi rilis Current pada April. Yang perlu dilihat berikutnya adalah seberapa banyak pustaka populer yang tersandung syarat OpenSSL 3 dan perubahan format serialisasi selama enam bulan pengujian.
Komentar (0)
Masuk untuk menulis komentar.
Belum ada komentar.