Přejít k navigační liště

Zdroják » JavaScript » Node.js 26 přichází 22. dubna. Poslední release podle starých pravidel.

Node.js 26 přichází 22. dubna. Poslední release podle starých pravidel.

Nová major verze Node.js dorazí za týden a přinese stabilizaci require(esm), pokročilý permission model, aktualizovaný SQLite modul i řadu vychytávek kolem test runneru a diagnostic channels. Je to ale taky labutí píseň éry lichých a sudých verzí. Od Node.js 27 v říjnu platí úplně jiná pravidla.

Nová major verze Node.js dorazí za týden a přinese stabilizaci require(esm), pokročilý permission model, aktualizovaný SQLite modul i řadu vychytávek kolem test runneru a diagnostic channels. Je to ale taky labutí píseň éry lichých a sudých verzí. Od Node.js 27 v říjnu platí úplně jiná pravidla.

Co najdete v Node.js 26

Release je naplánovaný na středu 22. dubna 2026. Všechny commity, které se do v26 dostanou, musely landnout do main branch do 22. března. Runtime pojede na enginu V8 14.1 (stejná majorka jako u Node.js 25, doplněná o bezpečnostní cherry-picky) a bude ho doprovázet npm kolem verze 11.12. Kryptografii zajišťuje OpenSSL 3.5 se security levelem 2, což v praxi znamená zakázané RSA, DSA a DH klíče pod 2048 bitů a mrtvý RC4. Pokud se vám tohle teď poprvé vybavilo, zkontrolujte si svoje certifikáty dřív, než vás probudí CI.

Největší tichou výhrou je dokončení cesty require(esm). Joyee Cheung po letech dotáhla funkci do plně stabilního stavu a zpětně ji backportovala až do Node.js 20.19 a 22.12. CommonJS kód může konečně synchronně require() volat ESM moduly bez vlajky a bez modliteb. Spolu s tím se naopak deprecuje module.register() pod označením DEP0205. Pro většinu z nás to znamená, že dual-publishing balíčků ztratil poslední technickou výmluvu.

Další viditelná věc je pokračující práce na nativní podpoře TypeScriptu. Type stripping přes knihovnu amaro je defaultně zapnutý od verze 23.6. Node.js 26 ho posouvá blíž stabilnímu statusu. Pozor na limity: enumy, parameter properties a namespaces vyžadují --experimental-transform-types, JSX a dekorátory zatím nejedou, a type stripping se záměrně vyhýbá adresáři node_modules. Publishovat TS-only balíček pořád není dobrý nápad.

Permission model, který vede Rafael Gonzaga z NodeSource, dostává v této verzi další vrstvy. Povel --experimental-permission se už v Node.js 24 zkrátil na --permission, v 25 přibyl --allow-net pro granulární síťový přístup a do v26 padají opravy kolem pipe_wrap, fs/promises a nativního realpath (tři CVE z řady 2026-2171x). Jedná se o ten typ featur, po kterých vývojáři volají léta a teprve teď začínají být prakticky použitelné i mimo hobby projekty.

Vestavěný SQLite modul pod node:sqlite aktualizuje enginovou knihovnu na 3.52 a nově jede v defensive módu ve výchozím nastavení. Test runner umí rozlišit worker ID u souběžných testů, což zjednodušuje debugging paralelních běhů, a mock API si konsolidovalo options (defaultExport a namedExports se sloučily do jednoho exports). Diagnostics channels přibraly kanály pro web locks, spawn child processů a pro knihovny dostaly nové napojení.

Ze seznamu praktických drobností jmenuji --max-heap-size jako CLI flag (stop manuálním --max-old-space-size kejklům), volbu --require-module, ignore option pro fs.watch, rychlejší buffer.concat a experimentální quic modul za compile-time flagem pro odvážné. Single Executable Applications dostávají přímý příkaz --build-sea s LIEF dependencí.

Seznam deprecations a odstraněných API je letos mimořádně dlouhý, takže pokud vaše kódová základna pamatuje Node.js 16, projděte si assert.fail s více argumenty, CallTracker, SlowBuffer, event process.multipleResolves, moduly _stream_*, _tls_common, _tls_wrap a http.writeHeader. Všechno dosáhlo EOL.

Poslední release starého světa

Teď přichází ta část, která tomuhle releasu dává historický podtext. Node.js 26 je poslední majorka vydaná podle modelu z roku 2015. Ten model poznáte z paměti: dvě majorky ročně (duben a říjen), sudé verze jdou do LTS, liché žijí zhruba šest měsíců a nikdo je v produkci nechce. Přesně tohle Release Working Group 10. března 2026 oficiálně ukončil.

Od Node.js 27, který vyjde v dubnu 2027, platí jeden release ročně, každá verze se stává LTS, čísla verzí se srovnávají s kalendářním rokem (27.0.0 v 2027, 28.0.0 v 2028 a tak dál) a liché varianty jednoduše přestanou existovat. Místo nich nastupuje nový Alpha kanál. Ten běží šest měsíců před každým stabilním releasem (tedy od října předchozího roku), dovoluje semver-major změny a cílí hlavně na autory knihoven a správce CI pipelines, ne na produkční nasazení. Alpha buildy jsou podepsané, tagované a procházejí stejným CITGM testováním jako stable.

Přechod vypadá takto. Node.js 26 běží podle starých pravidel: LTS promotion v říjnu 2026, maintenance od října 2027, EOL 30. dubna 2029. Node.js 27 pak nastupuje jako první release nové éry. Alpha startuje v říjnu 2026, stable 27.0.0 v dubnu 2027, LTS status v říjnu 2027, EOL v dubnu 2030. Celková podpora je 36 měsíců, tedy o něco kratší než dosavadních 30 měsíců aktivního LTS plus maintenance.

