معرفی و بررسی Node.js 24

معرفی و بررسی Node.js 24

انتشار:

مشاهده Changelog کامل ورژن 24.0.0

نسخه 24 نود جی اس با چند روز تأخیر منتشر شد. این نسخه با به‌روزرسانی‌های مهمی همراه است، از جمله ارتقاء موتور V8 به نسخه 13.6 و npm به نسخه 11. پشتیبانی از MSVC حذف شده و برای کامپایل Node.js در ویندوز، استفاده از ClangCL الزامی است. همچنین API جدید AsyncLocalStorage (فضای ذخیره‌سازی داده در thread) به‌طور پیش‌فرض از AsyncContextFrame استفاده می‌کند و URLPattern به‌صورت global در دسترس قرار گرفته است.

Node.js 24 در ماه اکتبر 2025 (۶ آبان 140۴) وارد دوره پشتیبانی بلندمدت (LTS) شده و برای شش ماه آینده به عنوان نسخه "Current" شناخته می‌شود.

 

تغییرات مهم در نسخه 24

 

V8 نسخه 13.6

موتور V8 به نسخه 13.6 ارتقاء یافته است که شامل ویژگی‌های جدیدی از جمله موارد زیر است:

  • Float16Array: نوع داده جدید به شما اجازه می‌دهد تا آرایه‌هایی از اعداد با دقت 16 بیت (نیمه دقیق) ایجاد کنید که در پردازش‌های گرافیکی و یادگیری ماشین که نیاز به ذخیره‌سازی حجم زیادی از داده‌ها با دقت کمتر دارند کاربردی است.
  • مدیریت منابع Explicit: با استفاده از دستورات using و await using، امکان مدیریت مؤثرتر منابع مانند فایل‌ها (file system)، شبکه و حافظه را فراهم می‌کند. این قابلیت در نسخه‌های اخیر موتور V8 و TypeScript 5.2 معرفی شده است.
  • RegExp.escape: تابع جدید جهت escape و ایمن‌سازی string جهت استفاده در Regular Expression.
  • حافظه 64 بیتی WebAssembly: این قابلیت به WebAssembly اجازه می‌دهد تا از فضای حافظه بزرگتر از ۴ گیگابایت استفاده کند که برای برنامه‌های پیچیده و پردازش‌های سنگین که نیاز به فضای حافظه بیشتری دارند کاربردی است. در حال حاضر محدودیت‌هایی در استفاده از این قابلیت وجود دارد و ممکن است در برخی سیستم‌ها با مشکلاتی مواجه شود.
  • Error.isError: این متد جدید به شما امکان می‌دهد تا بررسی کنید که آیا یک object از نوع Error است یا خیر (جایگزین err instanceof Error).

 

npm نسخه 11

تغییرات مهم نسخه 11 npm شامل موارد زیر است:

  • اضافه شدن دستورات npm deprecate و npm undeprecate جهت مدیریت منسوخ کردن پکیج
  • بهبود توابع مربوط به انتشار و جستجو
  • اضافه شدن type هنگام اجرای دستور npm init جهت راه‌اندازی پروژه جدید

 

تغییر AsyncLocalStorage

API جدید AsyncLocalStorage اکنون به‌طور پیش‌فرض از AsyncContextFrame برای asynchronous context tracking استفاده می‌کند که باعث بهبود عملکرد و پایداری بیشتر این API می‌شود.

 

دسترسی به URLPattern به صورت global

URLPattern اکنون به‌صورت global و سراسری در دسترس قرار گرفته است که استفاده از آن را بدون نیاز به import آسان‌تر می‌کند.

 

بهبود مدل مجوزها

مدل مجوز آزمایشی معرفی‌شده در نسخه 20 نود جی اس بهبود یافته و پرچم آن از --experimental-permission به --permission تغییر یافته است که نشان‌دهنده افزایش ثبات و آمادگی آن برای استفاده گسترده‌تر است.

 

بهبود Test runner

ماژول Test runner اکنون به‌طور خودکار منتظر پایان زیرآزمون‌ها می‌ماند و نیازی به انتظار دستی برای Promiseهای تست نیست. این ویژگی نوشتن تست‌ها بهتر و خطاهای رایج مرتبط با Promiseهای مدیریت نشده را کاهش می‌دهد.

 

Undici نسخه 7

نسخه 24 نود جی اس شامل Undici نسخه 7 است که بهبودهای زیادی در کلاینت HTTP ایجاد کرده است، از جمله عملکرد بهتر و پشتیبانی از ویژگی‌های جدید HTTP.

حذف و منسوخ‌شدن برخی APIها

در این نسخه، چندین API منسوخ یا حذف شده‌اند:

  • منسوخ‌شدن url.parse() - استفاده از API URL WHATWG توصیه می‌شود
  • حذف tls.createSecurePair
  • منسوخ شدن SlowBuffer
  • منسوخ شدن ایجاد REPL بدون new
  • منسوخ شدن استفاده از کلاس‌های Zlib بدون new
  • منسوخ شدن ارسال آرگومان‌ها (ورودی‌ها) به spawn و execFile در child_process

 

منبع: nodejs.org/en/blog/release/v24.0.0