Dumating ang Node.js 26 kasama ang Temporal API at mga pangunahing pagpapabuti sa platform

  • Ang Node.js 26 ay ilalabas bilang kasalukuyang bersyon at nakatakdang ilipat sa LTS sa Oktubre, na may suporta hanggang 2029.
  • Ang Temporal API ay naka-activate bilang default, na nagpapabago sa paghawak ng mga petsa at oras sa JavaScript kumpara sa Date.
  • Ang V8 engine ay na-update sa bersyon 14.6 at ang undici HTTP client ay na-renew sa 8.x branch (8.0.2).
  • Ipinakikilala ng bersyong ito ang mga pagbabago sa compatibility: mga bagong kinakailangan sa compilation, mga paghinto sa paggamit, at pag-aalis ng mga lumang API.

Node.js 26.0.0

Ang plataporma ng JavaScript node.js pinakawalan na Ang Bersyon 26, isang pangunahing paglabas, ay nagmamarka ng isang bagong hakbang sa ebolusyon ng kapaligirang idinisenyo upang patakbuhin ang JavaScript code sa labas ng browser. Ito ang bagong sangay kasalukuyan, na may malinaw na pokus sa pag-modernize ng karaniwang API at paghahanda ng ecosystem para sa ilang taon ng suporta.

Ang bagong paglabas na ito Node.js 26.0.0 Maaari na itong i-download mula sa opisyal na website at inilaan para sa mga developer at team na gustong simulan ang pagsubok sa mga bagong feature sa lalong madaling panahon. Bagama't kasalukuyan itong itinuturing na isang aktibong bersyon ng pag-develop, natukoy na ng proyekto ang timeline para sa paglipat nito sa isang pangmatagalang sangay ng suporta, isang bagay na lalong mahalaga para sa mga kumpanyang umaasa sa matatag at mahuhulaang mga cycle.

Kalendaryo ng Paglabas ng Node.js at Siklo ng Suporta 26

Ang Sangay 26 ay isinama sa mga bersyon ng pangmatagalang suportaNgunit gagawin ito sa dalawang yugto: sa loob ng humigit-kumulang anim na buwan, gagana ito bilang kasalukuyanDahil makakatanggap ito ng mga bagong tampok at pagsasaayos, lilipat ito sa katayuan ng LTS sa Oktubre pagkatapos ng panahon ng pagpapatatag ng code. Kapag nakumpleto na ang paglipat, ang seryeng 26.x ay pananatilihin hanggang Mayo 2029, na may mga patch sa seguridad at mga pag-aayos ng bug.

Kasabay nito, pinapanatili ng pangkat ng plataporma ang iba pang mga sangay na may iba't ibang petsa ng pagtatapos ng operasyon, na nakakatulong sa pagpaplano ng mga paglipat sa malalaking proyekto. Node.js 24.x, na may pinalawig na suporta, ay patuloy na makakatanggap ng mga update hanggang Abril 2028, habang ang sangay ng 22.x ay nakatakdang magtapos sa Abril 2027. Sa kabaligtaran, ang linya ng LTS 20.x ay inalis na sa maintenance at ang intermediate na bersyon na 25.x ay hindi na susuportahan sa simula ng Hunyo, na magtutulak sa mga koponan na lumipat sa mas bagong serye.

Temporal API: isang bagong paraan ng pagtatrabaho sa mga petsa at oras

Ang pinakakapansin-pansing pagbabago para sa mga nagpo-program araw-araw ay ang default na pag-activate ng Pansamantalang API, isang hanay ng mga uri at pamamaraan na nag-aalok ng modernong alternatibo sa beterano na bagay DateNilalayon ng API na ito na gawing simple ang pamamahala ng mga petsa at oras, isang lugar na matagal nang nakabuo ng mga error dahil sa mga time zone, pagbabago ng daylight saving time, at mga transpormasyon sa pagitan ng mga format.

