ابزارهای توسعه•

انتشار بن نسخه ۱.۳.۳: بررسی عمیق معماری و ارتقای موتور

نسخه ۱.۳.۳ بن با بهره‌گیری از Zig 0.15.2، استریم‌های فشرده‌سازی بومی، کنترل‌های پیشرفته‌تر فایل‌های محیطی در فایل‌های اجرایی مستقل، و قابلیت تلاش مجدد مقاوم در bun:test را کاوش کنید.

OP
OPA Release DeskWIRE
•5 min read
انتشار بن نسخه ۱.۳.۳: بررسی عمیق معماری و ارتقای موتور

⚠️ Breaking Changes & Migration Caveats

سازگاری کامل رو به

نمای کلی اجرایی و اهمیت معماری

بن نسخه ۱.۳.۳ به عنوان یک نسخه قدرتمند و دقیقاً مهندسی‌شده از محیط اجرایی همه‌کاره جاوا اسکریپت از راه رسیده است. این نسخه با رفع ۹۵ مشکل مجزا و کسب ۳۴۸ رأی مثبت از سوی جامعه کاربری در سراسر اکوسیستم، تأکید ویژه‌ای بر پایداری پایه‌ای، ارتقای زیرساخت‌های اصلی و کنترل‌های دقیق محیطی مورد نیاز تیم‌های مهندسی سازمانی دارد. با ارتقای ابزار زیربنایی به Zig 0.15.2، تیم هسته محیط اجرایی موفق شده است بهینه‌سازی‌های عمیق‌تری در سطح کامپایلر ایجاد کند که دستاوردهایی همچون بهبود تولید کد ماشین، کاهش سربار حجم فایل اجرایی و افزایش قابلیت اطمینان در اجرای کراس‌پلتفرم را به همراه داشته است.

فراتر از ارتقای کامپایلر، نسخه ۱.۳.۳ شکاف‌های حیاتی در زمینه انطباق با استانداردهای وب‌سایت و ارگونومی توسعه‌دهندگان را پر می‌کند. معرفی CompressionStream و DecompressionStream بومی، بن را به سازگاری بیشتری با مرورگرهای مدرن و محیط‌های اجرایی لبه (Edge) می‌رساند و وابستگی به کتابخانه‌های خارجی (پولی‌فیل) را برای بارهای کاری فشرده‌سازی مبتنی بر استریم حذف می‌کند. علاوه بر این، نحوه مدیریت تنظیمات محیط اجرایی در فایل‌های اجرایی مستقل به شکل اساسی بازطراحی شده است تا به معماران قدرت دهد رفتارهای دقیق بارگذاری .env و bunfig.toml را در زمان کامپایل و اجرا تعیین کنند. این تغییرات در مجموع مسیر بن را از یک ابزار آزمایشی فوق‌العاده سریع به یک پایه قابل اعتماد و آماده برای تولید برای سرویس‌های ابری با توان پردازشی بالا تثبیت می‌کنند.

ارتقاهای کلیدی و ارگونومی توسعه‌دهندگان

یکی از ویژگی‌های برجسته اضافه شده در نسخه ۱.۳.۳، کنترل اجرای دقیق ارائه شده برای فایل‌های اجرایی مستقل است. توسعه‌دهندگان اکنون می‌توانند به صراحت نحوه و زمان بارگذاری فایل‌های .env و تنظیمات bunfig.toml را مدیریت کنند، که این امر با پرچم خط فرمان جدید --no-env-file تکمیل می‌شود. این ویژگی قطعیت مطلق را در محیط‌های کانتینری و توابع بدون سرور (Serverless) فراهم می‌کند؛ جایی که آلودگی محیطی ناخواسته می‌تواند اشکالات پنهانی را در زمان اجرا ایجاد کند. همراه با یکپارچه‌سازی SQLite 3.51.0، برنامه‌های کاربردی فشرده داده که روی بن اجرا می‌شوند اکنون از آخرین بهینه‌سازی‌های برنامه‌ریز پرس‌وجو بالادستی، بهبودهای ایمنی تراکنش‌ها و کاهش سربار حافظه در جریان ورودی/خروجی سنگین دیسک بهره‌مند می‌شوند.

