Publikuar platforma Node.js 25.0.0

Sot në publikim Node.js 25.0.0, platforma për ekzekutimin e aplikacioneve të rrjetit në gjuhën JavaScript. Node.js 25.0 i përket degëve ndërmjetëse, mbështetje e të cilave ofrohet për 7 muaj (deri në qershor 2026). Në ditët në vijim do të përfundojë stabilizimi i degës Node.js 24, e cila në fund të muajit të tetor do të marrë statusin LTS dhe do të mbështetet deri në prill 2028. Mbështetje për degët e kaluara LTS Node.js 22.x dhe 20.x do të vazhdojë deri në prill 2027 dhe 2026 përkatësisht.

Përmirësimet kryesore:

  • Mekanizmi V8 Ă«shtĂ« pĂ«rditĂ«suar nĂ« versionin 14.1, i cili pĂ«rdoret nĂ« Chromium 141. NdĂ«r pĂ«rmirĂ«simet nĂ« krahasim me versionin e kaluar tĂ« Node.js, u theksua njĂ« rritje e konsiderueshme e performancĂ«s sĂ« metodĂ«s JSON.stringify, optimizimi i WebAssembly dhe JIT, implementimi i metodave pĂ«r konvertimin midis Uint8Array dhe tĂ« dhĂ«nave nĂ« formatin base64 ose paraqitjen hexadecimal.
  • NĂ« mekanizmin e Modelit tĂ« Lejeve, qĂ« lejon kufizimin e aksesit nĂ« burime tĂ« caktuara gjatĂ« ekzekutimit, Ă«shtĂ« shtuar opsioni "—allow-net" pĂ«r tĂ« siguruar aksesin nĂ« rrjet (nĂ«se nuk Ă«shtĂ« e specifikuar opsioni "—allow-net", ekzekutimi i Node.js nĂ« modin "—permission" do tĂ« jepet njĂ« gabim ERR_ACCESS_DENIED kur pĂ«rpiqet tĂ« kryejĂ« operacione rrjeti).
  • Aktivizuar si parazgjedhje i pĂ«rputhshĂ«m me shfletuesit API Web Storage, i dedikuar pĂ«r ruajtjen e pĂ«rhershme (klasa localStorage) ose tĂ« pĂ«rkohshme (klasa sessionStorage) tĂ« tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«. Etiketa e zhvillimit eksperimental u hoq nga API Web Storage.
  • NĂ« kategorinĂ« e resurseve tĂ« disponueshme globalisht (mund tĂ« pĂ«rdoret pa import tĂ« qartĂ«) u pĂ«rfshi klasa ErrorEvent, qĂ« ofron njĂ« ndĂ«rfaqe tĂ« pĂ«rputhshme me shfletuesit pĂ«r trajtimin e ngjarjeve me informacion mbi gabimet.
  • PĂ«r WebAssembly, u aktivizua mbĂ«shtetja pĂ«r API JSPI (JavaScript Promise Integration), qĂ« lejon qasjen nĂ« Web API asinkron nga kodi qĂ« ekzekutohet nĂ« mĂ«nyrĂ« tĂ« renditur, i kompiluar nĂ« WebAssembly.
  • U shtua opsioni "NODE_COMPILE_CACHE_RELATIVE_PATH" pĂ«r punĂ« tĂ« transferueshme me cache-t e objekteve tĂ« kompiluar. NĂ« kĂ«tĂ« mod, hash-t pĂ«r identifikimin e objekteve llogariten duke pĂ«rdorur rrugĂ«t relative nĂ« skedarĂ«, qĂ« lejon transferimin dhe inkorporimin e pĂ«rmbajtjeve tĂ« direktorive me kodin sĂ« bashku me cache-n.
  • U mundĂ«sua profilizimi i ngarkesĂ«s nĂ« CPU.
  • Menaxheri i paketave NPM u pĂ«rditĂ«sua nĂ« versionin 11.6.2.
  • U shtua mbĂ«shtetja pĂ«r Python 3.14.
  • Si versionet minimale tĂ« mbĂ«shtetura u deklaruan Clang 19 dhe Xcode 16.4.
  • PĂ«rkrahja pĂ«r objektin SlowBuffer Ă«shtĂ« ndĂ«rprerĂ«, i shpallur mĂ« parĂ« si tĂ« vjetruar pĂ«r shkak tĂ« problemeve tĂ« mundshme me sigurinĂ«. NĂ« vend tĂ« SlowBuffer duhet tĂ« pĂ«rdorim metodĂ«n Buffer.allocUnsafeSlow().

Platforma Node.js mund të përdoret si për mbështetje të serverëve të aplikacioneve Web, ashtu edhe për të krijuar programe të zakonshme klients-server të rrjeteve. Për të zgjeruar funksionalitetin e aplikacioneve për Node.js është përgatitur një koleksion i madh modulash, ku mund të gjeni module me realizim. serverëve dhe klientë HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module për integrim me korniza të ndryshme web, procesorë WebSocket dhe Ajax, lidhës për DB (MySQL, PostgreSQL, SQLite, MongoDB), motorë për modelim, CSS, realizime të algoritmeve kriptografikë dhe sistemeve të autorizimit (OAuth), parserë XML.

Për të trajtuar një numër të madh kërkesash paralelisht, Node.js përdor një model asinkron të ekzekutimit të kodit, i bazuar në përpunimin e ngjarjeve në modalitetin e pa bllokimit dhe përcaktimin e menaxherëve të kthimit (callbacks). Metoda të tilla si epoll, kqueue, /dev/poll dhe select mbështeten për shumëfishimin e lidhjeve. Për këtë, përdoret biblioteka libuv, që është një shtresë mbi libev në sistemet Unix dhe mbi IOCP në Windows. Biblioteka libeio përdoret për të krijuar një grup (thread pool), dhe c-ares është integruar për të kryer kërkesat DNS në modalitetin e pa bllokimit. Të gjitha thirrjet sistemike që shkaktojnë bllokim ekzekutohen brenda grupit dhe pastaj, si menaxherët e sinjaleve, kthejnë rezultatin e punës së tyre përmes një kanali të paemëruar (pipe).

Ekzekutimi i kodit JavaScript sigurohet përmes aktivizimit të motorit V8 të zhvilluar nga Google (për më tepër, Microsoft po zhvillon një variant Node.js me motorin Chakra-Core). Në thelb, Node.js është i ngjashëm me framework-et Perl AnyEvent, Ruby Event Machine, Python Twisted dhe implementimin e ngjarjeve në Tcl, por cikli i përpunimit të ngjarjeve (event loop) në Node.js është i fshehur nga zhvilluesi dhe i ngjan përpunimit të ngjarjeve në një aplikacion web që funksionon në shfletues.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster