HeadlinesBriefing HeadlinesBriefing.com

إصدار Crystal 1.22.0: أبرز التغييرات

Hacker News •
×

أصبح Crystal 1.22.0 متاحًا الآن، ويتضمن 251 تغييرًا من 33 مساهمًا منذ الإصدار 1.21.1. يمكن العثور على الحزم الجاهزة في GitHub Releases وقنوات التوزيع الرسمية، مع تعليمات التثبيت على crystal-lang.org/install.

ومن التغييرات البارزة أن عمليات Crystal تنتهي فورًا الآن عند فشل الكتابة إلى STDOUT أو STDERR بسبب EPIPE، وهو سلوك يشبه إلى حد كبير السلوك الافتراضي لـ SIGPIPE. ويمكن للمطورين الذين يفضلون السلوك السابق تعطيل ذلك باستخدام STDOUT.exit_on_broken_pipe = false. كما يمكن للثوابت الآن أن تحمل تصريحات نوع، فيتم تحويل ثابت مثل QUX : Int64 = 123 وفقًا لذلك.

أما على صعيد المنصات، فقد انتقلت أهداف aarch64-linux-gnu وaarch64-linux-musl من المستوى 2 إلى المستوى 1، إذ تتوفر البنيات الرسمية منذ الإصدار 1.19. كما أُزيلت أخيرًا الدالة Process.fork، التي كانت مُهملة منذ ما قبل الإصدار 1.0. وأُعيد تصميم محلل DWARF لتحسين الأداء وتقليل استهلاك الذاكرة، باستخدام المسح عند الطلب للأقسام وذاكرة تخزين مؤقت من نوع LRU لأسطر تتبع الاستدعاءات المفكوكة.

ويقدّم الإصدار كذلك حلقة أحداث أصلية لجميع الأهداف، مع epoll على Solaris وkqueue على بقية أهداف BSD، بينما أصبحت مكتبة libevent اختيارية بالكامل. كما أصبح دعم Kernel TLS في روابط OpenSSL مفعّلًا افتراضيًا، ويتضمن الإصدار إصلاحات وتحسينات عديدة في HTTP.

المصدر: Hacker News · لخّصه HeadlinesBriefing