Node.js 24.0.0 ืคึผืœืึทื˜ืคืึธืจืžืข ืืจื•ื™ืกื’ืขื’ืขื‘ืŸ

Node.js 24.0.0, ื ืคืœืื˜ืคืืจืžืข ืคืืจืŸ ืœื•ื™ืคืŸ ื ืขืฅ ืืคืœื™ืงืืฆื™ืขืก ืื™ืŸ ื“ื–ืฉืื•ื•ืืกืงืจื™ืคื˜, ืื™ื– ืืจื•ื™ืกื’ืขื’ืขื‘ืŸ ื’ืขื•ื•ืืจืŸ. Node.js 24.0 ืื™ื– ืฆื•ื’ืขื˜ื™ื™ืœื˜ ืฆื• ื“ื™ ืœืื ื’-ื˜ืขืจืžื™ืŸ ืฉื˜ื™ืฆืข ืฆื•ื•ื™ื™ื’ืŸ, ืื‘ืขืจ ื“ืขื ืกื˜ืื˜ื•ืก ื•ื•ืขื˜ ืžืขืŸ ืฆื•ื’ืขื‘ืŸ ืขืจืฉื˜ ืื™ืŸ ืืงื˜ืื‘ืขืจ, ื ืืš ืกื˜ืื‘ื™ืœื™ื–ืืฆื™ืข. Node.js 24.x ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื’ืขืฉื˜ื™ืฆื˜ ื‘ื™ื–ืŸ 30ืกื˜ืŸ ืืคืจื™ืœ, 2028. ื“ืขืจ ืคืจื™ืขืจื“ื™ื’ืขืจ LTS ืฆื•ื•ื™ื™ื’ Node.js 22.x ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื’ืขืฉื˜ื™ืฆื˜ ื‘ื™ื– ืืคืจื™ืœ 2027, ืื•ืŸ ื“ืขืจ ืคืจื™ืขืจื“ื™ื’ืขืจ LTS ืฆื•ื•ื™ื™ื’ 20.x ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื’ืขืฉื˜ื™ืฆื˜ ื‘ื™ื– ืืคืจื™ืœ 2026. ืื•ื™ืคื”ืืœื˜ื•ื ื’ ืคื•ืŸ ื“ืขื 18.x LTS ืฆื•ื•ื™ื™ื’ ื•ื•ืขื˜ ืขื ื“ื™ื’ืŸ ื“ืขื 30ืกื˜ืŸ ืืคืจื™ืœ, 2025, ืื•ืŸ ื“ืขืจ Node.js 23.x ืฆื•ื•ื™ืฉืŸ-ืฆื•ื•ื™ื™ื’ ื•ื•ืขื˜ ืขื ื“ื™ื’ืŸ ื“ืขื 1ื˜ืŸ ื™ื•ื ื™, 2025.

