Predstavená verzia mruby 3.2, zabudovaného interpretera dynamického objektovo orientovaného jazykového programovania Ruby. Mruby zabezpečuje základnú kompatibilitu syntaktických prvkov na úrovni Ruby 3.x, s výnimkou podpory rozšíreného vzoru («case .. in»). Interpret je charakteristický nízkou spotrebou pamäte a je zameraný na integráciu podpory jazyka Ruby do iných aplikácií. Zabudovaný interpret v aplikácii môže vykonávať ako zdrojový kód v jazyku Ruby, tak aj bytecode, ktorý bol získaný pomocou vyvíjaného projektu kompilátora «mrbc». Zdrojové kódy mruby sa distribuujú pod licenciou MIT.
V novom vydaní bolo odstránených 19 zraniteľností, ktoré môžu viesť k pretečeniu vyrovnávacej pamäte, dereferencovaniu nulových ukazovateľov alebo prístupu k pamäti po jej uvoľnení pri spracovaní špeciálne formátovaného kódu Ruby interpretera.
Medzi nezabezpečovacími zmenami sa uvádzajú:
- Podpora prenášania anonymných argumentov (*, **, &),
- Podpora veľkých celých čísel (mruby-bigint).
- Podpora načítania skompilovaných binárnych súborov s príponou «.mrb».
- Pridanie možnosti «—no-optimize» na vypnutie optimalizácií v kompilátore mrbc.
- Implementácia metód Class#subclasses a Module#undefined_instance_methods v mruby-class-ext.
- Nové zabudované knižnice mruby-errno, mruby-set, mruby-dir a mruby-data.
Zdroj: opennet.ru
