نود جیاس ۲۶.۸.۰ منتشر شد؛ zip بومی، رمزنگاری SIV و پاکسازی خودکار SQLite
حدود ۳ دقیقه مطالعه
نود جیاس نسخهی ۲۶.۸.۰ رو منتشر کرد؛ همزمان با ۲۴.۲۰.۰ با اسم رمز Krypton که روی خط LTS قرار داره. این آپدیت از اونهایی نیست که یه ویژگی غولپیکر و تبلیغاتی داشته باشه، ولی چند تا اضافهی کوچیک توش هست که واقعاً به درد کار روزمره میخورن؛ از zip بومی گرفته تا مدیریت خودکار منابع توی ماژول sqlite.
zip بومی توی zlib
از این به بعد دیگه لازم نیست برای ساختن یا خوندن فایل zip سراغ پکیجهای بیرونی مثل adm-zip یا archiver بری؛ ماژول zlib همین الان سه تا کلاس جدید به اسم ZipEntry، ZipFile و ZipBuffer اضافه کرده که کار compress/decompress و ساختن آرشیو zip رو مستقیم توی خود نود انجام میده. برای اسکریپتهای سادهی build یا export که فقط میخوان چندتا فایل رو zip کنن، این یعنی یه dependency کمتر توی package.json.
دو تا حالت رمزنگاری جدید: SIV و GCM-SIV
توی Cipher/Decipher API حالا حالتهای SIV و GCM-SIV هم فعال شدن. این دو تا، برخلاف GCM معمولی، در برابر استفادهی اشتباهی یا تکراری از نانس (nonce) مقاومتر هستن؛ یعنی حتی اگه به هر دلیلی یه نانس دوبار استفاده بشه، امنیت رمزنگاری به همون سرعت GCM معمولی از بین نمیره. برای پروژههایی که رمزنگاری حساس دارن و نمیخوان ریسک اشتباه انسانی توی مدیریت نانس بهشون گرون تموم بشه، این گزینهی خوبیه.
مدیریت خودکار حافظه توی ماژول sqlite
StatementSync حالا هم متد close() داره و هم Symbol.dispose()؛ یعنی میتونی از syntax جدید using جاوااسکریپت برای پاکسازی خودکار statementها استفاده کنی، بدون اینکه نگران فراموش کردن close کردن و نشتی حافظه باشی. این دقیقاً همون الگوی RAII هست که توی زبانهایی مثل ++C رایجه و حالا به شکل محدودی وارد نود شده.
چندتا بهبود کوچیکتر ولی کاربردی
کانال diagnostics_channel به اسم TracingChannel از حالت آزمایشی درومده و رسماً stable شده؛ net.BlockList از نظر performance بهینهتر شده؛ ماژول perf_hooks حالا امکان آزمون فرضیهی آماری (statistical hypothesis testing) رو به histogram اضافه کرده؛ REPL یه syntax highlighting ساده گرفته که کار نوشتن کد توی ترمینال رو خواناتر میکنه؛ و util.MIMEType.parse هم یه نسخهی non-throwing گرفته که بهجای throw کردن خطا، مقدار null برمیگردونه.
این نسخه هنوز LTS نیست
نود ۲۶ فعلاً روی خط Current قرار داره و طبق برنامهی رسمی، قراره اکتبر وارد LTS بشه. یعنی ۲۶.۸.۰ بیشتر برای کسانی مناسبه که میخوان زودتر فیچرهای جدید رو امتحان کنن؛ اگه پروژهی production داری و ثبات برات مهمتر از تازگیه، همون ۲۴.۲۰.۰ Krypton که همزمان روی LTS منتشر شده گزینهی مطمئنتریه.
در کل، ۲۶.۸.۰ از اون آپدیتهای ساکت ولی مفیده؛ هیچکدوم از تغییرات به تنهایی breaking نیستن، ولی مجموعشون زندگی رو برای کارهایی مثل ساخت zip، رمزنگاری امنتر و مدیریت statementهای sqlite کمی راحتتر میکنه.
