Değişiklikler​

Bu sürümle birlikte Node.js 26.x, Lithium kod adıyla Uzun Süreli Destek (LTS) aşamasına geçirildi. Güncellemeler Nisan 2029'un sonuna kadar sürdürülecek.

Sürümün LTS olduğunu belirtmek için process.release nesnesi gibi üst verilerin güncellenmesi dışında Node.js 26.12.1 sürümünden başka bir değişiklik dahil edilmedi.

Daha önceki bir Uzun Süreli Destek sürümünden (ör. Node.js 24, 22 veya daha eski sürümlerden) güncelleme yapılıyorsa şu hususa dikkat edilmesi gerekiyor: Node.js 25'ten itibaren Linux için sunulan resmî ikili dosyalar libatomic kitaplığına bağlandı. Kullanılan Linux dağıtımına bağlı olarak bu kitaplığın ayrıca yüklenmesi gerekebilir.

Öne çıkan değişiklikler:​

  • (CVE-2026-106069, CVE-2026-106072) TLS: Standartlara uygun olmayan IP adreslerinin reddedilmesi sağlandı (Matteo Collina) – Yüksek.
  • (CVE-2026-105482) DNS: Çözümleme girdilerinde null baytlarının doğrulanması sağlandı (James M Snell) – Yüksek.
  • (CVE-2026-105483) TLS: IP normalleştirmesindeki gerileme sorunu düzeltildi (James M Snell) – Yüksek.
  • (CVE-2026-111497) src: BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH sabiti dışarıya açıldı (Antoine du Hamel) – Yüksek.
  • (CVE-2026-111497) Bağımlılıklar – Brotli: 0ed4268a4401abcb44720963 değişikliği seçilerek mevcut sürüme aktarıldı (Evgenii Kliuchnikov) – Yüksek.
  • (CVE-2026-105481) HTTP: G/Ç işlemi yapılmadığında da aracı veri korumasının çalışması sağlandı (James M Snell) – Orta.
  • (CVE-2026-106074) Crypto: Anlık görüntüler arasında rastgele sayı önbelleklerinin sıfırlanması sağlandı (Filip Skokan) – Orta.
  • (CVE-2026-106070) zlib: Geçersiz ZIP yerel başlıklarının önbelleğe alınması engellendi (Matteo Collina) – Düşük.
  • (CVE-2026-106071) src: Joker karakterli düğümlerde dosya sistemi izin ağacındaki düğüm sorunu düzeltildi (James M Snell) – Düşük.
  • (CVE-2026-106073) İzinler: realpathSync içinde izin modelinin kontrol edilmesi sağlandı (RafaelGSS) – Düşük.
  • Bağımlılıklar – V8: 93cd21e8254b değişikliği önceki sürümden geriye aktarıldı (Joyee Cheung).
  • Crypto: Kök sertifikalar NSS 3.131.1 sürümüne güncellendi (Antoine du Hamel).
  • TLS: Engellenmiş açık anahtarlar içeren sertifika zincirlerinin reddedilmesi sağlandı (Ulises Gascon).
  • Bağımlılıklar: c-ares 1.34.9 sürümüne güncellendi (Node.js GitHub Bot).
  • Araçlar: Noter onayından sonra Gatekeeper kontrolünün ve stapling işleminin yeniden denenmesi sağlandı (Ryan Aslett).
  • Crypto: X.509 dönüştürme ve biçimlendirme işlemleri daha güvenli hâle getirildi (Filip Skokan).

