Node.js 26 arriva con l'API Temporal e importanti miglioramenti alla piattaforma.

  • Node.js 26 viene rilasciato come versione corrente e il passaggio alla versione LTS è previsto per ottobre, con supporto fino al 2029.
  • L'API Temporal è attivata per impostazione predefinita e modernizza la gestione di date e orari in JavaScript rispetto a Date.
  • Il motore V8 è stato aggiornato alla versione 14.6 e il client HTTP di Undici è stato rinnovato alla versione 8.x (8.0.2).
  • Questa versione introduce modifiche di compatibilità: nuovi requisiti di compilazione, deprecazione e rimozione di vecchie API.

Nodo.js 26.0.0

La piattaforma JavaScript Node.js ha rilasciato La versione 26, una release importante, segna un nuovo passo nell'evoluzione dell'ambiente progettato per eseguire codice JavaScript al di fuori del browser. Questo è il nuovo ramo Correnteche si concentra chiaramente sulla modernizzazione dell'API standard e sulla preparazione dell'ecosistema per diversi anni di supporto.

Questa nuova versione Nodo.js 26.0.0 È ora disponibile per il download dal sito web ufficiale ed è pensato per sviluppatori e team che desiderano iniziare a testare le nuove funzionalità il prima possibile. Sebbene sia attualmente considerata una versione di sviluppo attivo, il progetto ha già definito la tempistica per la transizione a un ramo di supporto a lungo termine, aspetto particolarmente rilevante per le aziende che si affidano a cicli stabili e prevedibili.

Calendario delle release e ciclo di supporto 26 di Node.js

Il ramo 26 è incorporato nelle versioni di supporto a lungo termineMa lo farà in due fasi: per circa sei mesi funzionerà come CorrenteDopo aver ricevuto nuove funzionalità e aggiornamenti, la versione passerà allo stato LTS (Long Term Support) a ottobre, al termine di un periodo di stabilizzazione del codice. Una volta completata la transizione, la serie 26.x sarà supportata fino a maggio 2029, con aggiornamenti di sicurezza e correzioni di bug.

Parallelamente, il team della piattaforma gestisce altri rami con date di fine vita diverse, il che aiuta a pianificare le migrazioni in progetti di grandi dimensioni. La famiglia Nodo.js 24.xAnche la versione con supporto esteso continuerà a ricevere aggiornamenti fino ad aprile 2028, mentre il ramo 22.x terminerà il supporto ad aprile 2027. Al contrario, la linea LTS 20.x è già uscita dal supporto e la versione intermedia 25.x cesserà di essere supportata all'inizio di giugno, spingendo i team a passare a serie più recenti.

API temporale: un nuovo modo di lavorare con date e orari

Il cambiamento più evidente per chi programma quotidianamente è l'attivazione predefinita del API temporanea, un insieme di tipi e metodi che offre un'alternativa moderna all'oggetto veterano DateQuesta API si propone di semplificare la gestione di date e orari, un ambito che storicamente ha generato errori a causa dei fusi orari, del passaggio all'ora legale e delle conversioni tra formati.

Con Temporal, il tempo può essere rappresentato in modi diversi a seconda delle esigenze specifiche del progetto. Ad esempio, le applicazioni possono gestire date e orari senza associarli a un fuso orario specifico utilizzando tipi come Temporaneo.Data semplice, Temporaneo.Piano Tempo y Temporaneo.Data e ora sempliciUtile per orari fissi, prenotazioni o registrazioni in cui conta solo il valore locale.

Quando il contesto richiede di tenere conto dei fusi orari, l'API offre TemporaleZonizzatoDataOraQuesto collega la data e l'ora a un fuso orario specifico per garantire calcoli accurati quando si viaggia tra regioni o quando si applicano le regole del fuso orario. Inoltre, per memorizzare e confrontare gli orari assoluti, viene introdotto quanto segue: Temporaneo. Istantaneo, che rappresenta un punto nel tempo come un numero di nanosecondi dal 1° gennaio 1970, il che è pratico per sistemi distribuiti o audit.

Oltre ai tipi di dati, l'API incorpora direttamente operazioni di conversione, formattazione e aritmetica temporale, consentendo di aggiungere o sottrarre periodi, modificare i fusi orari e generare output leggibili senza dover ricorrere a librerie esterne. Il fatto che La versione temporanea è abilitata di default Node.js 26 facilita la sua adozione progressiva in progetti che necessitano di una gestione affidabile del calendario, dalle applicazioni finanziarie ai servizi di logistica.

Aggiornamento del motore V8 e nuove funzionalità JavaScript

