Node.js 26 منتشر شد: Temporal API، V8 14.6 و تغییرات بزرگ
خلاصهٔ کاملتر
Node.js 26 رسماً با عنوان نسخه Current منتشر شد و تا اکتبر ۲۰۲۵ در این وضعیت باقی میمونه، بعد از اون وارد مرحله پشتیبانی بلندمدت (LTS) میشه. تیم توسعه این نسخه رو بهعنوان قدمی بزرگ به سمت مدرنسازی پلتفرم معرفی کرده.
مهمترین تازگی Node.js 26 فعالسازی پیشفرض Temporal API هست. Temporal یه API مدرن برای کار با تاریخ و زمان در جاوااسکریپته که مشکلات تاریخی آبجکت Date رو حل میکنه؛ از جمله پیچیدگیهای timezone، تبدیلهای غیرشفاف و رفتارهای غیرقابل پیشبینی. حالا دیگه نیازی به پکیجهای خارجی مثل date-fns یا moment.js برای خیلی از کارهای پیچیده نداری.
موتور V8 هم در این نسخه به نسخه 14.6.202.33 (بخشی از Chromium 134) بهروز شده. این آپدیت چند ویژگی جدید جاوااسکریپت میاره:
اول Upsert که روی Map و WeakMap کار میکنه. با متدهای getOrInsert() و getOrInsertComputed() میتونی یه مقدار رو بگیری یا اگه وجود نداشت، اضافهاش کنی:
const map = new Map();
const value = map.getOrInsert("key", 42);
// اگه "key" نباشه، مقدار 42 رو اضافه میکنه و برمیگردونهدوم Iterator Sequencing با متد Iterator.concat() که امکان ترکیب چند iterator رو بهصورت ساده فراهم میکنه:
const combined = Iterator.concat([1, 2], [3, 4]);کتابخونه Undici هم به نسخه 8.0.2 ارتقا پیدا کرده. Undici کلاینت HTTP داخلی Node.js هست که زیرساخت fetch و درخواستهای شبکهای رو مدیریت میکنه. این بهروزرسانی بهبودهای عملکردی و ویژگیهای جدیدی برای HTTP داره.
در بخش حذفها و Deprecationها هم تغییرات مهمی وجود داره. متد http.Server.prototype.writeHeader() کاملاً حذف شد و باید از writeHead() استفاده کنی. ماژولهای legacy مربوط به stream هم برای همیشه رفتن: _stream_wrap، _stream_readable، _stream_writable، _stream_duplex، _stream_transform و _stream_passthrough دیگه وجود ندارن.
همچنین module.register() وارد مرحله runtime deprecation شده و فلگ --experimental-transform-types هم حذف شده. در حوزه crypto هم تغییراتی مثل حذف DEP0182 و runtime deprecation شدن DEP0203 و DEP0204 اتفاق افتاده.
برای ساخت Node.js، حالا حداقل به GCC نسخه 13.2 نیاز داری و پشتیبانی از Python 3.9 هم قطع شده. پشتیبانی از ویندوز هم به SDK نسخه 11 بهروز شده.
نکات کلیدی:
- Temporal API حالا بهصورت پیشفرض فعاله و جایگزین مدرنی برای Date ارائه میده
- V8 به نسخه 14.6 ارتقا پیدا کرده و Map.prototype.getOrInsert() و Iterator.concat() رو میاره
- Undici به نسخه 8.0.2 بهروز شده
- متد writeHeader در http کاملاً حذف شد؛ از writeHead استفاده کن
- ماژولهای legacy stream* برای همیشه حذف شدن
- Node.js 26 در اکتبر وارد مرحله LTS میشه
- پشتیبانی از Python 3.9 و GCC زیر 13.2 قطع شده