İşlem Kayıtları (Commits)​

  • [818e4ca061] – Crypto: Kök sertifikalar NSS 3.131.1 sürümüne güncellendi (Antoine du Hamel) #66877.
  • [fd3c87ed43] – Crypto: X.509 dönüştürme ve biçimlendirme işlemleri daha güvenli hâle getirildi (Filip Skokan) nodejs-private/node-private#966.
  • [acffa610db] – Crypto: Anlık görüntüler arasında rastgele sayı önbelleklerinin sıfırlanması sağlandı (Filip Skokan) nodejs-private/node-private#987.
  • [7895a5cd2d] – Bağımlılıklar: undici 8.12.2 sürümüne güncellendi (Node.js GitHub Bot) #66721.
  • [12daa54d2e] – Bağımlılıklar – V8: 93cd21e8254b değişikliği önceki sürümden geriye aktarıldı (Joyee Cheung) nodejs-private/node-private#999.
  • [6a8b3db7e2] – Bağımlılıklar: c-ares 1.34.9 sürümüne güncellendi (Node.js GitHub Bot) #66868.
  • [a6040b50d9] – Bağımlılıklar – Brotli: 0ed4268a4401abcb44720963 değişikliği seçilerek mevcut sürüme aktarıldı (Evgenii Kliuchnikov) nodejs-private/node-private#1002.
  • [6b78ea171d] – DNS: Çözümleme girdilerinde null baytlarının doğrulanması sağlandı (James M Snell) nodejs-private/node-private#984.
  • [0683ee5f7d] – HTTP: G/Ç işlemi yapılmadığında da aracı veri korumasının çalışması sağlandı (James M Snell) nodejs-private/node-private#983.
  • [e5cae10148] – Geri alma: “module: ES modüllerinin çoğunu eşzamanlı yükleme” değişikliği geri alındı (Antoine du Hamel) #66786.
  • [cc244131aa] – İzinler: realpathSync içinde izin modelinin kontrol edilmesi sağlandı (RafaelGSS) nodejs-private/node-private#973.
  • [0392385841] – src: BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH sabiti dışarıya açıldı (Antoine du Hamel) nodejs-private/node-private#1002.
  • [c273a408c9] – src: Joker karakterli düğümlerde dosya sistemi izin ağacındaki düğüm sorunu düzeltildi (James M Snell) nodejs-private/node-private#986.
  • [a2caddd20e] – TLS: Engellenmiş açık anahtarlar içeren sertifika zincirlerinin reddedilmesi sağlandı (Ulises Gascon) #66871.
  • [ad788ccd07] – TLS: Standartlara uygun olmayan IP adreslerinin reddedilmesi sağlandı (Matteo Collina) nodejs-private/node-private#982.
  • [cd4b05469c] – TLS: IP normalleştirmesindeki gerileme sorunu düzeltildi (James M Snell) nodejs-private/node-private#985.
  • [5fa440e0d7] – Araçlar: Noter onayından sonra Gatekeeper kontrolünün ve stapling işleminin yeniden denenmesi sağlandı (Ryan Aslett) #66855.
  • [745ad77156] – zlib: Geçersiz ZIP yerel başlıklarının önbelleğe alınması engellendi (Matteo Collina) nodejs-private/node-private#981.

Öne Çıkan Değişiklikler​

  • WebAssembly veya RX desteği bulunmadığında hata fırlatılması sağlandı. (SEMVER-MINOR) doc, lib ve src bileşenlerini kapsıyor. WebSocket için websocketMask() ve websocketUnmask() fonksiyonları eklendi. (SEMVER-MINOR)

Diğer Değişiklikler​

Karşılaştırma testleri​

  • webcrypto-digest testinde subtle.digest fonksiyonuna iletilen girdi düzeltildi.
  • Tampon belleği okuma/yazma testlerindeki buffer seçeneği düzeltildi.
  • util.parseArgs için karşılaştırma testi eklendi.
  • url-searchparams-sort testinin her seferinde yeni bir listeyi sıralaması sağlandı.
  • GitHub Actions üzerinde N-API testlerinin çalışması düzeltildi.

Derleme sistemi​

  • V8 değişiklikleri için QUIC sürekli entegrasyon (CI) testleri etkinleştirildi.
  • Python 3.15 desteği eklendi.
  • Paylaşılan Google Test (gtest) kitaplığının node bağlantı yoluna eklenmesi engellendi.
  • ICU kullanılmayan ve sistem ICU'su kullanan derlemelerde Temporal desteği etkinleştirildi.

Güvenlik ve şifreleme​

  • Alt süreçlere yapılandırma dosyası izin işaretlerinin aktarılması sağlandı.
  • EC PKCS#8 kodlaması sağlayıcı düzeyinde yalıtıldı.
  • Anahtar dışa aktarma ve meta veri kilitleri kaldırıldı.
  • Doğrulama kurulumu sırasında anahtar kilitleme kaldırıldı.
  • KEM anahtar kilitlemesi kaldırıldı.
  • RSA-OAEP anahtar kilitlemesi kaldırıldı.
  • Gizli anahtarlar için mutex ayrılması atlandı.
  • Kök sertifika deposunun her çalışma ortamı (Environment) için ayrı tutulması sağlandı.
  • Web Crypto ile ilgili bazı uyarılar kaldırıldı.

