Je vydán mruby 3.2, vestavěný interpret pro dynamický objektově orientovaný programovací jazyk Ruby. Mruby poskytuje základní syntaktickou kompatibilitu s Ruby 3.x, s výjimkou porovnávání vzorů („case .. in“). Interpret se vyznačuje nízkou paměťovou náročností a je navržen pro vkládání podpory Ruby do jiných aplikací. Vestavěný interpret dokáže spustit zdrojový kód Ruby i bajtkód generovaný pomocí kompilátoru „mrbc“ vyvinutého v rámci projektu. Zdrojový kód mruby je distribuován pod licencí MIT.
Nová verze opravuje 19 zranitelností, které by mohly vést k přetečení vyrovnávací paměti, dereferencím ukazatelů NULL nebo použití po uvolnění, když interpret zpracovává speciálně vytvořený kód Ruby.
Mezi změnami, které se netýkají bezpečnosti, lze uvést následující:
- Podpora pro předávání anonymních argumentů (*, **, &),
- Podpora pro velká celá čísla (mruby-bigint).
- Podpora pro načítání kompilovaných binárních souborů s příponou „mrb“.
- Přidána volba „--no-optimize“ pro zakázání optimalizací v kompilátoru mrbc.
- Implementace metod Class#subclasses a Module#undefined_instance_methods v mruby-class-ext.
- Nové vestavěné knihovny mruby-errno, mruby-set, mruby-dir a mruby-data.
Zdroj: opennet.ru
