Прадстаўлены выпуск mruby 3.2, убудаванага інтэрпрэтатара дынамічнай аб'ектна-арыентаванай мовы праграмавання Ruby. Mruby забяспечвае базавую сумяшчальнасць сінтаксісу на ўзроўні Ruby 3.x, за выключэннем падтрымкі супастаўлення з узорам ("case.. in"). Інтэрпрэтатар адрозніваецца нізкім спажываннем памяці і арыентаваны на ўбудаванне падтрымкі мовы Ruby у іншыя прыкладанні. Убудаваны ў дадатак інтэрпрэтатар можа выконваць як зыходны код на мове Ruby, так і байткод, атрыманы пры дапамозе развіванага праектам кампілятара "mrbc". Зыходныя тэксты mruby распаўсюджваецца пад ліцэнзіяй MIT.
У новым выпуску ліквідавана 19 уразлівасцяў, якія могуць прывесці да перапаўнення буфера, разнаймення нулявых паказальнікаў або звароту да памяці пасля яе вызвалення пры апрацоўцы інтэрпрэтатарам спецыяльна аформленага Ruby-кода.
З не звязаных з бяспекай змен адзначаецца:
- Падтрымка перадачы ананімных аргументаў (*, **, &),
- Падтрымка вялікіх цэлых лікаў (mruby-bigint).
- Падтрымка загрузкі скампіляваных бінарных файлаў з пашырэннем «.mrb».
- Даданне опцыі "-no-optimize" для адключэння аптымізацый у кампілятары mrbc.
- Рэалізацыя метадаў Class#subclasses і Module#undefined_instance_methods у mruby-class-ext.
- Новыя ўбудаваныя бібліятэкі mruby-errno, mruby-set, mruby-dir і mruby-data.
Крыніца: opennet.ru