- Son doğrulama
- 31 Eki 2026
- Durum
- Node.js 20 end of life. 22 ve 24 LTS.
Neden şimdi?
Node.js release sayfası Node.js 20’yi end of life olarak listeliyor. 21 Ekim güvenlik sürümü 22, 24 ve 26 hatlarında on CVE’yi düzeltti ve Node.js 20 bunların hiçbirini almıyor. Üzerinde kaldığınız her ay, bilinen ve düzeltilmeyen açıkların listesi büyür.
1. Her Node 20’yi bulun
Ana servisin ötesine bakın. Eski sürümler kimsenin sahip olmadığı yerlerde saklanır.
# Container'lar
docker run --rm your-image:tag node -v
# Lambda fonksiyonları
aws lambda list-functions --query "Functions[?starts_with(Runtime,'nodejs20')].[FunctionName,Runtime]" --output text
# Repository'ler: sürüm sabitlemeleri
grep -rnE "node-version|FROM node:|\"node\":|nodejs20" --include="*.yml" --include="*.yaml" --include="Dockerfile*" --include="package.json" --include=".nvmrc" .
.nvmrc, .tool-versions, CI matrix’leri ve package.json içindeki engines alanını da kontrol edin.
2. Hedefi seçin
Destekleyebileceğiniz en yeni LTS’e geçin, çoğu ekip için bu 24. Bir bağımlılık hazır değilse önce 20’den 22’ye geçmek de olur. Birkaç ay sonra yine terk etmek zorunda kalacağınız eski bir hatta durmayın.
3. Sorunları hızlı bulan sırayla test edin
- Testleri yeni sürümde CI’da çalıştırın, ek bir matrix girdisi olarak. Production’a henüz dokunmayın.
- Native modülleri yeniden build edin. C ya da C++ derleyen her şey temiz kurulum ister. Kopyalanmış
node_modulesdeğil, yeni sürümdenpm ci. - Deprecation uyarılarını açın. Bir sonraki kırılacak şeyi gösterirler.
node --trace-deprecation app.js
- Servisi staging’de production’a benzer yük altında çalıştırın ve memory, CPU ve latency değerlerini eski sürümle karşılaştırın.
- Base image’ı kontrol edin.
node:24-slimimage’ı libc, OpenSSL ve sistem paketlerinde eski image’ınızdan farklı olabilir. Container testlerinizi yeniden çalıştırın.
4. Küçük adımlarla yayına alın
Önce riski düşük bir servisi taşıyın. Dakikalar içinde geri dönebilmek için eski image tag’ini saklayın. Sonraki servise geçmeden önce bir iş döngüsü boyunca hata oranını ve latency’yi izleyin.
5. Kalıcı hale getirin
- Node sürümünü
.nvmrc, Dockerfile ve CI’da tek bir kaynaktan sabitleyin. - Base image’ı ve Action’ları Dependabot ya da Renovate güncellesin.
- Node release takvimini ekip takviminize koyun. End of life tarihleri yıllar önceden bellidir.
Nasıl yardımcı olabiliriz?
Bunu kısa ve sabit fiyatlı bir çalışma olarak yürütürüz: envanter, test matrix’i, kademeli rollout ve gelecek yıl tekrar yaşamamanız için bir plan. Aşağıdaki butondan bir görüşme ayarlayın.