Go 1.25 जारी — DWARF5, अधिक सख्त nil‑check अर्थशास्त्र, jsonv2 प्रयोग, और टूलचेन परिवर्तन

Goटूलिंगबैक-एंड

प्रमुख अपडेट

Go 1.25 (जारी 12 अगस्त, 2025) एक व्यावहारिक, डेवलपर-प्रभावित रिलीज है न कि केवल एक क्रमिक वृद्धि। यह रिलीज DWARF‑5 डिबग आउटपुट और लिंक विकल्पों को पेश करती है जो बड़े कार्यक्रमों के लिए बाइनरी आकार और लिंक समय को कम करती है, एक लंबे समय से चली आ रही कंपाइलर बग को ठीक करती है जो अब स्पेक-सही nil-पॉइंटर जांच को लागू करती है (जो पहले से चल रहे लेकिन गलत कोड को पैनिक करवा सकती है), synctest समांतर-टेस्टिंग समर्थन को स्नातक करती है, और GOEXPERIMENT=jsonv2 के पीछे एक प्रयोगात्मक उच्च-प्रदर्शन एन्कोडिंग/json/v2 कार्यान्वयन को उजागर करती है। टूलचेन कुछ डिफ़ॉल्ट्स को भी बदलती है: AddressSanitizer अब कार्यक्रम के निकास पर लीक पहचान के लिए डिफ़ॉल्ट है, go कमांड कम पूर्वनिर्मित सहायक बाइनरी बनाएगी, और नए vet विश्लेषक (जैसे, waitgroup और hostport) सामान्य समांतरता और नेटवर्किंग गलतियों को पकड़ने के लिए भेजे जाएंगे।

यह क्यों महत्वपूर्ण है

nil-पॉइंटर सुधार सबसे उच्च-जोखिम वाला वास्तविक-विश्व परिवर्तन है: कोड जो त्रुटि की जांच करने से पहले उत्पन्न मानों का गलत उपयोग करता था, अब पैनिक कर सकता है; इसके लिए Go 1.25 के तहत अपने परीक्षण सूट और CI को चलाना आवश्यक है ताकि पुनःप्रवर्तन को खोजा जा सके और उन्हें ठीक किया जा सके (त्रुटि जांच को पहले स्थान पर ले जाएं या पुनर्गठन करें)। DWARF‑5 और लिंक विकल्प डिबग निर्माण को महत्वपूर्ण रूप से तेज करते हैं और बड़े सेवाओं और मोनोरेपोज़ के लिए प्रतीक आकार को कम करते हैं, डेवलपर पुनरावृत्ति समय और CI लागत में सुधार करते हैं। jsonv2 प्रयोग कई कार्यभार में काफी तेज़ डिकोडिंग प्रदान करता है; JSON-भारी सेवाओं के लिए स्टेजिंग में इसे आजमाना उचित है क्योंकि व्यवहार थोड़ा भिन्न होता है और त्रुटि पाठ बदल सकता है। ASAN लीक-डिटेक्शन डिफ़ॉल्ट उन परीक्षणों को तोड़ सकता है जो C आवंटनों पर निर्भर करते हैं जो मुक्त नहीं होते हैं; यदि आवश्यक हो तो CI में ASAN_OPTIONS को समायोजित करें। नए vet विश्लेषक और synctest समांतरता बग को पहले पकड़ना आसान बनाते हैं। कार्यशील कदम: CI में टूलचेन को पिन करें, Go 1.25 के तहत पूर्ण परीक्षण सूट चलाएं (और नियंत्रित वातावरण में GOEXPERIMENT=jsonv2 का प्रयास करें), नए vet विश्लेषकों को सक्षम करें, और उस कोड का ऑडिट करें जो len/cap हैक्स, unsafe.Pointer पैटर्न, या डिफर्ड त्रुटि जांच पर निर्भर करता है।

स्रोत

आगे पढ़ें