Bağımlılıklar​

  • Google Test, 988ea2c1798de7779f656df2281dd36d6039a17a sürümüne güncellendi.
  • Acorn 8.19.0 sürümüne güncellendi.
  • SQLite 3.54.0 sürümüne güncellendi.
  • V8 için iki değişiklik geriye dönük olarak aktarıldı.
  • simdjson 5.0.3 sürümüne güncellendi.

Tanılama ve dokümantasyon​

  • diagnostics_channel için varsayılan geri çağırma bağlamı düzeltildi.
  • İzin modelinin devre dışı bıraktığı dosya tanıtıcısı API'leri listesine futimes eklendi.
  • Test Runner, yerleşik tanılama kanalları listesine eklendi.
  • Akış ve yineleyici davranışları ile Node.js uzantıları belgelendi.
  • process.permission içindeki URL ve Uint8Array referansları belgelendi.
  • HTTP Agent'in keepSocketAlive davranışıyla ilgili açıklamalar netleştirildi.
  • keepAliveTimeoutBuffer sunucu seçeneği belgelendi.
  • request.reusedSocket zaman aşımı örneği düzeltildi.
  • PR geri alma etiketi politikası netleştirildi.
  • Güvenlik ihlali sonrasında node ikilisinin yanlış kullanımıyla ilgili açıklamalar netleştirildi.
  • Linux x64 musl derlemesi için araç zinciri belgelendi.
  • Lisans oluşturucu çalıştırıldı.
  • cluster.md dosyasına eksik dönüş türleri eklendi.
  • WebAssembly veya RX desteği bulunmadığında hata fırlatılması sağlandı.

FFI ve Dosya Sistemi​

  • FFI tarafında exportArrayBuffer tür denetimi düzeltildi.
  • pull() ve pullSync() işlemlerinde FileHandle için ilk okumada kilitleme sağlandı.
  • FileHandle yazıcısının asenkron yazma işlemleri sıraya alındı.

HTTP ve HTTP/2​

  • Ham HTTP başlık adları için bellek ayırma işlemleri azaltıldı.
  • websocketMask() ve websocketUnmask() fonksiyonları eklendi.
  • HTTP/2 yanıtlarında getHeaders işlemi hızlandırıldı.

Çalışma Zamanı ve Modüller​

  • İç içe geçmiş bileşik yapılarda AbortSignal.any() bellek sızıntısı düzeltildi.
  • İzin seçeneklerine --allow-fs-vfs eklendi.
  • Benchmark kayıtlarının onaylanmasındaki yarış durumu düzeltildi.
  • Başarısız node:bench run() işlemlerinde çıkış kodunun ayarlanması sağlandı.
  • node:bench için varsayılan ısınma çalıştırması 10 çağrı olarak ayarlandı.
  • Paket eşleme yapılandırması kullanan içe aktarımların require ile yüklenmesi düzeltildi.
  • Çoğu ES modülünün senkron olarak yüklenmesi sağlandı.
  • Kapsayıcı bir dizin izni kaldırıldığında açıkça verilmiş dosya sistemi izinlerinin korunması sağlandı.
  • process.finalization sürüm adayı (Release Candidate) olarak işaretlendi.
  • Kodlanmış anahtarlardan sonra sorgu dizesi değerlerinin çözülmesi düzeltildi.

QUIC​

  • Kapatılmış akış yazıcısına yazma girişimlerinin TypeError hatasıyla reddedilmesi sağlandı.
  • Her BindingData için ayrı bellek ayırıcı durumu oluşturuldu.
  • Oturum kapatma hata kodlarının doğrulanması sağlandı.
  • Geçersiz Promise gövdesi durumunda akışın yok edilmesi sağlandı.

SQLite​

  • aggregate() işlevinin adı ve seçenekleri doğrulanacak şekilde güncellendi.
  • enableDefensive() ayarının yeniden açma işlemi sonrasında korunması sağlandı.
  • Aşırı büyük dizelerin işlemi sonlandırmak yerine hata fırlatması sağlandı.

Akışlar​

  • İzin modelindeki WildcardIfDir işleminde uv_fs_t kaynaklarının serbest bırakılması sağlandı.
  • env.h dosyasından simdjson.h eklenmesi kaldırıldı.
  • Web Streams tampon belleği kopyalama işleminde yerel CopyArrayBufferBytes kullanıldı.
  • Yapılandırma dosyası işleme düzeltildi ve kararlı olarak işaretlendi.
  • Boştaki Web Streams başlatma ve izleme işlemlerinin atlanması sağlandı.
  • pipeToSync() için eksik kapanmada hata verme seçeneği eklendi.
  • pipeToSync() kapatma işlemini gerçekleştiremediğinde yazıcının başarısız sayılması engellendi.
  • fromSync() içindeki asenkron girdi hata mesajları düzeltildi.
  • Kapalı fromWritable() yazma işlemlerinin TypeError ile reddedilmesi sağlandı.
  • Akış ve yineleyici bütçelerinin 16384'ün altında açıkça belirtilmesine izin verildi.
  • stream/iter tüketicilerindeki her parça için oluşan ek işlem yükü azaltıldı.
  • writer.fail() hata fırlattığında özgün hatanın korunması sağlandı.
  • pull() işleminin iptal yönetimi spesifikasyonla uyumlu hâle getirildi.
  • Fonksiyon nesnelerinde akış/yineleyici protokollerine uyulması sağlandı.
  • from() işleminde iç içe geçmiş asenkron verilerin bekletilmesi önlendi.
  • from() işleminde önceden toplu hâle getirilmiş asenkron değerler sınırlandırıldı.
  • shareSync() içinde yeniden giriş yapan kaynak okumalarına karşı koruma eklendi.
  • drop-oldest politikası altında aşırı büyük shareSync() gruplarının bölünmesi sağlandı.
  • shareSync() içinde drop-newest geri basınç politikasının reddedilmesi sağlandı.
  • Katı bütçe hatalarında shareSync() tüketicilerinin bağlantısının kesilmesi sağlandı.
  • Tüm tüketicilerin bağlantısı kesildiğinde shareSync() arabelleğinin korunması sağlandı.
  • Utf8Stream boşaltma işlemi düzeltildi.
  • stream/iter için dump() ve dumpSync() metotları eklendi.
  • Utf8Stream için kalan SonicBoom testleri aktarıldı.

Testler ve Araçlar​

  • test-fs-stat-bigint testinde asenkron blok sayısı güncellemelerine tolerans sağlandı.
  • Atma döngüleri dump() ile değiştirildi.
  • node-bench araç testlerinin sıralı çalışması sağlandı.
  • İzin modelindeki dosya sistemi okuma testlerinde yinelenen durumlar kaldırıldı.
  • instantiateStreaming-bad-imports Web Platform Testi (WPT) çalıştırıldı.
  • İzin verilen WPT Promise reddetmelerine uyulması sağlandı.
  • Blob WPT hataları büyük endian sistemlerle sınırlandırıldı.
  • Başarısız todo testlerinin test paketlerinde yeniden çalıştırılması sağlandı.
  • --test-isolation=none kullanıldığında yükleme hatalarının raporlanması sağlandı.
  • t.assert için sahte çağrı doğrulamaları eklendi.
  • Günlük WPT çalıştırmaları için Python 3.14 yeniden etkinleştirildi.
  • ICU güncelleyicisinde PGP ve SHA-256 kullanılması sağlandı.
  • src içindeki thread_local kullanımları için lint denetimi eklendi.
  • update-histogram.sh betiğine hdr_histogram_internal.h kopyalama işlemi eklendi.
  • ESLint bağımlılık grubu beş güncellemeyle yenilendi.

VFS ve izleme​

  • Katmanlı bağlamalar için ComposableProvider eklendi.
  • İzleme seçeneklerindeki alt çizgili takma adlar kaldırıldı.
  • [2dc4638e85] - Geri al: "build: V'ye göre doc-kit ayrıntı düzeyini aç/kapat" (Antoine du Hamel)
  • [3febbc54ec] - Geri al: "build, doc: yeniden tasarıma taşı" (Antoine du Hamel)
  • [173250e2e7] - Geri al: "tools: /tools/doc içindeki doc grubunu 4 güncellemeyle yükselt" (Antoine du Hamel)