· kaynak Vercel blog
Node.js 26 LTS, HTTP/2 varsayılan fetch ile Vercel'de genel kullanıma açıldı
Vercel, Node.js 26 LTS'yi builds ve Functions için genel kullanıma sundu; yerleşik fetch artık Undici 8 sayesinde varsayılan olarak HTTP/2 kullanıyor. Sürüme ayrıca Temporal API ve V8 14.6 eşlik ediyor.

Vercel, Node.js 26 LTS'yi builds ve Vercel Functions için genel kullanıma sundu; runtime artık platformda oluşturulan her yeni proje için varsayılan durumda. Şirketin 29 Ekim'de yayımladığı changelog'a göre, serverless iş yükleri için en geniş etkiye sahip değişiklik, yerleşik fetch API'sinin artık varsayılan olarak HTTP/2 üzerinde anlaşma yapması ve bunun Undici 8 tarafından desteklenmesi.
Sürüpte neler var
Vercel, Node 26 ile gelen üç değişikliği öne çıkarıyor:
- Yerleşik
fetchiçin varsayılan HTTP/2: Undici 8, protokolü destekleyen herhangi bir sunucuyla birden fazla isteğin tek bir bağlantıyı paylaşmasını sağlıyor. Vercel'e göre bu, fonksiyonların HTTP üzerinden API'lere veya veritabanlarına çağrı yapması durumunda — serverless kodda yaygın bir desen — gecikmeyi azaltabiliyor. - Temporal API:
Date'e alternatif olarak değiştirilemez (immutable) değerler, yerleşik saat dilimi ve takvim desteği sunuyor. - V8 14.6: Güncellenmiş JavaScript motoru, bir anahtar için mevcut değeri döndüren ya da anahtar yoksa varsayılan bir değer ekleyen
Map.prototype.getOrInsert()gibi özellikler getiriyor.
Serverless'ta HTTP/2 fetch neden önemli
HTTP/1.1 altında, aynı origin'e yapılan eşzamanlı isteklerin her biri kendi bağlantısına ihtiyaç duyar ya da sıraya girer; dolayısıyla bir API'ye ya da HTTP konuşan bir veritabanına dağılan bir fonksiyon, bağlantı ek yükünü tekrar tekrar öder. HTTP/2 birçok isteği tek bir bağlantı üzerinden çoğullar; Vercel'in tarif ettiği gecikme azalması tam olarak buradan geliyor. Bu, platformun yerleşik fetch'i olduğu için fonksiyonlar yeni davranışı hiçbir kod değişikliği yapmadan elde ediyor.
Eski protokolde kalması gereken iş yükleri için Vercel bir çıkış kapısı sunuyor: VERCEL_FETCH_DISABLE_H2 ortam değişkenini 1 yapılıp yeniden deploy edilirse fetch HTTP/1.1'de kalıyor.
Yayılım mevcut projelere nasıl ulaşıyor
Changelog'a göre yayılım şöyle işliyor:
- Node.js 26 tüm yeni projelerde varsayılan.
- Mevcut projeler,
package.jsoniçindekiengines.nodealanı zaten 26'ya izin veriyorsa bir sonraki deployment'ta otomatik olarak yükseliyor;>=20gibi bir aralık bunu karşılıyor. - Açık bir geçiş isteyen ekipler
engines.nodealanını26.xyapıp yeniden deploy edebilir. - Önceden derlenmiş (prebuilt) deployment'lar Vercel CLI sürüm 65.8.0 veya sonrasını gerektiriyor.
- Node 26 içindeki minor ve patch güncellemeleri builds ve Functions için otomatik olarak uygulanıyor.
İkinci maddenin pratik sonucu şu: Geniş sürüm aralıklarına sahip projeler, kimse yapılandırmayı düzenlemeden, bir sonraki deploy'larında bir ana Node sürümü atlayacak ve fetch HTTP/2'ye geçecek.
Neden önemli
Serverless fonksiyonların ömrünün büyük kısmı, ister birinci taraf API'lere ister üçüncü taraf servislere ya da HTTP konuşan veritabanlarına olsun, giden HTTP çağrıları yaparak geçer. Runtime'ın kendi fetch'inin bu çağrıları paylaşılan bağlantılar üzerinden çoğullaması, uygulama tarafında sıfır değişiklik gerektiren bir gecikme kazanımı — bu da nadir rastlanan bir durum.
Öbür yüzü ise bunun opsiyonel değil varsayılan olarak gelmesi. Fetch katmanındaki bir protokol değişimi, HTTP/2 desteği kusurlu olan origin'ler ve aracılarla isteklerin davranışını değiştirebilir; ayrıca Vercel'in yayılım tasarımı gereği geniş engines.node aralıkları otomatik yükseltmeleri tetikliyor. Dolayısıyla birçok ekip, planlamış olsun ya da olmasın, bir sonraki deployment'ında Node 26 ve HTTP/2 fetch ile tanışacak. VERCEL_FETCH_DISABLE_H2 değişkeni geri dönüş yolunu kapsıyor; ancak akıllıca hareket, bir sonraki deploy'u bir runtime yükseltmesi olarak görmek ve buna göre test etmek.
Fetch'in ötesinde bu sürüm, Vercel kullanıcılarına Node ana akımının nereye gittiğinin işleyen bir önizlemesini de sunuyor: Temporal, Date'in birçok kullanımının yerini almaya hazırlanıyor ve V8 14.6, standart kütüphaneye daha küçük ama hoş ergonomi iyileştirmeleri getiriyor.
- #node-js
- #vercel
- #serverless
- #http2
- #undici
- #javascript