Crystal 1.22.0 अब उपलब्ध है, जिसमें संस्करण 1.21.1 के बाद से 33 योगदानकर्ताओं के 251 बदलाव शामिल हैं। पूर्व-निर्मित पैकेज GitHub Releases और आधिकारिक वितरण चैनलों पर मिल सकते हैं, और इंस्टॉलेशन निर्देश crystal-lang.org/install पर उपलब्ध हैं।
एक उल्लेखनीय बदलाव यह है कि जब STDOUT या STDERR पर लिखना EPIPE के कारण विफल होता है, तो Crystal प्रक्रियाएं अब तुरंत बंद हो जाती हैं, जो डिफ़ॉल्ट SIGPIPE व्यवहार से काफी मिलता-जुलता है। जो डेवलपर पिछला व्यवहार पसंद करते हैं, वे STDOUT.exit_on_broken_pipe = false के साथ इससे बाहर निकल सकते हैं। अब स्थिरांकों (constants) में भी प्रकार की घोषणाएं हो सकती हैं, इसलिए QUX : Int64 = 123 जैसे स्थिरांक को तदनुसार कास्ट किया जाता है।
प्लेटफ़ॉर्म की ओर से, aarch64-linux-gnu और aarch64-linux-musl लक्ष्य Tier 2 से Tier 1 में चले गए हैं, क्योंकि 1.19 से आधिकारिक बिल्ड उपलब्ध हैं। Process.fork, जो 1.0 से पहले से ही अप्रचलित था, अंततः हटा दिया गया है। DWARF पार्सर को भी प्रदर्शन सुधारने और मेमोरी उपयोग घटाने के लिए नया रूप दिया गया है, जिसमें मांग पर सेक्शन स्कैनिंग और डिकोड की गई बैकट्रेस पंक्तियों के लिए LRU कैश का उपयोग किया गया है।
इस रिलीज़ में सभी लक्ष्यों के लिए एक नेटिव इवेंट लूप भी जोड़ा गया है, जिसमें Solaris पर epoll और शेष BSD लक्ष्यों पर kqueue है, जबकि libevent अब पूरी तरह वैकल्पिक है। OpenSSL बाइंडिंग में Kernel TLS समर्थन अब डिफ़ॉल्ट रूप से सक्षम है, और इसमें कई HTTP सुधार और बेहतरियां शामिल हैं।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित