Bun 1.3.9 जारी: समानांतर स्क्रिप्ट रनर, ESM बाइटकोड सपोर्ट, और JSC प्रदर्शन लाभ

जावास्क्रिप्टरनटाइमटूलिंग

Bun 1.3.9 (8 फरवरी 2026) एक केन्द्रित, उच्च‑उपयोगिता वाला अपडेट है जो फुल‑स्टैक टीमों के लिए तुरंत मायने रखने वाले कई डेवलपर‑फेसिंग फीचर्स देता है: पहली‑श्रेणी के समानांतर/क्रमानुसार स्क्रिप्ट ऑर्केस्ट्रेशन, संकलित बिल्ड के लिए ESM बाइटकोड सपोर्ट, CPU‑प्रोफाइलर नियंत्रण में नाज़ुक सुधार, और JavaScriptCore (JSC) प्रदर्शन में एक उल्लेखनीय धक्का जो सामान्य स्ट्रिंग और रेगेक्स पथों को तेज करता है। ये परिवर्तन मोनोरेपो CI में घर्षण कम करते हैं, रनटाइम ओब्जर्वेबिलिटी बेहतर करते हैं, और संकलित ESM वर्कफ्लोज़ को डिप्लॉयमेंट्स और एक‑फाइल बिल्ड्स के लिए अधिक पूर्वानुमानयोग्य व्यवहार देते हैं।

मुख्य परिवर्तन और व्यावहारिक प्रभाव

  • bun run --parallel / --sequential — कई npm स्क्रिप्ट्स को एक साथ या क्रमवार चलाने के लिए प्रिफिक्स्ड, रंगीन आउटपुट और वर्कस्पेस‑आधारित फ़िल्टरिंग के साथ। यह मोनोरिपोज और CI के लिए एक व्यावहारिक लाभ है: क्रॉस‑पैकेज बिल्ड/टेस्ट को तेजी से चलाएं बिना कस्टम Foreman स्क्रिप्ट्स या बाहरी टूल्स जोड़े, और troubleshooting के लिए स्पष्ट लॉग बनाए रखें।

  • --compile में ESM बाइटकोड — Bun अब --compile/--bytecode के साथ संकलन करते समय ESM बाइटकोड उत्सर्जित करने का समर्थन करता है। इससे संकलित ESM एप्लिकेशन अधिक पोर्टेबल होते हैं और ESM‑प्रथम परियोजनाओं तथा तेज ठंडी शुरूआत (fast cold starts) वाले एक‑फाइल executable के लिए स्टार्टअप संगतता बेहतर होती है।

  • JavaScriptCore उन्नयन — JSC ने कई माइक्रोआर्किटेक्चर अनुकूलन प्राप्त किए (SIMD‑त्वरित रेगेक्स प्रीफिक्स खोज, नई स्ट्रिंग इंट्रिंसिक्स, और JIT सुधार) जो रेगेक्स‑हेवी कोड, स्ट्रिंग संचालन, और Map/Set आकार एक्सेस पैटर्न के लिए मापा जा सकने वाले गति‑वर्धन में बदले जाते हैं — सर्वर अनुरोध पाइपलाइन, टेम्पलेटिंग, और पाठ प्रसंस्करण वर्कलोड के लिए उपयोगी।

  • परीक्षण ergonomics: Symbol.dispose mocks के लिए — bun:test mock() और spyOn() अब Symbol.dispose को लागू करते हैं, जिससे using पैटर्न के माध्यम से स्वचालित पुनर्स्थापना संभव हो जाती है। परीक्षण अधिक सुरक्षित और साफ़ होते हैं (कम मैन्युअल teardown), खासकर उन suites के लिए जो कई अस्थायी mocks बनाते हैं।

  • प्रोफाइलिंग और नेटवर्किंग समानता — नया --cpu-prof-interval Bun के प्रोफाइलर नियंत्रणों को Node.js के सैंपलिंग सिद्धांतों के साथ संरेखित करता है; HTTP/2 कनेक्शन उन्नयन और NO_PROXY सुधार वास्तविक‑विश्व प्रॉक्सी, रिवर्स‑प्रॉक्सी और HTTP/2 प्रॉक्सीिंग स्थितियों को संबोधित करते हैं जिनसे पहले चौंकाने वाले विफलताएं सामने आ सकती थीं।

क्यों यह अब मायने रखता है

  • तेज मोनोरिपो CI और स्थानीय विकास चक्र: इन-बिल्ट समानांतर/क्रमानुसार स्क्रिप्ट ऑर्केस्ट्रेशन का मतलब है कम adhoc स्क्रिप्ट और कई पैकेज टास्क एक साथ चलाने पर अधिक निर्धारणीय, स्पष्ट आउटपुट। टीमें अक्सर छोटे ऑर्केस्ट्रेशन टूल्स को हटाकर एक ही रनटाइम टूल पर निर्भर हो सकती हैं।

  • बेहतर संकलित ESM डिप्लॉयमेंट: ESM बाइटकोड सपोर्ट डेवलपमेंट और संकलित आर्टिफैक्ट्स के बीच असंगतता कम करता है और एक‑फाइल संकलित आउटपुट को एज‑या कंटेनराइज्ड डिप्लॉयमेंट पैटर्न के लिए अधिक विश्वसनीय बनाता है।

  • वास्तविक रनटाइम दृढ़ता: NO_PROXY, HTTP/2 उन्नयन, और ARM SIGILL क्रैश के फिक्स वे समस्याएं सीमित करते हैं जो डेव से प्रोडक्शन इमेज/विविध क्लाउड इंस्टेन्सेस में सामान्यतः उभरती हैं।

पूर्ण‑स्टैक टीमों के लिए सिफारिशें

  • CI में स्वतंत्र पैकेज बिल्ड/टेस्ट के लिए bun run --parallel आज़माएं ताकि.wall clock समय घटे; पहले --no-exit-on-error के साथ लॉग स्पष्टता और विफलता व्यवहार सत्यापित करें।

  • अगर आप production के लिए संकलन करते हैं, अपने target प्लेटफार्मों पर ESM बाइटकोड आर्टिफैक्ट्स का परीक्षण करें ताकि स्टार्टअप और native मॉड्यूल्स या बाहरी टूलिंग के साथ इंटरऑपरेबिलिटी पुष्ट हो सके।

  • प्रॉक्सी या HTTP/2 इंटरमीडियरीज़ का प्रयोग करते समय flaky इंटीग्रेशन टेस्ट्स फिर से चलाएं — NO_PROXY और कनेक्शन‑अपग्रेड के सुधार बिना कोड परिवर्तन के मुद्दों को हल कर सकते हैं।

  • कम‑लेटेंसी कोड पथों के प्रोफाइलिंग के लिए नए --cpu-prof-interval का उपयोग करें ताकि उच्च‑घनत्त्व वाले नमूने एकत्र किए जा सकें और मौजूदा Node.js baselines के विरुद्ध परिणामों की तुलना कर सकें।

पूरा विवरण और उन्नयन निर्देशों के लिए आधिकारिक रिलीज़ नोट्स पढ़ें। (bun.sh)

स्रोत: Bun रिलीज नोट्स (Bun v1.3.9).

स्रोत

आगे पढ़ें