Ruby 3.4.0 रिलीज़
(ruby-lang.org)-
पिछले वर्षों की तरह, 12/25 को Ruby 3.4.0 जारी हुआ
-
मुख्य अपडेट में
itब्लॉक पैरामीटर संदर्भ जोड़ने, डिफ़ॉल्ट पार्सर को Prism बनाने, सॉकेट लाइब्रेरी में Happy Eyeballs Version 2 सपोर्ट जोड़ने, YJIT सुधार और मॉड्यूलर GC जोड़ने जैसे बदलाव शामिल हैं। -
itब्लॉक पैरामीटर संदर्भ- बिना किसी वेरिएबल नाम के ब्लॉक पैरामीटर को संदर्भित करने के लिए
itपेश किया गया है। यह_1की तरह काम करता है और छोटे ब्लॉकों में इसे इस्तेमाल करना सुविधाजनक बनाता है।
- बिना किसी वेरिएबल नाम के ब्लॉक पैरामीटर को संदर्भित करने के लिए
-
Prism को डिफ़ॉल्ट पार्सर बनाया गया
- डिफ़ॉल्ट पार्सर को
parse.yसे बदलकर Prism बना दिया गया है। उपयोगकर्ता को कोई बड़ा बदलाव महसूस नहीं होगा; अगर कोई संगतता समस्या दिखे तो उसे रिपोर्ट करने के लिए कहा गया है।
- डिफ़ॉल्ट पार्सर को
-
सॉकेट लाइब्रेरी में Happy Eyeballs Version 2
- सॉकेट लाइब्रेरी में Happy Eyeballs Version 2 (RFC 8305) का सपोर्ट जोड़ा गया। यह आधुनिक इंटरनेट परिवेश के लिए अधिक कुशल और भरोसेमंद नेटवर्क कनेक्शन प्रदान करता है।
-
YJIT सुधार
- अधिकांश benchmarks में प्रदर्शन सुधार, memory उपयोग में कमी, कई bugs फिक्स और नई फीचर्स जोड़ी गईं।
-
मॉड्यूलर GC
- वैकल्पिक गार्बेज कलेक्टर (GC) implementation को रनटाइम पर डायनेमिकली लोड करने के लिए मॉड्यूलर GC फीचर जोड़ा गया। इसमें Rust toolchain की जरूरत है।
-
भाषा बदलाव
frozen_string_literalटिप्पणियों के बिना फाइलों में स्ट्रिंग लिटरल बदलने पर warning दिया जाएगा।**nilकीवर्ड स्प्लैटिंग सपोर्ट सहित अन्य कई बदलाव शामिल हैं।
-
कोर क्लास अपडेट
Exception#set_backtraceअबThread::Backtrace::Locationarray को स्वीकार करता है, और कई अन्य कोर क्लास अपडेट शामिल हैं।
-
स्टैंडर्ड लाइब्रेरी अपडेट
- RubyGems, Bundler, JSON, Tempfile आदि कई स्टैंडर्ड लाइब्रेरियों में performance सुधार और नई फीचर्स जोड़ी गई हैं।
-
संगतता समस्याएँ
- error message और backtrace दिखाने के तरीके में बदलाव,
Hash#inspectrender बदलने जैसी संगतता संबंधित बदलाव शामिल हैं।
- error message और backtrace दिखाने के तरीके में बदलाव,
-
C API अपडेट
rb_newobjऔरrb_newobj_offunctions हटाने सहित C API अपडेट शामिल हैं।
-
अन्य बदलाव
- इस्तेमाल न किए गए ब्लॉक को मेथड में पास करने पर warning आने जैसे विभिन्न बदलाव शामिल हैं।
2 टिप्पणियां
Hacker News टिप्पणी
Ruby parser बदलाव को लेकर काफी उत्साह है। पहले तो हमें yacc इस्तेमाल करने के लिए बताया गया था, लेकिन अब Ruby भी उस सूची में शामिल हो गया है जहाँ hand-crafted parser उपयोग किए जाते हैं।
Ruby 3.4.1 पहले ही आउटडेटेड हो चुका है।
पिछले कुछ सालों में Ruby का performance खास तौर पर बेहतर हुआ है। Ruby 3.3 के बाद से सभी apps में मैंने --yjit flag के साथ रन करना शुरू किया है, और इसका फर्क साफ दिखता है।
Shopify की strategy YJIT वाली कहानी जैसी ही है: अगर service को refactor करना संभव नहीं है, तो Ruby को refactor करने का इरादा है।
JIT और GC स्तर पर performance सुधार एक बहुत बढ़िया अतिरिक्त बोनस है।
हर साल क्रिसमस की परंपरा की तरह Ruby रिलीज़ का इंतज़ार रहता है।
हर साल आखिर में Rails ऐप्स को अपडेट करने की जरूरत पड़ती है; हाल के रिलीज़ में यह ज्यादा stable और performant हो गया है, इसलिए अपडेट आसान महसूस होता है।
Ruby टीम को बधाई और धन्यवाद।
Rails 8 की खबर के बाद Ruby ट्राई करना चाहता था, लेकिन setup/installation बहुत मुश्किल होने के कारण छोड़ दिया।
macOS पर Rails इंस्टॉल करने में मदद करने वाला एक स्क्रिप्ट उपलब्ध है।
=>
https://rails.new/