Embedded mruby 3.2 interpreter available

The release of mruby 3.2, an embeddable interpreter for the dynamic object-oriented programming language Ruby, is introduced. Mruby provides basic syntax compatibility at the Ruby 3.x level, with the exception of support for pattern matching ("case .. in"). The interpreter is characterized by low memory consumption and is focused on embedding Ruby language support into other applications. The interpreter built into the application can execute both the source code in the Ruby language and the bytecode obtained using the mrbc compiler developed by the project. The mruby source code is distributed under the MIT license.

The new release fixes 19 vulnerabilities that could lead to buffer overflows, null pointer dereferences, or post-free memory accesses when the interpreter processes specially crafted Ruby code.

Of the non-security-related changes noted:

  • Support for passing anonymous arguments (*, **, &),
  • Large integer support (mruby-bigint).
  • Support for loading compiled binaries with ".mrb" extension.
  • Adding the "--no-optimize" option to disable optimizations in the mrbc compiler.
  • Implementation of the Class#subclasses and Module#undefined_instance_methods methods in mruby-class-ext.
  • New built-in libraries mruby-errno, mruby-set, mruby-dir and mruby-data.

Source: opennet.ru

Add a comment