Node.js 26 ankommer med Temporal API og vigtige platformforbedringer

  • Node.js 26 udgives som en Current-version og er planlagt til at flytte til LTS i oktober med support indtil 2029.
  • Temporal API er aktiveret som standard, hvilket moderniserer hÃ¥ndteringen af ​​datoer og klokkeslæt i JavaScript sammenlignet med Date.
  • V8-motoren er opdateret til version 14.6, og undici HTTP-klienten er fornyet til 8.x-grenen (8.0.2).
  • Denne version introducerer kompatibilitetsændringer: nye kompileringskrav, udfasninger og fjernelse af gamle API'er.

Node.js 26.0.0

JavaScript-platformen node.js har frigivet Version 26, en større udgivelse, markerer et nyt skridt i udviklingen af ​​miljøet, der er designet til at køre JavaScript-kode uden for browseren. Dette er den nye gren. Nuværende, som kommer med et klart fokus på at modernisere standard-API'en og forberede økosystemet til flere års support.

Denne nye udgivelse Node.js 26.0.0 Den kan nu downloades fra den officielle hjemmeside og er rettet mod udviklere og teams, der ønsker at begynde at teste de nye funktioner så hurtigt som muligt. Selvom den i øjeblikket betragtes som en aktiv udviklingsversion, har projektet allerede defineret tidslinjen for overgangen til en langsigtet supportgren, hvilket er særligt relevant for virksomheder, der er afhængige af stabile og forudsigelige cyklusser.

Node.js udgivelseskalender og supportcyklus 26

Gren 26 er indarbejdet i versionerne af langsigtet supportMen det vil ske i to faser: i cirka seks måneder vil det fungere som NuværendeMed nye funktioner og justeringer vil den overgå til LTS-status i oktober efter en periode med kodestabilisering. Når overgangen er fuldført, vil 26.x-serien blive vedligeholdt indtil maj 2029 med sikkerhedsrettelser og fejlrettelser.

Sideløbende vedligeholder platformteamet andre filialer med forskellige slutdatoer, hvilket hjælper med at planlægge migreringer i store projekter. Familien Node.js 24.x, også med udvidet support, vil fortsat modtage opdateringer indtil april 2028, mens 22.x-grenen efter planen afsluttes i april 2027. I modsætning hertil er LTS 20.x-linjen allerede taget ud af vedligeholdelse, og den mellemliggende version 25.x vil ophøre med at blive understøttet i begyndelsen af ​​juni, hvilket presser teams til at springe til nyere serier.

Temporal API: en ny måde at arbejde med datoer og klokkeslæt på

Den mest synlige ændring for dem, der programmerer dagligt, er standardaktiveringen af Midlertidig API, et sæt af typer og metoder, der tilbyder et moderne alternativ til veteranobjektet DateDenne API har til formål at forenkle håndteringen af ​​datoer og klokkeslæt, et område der historisk set har genereret fejl på grund af tidszoner, ændringer i sommertid og transformationer mellem formater.

Med Temporal kan tid repræsenteres på forskellige måder afhængigt af projektets specifikke behov. For eksempel kan applikationer håndtere datoer og klokkeslæt uden at knytte dem til en bestemt tidszone ved hjælp af typer som f.eks. Midlertidig.AlmindeligDato, Midlertidig.AlmindeligTid y Midlertidig.AlmindeligDatoTid, nyttigt til faste tidsplaner, reservationer eller registreringer, hvor kun den lokale værdi betyder noget.

Når konteksten kræver, at der tages hensyn til tidszoner, tilbyder API'en Temporal.ZonedDateTimeDette forbinder dato og klokkeslæt med en bestemt tidszone for at sikre nøjagtige beregninger, når man rejser mellem regioner eller anvender tidszoneregler. Derudover introduceres følgende for at gemme og sammenligne absolutte tider: Midlertidig.Øjeblikkelig, hvilket repræsenterer et tidspunkt som et antal nanosekunder siden 1. januar 1970, hvilket er praktisk for distribuerede systemer eller revisioner.

Ud over datatyper inkorporerer API'en direkte konvertering, formatering og tidsaritmetiske operationer, hvilket giver dig mulighed for at tilføje eller trække perioder fra, ændre tidszoner og generere læsbart output uden at være afhængig af eksterne biblioteker. Det faktum, at Midlertidig er aktiveret som standard Node.js 26 muliggør gradvis implementering i projekter, der kræver pålidelig kalenderstyring, fra finansielle applikationer til logistiktjenester.

Opdatering af V8-motor og nye JavaScript-funktioner

Et andet nøgleelement i denne udgivelse er springet i udførelsesmotoren. V8 til version 14.6, den samme linje, der bruges i Chromium 146. Denne opdatering bringer ikke kun forbedringer af ydeevnen, men også yderligere sprogfunktioner og interne optimeringer, der påvirker applikationens svartid.

Blandt de nye funktioner, der direkte gavner udviklere, er muligheden for kombinere flere iteratorer til én ved hjælp af metoden Iterator.concat()Denne funktion forenkler manipulationen af ​​datasekvenser fra forskellige kilder uden behov for at oprette mellemliggende strukturer, hvilket er nyttigt ved behandling af flows på servere, der håndterer store mængder information.

Motoren har også specifikationen for oprøre til samlingerne Map y WeakMap I JavaScript gør denne funktionalitet det mere ligetil at arbejde med nøgle/værdi-par, da den giver dig mulighed for at indsætte eller opdatere poster i en enkelt operation, hvilket reducerer mængden af ​​nødvendig kode og minimerer potentielle kapløbsbetingelser i samtidige miljøer.

Undici 8 og forbedringer af HTTP-klienten

Hvad angår netværkskommunikation, opdaterer Node.js 26 den officielle HTTP-klient Undici til 8.x-serien. Specifikt angiver forskellige kilder i projektet implementeringen af ​​version 8.0.2, hvilket repræsenterer et skridt fremad inden for stabilitet, ydeevne og kompatibilitet med de nuværende behov for web-API'er.

Denne klientopdatering er især relevant for tjenester, der er implementeret på infrastruktur, hvor interaktion med mikrotjenester, tredjepartsplatforme og interne systemer er konstant. Den nye undici-gren inkorporerer forbedringer i administration af vedvarende forbindelser, opdateret understøttelse af HTTP/1.1 og HTTP/2 samt optimeringer af ressourceforbrug, som tilsammen reducerer latenstid og bedre udnytter tilgængelig hardware.

Ændringer i kompatibilitet og byggekrav

Skiftet til Node.js 26 kommer også med justeringer af byggemiljøet og tilhørende værktøjer. At bygge denne version fra kildekode kræver, som minimum, GCC 13.2Dette skridt justerer projektet med nyere compilere og sikrer tilgængeligheden af ​​moderne optimeringer på binært niveau. Denne ændring kan kræve opdateringer i kontinuerlige integrationsmiljøer eller opbygning af servere, der stadig bruger ældre versioner af værktøjerne.

Parallelt stopper den nye gren med at understøtte Python 3.9 i dens værktøjskæde, hvilket betyder, at konfigurationer, der afhang af den version, skal migreres til nyere udgaver af sproget. Denne beslutning er en del af en bredere indsats for at fjerne ældre afhængigheder og opretholde projektets fundament på software, der fortsat modtager sikkerhedsopdateringer.

Udfasninger og udgåede API'er i Node.js 26

Sammen med de nye funktioner har udviklingsteamet introduceret en række kompatibilitetsændringer, der bør gennemgås, før produktionsprojekter migreres. Et af de fremhævede punkter er tilbagetrækning af metoden http.Server.prototype.writeHeader(), traditionelt brugt til at sende HTTP-headere fra serveren. Fra og med denne version er den officielle anbefaling at bruge http.Server.prototype.writeHead(), som fortsat er den understøttede rute.

Desuden markerer denne version afslutningen på cyklussen for DEP0182, relateret til modulet cryptosom en del af den rutinemæssige proces med at rydde op i gamle eller problematiske API'er. Udfasningen af module.register()Denne ændring vil påvirke dem, der arbejder med mere avancerede eller tilpassede modulindlæsningssystemer, hvilket tvinger en gennemgang af potentielle anvendelser af denne funktionalitet.

Den nye gren fjerner også boot-muligheden --experimental-transform-typesDenne funktion, som var en del af det eksperimentelle sæt af funktioner, er blevet fjernet. Fjernelsen indikerer, at teamet foretrækker at konsolidere understøttelsen af ​​typetransformationer på andre måder eller i senere faser af sprogets og platformens livscyklus, hvilket reducerer antallet af eksperimentelle flag.

Samlet set repræsenterer udgivelsen af ​​Node.js 26 en betydelig opdatering til økosystemet: den styrker det tidsbaserede fundament med en moderne API, opdaterer V8-motoren, forbedrer HTTP-klienten og gør fremskridt med at rydde op i ældre grænseflader. Med support, der strækker sig til 2029, og en klart defineret køreplan, tegner den nye version sig til at være en solid mulighed for dem, der søger langsigtet stabilitet uden at ofre platformens nyeste funktioner.


Tilføj som foretrukken kilde