ื”ื•ื™ืคึผื˜ ืคึฟืึทืจื‘ืขืกืขืจื•ื ื’ืขืŸ:

  • ื“ื™ AsyncLocalStorage API ื ื™ืฆื˜ ื“ื™ AsyncContextFrame ืงืœืึทืก ื“ื•ืจืš ื“ื™ืคืึธืœื˜, ื•ื•ืึธืก ืื™ื– ื’ืขืžืึทืจืงื˜ ื•ื•ื™ ืกื˜ืึทื‘ื™ืœ. AsyncContextFrame ื ื™ืฆื˜ ืึท ืžืขืจ ืขืคืขืงื˜ื™ื•ื•ืŸ ืžืขื›ืึทื ื™ื–ื ืคึฟืึทืจ ื˜ืจืึทืงื™ื ื’ ืึทืกื™ื ืงืจืึธื ืึธื•ืก ืงืึธื ื˜ืขืงืกื˜, ื•ื•ืึธืก ืงืขืŸ ื‘ืึทื“ื™ื™ื˜ื ื“ ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’.
  • ื“ื™ URLPattern API ืื™ื– ืื™ืฆื˜ ื‘ื ื™ืžืฆื ื•ื•ื™ ืึท ื’ืœืึธื‘ืึทืœืขืจ ืึธื‘ื™ืขืงื˜ ื•ื•ืึธืก ืงืขืŸ ื’ืขื ื™ืฆื˜ ื•ื•ืขืจืŸ ืึธืŸ ืขืงืกืคึผืœื™ืฆื™ื˜ืŸ ืื™ืžืคึผืึธืจื˜. URLPattern ื’ื™ื˜ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ืึท URL ืคึผืึทืกื˜ ืฆื• ืึท ืกืคึผืขืฆื™ืคึฟื™ืฉืŸ ืžื•ืกื˜ืขืจ, ื•ื•ืึธืก ืงืขืŸ ื’ืขื ื™ืฆื˜ ื•ื•ืขืจืŸ, ืœืžืฉืœ, ืฆื• ืคึผืึทืจื–ื™ืจืŸ ืœื™ื ืงืก.
  • ื“ืขืจ ืคึผืขืจืžื™ืฉืึทืŸ ืžืึธื“ืขืœ ืžืขืงืึทื ื™ื–ื ืื™ื– ืคึฟืึทืจื‘ืขืกืขืจื˜ ืื•ืŸ ืกื˜ืึทื‘ื™ืœื™ื–ื™ืจื˜ ื’ืขื•ื•ืึธืจืŸ, ื•ื•ืึธืก ืขืจืœื•ื™ื‘ื˜ ืืฒึทืš ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ ืฆื•ื˜ืจื™ื˜ ืฆื• ื’ืขื•ื•ื™ืกืข ืจืขืกื•ืจืกืŸ ื‘ืขืช โ€‹โ€‹ืื•ื™ืกืคึฟื™ืจื•ื ื’ (ืœืžืฉืœ, ืื™ืจ ืงืขื ื˜ ืคึฟืึทืจื•ื•ืขืจืŸ ื“ื™ ืฉืึทืคื•ื ื’ ืคึฟื•ืŸ ืงื™ื ื“ ืคึผืจืึธืฆืขืกืŸ, ื‘ืึทื’ืจืขื ืขืฆืŸ ืฆื•ื˜ืจื™ื˜ ืฆื• ืฉืจืฒึทื‘ืŸ ืึธื“ืขืจ ืœื™ื™ืขื ืขืŸ ืฆื• ื’ืขื•ื•ื™ืกืข ื˜ื™ื™ืœืŸ ืคึฟื•ืŸ ื“ื™ FS, ื“ื™ืึทืงื˜ื™ื•ื•ื™ืจืŸ ืฆื•ื’ืื‘-ืคึผืจืึธืฆืขืกืŸ). ืื ืฉื˜ืื˜ ื“ืขื ืขืงืกืคืขืจื™ืžืขื ื˜ืืœืŸ "--experimental-permission" ืคืืŸ, ืงืขืŸ ืžืขืŸ ืื™ืฆื˜ ื ื™ืฆืŸ ื“ืขื "--permission" ืคืืŸ ืฆื• ืืงื˜ื™ื•ื•ื™ื–ื™ืจืŸ ื“ืขื ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืžืื“ืขืœ.
  • ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ืขื node:test (test_runner) ืžืึธื“ื•ืœ, ื“ื™ื–ื™ื™ื ื“ ืฆื• ืฉืึทืคึฟืŸ ืื•ืŸ ืœื•ื™ืคืŸ ื˜ืขืกื˜ืŸ ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื•ื•ืึธืก ืฆื•ืจื™ืงื’ืขื‘ืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื™ืŸ TAP (Test Anything Protocol) ืคึฟืึธืจืžืึทื˜, ื–ืขื ืขืŸ ืื•ื™ืกื’ืขื‘ืจื™ื™ื˜ืขืจื˜ ื’ืขื•ื•ืึธืจืŸ. ื“ืขืจ ืžืึธื“ื•ืœ ื•ื•ืึทืจื˜ ืื™ืฆื˜ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื‘ื™ื– ื“ื™ ืื™ื™ื ื’ืขื ืขืกื˜ืขื“ ื˜ืขืกืฅ ื–ืึธืœืŸ ื–ื™ืš ืขื ื“ื™ืงืŸ ืึธืŸ ื“ืขื ื ื•ื™ื˜ ืฆื• ื ื•ืฆืŸ "await".
  • ื“ืขืจ undici HTTP ืงืœื™ืขื ื˜ ืื™ื– ื’ืขื•ื•ืึธืจืŸ ืึทืคึผื“ื™ื™ื˜ืขื“ ืฆื• ื“ืขืจ 7.x ืฆื•ื•ื™ื™ึทื’, ื•ื•ืึธืก ืคึฟืึทืจื‘ืขืกืขืจื˜ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ืœื™ื™ื’ื˜ ืฆื• ืฉื˜ื™ืฆืข ืคึฟืึทืจ ื ืฒึทืข HTTP ืคึฟื•ื ืงืฆื™ืขืก.
  • ื“ืขืจ V8 ืžืึธื˜ืึธืจ ืื™ื– ื’ืขื•ื•ืึธืจืŸ ืึทืคึผื“ื™ื™ื˜ืขื“ ืฆื• ื•ื•ืขืจืกื™ืข 13.6, ื’ืขื ื•ืฆื˜ ืื™ืŸ Chromium 136. ื ื™ื™ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืงืึทืžืคึผืขืจื“ ืฆื• ื“ืขืจ ืคืจื™ืขืจื“ื™ืงืขืจ Node.js ืื•ื™ืกื’ืึทื‘ืข ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ ื˜ื™ืคึผืขื“ Float16Array ืึทืจืจื™ื™ื–, ืžืึทื ื•ืขืœืข ืจืขืกื•ืจืกืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ื“ื™ RegExp.escape ืžืขื˜ืึธื“ (ืขืกืงื™ืคึผื™ื ื’ ืกื˜ืจื™ื ื’ืก ืคึฟืึทืจ RegExp), 64-ื‘ื™ื˜ ืคึผื•ื™ื ื˜ืขืจืก (Memory64) ืื™ืŸ WebAssembly, ืื•ืŸ ื“ื™ Error.isError ืžืขื˜ืึธื“.
  • ื“ืขืจ NPM ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืื™ื– ื’ืขื•ื•ืึธืจืŸ ืึทืคึผื“ื™ื™ื˜ืขื“ ืฆื• ื•ื•ืขืจืกื™ืข 11.
  • ืฉื˜ื™ืฆืข ืคืืจ MSVC ืงืืžืคื™ื™ืœืขืจ ืื™ื– ืืคื’ืขืฉื˜ืขืœื˜ ื’ืขื•ื•ืืจืŸ. ืคืืจ ืงืืžืคื™ืœืืฆื™ืข ืื•ื™ืฃ ื“ืขืจ ืคืœืื˜ืคืืจืžืข Windows ืื™ืจ ืžื•ื–ื˜ ื ื™ืฆืŸ ClangCL.

