Node.js 25.0.0 ir laika, kad ir Ä«steno tÄ«kla lietojumprogrammas, iznÄkÅ”ana. Node.js 25.0 tiek klasificÄts kÄ starpposma versija, kuras apkalpoÅ”ana tiks nodroÅ”inÄta 7 mÄneÅ”us (lÄ«dz 2026. gada jÅ«nijam). NÄkamo dienu laikÄ tiks pabeigta Node.js 24 stabilizÄcija, kas lÄ«dz oktobra beigÄm iegÅ«s LTS statusu un tiks atbalstÄ«ta lÄ«dz 2028. gada aprÄ«lim. IepriekÅ”Äjo LTS versiju atbalsts Node.js 22.x un 20.x turpinÄsies lÄ«dz 2027. un 2026. gadam, attiecÄ«gi.
Galvenie uzlabojumi:
- V8 dzinÄjs ir atjauninÄts lÄ«dz versijai 14.1, kas tiek izmantota Chromium 141. SalÄ«dzinÄjumÄ ar iepriekÅ”Äjo Node.js izlaidi ir ievÄrojami uzlabota JSON.stringify metodes darbÄ«ba, optimizÄta WebAssembly un JIT, kÄ arÄ« ieviestas metodes datu konvertÄÅ”anai no Uint8Array uz base64 vai seÅ”desmito attÄlojumu.
- Atļauju modeļa mehÄnismÄ, kas nosaka piekļuves ierobežojumus noteiktiem resursiem izpildes laikÄ, ir pievienota iespÄja Ā«āallow-netĀ», lai nodroÅ”inÄtu piekļuvi tÄ«kliem (ja iespÄja Ā«āallow-netĀ» netiek norÄdÄ«ta, Node.js palaiÅ”ana režīmÄ Ā«āpermissionĀ» Ä£enerÄs kļūdas ziÅojumu ERR_ACCESS_DENIED, mÄÄ£inot izpildÄ«t tÄ«kla operÄcijas).
- Iekļauts pÄc noklusÄjuma saderÄ«gs ar pÄrlÅ«kprogrammÄm Web Storage API, kas paredzÄts pastÄvÄ«gas (localStorage klase) vai pagaidu (sessionStorage klase) datu glabÄÅ”anas Ä«stenoÅ”anai atslÄgas/vÄrtÄ«bas formÄtÄ. No Web Storage API ir noÅemta eksperimenti attiecÄ«gÄ marÄ·Äjuma.
- Klasis ErrorEvent ir pÄrcelts uz globÄli pieejamo kategoriju (to var izmantot bez skaidras importÄÅ”anas), sniedzot saderÄ«gu ar pÄrlÅ«kprogrammÄm saskarni kļūdu informÄcijas apstrÄdei.
- WebAssembly ir pievienota JSPI (JavaScript Promise Integration) API atbalsts, kas ļauj piekļūt asinhroniem Web API no secÄ«gi izpildÄ«ta koda, kas kompilÄts WebAssembly.
- Pievienota iespÄja Ā«NODE_COMPILE_CACHE_RELATIVE_PATHĀ» pÄrvietojamai kompilÄto objektu keÅ”a izmantoÅ”anai. Å ajÄ režīmÄ objekta identifikÄcijai izmantotie heÅ”i tiek aprÄÄ·inÄti, izmantojot relatÄ«vÄs ceļa norÄdes uz failiem, kas ļauj pÄrvietot un integrÄt koda direktorijas saturu kopÄ ar keÅ”u.
- IespÄjota CPU slodzes profilÄÅ”ana.
- NPM pakotÅu pÄrvaldnieks atjauninÄts lÄ«dz versijai 11.6.2.
- Pievienots atbalsts Python 3.14.
- KÄ minimÄli atbalstÄ«tÄs versijas ir norÄdÄ«tas Clang 19 un Xcode 16.4.
- Atbalsts objektam SlowBuffer ir pÄrtraukts, iepriekÅ” izsludinÄts par novecojuÅ”u droŔības problÄmu dÄļ. TÄ vietÄ izmantojiet metodi Buffer.allocUnsafeSlow().
Node.js platformu var izmantot gan servera puses tÄ«mekļa lietojumprogrammu atbalstam, gan parasto klientu un serveru tÄ«kla programmu izveidei. Lai paplaÅ”inÄtu Node.js lietojumprogrammu funkcionalitÄti, ir sagatavota liela moduļu kolekcija, kas ietver moduļus ar realizÄciju serveriem un HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klientiem, moduļiem integrÄÅ”anai ar dažÄdiem tÄ«mekļa ietvariem, WebSocket un Ajax apstrÄdÄtÄjiem, datubÄzu (MySQL, PostgreSQL, SQLite, MongoDB) savienotÄjiem, veidÅu motorus, CSS dzinÄjus, kriptovalÅ«tu algoritmu realizÄcijas un autorizÄcijas sistÄmas (OAuth), XML parsÄtÄjus.
Lai apstrÄdÄtu lielu skaitu vienlaicÄ«gu pieprasÄ«jumu, Node.js izmanto asinhrono koda izpildes modeli, balstoties uz notikumu apstrÄdi bez bloÄ·ÄÅ”anas un callback apstrÄdÄtÄju definÄÅ”anu. Savienojumu multiplikÄcijai tiek atbalstÄ«ti tÄdi paÅÄmieni kÄ epoll, kqueue, /dev/poll un select. Savienojumu multiplikÄcijai tiek izmantota libuv bibliotÄka, kas ir virs libev sistÄmÄm Unix un IOCP Windows. Thread pool (vÄ«tolietotÄju baseins) tiek izveidots, izmantojot libeio bibliotÄku, savukÄrt DNS pieprasÄ«jumu veikÅ”anai bez bloÄ·ÄÅ”anas ir integrÄta c-ares. Visas sistÄmas izsaukums, kas izraisa bloÄ·ÄÅ”anu, tiek veikti iekÅ” mpulÄ un pÄc tam, tÄpat kÄ signÄlu apstrÄdÄtÄji, pÄrsÅ«ta rezultÄtu atpakaļ, izmantojot nenosaukto kanÄlu (pipe).
JavaScript koda izpildi nodroÅ”ina Google izstrÄdÄtais V8 dzinÄjs (papildus Microsoft attÄ«sta Node.js versiju ar Chakra-Core dzinÄju). PatiesÄ«bÄ Node.js ir lÄ«dzÄ«gs Perl AnyEvent, Ruby Event Machine, Python Twisted un Tcl notikumu realizÄcijai, taÄu Node.js notikumu apstrÄdes cikls (event loop) ir slÄpts no izstrÄdÄtÄja un atgÄdina notikumu apstrÄdi tÄ«mekļa lietojumprogrammÄ, kas darbojas pÄrlÅ«kprogrammÄ.
Avots: opennet.lv
