We are announcing the first stable release of mruby 3.2 series - mruby 3.2.0.
Describes the new features and changes in mruby 3.2.
The main changes in mruby 3.2 are also described in doc/mruby3.2.md.
a::B = c should evaluate a then c.*, **, & can be passed for forwarding.mruby-bigint gem.OP_ARYDUP was renamed to OP_ARYSPLAT. The instruction name
was changed but instruction number and basic behavior have not
changed (except that ARYDUP nil makes []).mruby-b only specifies the script is the binary. The files loaded by -r are not affected by the option.mruby now loads complied binary if the suffix is .mrb.mrbc--no-optimize option to disable optimization.Class#subclasses method.Module#undefined_instance_methods method.mrb_vm_run() may detach top-level local variables referenced from blocksWhen the mrb_vm_run() function (including mrb_top_run()) is called,
the previous top-level local variables referenced from blocks is detached under either of the following conditions.
stack_keep parameter is given as 0.irep to be executed is less than the number of previous top-level local variables.This change also affects API functions such as mrb_load_string() and mrb_load_file().
The conditions under which the previous top-level local variables referenced from blocks is detached in these functions are as follows:
mrbc_context pointer parameter, or the mrbc_context pointer parameter is set to NULL.mrbc_context pointer is less than the number of previous top-level local variables.Intentional reliance on previous behavior may cause compatibility problems in your application.
Following CVEs are fixed.
We have done 1,243 commits to 270 files with 19,130 additions and 10,192 deletions since mruby 3.1.0. For more detail of the updates, see Commit Log.
Thanks to all the contributors who have worked on bug fixes and improvements in the release of mruby 3.2.0.