Esitletud on mruby 3.2, Ruby dünaamilise objektorienteeritud programmeerimiskeele sisseehitatud tõlgendaja. Mruby tagab Ruby 3.x süntaksi põhilise ühilduvuse, välja arvatud mustrite vastavuse toetamine («case .. in»). Tõlgendaja eristub madala mälu tarbimisega ja on suunatud Ruby keele toe sisseehitusse teistesse rakendustesse. Rakendusse sisseehitatud tõlgendaja suudab täita nii Ruby keeles kirjutatud lähtekoodi kui ka baitkoodi, mis on saadud projekti poolt arendatud kompilaatori «mrbc» abil. Mruby lähtekood jaotatakse MIT litsentsi alusel.
Uues väljaandes on kõrvaldatud 19 haavatavust, mis võivad põhjustada puhverületust, nullviidikute dereferentseerimist või mälu juurde pääsemist pärast selle vabastamist, kui tõlgendaja töötleb spetsiaalselt vormindatud Ruby koodi.
Turvalisusega mitteseotud muudatustest tuleb esile tuua:
- Tugiteenuse anoonüümsete argumentide edastamiseks (*, **, &),
- Toetamine suurte täisarvude (mruby-bigint) jaoks.
- Toetamine kompileeritud binaarfailide laadimiseks laiendiga «.mrb».
- Lisa valik «—no-optimize» mrbc kompilaatori optimeerimise keelamiseks.
- Meetodite Class#subclasses ja Module#undefined_instance_methods rakendamine mruby-class-ext.
- Uued sisseehitatud raamatukogud mruby-errno, mruby-set, mruby-dir ja mruby-data.
Allikas: opennet.ru
