Deno 2.8: بزرگترین نسخه فرعی تاکنون
خلاصهٔ کاملتر
Deno 2.8 که تیم Deno ازش به عنوان بزرگترین نسخه فرعی تاکنون یاد میکنه، با مجموعهای از زیرفرمانهای تازه، بهبودهای عملکردی قابلتوجه، و سازگاری گستردهتر با اکوسیستم Node.js عرضه شد.
زیرفرمانهای جدید: deno audit fix آسیبپذیریهای شناختهشده در پکیجهای npm را بهصورت خودکار به نزدیکترین نسخه امن ارتقا میده — هر چیزی که نیاز به major bump داشته باشه جداگانه لیست میشه تا خودت تصمیم بگیری. deno bump-version با یه دستور ساده نسخه پروژهات رو در deno.json یا package.json بالا میبره (patch / minor / major) و در workspace ها تمام پکیجهای عضو رو همزمان بهروز میکنه. deno ci هم مخصوص محیطهای CI طراحی شده: اگه deno.lock نباشه خطا میده، node_modules قدیمی رو پاک میکنه، و با --frozen نصب میکنه تا مطمئن بشی همیشه دقیقاً همون چیزی که lockfile میگه نصب میشه.
deno pack یه ترکیب tsc + npm pack یکمرحلهایه: پروژه Deno یا JSR رو به یه tarball آماده انتشار در npm تبدیل میکنه — TypeScript رو کامپایل میکنه، فایلهای .d.ts میسازه، و specifier های مثل jsr:@std/path رو برای اکوسیستم npm بازنویسی میکنه. deno transpile هم فقط type ها رو از TypeScript/JSX حذف میکنه و JavaScript خام تولید میکنه، بدون هیچ bundling یا پیچیدگی اضافه. در نهایت deno why مثل npm explain کار میکنه: نشون میده یه پکیج چطور به dependency tree پروژهات راه پیدا کرده.
پیشفرض شدن npm:: از این نسخه دیگه لازم نیست موقع deno add یا deno install پیشوند npm: بزنی — اگه پیشوند نداشته باشه، بهصورت پیشفرض npm در نظر گرفته میشه. پکیجهای JSR همچنان به jsr: نیاز دارن تا دو رجیستری از هم متمایز بمونن.
سازگاری با Node.js: نرخ قبولی در تستسوئیت رسمی Node.js از ۴۲٪ در Deno 2.7 به ۷۶.۴٪ در Deno 2.8 رسیده (۳۴۰۵ از ۴۴۵۷ تست). برای مقایسه، Bun 1.3.14 روی همین مجموعه ۴۰.۶٪ داره. ماژولهای داخلی Node حالا lazy-load میشن، یعنی اگه ازشون استفاده نکنی، استارتاپ برنامهات کُندشون نمیکنه.
عملکرد: نصب سرد npm با ۳.۶۶ برابر سرعت بیشتر انجام میشه (از ۳۳۱۹ms به ۹۰۶ms). توانعملیاتی node:http بیش از دو برابر شده و تأخیر p99 حدود ۴۰٪ کاهش پیدا کرده. base64 با سوئیچ به کتابخونه simdutf سه برابر سریعتر شد. بهینهسازیهای دیگهای مثل TextEncoder/TextDecoder، URLPattern، و FormData هم در کل سرعت رو بالا بردن.
import defer: Deno حالا از پروپوزال TC39 برای defer کردن ایمپورت پشتیبانی میکنه. یه ماژول load و parse میشه ولی کدش اجرا نمیشه تا وقتی واقعاً به یکی از export هاش دسترسی پیدا کنی — برای کم کردن زمان استارتاپ وقتی ماژولهای سنگین فقط بعضی وقتها استفاده میشن خیلی مفیده.
نکات کلیدی:
- deno audit fix آسیبپذیریهای npm رو خودکار برطرف میکنه
- deno bump-version مدیریت نسخه در workspace ها رو ساده میکنه
- deno ci نصب reproducible برای محیطهای CI رو تضمین میکنه
- deno pack پروژه Deno/JSR رو مستقیم به tarball قابل انتشار در npm تبدیل میکنه
- نیازی به پیشوند npm: در CLI نیست — رفتار پیشفرض شد
- سازگاری با Node.js از ۴۲٪ به ۷۶.۴٪ رسید و از Bun جلو افتاد
- نصب سرد پکیجهای npm حالا ۳.۶۶ برابر سریعتره
- پشتیبانی از import defer برای کاهش زمان استارتاپ




