Foi lançado o mruby 3.2, um interpretador embutido da linguagem de programação orientada a objetos dinâmica Ruby. O mruby oferece compatibilidade sintática básica com Ruby 3.x, exceto no suporte à correspondência de padrões ("case .. in"). O interpretador se destaca pelo baixo consumo de memória e é projetado para embutir o suporte da linguagem Ruby em outros aplicativos. O interpretador embutido em um aplicativo pode executar tanto código-fonte em Ruby quanto bytecode gerado pelo compilador "mrbc" em desenvolvimento. Os códigos-fonte do mruby são distribuídos sob a licença MIT.
A nova versão corrige 19 vulnerabilidades que podem resultar em estouro de buffer, desreferenciação de ponteiros nulos ou acesso à memória após sua liberação ao processar código Ruby especialmente formatado pelo interpretador.
Em mudanças não relacionadas à segurança, destacam-se:
- Suporte para passar argumentos anônimos (*, **, &),
- Suporte para números inteiros grandes (mruby-bigint).
- Suporte para carregar arquivos binários compilados com a extensão ".mrb".
- Adição da opção "—no-optimize" para desativar otimizações no compilador mrbc.
- Implementação dos métodos Class#subclasses e Module#undefined_instance_methods em mruby-class-ext.
- Novas bibliotecas embutidas mruby-errno, mruby-set, mruby-dir e mruby-data.
Fonte: opennet.ru