Hlavním argumentem pro změnu je udržitelnost. V oficiálním oznámení stojí jasně, že Node.js je primárně dílem dobrovolníků a správa bezpečnostních releasů napříč čtyřmi až pěti aktivními release liniemi přestala být udržitelná. Rafael Gonzaga to v původním návrhu #1113 popsal stručně: častá kadence začala projekt drtit kvůli komplexitě backportování a kompatibility. James Snell, který svého času napsal ten původní release plán, v diskuzi dodal, že tehdy šlo o odhad korporátních potřeb roku 2015 a nikdo celou dekádu plán pořádně nerevidoval.

Co to znamená prakticky

Pokud spravujete produkční Node.js, první věc, která se vám má rozsvítit, je datum 30. dubna 2026. Tehdy končí podpora Node.js 20. Ke dni psaní tohoto článku stále čtvrtina aplikací v ekosystému běží na EOL verzích (Node.js 18 a starší) a podstatná část mezi nimi má ještě Node.js 20. AWS Lambda zastaví security patche pro nodejs20.x přesně k tomuto datu, od 30. září 2026 nepůjde Lambda funkce na Node.js 20 ani aktualizovat. Runtime nezmizí, ale změna kódu už neprojde. GitHub Actions sáhnou k default runneru Node.js 24 k 2. červnu 2026.

Doporučený upgrade path vede na Node.js 24 LTS, který má podporu do dubna 2028. Node.js 22 je pořád validní volba pro konzervativní týmy (podpora do dubna 2027), ale většina ekosystému už cílí na 24. Z Node.js 20 vás na cestě čekají hlavně Import Assertions, které se přejmenovaly na Import Attributes. Syntaxe assert { type: 'json' } v Node.js 22 pouze spadne, správně je with { type: 'json' }. Pro migraci existuje oficiální codemod @nodejs/import-assertions-to-attributes. Další velká věc jsou nativní moduly (sharp, bcrypt, better-sqlite3), které potřebují npm rebuild kvůli změně ABI ve V8.

A ještě jedna drobnost, která zaskočí hodně lidí: Corepack už od Node.js 25 není distribuovaný s runtimem (TSC o tom hlasovalo a Socket.dev shrnul kontext). Pokud pnpm nebo yarn berete přes Corepack, musíte si ho nainstalovat zvlášť přes npm install -g corepack.

Je to dobrý nápad?

Podle mě ano, a to ze dvou důvodů. Zaprvé, lichý a sudý model existoval proto, aby dal enterprise uživatelům jistotu. Jenže za deset let se z něj stala institucionální folklor, kterou každý tým znovu a znovu vysvětloval nováčkům. Sjednocení kadence s rokem vydání (číslo 27 v roce 2027) je mnohem čistší mentální model než dvojí tabulka sudých a lichých verzí. Zadruhé, Alpha kanál je elegantnější řešení než liché releasy. Autoři knihoven dostanou včas prostor otestovat breaking changes proti reálným projektům, aniž by tlačili uživatele na produkční použití.

Ne všechno je ale jednoznačné. How-To Geek si trefně všiml paradoxu: Chrome přechází na bi-weekly releases prakticky ve stejnou chvíli, kdy Node.js zpomaluje. V8 vylepšení se do runtimu budou dostávat s větším zpožděním. Týmy, které žijí z nejnovějších JavaScriptových featur, si budou muset zvyknout čekat déle, nebo začnou ve větším koketovat s Denem a Bunem (který mimochodem od prosince patří pod Anthropic, ale to je téma na jindy).

Node.js 26 je tedy milník ze dvou stran. Přináší konkrétní užitečné věci, které se vývojářům budou hodit od prvního dne, a zároveň uzavírá jednu kapitolu. Další majorka, kterou uvidíte, už bude jmenovat rok, ve kterém v ní budete pracovat. Přijde mi to symbolické.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

EmDash: Duchovní nástupce WordPressu, který řeší bezpečnost pluginů

Cloudflare přichází s ambiciózním projektem EmDash, který chce přepsat pravidla správy webového obsahu a nahradit dlouholetou dominanci WordPressu. Nový open source CMS, vytvořený za pouhé dva měsíce s pomocí AI, sází na moderní architekturu, důraz na bezpečnost i monetizaci a řeší klíčové problémy, které WordPress provázejí už desítky let.

Project Glasswing: Anthropic mění pravidla kybernetické bezpečnosti

AI
Komentáře: 0
Nový AI model Claude Mythos Preview dokáže autonomně nacházet bezpečnostní díry v každém hlavním operačním systému i prohlížeči – včetně zranitelností starých desítky let, které přežily miliony automatizovaných testů. Anthropic se rozhodl tuto schopnost nasadit jako nástroj obrany a svolal koalici dvanácti technologických gigantů – od Amazonu přes Microsoft až po JPMorganChase. Se závazkem 100 milionů dolarů a přístupem pro více než 40 organizací spravujících kritickou infrastrukturu je Project Glasswing závodem s časem: zajistit, aby obránci byli s těmito schopnostmi dřív než útočníci.

Git Worktree + Claude Code: paralelní vývoj a AI agenti ve více větvích najednou

Git worktree posouvá práci s větvemi na úplně jinou úroveň – místo neustálého přepínání a stashování nabízí paralelní pracovní prostředí nad jedním repozitářem. V kombinaci s nástroji jako Claude Code navíc otevírá dveře k běhu více AI agentů současně, každý izolovaně ve své větvi, bez kolizí a zbytečné režie.