Verdaccio 7 منتشر شد
خلاصهٔ کاملتر
Verdaccio 7.0.0 اولین نسخهٔ پایدار خط 7.x این رجیستری خصوصی npm هست. تو npm با تگ latest و تو Docker Hub با verdaccio/verdaccio:7 منتشر شده. خط 6.x هم با تگ latest-6 ادامه پیدا میکنه.
مهمترین قابلیت جدید staged publishing هست که فعلاً آزمایشیه و با flags.stage و npm 11.17 به بالا کار میکنه. یعنی یه pipeline نسخه رو آپلود میکنه، یه نگهدارنده بررسیش میکنه و فقط بعد از اون نسخه قابل نصب میشه. ورود دومرحلهای با کد یکبارمصرف زماندار هم با flags.tfa اضافه شده. publish.check_owners هم حالا npm deprecate، حذف نسخه و تغییر dist-tag رو هم چک میکنه.
پلاگینها حالا میتونن ESM خالص باشن و API ذخیرهسازی promise-based شده. برای پلاگینهای قدیمی callback-based یه adapter سازگاری هست. رابط وب هم dark mode، صفحههای لاگین تازه و نوار فیلتر و مرتبسازی گرفته. پلاگینهای فیلتر پکیج با قانونهای allow و block و الگوی glob هم اضافه شدن.
تغییرات ناسازگار زیادن: Node.js 24 به بالا لازمه و Express 5 باعث شده پلاگینهای middleware باید wildcardهای اسمدار مثل /*splat استفاده کنن. کانفیگ فقط YAML قبول میشه و config.self_path جاش رو به config.configPath داده. API پکیجها فقط توکن Bearer قبول میکنه، پس _auth تو .npmrc باید به _authToken تبدیل بشه.
از چیزهای حذفشده میشه به endpoint /-/all (بهجاش /-/v1/search)، دستورهای npm star و unstar و فلگ searchRemote اشاره کرد. پلاگینهای S3، Google Cloud و Active Directory هم به مخزنهای جدا رفتن. اگه secret سرور کمتر از 32 کاراکتر باشه سرور بالا نمیاد. تو API برنامهنویسی هم runServer حالا async شده.
تو بخش امنیت، body-parser به 2.4.0 رفته که یه مشکل denial of service رو درست میکنه. ایمیج Docker هم حالا موقع نصب، lifecycle scriptها رو اجرا نمیکنه و فقط وابستگیهایی رو قبول میکنه که حداقل سه روز از انتشارشون گذشته باشه. تیم توصیه میکنه قبل از ارتقا از کانفیگ، storage و .verdaccio-db.json بکاپ بگیری و هیچوقت 6.x و 7.x رو همزمان روی یه storage اجرا نکنی.
نکات کلیدی:
- Verdaccio 7 به Node.js 24 یا بالاتر نیاز داره و روی Express 5 ساخته شده.
- staged publishing با flags.stage و npm 11.17 به بالا فعال میشه و فعلاً آزمایشیه.
- کانفیگ فقط YAML قبول میشه و _auth تو .npmrc باید به _authToken عوض بشه.
- endpoint /-/all حذف شده و باید از /-/v1/search استفاده کرد.
- secret سرور کمتر از 32 کاراکتر جلوی بالا اومدن سرور رو میگیره.