Sa Temporal, ang oras ay maaaring katawanin sa iba't ibang paraan depende sa mga partikular na pangangailangan ng proyekto. Halimbawa, maaaring pangasiwaan ng mga aplikasyon ang mga petsa at oras nang hindi iniuugnay ang mga ito sa isang partikular na time zone gamit ang mga uri tulad ng Pansamantala.PlainPetsa, Pansamantala.PlainTime y Pansamantala.PlainPetsaOras, kapaki-pakinabang para sa mga takdang iskedyul, reserbasyon o rehistrasyon kung saan tanging ang lokal na halaga lamang ang mahalaga.

Kapag kinakailangan ng konteksto na isaalang-alang ang mga time zone, nag-aalok ang API ng Temporal.Na-Zone na Petsa at OrasIniuugnay nito ang petsa at oras sa isang partikular na time zone upang matiyak ang tumpak na mga kalkulasyon kapag naglalakbay sa pagitan ng mga rehiyon o kapag naglalapat ng mga panuntunan sa time zone. Bukod pa rito, upang iimbak at ihambing ang mga ganap na oras, ipinakikilala ang sumusunod: Pansamantala.Instant, na kumakatawan sa isang punto sa oras bilang bilang ng mga nanosecond simula Enero 1, 1970, na praktikal para sa mga distributed system o audit.

Bukod sa mga uri ng datos, direktang isinasama ng API ang mga operasyon sa conversion, formatting, at time arithmetic, na nagbibigay-daan sa iyong magdagdag o magbawas ng mga tuldok, magpalit ng mga time zone, at makabuo ng nababasang output nang hindi umaasa sa mga panlabas na library. Ang katotohanan na Ang pansamantala ay naka-enable bilang default Pinapadali ng Node.js 26 ang progresibong paggamit nito sa mga proyektong nangangailangan ng maaasahang pamamahala ng kalendaryo, mula sa mga aplikasyon sa pananalapi hanggang sa mga serbisyong logistik.

Pag-update ng V8 engine at mga bagong kakayahan sa JavaScript

Ang isa pang mahalagang elemento ng paglabas na ito ay ang paglukso sa execution engine. V8 sa bersyon 14.6, ang parehong linyang ginamit sa Chromium 146. Ang update na ito ay hindi lamang nagdudulot ng mga pagpapabuti sa pagganap, kundi pati na rin ng mga karagdagang tampok sa wika at mga panloob na pag-optimize na nakakaapekto sa oras ng pagtugon ng application.

Kabilang sa mga bagong tampok na direktang nakikinabang sa mga developer, ang posibilidad ng pagsamahin ang maraming iterator sa isa gamit ang pamamaraan Iterator.concat()Pinapasimple ng kakayahang ito ang manipulasyon ng mga sequence ng datos mula sa iba't ibang pinagmulan nang hindi kinakailangang lumikha ng mga intermediate na istruktura, na kapaki-pakinabang kapag nagpoproseso ng mga daloy sa mga server na humahawak ng mataas na dami ng impormasyon.

Isinasama rin ng makina ang mga detalye ng upsert para sa mga koleksyon Map y WeakMap Sa JavaScript. Dahil sa functionality na ito, mas madali ang paggamit ng mga key/value pairs, dahil posibleng magpasok o mag-update ng mga entry sa iisang operasyon, na binabawasan ang dami ng code na kinakailangan at binabawasan ang mga potensyal na race condition sa mga sabay-sabay na kapaligiran.

Undici 8 at mga pagpapabuti sa HTTP client

Tungkol sa mga komunikasyon sa network, ina-update ng Node.js 26 ang opisyal na HTTP client. labing isa sa seryeng 8.x. Partikular na ipinahihiwatig ng iba't ibang sanggunian sa loob ng proyekto ang pag-aampon ng bersyon 8.0.2, na kumakatawan sa isang hakbang pasulong sa katatagan, pagganap, at pagiging tugma sa kasalukuyang mga pangangailangan ng mga web API.