ื“ื™ Node.js ืคึผืœืึทื˜ืคืึธืจืžืข ืงืขืŸ ื’ืขื ื•ืฆื˜ ื•ื•ืขืจืŸ ืกื™ื™ ืคึฟืึทืจ ืกืขืจื•ื•ืขืจ-ื–ื™ื™ึทื˜ ืฉื˜ื™ืฆืข ืคึฟื•ืŸ ื•ื•ืขื‘ ืึทืคึผืœื™ืงืึทืฆื™ืขืก ืื•ืŸ ืกื™ื™ ืคึฟืึทืจ ืฉืึทืคึฟืŸ ื ืึธืจืžืึทืœืข ืงืœื™ืขื ื˜- ืื•ืŸ ืกืขืจื•ื•ืขืจ-ื–ื™ื™ึทื˜ ื ืขืฅ ืคึผืจืึธื’ืจืึทืžืขืŸ. ื›ึผื“ื™ ืฆื• ืคึฟืึทืจื‘ืจื™ื™ื˜ืขืจืŸ ื“ื™ ืคึฟื•ื ืงืฆื™ืึธื ืึทืœื™ื˜ืขื˜ ืคึฟื•ืŸ Node.js ืึทืคึผืœื™ืงืึทืฆื™ืขืก, ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜ ื’ืขื•ื•ืึธืจืŸ ืึท ื’ืจื•ื™ืกืข ื–ืึทืžืœื•ื ื’ ืคึฟื•ืŸ ืžืึธื“ื•ืœืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ื•ื•ืึธืก ื™ืžืคึผืœืขืžืขื ื˜ื™ืจืŸ ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืงืœื™ืขื ื˜ืŸ ืคื•ืŸ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ืžืึธื“ื•ืœืŸ ืคึฟืึทืจ ืื™ื ื˜ืขื’ืจืึทืฆื™ืข ืžื™ื˜ ืคึฟืึทืจืฉื™ื“ืขื ืข ื•ื•ืขื‘ ืคืจื™ื™ืžื•ื•ืขืจืงืก, ื•ื•ืขื‘ืกืึธืงืขื˜ ืื•ืŸ ืึทื“ื–ืฉืึทืงืก ื”ืึทื ื“ืœืขืจืก, ืงืึทื ืขืงื˜ืึธืจืก ืฆื• DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ื˜ืขืžืคึผืœืึทื˜ ืขื ื“ื–ืฉื™ื ืก, CSS ืขื ื“ื–ืฉื™ื ืก, ืื™ืžืคึผืœืขืžืขื ื˜ืึทืฆื™ืขืก ืคื•ืŸ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคึฟื™ืฉืข ืึทืœื’ืขืจื™ื˜ืžืขืŸ ืื•ืŸ ืื•ื™ื˜ืึธืจื™ื–ืึทืฆื™ืข ืกื™ืกื˜ืขืžืขืŸ (OAuth), XML ืคึผืึทืจืกืขืจืก.

ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื’ืจื•ื™ืกืข ืฆืึธืœืŸ ืคื•ืŸ ื’ืœื™ื™ื›ืฆื™ื™ื˜ื™ื’ืข ืจื™ืงื•ื•ืขืกืฅ, ื ื™ืฆื˜ Node.js ืึทืŸ ืึทืกื™ื ืงืจืึธื ืึธื•ืก ืงืึธื“ ืขืงืกืขืงื•ื˜ื™ืึธืŸ ืžืึธื“ืขืœ ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื ื™ื˜-ื‘ืœืึธืงื™ืจื ื“ื™ืง ื’ืขืฉืขืขื ื™ืฉ ืคึผืจืึทืกืขืกื™ื ื’ ืื•ืŸ ืงืึธืœื‘ืึทืง ื”ืขื ื“ืœืขืจืก. ืงืึทื ืขืงืฉืึทืŸ ืžื•ืœื˜ื™ืคึผืœืขืงืกื™ื ื’ ืžืขื˜ืึธื“ืŸ ื•ื•ืึธืก ื•ื•ืขืจืŸ ื’ืขืฉื˜ื™ืฆื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ epoll, kqueue, /dev/poll, ืื•ืŸ select. ืงืึทื ืขืงืฉืึทืŸ ืžื•ืœื˜ื™ืคึผืœืขืงืกื™ื ื’ ื ื™ืฆื˜ ื“ื™ libuv ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื•ื•ืึธืก ืื™ื– ืึท ื‘ื•ื™ืขืŸ ืื•ื™ืฃ libev ืื•ื™ืฃ ื™ื•ื ื™ืงืก ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ IOCP ืื•ื™ืฃ Windowsื“ื™ libeio ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื•ื•ืขืจื˜ ื’ืขื ื•ืฆื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ืคึฟืึธื“ืขื ืคึผื•ืœ, ืื•ืŸ c-ares ืื™ื– ืื™ื ื˜ืขื’ืจื™ืจื˜ ืฆื• ื“ื•ืจื›ืคึฟื™ืจืŸ DNS ืคึฟืจืึทื’ืขืก ืื™ืŸ ื ื™ื˜-ื‘ืœืึธืงื™ืจื ื“ื™ืงืŸ ืžืึธื“ืข. ืึทืœืข ื‘ืœืึธืงื™ืจื ื“ื™ืงืข ืกื™ืกื˜ืขื ืจื•ืคึฟืŸ ื•ื•ืขืจืŸ ืื•ื™ืกื’ืขืคึฟื™ืจื˜ ืื™ื ืขื ืคึฟืึธื“ืขื ืคึผื•ืœ ืื•ืŸ ื“ืึทืŸ, ื•ื•ื™ ืกื™ื’ื ืึทืœ ื”ืึทื ื“ืœืขืจืก, ืฆื•ืจื™ืงื’ืขื‘ืŸ ื–ื™ื™ืขืจืข ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื“ื•ืจืš ืึทืŸ ืื•ืžื‘ืึทืงืึทื ื˜ืŸ ืจืขืจ.

ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืงืึธื“ ืื™ื– ื™ื ืฉื•ืจื“ ื“ื•ืจืš ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ื•ื•8 ืžืึธื˜ืึธืจ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš Google (ืื™ืŸ ื“ืขืจืฆื•, ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Node.js ืžื™ื˜ ื“ื™ Chakra-Core ืžืึธื˜ืึธืจ). ืื™ืŸ ื–ื™ื™ืŸ ื”ืึทืจืฅ, Node.js ืื™ื– ืขื ืœืขืš ืฆื• ื“ื™ Perl AnyEvent, Ruby Event Machine, Python Twisted ืคืจืึทืžืขื•ื•ืึธืจืงืก ืื•ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ืŸ Tcl, ืึธื‘ืขืจ ื“ื™ ื’ืขืฉืขืขื ื™ืฉ ืฉืœื™ื™ืฃ ืื™ืŸ Node.js ืื™ื– ืคืึทืจื‘ืึธืจื’ืŸ ืคื•ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืื•ืŸ ืจื™ื–ืขืžื‘ืึทืœื– ื’ืขืฉืขืขื ื™ืฉ ืคึผืจืึทืกืขืกื™ื ื’ ืื™ืŸ ืึท ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ื‘ืœืขื˜ืขืจืขืจ.

ืžืงื•ืจ: opennet.ru

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster