· kaynak dev.to (home feed)
Node.js 26 'Lithium' LTS oldu, Lambda yükseltmelerine Nisan 2027 düğmesine bastı
Node.js 26, 28 Ekim 2026'da uzun vadeli destek (LTS) hattı oldu; Lambda runtime'ı ise Kasım'daki genel kullanılabilirlilik öncesinde preview aşamasında. Hâlâ nodejs22.x kullanan ekipler Nisan 2027'de usehors kalma (deprecation) son tarihiyle karşı karşıya.

28 Ekim 2026'da proje kod adı "Lithium" olan Node.js 26, aktif uzun vadeli destek (LTS) sürümü oldu ve özellikle serverless ekiplerinin son dakika telaşı yerine bir planlama çalışması olarak görmesi gereken bir yükseltme penceresi açtı. Sürümü adım adım anlatan bir dev.to yazısına göre LTS statüsü 26.13.0 sürümüyle geldi — process.release gibi metadata alanlarını LTS'e çeviren, 26.12.1'in ötesinde hiçbir şey eklemeyen bir formalite — ve bu hat Nisan 2029 sonuna kadar düzeltme almaya devam edecek.
Destek takvimi, Lambda dahil
AWS Lambda'da nodejs26.x runtime'ı şu anda public preview aşamasında; AWS dokümantasyonu genel kullanılabilirliliği Kasım 2026 olarak işaret ediyor. Bu boşluk faydalı: üretimde hiçbir şey kımıldamadan önce fonksiyonlar yeni runtime'a karşı test edilebilir.
Halihazırda yerleşik runtime'lar da en az bunun kadar önemli. dev.to yazısında belirtildiği gibi nodejs22.x ("Jod") 30 Nisan 2027'de usehors kalacak, 31 Ağustos 2027'den itibaren güncellemeler engellenecek; nodejs24.x ("Krypton") ise 30 Nisan 2028'de usehors kalacak şekilde planlandı.
Yazıya göre Node.js projesi sürüm ritmini de değiştiriyor. Tarihsel olarak yalnızca çift numaralı sürümler LTS'e yükseliyor, tek numaralılar altı ay sonra emekliye ayrılıyordu — Node.js 25, Mart 2026 sonunda yaşam döngüsünü tamamladı. Node.js 27'den itibaren proje yılda bir major sürüm çıkaracak ve her biri altı aylık Current evresinden sonra LTS olacak.
Node 26 ile gelenler
Node.js 25 hiç LTS olmadığı için 24'ten yükselen ekipler iki sürümlük değişikliği devralıyor. Günlük kod için öne çıkan ek, hiçbir flag gerektirmeden varsayılan olarak etkinleştirilmiş Temporal API. Temporal, Date'in köklü zaaflarını — sıfırdan başlayan aylar, değiştirilebilir (mutable) örnekler, gerçek bir saat dilimi aritmetiğinin yokluğu — Temporal.Instant (kesin zaman noktaları için), Temporal.ZonedDateTime (belirli bir saat dilimine bağlı bir an için) ve Temporal.PlainDate (sade bir takvim tarihi için) gibi ayrı türlerle çözüyor. Yazı, kazancı bir kira ödeme tarihi örneğiyle gösteriyor: gün ışığı tasarrufu geçişi üzerinden iki gün eklemek duvar saatini korurken, naive Date aritmetiği bir saat sapma yaratıyor.
Paketle gelen V8 14.6, oku-veya-oluştur deseni için Map.prototype.getOrInsert() ve getOrInsertComputed(), ara diziler oluşturmadan iterator zincirlemek için ise Iterator.concat() getiriyor. Node.js 25'ten devralınanlar arasında Uint8Array.fromBase64() ve toBase64() (hex karşılıklarıyla) ve belirgin şekilde hızlanan JSON.stringify var — API Gateway için JSON yanıtları oluşturan veya binary payload kodlayan Lambda fonksiyonları için ilgili. HTTP yığını Undici 8'e geçiyor, Web Storage API varsayılan olarak açık kalıyor ama Node 26'da bir depolama dosyası yapılandırılmadıkça localStorage undefined döndürüyor; yine Node 25'ten gelen permission modelinin --allow-net flag'i ise, yazarın belirttiği gibi, IAM ve VPC'nin zaten izolasyonu sağladığı Lambda'dan çok yerel araçlar ve CI için faydalı.
Yazarın kendi testlerinden bir uyarı: esnext library ayarıyla TypeScript 7.0.2 Temporal'ı, getOrInsert'i ve fromBase64'ü tanıyor ama Iterator.concat için hâlâ hata bildiriyor.
Neyi bozabilir
Çoğu proje yükseltmeden sonra çalışmaya devam ediyor ama yazı, runtime'ı değiştirmeden önce bilinçli olarak kontrol edilmesi değişen değişiklikleri listeliyor:
- Dahili _stream_readable ve _stream_writable modülleri ve kardeşleri kaldırıldı; bazı eski kütüphaneler bunları doğrudan import ediyor.
- http.Server.prototype.writeHeader() kaldırıldı, yerine writeHead() geçti.
- fs.F_OK, fs.R_OK, fs.W_OK ve fs.X_OK artık üst düzey export değil; sabitler fs.constants altında yaşıyor.
- SlowBuffer ve assert.CallTracker Node 25'te yaşam döngüsünü tamamladı.
- Corecore artık paketle gelmiyor; onun üzerinden pnpm veya Yarn etkinleştiren CI pipeline'ları ayrı bir kurulum yapmalı.
- module.register() artık runtime deprecation uyarısı veriyor ve --experimental-transform-types kaldırıldı.
- NODE_MODULE_VERSION 147'ye taşındığı için native addon'ların yeniden derlenmesi gerekiyor.
- Resmi Linux binary'leri libatomic'e linkleniyor; hafif container imajlarında bu paket eksik olabilir.
Doğrudan nodejs22.x'ten atlayan ekipler, AWS'nin nodejs24.x ile getirdiği Lambda'ya özgü değişiklikleri de devralıyor: callback tarzı handler'lar artık desteklenmiyor, context.callbackWaitsForEmptyEventLoop kaldırıldı ve context.succeed, context.fail ile context.done tamamen silindi.
Neden önemli
Birçok serverless ekip için bağlayıcı son tarih Node 26'nın LTS tarihi değil, dev.to yazısının çerçevelediği gibi yaklaşık altı ay sonrasındaki nodejs22.x'in Nisan 2027'de usehors kalması. Şimdi başlamak, yükseltmenin AWS'nin deprecation e-postalarıyla aynı zamana denk gelmesini engelleyip normal sprint işine sığmasını sağlıyor. Preview runtime, davranışı erken test etmek için düşük riskli bir yol sunuyor; ama yazının en keskin uyarısını tekrarlamak yerinde olur: dizüstü bilgisayarda Node 26 altında çalışan şeyin Lambda runtime'ında birebir aynı davranacağı garanti değil, bu yüzden özellikleri orada doğrudan doğrulayın. Öngörülebilir yılda bir LTS ritmine geçişle birleşince, runtime yükseltmeleri sürpriz değil, tekrarlayan ve planlanabilir bir iş haline geliyor.
- #node-js
- #aws-lambda
- #javascript
- #serverless
- #temporal-api
İlgili yazılar
- AWS SOCI lazy loading, Lambda Managed Instances'ta container başlatma sürelerini yüzde 70'e kadar düşürüyor
- Bir site yapay zekâ ajanları için WebMCP tool'larını nasıl ekledi: çalışan kodlarla
- Vercel Hobby sınırları bir seyahat dizinini Cloudflare'e itti ve 650 satırlık yapılandırma dosyası baştan yazılmak zorunda kaldı