Un altro elemento chiave di questa versione è il notevole passo avanti compiuto dal motore di esecuzione. V8 alla versione 14.6, la stessa utilizzata in Chromium 146. Questo aggiornamento non solo apporta miglioramenti alle prestazioni, ma anche funzionalità linguistiche aggiuntive e ottimizzazioni interne che influiscono sui tempi di risposta dell'applicazione.

Tra le nuove funzionalità che avvantaggiano direttamente gli sviluppatori, la possibilità di combinare più iteratori in uno utilizzando il metodo Iterator.concat()Questa funzionalità semplifica la manipolazione di sequenze di dati provenienti da fonti diverse senza la necessità di creare strutture intermedie, il che risulta utile quando si elaborano flussi su server che gestiscono grandi volumi di informazioni.

Il motore incorpora anche le specifiche di capovolto per le collezioni Map y WeakMap In JavaScript, questa funzionalità semplifica l'utilizzo delle coppie chiave/valore, consentendo di inserire o aggiornare le voci in un'unica operazione, riducendo la quantità di codice necessaria e minimizzando le potenziali condizioni di competizione in ambienti concorrente.

Undici 8 e miglioramenti al client HTTP

Per quanto riguarda le comunicazioni di rete, Node.js 26 aggiorna il client HTTP ufficiale Undici alla serie 8.x. Nello specifico, diverse fonti interne al progetto indicano l'adozione della versione 8.0.2, che rappresenta un passo avanti in termini di stabilità, prestazioni e compatibilità con le attuali esigenze delle API web.

Questo aggiornamento del client è particolarmente rilevante per i servizi distribuiti su infrastrutture, dove l'interazione con microservizi, piattaforme di terze parti e sistemi interni è costante. Il nuovo ramo di Undici include miglioramenti nella gestione delle connessioni persistenti, un supporto aggiornato per HTTP/1.1 e HTTP/2 e ottimizzazioni del consumo di risorse, che insieme riducono la latenza e sfruttano al meglio l'hardware disponibile.

Modifiche ai requisiti di compatibilità e di compilazione

Il passaggio a Node.js 26 comporta anche modifiche all'ambiente di compilazione e agli strumenti associati. La compilazione di questa versione dal codice sorgente richiede, come minimo, GCC 13.2Questa modifica allinea il progetto ai compilatori più recenti e garantisce la disponibilità di ottimizzazioni moderne a livello binario. Tale modifica potrebbe richiedere aggiornamenti negli ambienti di integrazione continua o nei server di compilazione che utilizzano ancora versioni precedenti degli strumenti.

Parallelamente, il nuovo ramo smette di supportare Python 3.9 nella sua toolchain, il che significa che le configurazioni che dipendevano da quella versione dovranno migrare a edizioni più recenti del linguaggio. Questa decisione fa parte di un più ampio sforzo per rimuovere le dipendenze obsolete e mantenere le fondamenta del progetto su software che continua a ricevere aggiornamenti di sicurezza.

Deprecazioni e API ritirate in Node.js 26

Insieme alle nuove funzionalità, il team di sviluppo ha introdotto una serie di modifiche di compatibilità che dovrebbero essere esaminate prima di migrare i progetti di produzione. Uno dei punti evidenziati è il ritiro del metodo http.Server.prototype.writeHeader(), tradizionalmente utilizzato per inviare intestazioni HTTP dal server. A partire da questa versione, la raccomandazione ufficiale è di utilizzare http.Server.prototype.writeHead(), che rimane il percorso supportato.

Inoltre, questa versione segna la fine del ciclo per DIP0182, relativo al modulo cryptocome parte del processo di routine di pulizia delle API vecchie o problematiche. La deprecazione di module.register()Questa modifica avrà un impatto su coloro che lavorano con sistemi di caricamento moduli più avanzati o personalizzati, obbligandoli a rivedere i potenziali utilizzi di questa funzionalità.

Il nuovo ramo rimuove anche l'opzione di avvio --experimental-transform-typesQuesta funzionalità, che faceva parte del set di funzionalità sperimentali, è stata rimossa. La sua rimozione indica che il team preferisce consolidare il supporto per le trasformazioni di tipo attraverso altri mezzi o in fasi successive del ciclo di vita del linguaggio e della piattaforma, riducendo il numero di flag sperimentali.

Nel complesso, il rilascio di Node.js 26 rappresenta un aggiornamento significativo per l'ecosistema: rafforza le fondamenta basate sul tempo con un'API moderna, aggiorna il motore V8, migliora il client HTTP e fa progressi nella pulizia delle interfacce legacy. Con il supporto esteso fino al 2029 e una roadmap ben definita, la nuova versione si preannuncia come un'ottima opzione per chi cerca stabilità a lungo termine senza rinunciare alle funzionalità più recenti della piattaforma.


Aggiungi come fonte preferita