تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

معرفی Node.js نسخه 24، جهشی چشمگیر در عملکرد، امنیت و تجربه توسعه‌


۲۶ تیر ۱۴۰۴

نسخه 24 Node.js به تازگی منتشر شده و با ارتقای قابلیت‌های قبلی به سطح بهتری دست پیدا کرده است. این نسخه با رفع اشکالات قبلی و افزودن قابلیت‌های جدید، توانسته است تا سرعت اجرای برنامه را بالا ببرد و امکانات بیشتری را برای مدیریت کدها و ساخت برنامه‌های جدید فراهم کند. اگر به دنبال یک ابزار قدرتمند و به‌روز برای توسعه نرم‌افزارهای مبتنی بر جاوا خود هستید. این نسخه را از دست ندهید! بنابراین با لیارا همراه باشید.

بدون هیچ‌گونه پیکربندی پیچیده، هاست NodeJS را در چند ثانیه راه‌اندازی کنید!
✅ عملکرد بالا ✅ بدون نیاز به پیکربندی ✅ راه‌اندازی سریع
خرید هاست ابری NodeJS

آنچه در ادامه خواهید خواند:

  • ارتقای موتور V8 به نسخه 13.6
  • مدل دسترسی (Permission Model) پیشرفته‌ تر و URLPattern سراسری
  • ارتقای HTTP Client با Undici 7.0.0 و انتشار npm نسخه ۱۱
  • موارد منسوخ و حذف‌ شده در Node.js 24
  • جدول مقایسه امکانات و تغییرات کلیدی در Node.js 24
  • سوالات متداول
  • جمع بندی

ارتقای موتور V8 به نسخه 13.6

یکی از مهم‌ترین قابلیت‌هایی که در Node.js 24 بهبود یافت، ارتقای موتور جاوا اسکریپت V8 به نسخه 13.6 بود؛ همان موتوری که در مرورگر گوگل کروم نیز مورد استفاده قرار می‌گرفت. این ارتقا تنها یک تغییر عددی نیست، بلکه امکانات جدید و پیشرفته‌ای را برای جاوا اسکریپت فراهم می‌کند، از جمله:

  • RegExp.escape: ابزاری برای جلوگیری از اشتباهات متنی است، به‌خصوص در زمانی که کاراکتر‌های خاصی استفاده می‌کنید.
  • Float16Array: نوع جدیدی از آرایه‌ها که برای ذخیره‌سازی اعداد اعشاری 16 بیتی است که به کمک آن می‌توان حافظه کمتری را مصرف کرد. این قابلیت برای برنامه‌هایی مانند یادگیری ماشین که نیاز به سرعت بالا و مصرف مناسبی دارد، بسیار کاربردی خواهد بود.
  • Atomics.pause: این نسخه قابلیت جدیدی را برای برنامه‌نویسان ارائه کرده است تا بتوانند به‌صورت همزمان فعالیت‌های خود را انجام دهند. ناگفته نماند این قابلیت کنترل دقیق‌تری بر روی توقف و شروع اجرای بخش‌های مختلف برنامه را دارد.
  • Explicit Resource Management await using:این قابلیت جدید به برنامه‌نویسان اجازه می‌دهد تا منابع، از جمله اتصالات شبکه را به‌صورت خودکار و کارآمدتذ مدیریت کنند. زمانی که کار با آن تمام شود، خودکار بسته می‌شود و نیازی به بستن برنامه نخواهد بود. این عمل باعث می‌شود که حافظه یا منابع سیستم اشغال نشود و برنامه‌ها بهتر اجرا شوند.
Node.js نسخه 24

مدل دسترسی (Permission Model) پیشرفته‌ تر و URLPattern سراسری

در نسخه 20 Node.js، قابلیتی تحت عنوان مدل دسترسی (Permission Model) به‌صورت آزمایشی معرفی شده بود. این قابلیت در نسخه 24 ارتقا یافته است. مدل دسترسی به توسعه‌دهندگان این امکان را می‌دهد تا بتوانند منابع قابل‌دسترس برای اپلیکیشن خود را محدود کنند؛ به‌عنوان مثال می‌توان دسترسی به فایل‌سیستم یا شبکه را کنترل نمود.

