Node.js 26 přichází s Temporal API a klíčovými vylepšeními platformy

  • Node.js 26 je vydávána jako aktuální verze a přechod na LTS je naplánován na říjen s podporou do roku 2029.
  • Rozhraní Temporal API je ve výchozím nastavení aktivováno, což modernizuje zpracování dat a časů v JavaScriptu ve srovnání s rozhraním Date.
  • Engine V8 je aktualizován na verzi 14.6 a klient Undici HTTP je obnoven na větev 8.x (8.0.2).
  • Tato verze zavádí změny kompatibility: nové požadavky na kompilaci, zastaralé verze a odstranění starých API.

Node.js 26.0.0

Platforma JavaScript Node.js uvolnil Verze 26, hlavní vydání, představuje nový krok ve vývoji prostředí navrženého pro spouštění kódu JavaScript mimo prohlížeč. Toto je nová větev. , který se jasně zaměřuje na modernizaci standardního API a přípravu ekosystému na několikaletou podporu.

Toto nové vydání Node.js 26.0.0 Nyní je k dispozici ke stažení z oficiálních webových stránek a je určena pro vývojáře a týmy, kteří chtějí co nejdříve začít testovat nové funkce. Ačkoli je v současné době považována za aktivní vývojovou verzi, projekt již definoval časový harmonogram pro její přechod na dlouhodobou podpůrnou větev, což je obzvláště důležité pro společnosti, které se spoléhají na stabilní a předvídatelné cykly.

Kalendář vydání Node.js a cyklus podpory 26

Větev 26 je začleněna do verzí dlouhodobá podporaAle stane se tak ve dvou fázích: přibližně šest měsíců bude fungovat jako Po obdržení nových funkcí a úprav přejde v říjnu po období stabilizace kódu na status LTS. Po dokončení přechodu bude řada 26.x udržována do května 2029 s bezpečnostními záplatami a opravami chyb.

Souběžně s tím tým platformy spravuje další větve s různými daty ukončení životnosti, což pomáhá plánovat migrace ve velkých projektech. Rodina Node.js 24.x, rovněž s rozšířenou podporou, bude i nadále dostávat aktualizace až do dubna 2028, zatímco větev 22.x má podle plánu skončit v dubnu 2027. Naproti tomu řada LTS 20.x již byla vyřazena z údržby a meziverze 25.x přestane být podporována začátkem června, což týmy donutí přejít na novější série.

Temporal API: nový způsob práce s daty a časy

Nejviditelnější změnou pro ty, kteří programují denně, je výchozí aktivace Dočasné API, sada typů a metod, která nabízí moderní alternativu k objektu veterána DateToto API si klade za cíl zjednodušit správu dat a časů, což je oblast, která historicky generovala chyby kvůli časovým pásmům, změnám letního času a transformacím mezi formáty.

Pomocí metody Temporal lze čas reprezentovat různými způsoby v závislosti na specifických potřebách projektu. Například aplikace mohou zpracovávat data a časy, aniž by je musely přiřazovat ke konkrétnímu časovému pásmu, a to pomocí typů jako Dočasné.ProstéDatum, Dočasný.PlanýČas y Dočasné.PlainDateTime, užitečné pro pevně stanovené rozvrhy, rezervace nebo registrace, kde záleží pouze na místní hodnotě.

Pokud kontext vyžaduje zohlednění časových pásem, API nabízí Časový_datum_časuTemporal.ZonedDateTimeToto propojuje datum a čas s konkrétním časovým pásmem, aby byly zajištěny přesné výpočty při cestování mezi regiony nebo při uplatňování pravidel časových pásem. Pro ukládání a porovnávání absolutních časů je navíc zavedeno následující: Dočasné.Okamžité, což představuje bod v čase jako počet nanosekund od 1. ledna 1970, což je praktické pro distribuované systémy nebo audity.

Kromě datových typů API přímo zahrnuje konverze, formátování a časové aritmetické operace, což umožňuje přidávat nebo odečítat tečky, měnit časová pásma a generovat čitelný výstup bez nutnosti spoléhat se na externí knihovny. Skutečnost, že Dočasné nastavení je ve výchozím nastavení povoleno. Node.js 26 usnadňuje jeho postupné zavádění v projektech, které vyžadují spolehlivou správu kalendářů, od finančních aplikací až po logistické služby.

Aktualizace motoru V8 a nové funkce JavaScriptu

