Rust 1.90: rustc x86_64 Linux पर डिफ़ॉल्ट लिंकर्स के रूप में LLD पर स्विच करता है
प्रमुख अपडेट
Rust प्रोजेक्ट ने घोषणा की है कि Rust 1.90.0 स्थिर (जो 2025-09-18 के लिए निर्धारित है) से rustc डिफ़ॉल्ट रूप से x86_64-unknown-linux-gnu लक्ष्य के लिए LLVM LLD लिंकर्स का उपयोग करेगा। बेंचमार्क में, यह परिवर्तन इंक्रीमेंटल निर्माणों के लिए लिंकिंग समय को 7× तक कम करता है (ripgrep उदाहरण ने इंक्रीमेंटल डिबग रीबिल्ड के लिए ~40% अंत-से-अंत गति में सुधार और पूर्ण डिबग निर्माणों के लिए ~20% सुधार दिखाया)। नया डिफ़ॉल्ट पहले से ही 1.90 बीटा पर उपलब्ध है — परियोजनाओं को अब बीटा के खिलाफ परीक्षण करना चाहिए और यदि वे लिंकर्स में गिरावट का अवलोकन करते हैं तो मुद्दे दर्ज करें।
यह क्यों महत्वपूर्ण है
यह Linux Rust डेवलपर्स और CI सिस्टम के लिए एक व्यावहारिक, बहुत महसूस किया गया प्रदर्शन लाभ है: लिंकिंग अक्सर बड़े बाइनरी और डिबग निर्माणों के लिए निर्माण समय का एक प्रमुख हिस्सा होती है, इसलिए तेज लिंकिंग सीधे संपादन-संकलन चक्रों और CI रन समय को छोटा करती है। टीमों के लिए इसका मतलब हो सकता है कि छोटे CI कतारें, कम रनर समय और लागत, और बिना कोड बदले तेज डेवलपर पुनरावृत्ति। चूंकि rust-lld टूलचेन के साथ भेजा जाता है, इसलिए आपको लाभ उठाने के लिए सिस्टम लिंकर्स स्थापित करने की आवश्यकता नहीं है; हालाँकि, यह परिवर्तन लक्ष्य-विशिष्ट (x86_64 Linux) है और अन्य प्लेटफार्मों के लिए एक वैश्विक टूलचेन व्यवहार नहीं है।
एक छोटी संगतता सतह है: LLD कुछ दुर्लभ मामलों में GNU ld के साथ बाइट-फॉर-बाइट संगत नहीं है, इसलिए कुछ क्रेट्स जो विरासत लिंकर्स की सेमांटिक्स पर निर्भर करते थे, उन्हें लिंक फ्लैग (या ऑप्ट-आउट) की आवश्यकता हो सकती है। यदि आप समस्याओं का सामना करते हैं, तो आप RUSTFLAGS या .cargo/config.toml को -Clinker-features=-lld सेट करके प्रति-परियोजना पिछले व्यवहार पर लौट सकते हैं (या अपने CI निर्माण में समकक्ष फ्लैग जोड़ें)। व्यावहारिक रूप से, अनुशंसित तात्कालिक क्रियाएँ हैं: CI में 1.90 बीटा पर अपने रिपॉजिटरी का परीक्षण करें, CI में उपयोग किए जाने वाले किसी भी पिन किए गए Docker छवियों/रस्टअप टूलचेन कॉन्फ़िगरेशन को बीटा/स्थिर चैनल पर सत्यापन के लिए अपडेट करें, और केवल तभी CI टेम्पलेट्स में एक ऑप्ट-आउट फ्लैग जोड़ें जब कोई वास्तविक लिंकर्स असंगतता प्रकट हो। पहले से ही संसाधन-सीमित लंबे समय तक चलने वाले निर्माणों की निगरानी करें, क्योंकि LLD की समानांतरता लिंकिंग के दौरान CPU उपयोग को बढ़ा सकती है; यदि यह आपके रनर्स को प्रभावित करता है, तो समानांतरता को सीमित करें या अस्थायी रूप से ऑप्ट-आउट का उपयोग करें।
यह परिवर्तन Linux Rust विकास के लिए एक कम जोखिम, उच्च पुरस्कार उपकरण सुधार है जिसमें स्पष्ट संचालन और डेवलपर उत्पादकता लाभ हैं; CI में बीटा चलाकर तैयारी करें, लिंक-समय गिरावट के लिए नज़र रखें, और जब आवश्यक हो तो प्रलेखित ऑप्ट-आउट फ्लैग का उपयोग करें।
स्रोत
आगे पढ़ें
Node.js v25 2025‑10‑15 के लिए निर्धारित — semver‑major रिलीज निकट है
30 सितंबर 2025Node.js v25 15 अक्टूबर, 2025 के लिए निर्धारित है (कमिट कटऑफ 2025‑09‑15)। टीमों को नए मेजर के खिलाफ CI चलाना चाहिए, नेटिव मॉड्यूल का सत्यापन करना चाहिए, और कैनरी डिप्लॉयमेंट के लिए तैयारी करनी चाहिए।
Azure Functions Proxies: सामुदायिक समर्थन 2025‑09‑30 को समाप्त — अब Proxies से माइग्रेट करें
29 सितंबर 2025Azure ने घोषणा की है कि Azure Functions Proxies 2025‑09‑30 के बाद असमर्थित होंगे; जो टीमें अभी भी Proxies का उपयोग कर रही हैं, उन्हें तुरंत एक समर्थित API सतह (APIM, Front Door, या एक हल्का रिवर्स प्रॉक्सी) पर इन्वेंटरी और माइग्रेट करना चाहिए।
NodeShield: रनटाइम SBOM प्रवर्तन (CBOM) Node.js के लिए आपूर्ति श्रृंखला हमलों को नगण्य ओवरहेड के साथ सीमित करता है
28 सितंबर 2025एक नया पेपर NodeShield का परिचय देता है, जो एक रनटाइम प्रवर्तन प्रणाली है जो SBOMs का उपयोग करती है जो प्रति-निर्भरता क्षमताओं (CBOM) के साथ विस्तारित होती है ताकि Node.js में आपूर्ति श्रृंखला के दुरुपयोग को ~98% प्रभावशीलता और <1ms ओवरहेड के साथ रोका जा सके।