روریدهای تست نیز با گنجاندن پارامترهای داخلی retry و repeats در داخل bun:test ارتقای قابل توجهی در کیفیت زندگی توسعه‌دهندگان دریافت می‌کنند. تست‌های یکپارچه‌سازی ناپایدار یا ادعاهای وابسته به شبکه اکنون می‌توانند به طور خودکار و به صورت بومی و بدون نیاز به اسکریپت‌های پوششی سفارشی یا کتابخانه‌های ادعای شخص ثالث، مجدداً تلاش شوند. به موازات آن، تیم‌های مهندسی هسته رفع باگ‌های اساسی را در بخش‌های باندلر (Bundler)، دستور bun install، سازگاری زیرسیستم ویندوز، شبیه‌سازی APIهای نود.جی‌اس، Bun.serve، لایه‌های شبکه، Bun.YAML، Bun.Transpiler، Bun.spawn و تعاریف تولیدشده تایپ‌اسکریپت اعمال کرده‌اند. این رویکرد جامع تضمین می‌کند که موارد خاص (Edge cases) در وضوح ماژول، راه‌اندازی فرآیند و قفل کردن فایل‌ها در ویندوز به طور سیستماتیک خنثی شوند.

ماتریس مقایسه معماری

بعد معماری مبنای قبلی (v1.3.x) معماری ارتقایافته بن نسخه ۱.۳.۳
ابزار زیربنایی پایه Zig 0.13.x / 0.14.x Zig 0.15.2 با بهینه‌سازی‌های پیشرفته کامپایلر
موتور داده و ذخیره‌سازی سری SQLite 3.4x SQLite 3.51.0 با بهینه‌سازی پیشرفته پرس‌وجو
APIهای استاندارد وب پشتیبانی جزئی از استریم فشرده‌سازی CompressionStream و DecompressionStream بومی
قابلیت‌های اجراکننده تست ادعاهای استاندارد تک‌مرحله‌ای پیکربندی داخلی و بومی retry و repeats
کنترل فایل اجرایی مستقل بارگذاری ضمنی فایل محیطی پرچم‌های صریح .env، bunfig.toml و --no-env-file

تغییرات ساختارشکن و هشدارهای مهاجرت

بن نسخه ۱.۳.۳ به گونه‌ای طراحی شده است که با نسخه‌های قبلی 1.x کاملاً سازگار باشد و تضمین کند که برنامه‌های موجود می‌توانند بدون نقض قراردادهای API یا خطوط لوله ساخت، به‌روزرسانی را بپذیرند. با این حال، تیم‌هایی که از فایل‌های اجرایی مستقل استفاده می‌کنند باید اسکریپت‌های استقرار خود را ممیزی کنند. از آنجایی که فایل‌های اجرایی مستقل اکنون کنترل‌های سخت‌گیرانه‌تر و آگاهانه‌تری بر روی بارگذاری .env و bunfig.toml دارند، فایل‌های اجرایی که پیش‌تر برای کشف ضمنی فایل در دایرکتوری کاری متکی بودند، ممکن است در صورت خارجی‌سازی آن فایل‌ها به پرچم‌های پیکربندی صریح نیاز داشته باشند. علاوه بر این، ارتقا به Zig 0.15.2 ترازهای طرح‌بندی حافظه داخلی را به همراه دارد که می‌تواند اشکالات همزمانی پنهان را در افزونه‌های بومی بسیار سفارشی‌سازی‌شده آشکار کند.

راهنمای گام‌به‌گام ارتقا

ارتقای محیط خود و بهره‌گیری از قابلیت‌های جدید در بن نسخه ۱.۳.۳ تنها به چند دستور ساده نیاز دارد:

  1. ارتقای نصب بن خود به آخرین نسخه به صورت سراسری (Global):

    bun upgrade
    
  2. استفاده از پیکربندی‌های جدید تلاش مجدد تست در داخل مجموعه‌های bun:test خود برای مدیریت تست‌های یکپارچه‌سازی شبکه یا پایگاه داده ناپایدار:

    import { test, expect } from "bun:test";
    
    test("flaky network endpoint", async () => {
      const res = await fetch("https://api.example.com/health");
      expect(res.status).toBe(200);
    }, {
      retry: 3,
      repeats: 5
    });
    
  3. کامپایل فایل‌های اجرایی مستقل با محدودیت‌های فایل محیطی صریح با استفاده از پرچم‌های جدید خط فرمان:

    bun build ./src/index.ts --compile --no-env-file --outfile my-app
    
#Bun#v1.3.3#DevTools#Release#Changelog
E-E-A-T VerifiedRelease Intelligence & Editorial Methodology

OPA Release analyzes upstream repository commits, official changelogs, and runtime telemetry assisted by automated synthesis pipelines and verified under our Editorial Standards. Review our Affiliate Disclosure and Software Disclaimer before deploying changes to production environments.

OPA NETWORK EXPLORER

Deep Dive Across the Ecosystem