اولین نسخهٔ آلفای Node.js 27 منتشر شد
خلاصهٔ کاملتر
تیم Node.js نسخهٔ 27.0.0-alpha.0 رو منتشر کرده که توسط Rafael Gonzaga اعلام شده. این اولین آلفای خط 27 هست و مهمترین خبرش آپدیت موتور V8 از نسخهٔ 14.6 (تو Node.js 26) به 15.6.75.13 هست. با این آپدیت چند قابلیت جدید زبان بهصورت پیشفرض فعال میشه، مثل Math.sumPrecise()، Iterator.prototype.join()، Iterator.prototype.includes()، Iterator.zip() و Iterator.zipKeyed().
یه تغییر مهم مربوط به حافظهست. اگه --max-old-space-size رو تنظیم نکرده باشی، حالا سقف پیشفرض heap (یعنی حافظهای که موتور برای آبجکتهای جاوااسکریپت کنار میذاره) نصف رم فیزیکی دستگاهه، ولی بین 256 مگابایت و 4 گیگابایت محدود میشه. حافظهای که Buffer و ArrayBuffer میگیرن هم حالا جزو این سقف حساب میشه. یعنی اگه اپت به مقدارهای قبلی وابسته بوده، باید این فلگ رو دستی ست کنی.
فرمت سریالسازی هم عوض شده: v8.serialize()، structuredClone() و postMessage() از فرمت جدیدی استفاده میکنن که نسخههای قدیمیتر Node.js نمیتونن بخونن. چند رفتار دیگه هم تغییر کرده: متدهای Math ممکنه تو رقم آخر نتیجهٔ متفاوتی بدن، error.stack دیگه از زنجیرهٔ prototype خونده نمیشه و Array.prototype.sort() برای آرایههای بزرگ از PowerSort استفاده میکنه. heap snapshotها هم حدود دو برابر بزرگتر و کندتر شدن.
بخش crypto هم کلی تغییر داره. Node.js 27 حداقل OpenSSL 3 میخواد، سورس OpenSSL به نسخهٔ 4.1.0 رسیده، پشتیبانی از OpenSSL engine کنار گذاشته شده و FIPS provider داخلی هم حذف شده. چند deprecation قدیمی مثل DEP0093 و DEP0198 هم به End-of-Life رسیدن، یعنی کامل حذف شدن.
تو ماژولهای دیگه هم تغییرات زیادی هست. مقدار پیشفرض keepAliveTimeout تو http به 65 ثانیه رسیده، req.headers حالا null prototype داره و ماژول domain رسماً deprecated شده. fs حالا glob رو native پیاده میکنه، یه API آزمایشی به اسم net/promises اضافه شده و permission جدیدی به اسم --allow-env اومده. npm هم به نسخهٔ 12.1.0 آپدیت شده و پشتیبانی از macOS روی پردازندههای Intel به سطح experimental رسیده.
نکات کلیدی:
- موتور V8 از 14.6 به 15.6.75.13 آپدیت شده
- سقف پیشفرض heap نصف رم، بین 256MB تا 4GB هست
- فرمت structuredClone() و v8.serialize() با نسخههای قدیمی سازگار نیست
- حداقل OpenSSL 3 لازمه و پشتیبانی از OpenSSL engine حذف شده
- مقدار پیشفرض keepAliveTimeout تو http حالا 65 ثانیهست
- npm به 12.1.0 رسیده و ماژول domain رسماً deprecated شده




