Node.js 17 An itibari ile Yayınlandı!

 

Node.js 17 yayında!


Node.js An itibari ile yayınlandı.

Node.js 17'nin bugün yayınlandığını duyurmaktan heyecan duyuyoruz!

Node.js 17, Node.js 16'yı 'mevcut' yayın serisi olarak değiştiriliyor ve Node.js 16 önümüzdeki hafta uzun vadeli desteğe (LTS) terfi edicek. Yaklaşık iki haftada bir Node.js 17'nin yeni sürümlerini kontrol ederseniz en son özellikler ve değişikliklerden haberdar olabilirsiniz. Tek sayılı bir yayın satırı olarak Node.js 17, LTS'ye yükseltilmeyecektir. Yayın politikası hakkında daha fazla bilgiyi https://github.com/nodejs/release adresinde okuyabilirsiniz .

Node.js v17.0.0'ı indirmek için şu adresi ziyaret edin: https://nodejs.org/en/download/current/ . 

Benzer şekilde, 
bu sürümde yer alan taahhütlerin listesini içeren yayın gönderisini 
https://nodejs.org/en/blog/release/v17.0.0 adresinde bulabilirsiniz .

Node.js 17'de sunulan bazı yeni değişiklikler ve özellikler şunlardır:

  • Ek taahhüt edilen API'ler
  • Node.js sürümüyle izlemeleri yığınlayın
  • OpenSSL 3.0 desteği
  • V8 JavaScript Motoru 9.5 olarak güncellendi

Yayın İlkeleri takiben, çalışma zamanına katkıda bulunan yeni özellikler, 'mevcut' yayın hattında yaklaşık iki haftada bir gönderilir. Bu, ilk ana sürüme (v17.0.0) dahil edilen yeni taahhütlerin çoğunun, değişiklikleri bozmayı içeren taahhütler olduğu anlamına gelir. Platformun kararlılığı ve sürüm geçişlerini kullanıcılar için daha kolay hale getirmek için bu kırılma değişikliklerinin sayısını ve kesintisini en aza indirme önemseniliyor.

Ek Vaat Edilen API'ler

