เปิดตัว mruby 3.2 ซึ่งเป็นล่ามแบบฝังสำหรับภาษาการเขียนโปรแกรมเชิงวัตถุแบบไดนามิก Ruby Mruby จัดเตรียมความเข้ากันได้ทางไวยากรณ์พื้นฐานที่ระดับ Ruby 3.x ยกเว้นการรองรับการจับคู่รูปแบบ (“case ..in”) ล่ามมีการใช้หน่วยความจำน้อยและมุ่งเน้นไปที่การฝังการสนับสนุนภาษา Ruby ลงในแอปพลิเคชันอื่น ล่ามที่สร้างไว้ในแอปพลิเคชันสามารถรันทั้งซอร์สโค้ดในภาษา Ruby และ bytecode ที่ได้รับโดยใช้คอมไพเลอร์ "mrbc" ที่พัฒนาโดยโปรเจ็กต์ ซอร์สโค้ด mruby ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT
เวอร์ชันใหม่แก้ไขช่องโหว่ 19 รายการที่อาจนำไปสู่การบัฟเฟอร์ล้น การยกเลิกการอ้างอิงตัวชี้ null หรือการเข้าถึงหน่วยความจำหลังจากใช้งานได้ฟรี เมื่อล่ามประมวลผลโค้ด Ruby ที่จัดรูปแบบเป็นพิเศษ
การเปลี่ยนแปลงที่ไม่เกี่ยวกับความปลอดภัยได้แก่:
- รองรับการส่งผ่านข้อโต้แย้งที่ไม่ระบุชื่อ (*, **, &)
- รองรับจำนวนเต็มขนาดใหญ่ (mruby-bigint)
- รองรับการดาวน์โหลดไบนารีที่คอมไพล์แล้วด้วยนามสกุล ".mrb"
- การเพิ่มตัวเลือก "--no-optimize" เพื่อปิดใช้งานการปรับให้เหมาะสมในคอมไพเลอร์ mrbc
- การใช้งานเมธอด Class#subclasses และ Module#undef_instance_methods ใน mruby-class-ext
- ไลบรารี่ในตัวใหม่ mruby-errno, mruby-set, mruby-dir และ mruby-data
ที่มา: opennet.ru