Dalším klíčovým prvkem této verze je pokrok v prováděcím enginu. V8 na verzi 14.6, stejnou linii používanou v Chromu 146. Tato aktualizace přináší nejen vylepšení výkonu, ale také další jazykové funkce a interní optimalizace, které ovlivňují dobu odezvy aplikací.

Mezi nové funkce, které přímo prospívají vývojářům, patří možnost kombinovat více iterátorů do jednoho pomocí metody Iterator.concat()Tato funkce zjednodušuje manipulaci s datovými sekvencemi z různých zdrojů bez nutnosti vytvářet mezilehlé struktury, což je užitečné při zpracování toků na serverech, které zpracovávají velké objemy informací.

Motor také zahrnuje specifikaci upsert pro sbírky Map y WeakMap V JavaScriptu tato funkce usnadňuje práci s páry klíč/hodnota, protože umožňuje vkládat nebo aktualizovat položky v rámci jediné operace, čímž se snižuje množství potřebného kódu a minimalizují potenciální podmínky souboje v souběžných prostředích.

Undici 8 a vylepšení HTTP klienta

Pokud jde o síťovou komunikaci, Node.js 26 aktualizuje oficiálního HTTP klienta. jedenáct k řadě 8.x. Konkrétně různé zdroje v rámci projektu uvádějí přijetí verze 8.0.2, která představuje krok vpřed ve stabilitě, výkonu a kompatibilitě se současnými potřebami webových API.

Tato aktualizace klienta je obzvláště relevantní pro služby nasazené na infrastruktuře, kde probíhá neustálá interakce s mikroslužbami, platformami třetích stran a interními systémy. Nová větev undici zahrnuje vylepšení správy persistentních připojení, aktualizovanou podporu pro HTTP/1.1 a HTTP/2 a optimalizaci spotřeby zdrojů, což společně snižuje latenci a umožňuje lepší využití dostupného hardwaru.

Změny v kompatibilitě a požadavcích na sestavení

Přechod na Node.js 26 také s sebou nese úpravy prostředí pro sestavení a souvisejících nástrojů. Sestavení této verze ze zdrojového kódu vyžaduje, jako je minimálně, GCC 13.2Tato změna sladí projekt s novějšími kompilátory a zajistí dostupnost moderních optimalizací na binární úrovni. Tato změna může vyžadovat aktualizace v prostředích s kontinuální integrací nebo sestavovací servery, které stále používají starší verze nástrojů.

Souběžně nová větev přestává podporovat Python 3.9 v jeho nástrojové sadě, což znamená, že konfigurace, které na dané verzi závisely, budou muset migrovat na novější edice jazyka. Toto rozhodnutí je součástí širšího úsilí o odstranění starších závislostí a zachování základů projektu na softwaru, který nadále dostává bezpečnostní aktualizace.

Zastaralá a vyřazená API v Node.js 26

Spolu s novými funkcemi vývojový tým zavedl řadu změn kompatibility, které by měly být před migrací produkčních projektů zkontrolovány. Jedním z bodů, které jsou zdůrazněny, je stažení metody http.Server.prototype.writeHeader(), tradičně používaný k odesílání HTTP hlaviček ze serveru. Počínaje touto verzí se oficiální doporučení používá http.Server.prototype.writeHead(), která zůstává podporovanou trasou.

Tato verze navíc označuje konec cyklu pro 0182 DEP, související s modulem cryptojako součást rutinního procesu čištění starých nebo problematických API. Zastarávání module.register()Tato změna ovlivní ty, kteří pracují s pokročilejšími nebo přizpůsobenými systémy načítání modulů, a vynutí si tak přezkoumání potenciálního využití této funkce.

Nová větev také odstraňuje možnost bootování. --experimental-transform-typesTato funkce, která byla součástí experimentální sady funkcí, byla odstraněna. Její odstranění naznačuje, že tým preferuje konsolidaci podpory pro transformace typů jinými prostředky nebo v pozdějších fázích životního cyklu jazyka a platformy, čímž se snižuje počet experimentálních příznaků.

Celkově vzato představuje vydání Node.js 26 významnou aktualizaci ekosystému: posiluje časově orientovaný základ moderním API, aktualizuje engine V8, vylepšuje HTTP klienta a dosahuje pokroku v čištění starších rozhraní. S podporou prodlouženou do roku 2029 a jasně definovaným plánem se nová verze rýsuje jako solidní volba pro ty, kteří hledají dlouhodobou stabilitu, aniž by obětovali nejnovější funkce platformy.