Ang update na ito para sa kliyente ay lalong mahalaga para sa mga serbisyong ipinapatupad sa imprastraktura, kung saan ang interaksyon sa mga microservice, mga platform ng third-party, at mga internal na sistema ay palagian. Isinasama ng bagong sangay ng undici ang mga pagpapabuti sa patuloy na pamamahala ng koneksyon, na-update na suporta para sa HTTP/1.1 at HTTP/2, at mga pag-optimize sa pagkonsumo ng mapagkukunan, na sama-samang binabawasan ang latency at mas mahusay na ginagamit ang magagamit na hardware.

Mga pagbabago sa compatibility at mga kinakailangan sa pagbuo

Ang paglipat sa Node.js 26 ay mayroon ding kasamang mga pagsasaayos sa build environment at mga kaugnay na tool. Ang pagbuo ng bersyong ito mula sa pinagmulan ay nangangailangan, gaya ng pinakamababa, GCC 13.2Inihahambing ng hakbang na ito ang proyekto sa mga mas bagong compiler at tinitiyak ang pagkakaroon ng mga modernong binary-level optimization. Ang pagbabagong ito ay maaaring mangailangan ng mga update sa mga continuous integration environment o pagbuo ng mga server na gumagamit pa rin ng mga mas lumang bersyon ng mga tool.

Kasabay nito, humihinto ang pagsuporta ng bagong sangay Python 3.9 sa toolchain nito, ibig sabihin ay ang mga configuration na nakadepende sa bersyong iyon ay kailangang lumipat sa mas bagong mga edisyon ng wika. Ang desisyong ito ay bahagi ng mas malawak na pagsisikap na alisin ang mga legacy dependencies at mapanatili ang pundasyon ng proyekto sa software na patuloy na tumatanggap ng mga update sa seguridad.

Mga Paghinto sa Paggamit at mga Retired API sa Node.js 26

Kasama ng mga bagong tampok, ipinakilala ng development team ang isang serye ng mga pagbabago sa compatibility na dapat suriin bago ilipat ang mga proyekto sa produksyon. Isa sa mga puntong itinatampok ay ang pag-alis ng pamamaraan http.Server.prototype.writeHeader(), na tradisyonal na ginagamit upang magpadala ng mga HTTP header mula sa server. Simula sa bersyong ito, ang opisyal na rekomendasyon ay ang paggamit ng http.Server.prototype.writeHead(), na nananatiling sinusuportahang ruta.

Bukod pa rito, ang bersyong ito ang siyang nagtatapos ng siklo para sa DEP0182, kaugnay ng modyul cryptobilang bahagi ng karaniwang proseso ng paglilinis ng mga luma o may problemang API. Ang pagtigil sa paggamit ng module.register()Ang pagbabagong ito ay makakaapekto sa mga gumagamit ng mas advanced o customized na module loading system, na magtutulak sa isang pagsusuri ng mga potensyal na gamit ng functionality na ito.

Inaalis din ng bagong sangay ang opsyon sa pag-boot --experimental-transform-types, na bahagi ng hanay ng mga eksperimental na tampok. Ang pag-alis nito ay nagpapahiwatig na mas gusto ng pangkat na pagsama-samahin ang suporta para sa mga pagbabago sa uri sa pamamagitan ng iba pang paraan o sa mga susunod na yugto ng lifecycle ng wika at platform, na binabawasan ang bilang ng mga flag sa estado ng eksperimento.

Sa pangkalahatan, ang paglabas ng Node.js 26 ay kumakatawan sa isang mahalagang pag-update sa ecosystem: pinapalakas nito ang pundasyong nakabatay sa oras gamit ang isang modernong API, ina-update ang V8 engine, pinapabuti ang HTTP client, at gumagawa ng progreso sa paglilinis ng mga lumang interface. Dahil sa suportang umaabot hanggang 2029 at isang malinaw na tinukoy na roadmap, ang bagong bersyon ay magiging isang matibay na opsyon para sa mga naghahanap ng pangmatagalang katatagan nang hindi isinasakripisyo ang mga pinakabagong kakayahan ng platform.


Idagdag bilang ginustong mapagkukunan sa Google