علاوه بر این، API جدیدی به نام URLPattern که قبل‌تر نیاز به import جداگانه داشت، در حال حاضر و در نسخه جدید به‌صورت سراسری در Node.js در دسترس است. این API به توسعه‌دهندگان اجازه می‌دهد تا الگوهایی مانند /users/:id را برای مسیریابی یا تطبیق آدرس‌ها تعریف کنند. استفاده از URLPattern نسبت به عبارات باقاعده (Regex)، راه‌حلی ساده‌، خوانا و موثر برای مدیریت مسیرها خواهد بود.

Node.js چیست؟
Node.js

ارتقای HTTP Client با Undici 7.0.0 و انتشار npm نسخه ۱۱

در نسخه‌ی جدید Node.js 24، کتابخانه‌ی Undici به‌صورت پیش‌فرض اضافه شده است. این کتابخانه، ابزار رسمی Node.js برای ارسال درخواست‌های HTTP به‌شمار می‌رود. به‌روزرسانی جدید باعث می‌شود استفاده از fetch() و سایر درخواست‌های شبکه‌ای سریع‌تر و سازگارتر با استانداردهای جدید HTTP انجام شود؛ بخصوص پروژه‌هایی که تعداد زیادی درخواست به سرور دارند این موضوع اهمیت بیشتری را پیدا می‌کند.

همچنین در این نسخه، npm نسخه 11 نیز همراه Node.js عرضه می‌شود. نسخه جدید npm، چند تغییر مهم دارد:

  • نصب بسته‌ها سریع‌تر انجام می‌شود
  • امنیت بهتر هنگام نصب پکیج‌ها فراهم می‌شود
  • هماهنگی بیشتری با ابزارهای جدید جاوا اسکریپت دارد

برخی از نکات مهم در npm 11:

  • برای استفاده از آن، باید نسخه Node.js شما حداقل 20.17.0 یا 22.9.0 به بالا باشد.
  • زمانی که با دستور npm init پروژه جدیدی می‌سازید، یک سوال جدید برای انتخاب نوع پروژه از شما پرسیده می‌شود.
  • دستور npm hook حذف شده است.
  • اگر از پرچم --ignore-scripts استفاده کنید، تمام اسکریپت‌ها (حتی اسکریپت prepare) را هم نادیده می‌گیرد.
  • اگر بررسی امنیتی گروهی (bulk audit) با خطا مواجه شود، دیگر به روش‌های قدیمی برنمی‌گردد و آن را متوقف می‌کند.

موارد منسوخ و حذف‌ شده در Node.js 24

هم‌زمان با پیشرفت Node.js، برخی API های قدیمی در حال حذف یا غیرفعال شدن هستند. از جمله:

  • متد url.parse() که قرار است با API جدید WHATWG جایگزین شود.
  • ساختارهایی مانند SlowBuffer و tls.createSecurePair منسوخ خواهند شد.
  • fs.F_OK نیز در حال حذف است.

نکته مهم: اگر با پروژه‌هایی قدیمی کار می‌کنید، لازم است این تغییرات را رصد و نسبت به بروزرسانی کدتان اقدام کنید.

جدول مقایسه امکانات و تغییرات کلیدی در Node.js 24

ویژگیتوضیحاتوضعیت در نسخه‌های قبلیوضعیت در Node.js 24
ارتقا به V8 نسخه 13.6پشتیبانی از قابلیت‌هایی مانند:
RegExp.escape Float16Array Atomics.pause
وجود نداشتاضافه شده است
پشتیبانی سراسری از URLPatternامکان تعریف مسیرها بدون نیاز به import جداگانه و با سینتکس ساده‌ترآزمایشی و محدودپایدار و سراسری
مدل مجوزدهی (Permission Model)قابلیت محدودسازی دسترسی اپلیکیشن به منابعی مانند فایل‌ سیستم و شبکهبه‌صورت آزمایشی فعال بودپایدار و فعال
پشتیبانی از await usingمدیریت خودکار منابع با آزادسازی آن‌ها پس از پایان استفادهپشتیبانی نمی‌شدپشتیبانی کامل
تابع جدید Error.isErrorراهکاری ساده برای بررسی اینکه آیا یک مقدار واقعا یک شیء خطا است یا خیروجود نداشتاضافه شده است
WebAssembly با پشتیبانی از Memory64امکان استفاده از حافظه 64 بیتی در اپلیکیشن‌های مبتنی بر WebAssemblyپشتیبانی نمی‌شداضافه شده است
کلاینت HTTP با Undici 7.0.0عملکرد سریع‌تر و پشتیبانی بهتر از fetch() و استانداردهای جدید HTTPنسخه‌های قدیمی‌تر Undiciبه‌صورت پیش‌فرض فعال است
npm نسخه 11نصب سریع‌تر پکیج‌ها، بررسی امنیتی دقیق‌تر و هماهنگی بهتر با پروژه‌هانسخه‌های قدیمی‌تر (مانند v10)نسخه 11 به‌صورت پیش‌فرض وجود دارد
حذف API های منسوخآغاز فرآیند حذف تدریجی APIهایی مانند url.parse , domain , SlowBufferهنوز در دسترس بودنددر حال حذف تدریجی