Node.js 17'de Readline modülü için söze dayalı API'ler sunuluyor. Readline modülü , her seferinde bir satırdan okunabilir bir akıştan ( process.stdin gibi veri okumak için bir arayüz sağlar .

Aşağıdaki basit örnek, readlinemodülün temel kullanımını göstermektedir 

:

* 'node:readline/promises' öğesinden okuma satırı olarak içe aktar;'işlemden' { girdi olarak stdin, çıktı olarak stdout } içe aktar;const rl = readline.createInterface({ girdi, çıktı });const cevap = bekliyorum rl.question('Node.js hakkında ne düşünüyorsunuz?');console.log(`Değerli geri bildiriminiz için teşekkür ederiz: ${answer}`);rl.kapat();

API belgelerinde Readline modülü hakkında daha fazla bilgi edinebilirsiniz .

OpenSSL 3.0

OpenSSL 3.0'daki yeni özellikler arasında, biri Node.js'de etkinleştirilebilen bir FIPS sağlayıcısı olan Sağlayıcıların tanıtımı yer almaktadır. FIPS desteğiyle Node.js'nin nasıl oluşturulacağıyla ilgili ayrıntılar için lütfen BUILDING.md'ye bakın .

OpenSSL 3.0 API'lerinin çoğunlukla OpenSSL 1.1.1 tarafından sağlananlarla uyumlu olması gerekirken, izin verilen algoritmalar ve anahtar boyutları üzerindeki sıkı kısıtlamalar nedeniyle ekosistem üzerinde bir miktar etki olacağı tahmin ediliyor.

ERR_OSSL_EVP_UNSUPPORTEDNode.js 17 ile uygulamanızda bir hatayla karşılaşırsanız, uygulamanız veya kullandığınız bir modül, OpenSSL 3.0 ile artık varsayılan olarak izin verilmeyen bir algoritma veya anahtar boyutu kullanmaya çalışıyor olabilir. Bir yeni bir komut satırı seçeneği , --openssl-legacy-providerbu sıkılır kısıtlamalar için geçici bir çözüm olarak eski sağlayıcıya dönmek için eklenmiştir.

$ ./node — openssl-legacy-provider -p 'crypto.createHash(“md4”)'Doğramak {  _seçenekler: tanımsız,  [Symbol(kHandle)]: Hash {},  [Symbol(kState)]: { [Symbol(kFinalized)]: false }}

OpenSSL 3.0 sürümü hakkında daha fazla ayrıntı için lütfen OpenSSL 3.0 yayın gönderisine bakın .

Node.js sürümüyle izlemeleri yığınlayın

Bildirilen hataları tanılarken, sorulan ilk sorulardan birinin 'Hangi

 Node.js sürümünü kullanıyorsunuz?' olacağı sıklıkta bunu varsayılan olarak sağlamak yararlıdır.

Node.js 17 ayrıca --no-extra-info-on-fatal-exceptionbu ek bilgiyi atlamak için bir komut satırı seçeneğiyle birlikte gelir .

V8 9.5

Performans ayarlamaları ve iyileştirmelerinin yanı sıra bu güncelleme, Intl.DisplayNamesAPI için desteklenen ek türler ve API'deki Genişletilmiş timeZoneNameseçeneklerle birlikte gelir Intl.DateTimeFormat.

Daha fazla ayrıntıyı V8 9.5 yayın gönderisinde okuyabilirsiniz — https://v8.dev/blog/v8-release-95 .

Node.js 16, uzun vadeli desteğe yükseltildi

Node.js 16 ve sonraki sürümleri, Node.js projeleri ile geliştirme sırasında birlikte kullanılması amaçlanan paket yöneticileri arasında bir köprü görevi gören bir komut dosyası olan Corepack'i içerir. Pratik açıdan Corepack, Yarn ve pnpm'yi kurmanıza gerek kalmadan kullanmanıza izin verecektir. Belgelerde Corepack hakkında daha fazla bilgi edinin .

Node.js 16'da V8 JavaScript Motoru V8 9.4'tür. Node.js'nin yeni JavaScript dili özelliklerini kazanması V8 JavaScript Motoru yükseltmeleri aracılığıyla gerçekleşir. Node.js 16'da aşağıdaki dil özelliklerini kazandı:

  • Array.prototype.at (V8 9.2'den itibaren)
  • ECMAScript RegExp Eşleşme Endeksleri (V8 9.0'dan itibaren)
  • Nedeni olan hatalar (V8 9.3'ten itibaren)
  • Object.hasOwn (V8 9.3'ten itibaren)

Node.js 16'daki LTS'de yeni olan diğer özellikler arasında npm 8 ve Experimental Web Streams API bulunur .

Node.js 16 ayrıca Apple Silicon için önceden oluşturulmuş ikili dosyaları gönderdiğimiz ilk LTS sürümüdür. Intel ( darwin-x64) ve ARM ( darwin-arm64) mimarileri için, macOS yükleyicisi ( .pkg) bir 'şişman' (çoklu mimari) ikili dosya olarak gönderildiği ayrı tarball'lar sağlanılıyor.

Diğer proje haberleri

Bu çabayla ilgili sonraki adımlar, tartışmayı planlanan ilk konulardan ikisi olan belgeleri geliştirmek ve katkılarımızı artırmakla birlikte belirli konularda derinlemesine oturumlara ev sahipliği yaptığını duyurdu.

Node.js Takviminde bulunabilecek toplantılarımıza katılmanızı bekliyoruz .

Node.js tarafından Eylem çağrısı!

Gelecek hafta uzun vadeli desteğe yükseltilecek olan Node.js 16'ya yükseltme planlarına başlamak için de iyi bir zaman olduğunu düşünüyoruz. Node.js 16, 30 Nisan 2024'e kadar desteklenmeye devam edecek.

Ayrıca, Node.js 12'nin Nisan 2022'de Kullanım Ömrü Sonu'na gireceğini de unutmayın, bu nedenle hala Node.js 12 kullanıyorsanız yükseltmeyi planlamaya başlamanızı öneririz."

Node.js sürümlerinin zaman çizelgesi için Node.js Sürüm Takvimine bakın .


Etiketler

Yorum Gönder

0Yorumlar
Yorum Gönder (0)