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