سوالات متداول

در ادامه به سوالاتی که امکان دارد در این زمینه برای شما بدون پاسخ بماند، جواب‌های کوتاه اما مفیدی داده‌ایم که با استفاده از آن می‌توانید به سوال خود پاسخ صحیحی را بدهید.

آیا برای استفاده از Node.js 24 باید تغییر خاصی در پروژه‌ ایجاد کرد؟

در بیشتر موارد، پروژه‌هایی که با نسخه‌های اخیر Node.js (مانند 20 یا 18) سازگار بوده‌اند، بدون تغییر خاصی روی نسخه 24 نیز اجرا می‌شوند. اما اگر از API های منسوخ یا بسته‌های ناسازگار استفاده کرده باشید، ممکن است نیاز به به‌روزرسانی کد یا وابستگی‌ها باشد.

مدل جدید مجوزدهی (Permission Model) چه کاربردی دارد؟

مدل مجوزدهی به شما اجازه می‌دهد تا دسترسی‌های برنامه Node.js خود را محدود کنید. این ویژگی برای افزایش امنیت در محیط‌های production یا تست بسیار مفید است.

تفاوت Node.js 24 با نسخه LTS قبلی (Node.js 20) در چیست؟

نسخه 24 شامل ویژگی‌های جدیدی مانند پشتیبانی کامل از await using، ارتقای V8 به نسخه 13.6، و مدل مجوزدهی پایدار است. همچنین برخی API های منسوخ در این نسخه حذف یا غیرفعال شده‌اند.

معرفی هاست NestJS رایگان
هاست NestJS رایگان

آیا می‌توان همچنان از npm نسخه قدیمی‌تر در Node.js 24 استفاده کرد؟

بله، اما پیشنهاد می‌شود از npm نسخه 11 که به‌صورت پیش‌فرض همراه Node.js 24 نصب می‌شود استفاده کنید؛ زیرا عملکرد و امنیت بهتری دارد. در صورت نیاز، می‌توانید با دستور npm install -g npm@version نسخه دلخواه را نصب کنید.

پشتیبانی از URLPattern چه کمکی به توسعه‌ دهندگان می‌کند؟

URLPattern تعریف الگوهای مسیر و تطبیق آن‌ها را ساده‌تر می‌کند، بخصوص در برنامه‌های تحت وب یا API هایی که نیاز به بررسی مسیرها دارند. این قابلیت اکنون به‌صورت پایدار در Node.js 24 قابل استفاده است.

آیا استفاده از Error.isError() جایگزین try/catch می‌شود؟

خیر. این متد صرفا برای بررسی اینکه یک مقدار واقعا یک خطا است (و نه تنها یک آبجکت) استفاده می‌شود. استفاده از try/catch همچنان برای مدیریت خطاها بسیار مهم است.

آیا Node.js 24 با تمام پکیج‌ های موجود در npm سازگار است؟

بیشتر پکیج‌های محبوب با Node.js 24 سازگار هستند، اما اگر یک پکیج از ویژگی‌های خاص یا نسخه‌های قدیمی Node.js استفاده کند، ممکن است با مشکل مواجه شوید. همیشه قبل از مهاجرت نسخه، تست سازگاری را روی محیط staging انجام دهید.

نحوه نصب Node.js روی سرور مجازی اوبونتو Ubuntu
نصب Node.js روی سرور مجازی اوبونتو

جمع‌ بندی

Node.js 24 تنها یک به‌روزرسانی عددی نیست؛ بلکه گامی بزرگ به‌سوی بهبود عملکرد، امنیت، و تجربه توسعه‌دهنده است. این نسخه ابزارهایی واقعی و کاربردی برای ساده‌سازی توسعه، افزایش بهره‌وری و هم‌گام‌سازی بهتر را فراهم می‌کند.

به اشتراک بگذارید

برچسب‌ها: