mruby 3.2, un interpréteur embarqué pour le langage de programmation orienté objet dynamique Ruby, est disponible. Mruby offre une compatibilité syntaxique de base avec Ruby 3.x, à l'exception de la correspondance de motifs (« case .. in »). L'interpréteur, peu gourmand en mémoire, est conçu pour intégrer la prise en charge de Ruby dans d'autres applications. Il peut exécuter le code source Ruby et le bytecode généré par le compilateur « mrbc » développé par le projet. Le code source de mruby est distribué sous licence MIT.
La nouvelle version corrige 19 vulnérabilités qui pourraient entraîner des dépassements de tampon, des déréférencements de pointeurs NULL ou des utilisations après libération lorsque l'interpréteur traite du code Ruby spécialement conçu.
Parmi les changements non liés à la sécurité, on note les suivants :
- Prise en charge du passage d'arguments anonymes (*, **, &),
- Prise en charge des grands entiers (mruby-bigint).
- Prise en charge du chargement de binaires compilés avec l'extension « mrb ».
- Ajout de l'option « --no-optimize » pour désactiver les optimisations dans le compilateur mrbc.
- Implémentation des méthodes Class#subclasses et Module#undefined_instance_methods dans mruby-class-ext.
- Nouvelles bibliothèques intégrées mruby-errno, mruby-set, mruby-dir et mruby-data.
Source: opennet.ru
