layout | title | date | categories |
---|---|---|---|
post |
mruby 3.2.0 released |
2023-02-23 16:00:00 -0800 |
releases |
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.
- Now
a::B = c
should evaluatea
thenc
. - Anonymous arguments
*
,**
,&
can be passed for forwarding. - Multi-precision integer is available now via
mruby-bigint
gem.
OP_ARYDUP
was renamed toOP_ARYSPLAT
. The instruction name was changed but instruction number and basic behavior have not changed (except thatARYDUP nil
makes[]
).
-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
.
- Add
--no-optimize
option to disable optimization.
- Add
Class#subclasses
method. - Add
Module#undefined_instance_methods
method.
- mruby-errno from [https://github.com/iij/mruby-errno.git]
- mruby-set from [https://github.com/yui-knk/mruby-set.git]
- mruby-dir from [https://github.com/iij/mruby-dir.git]
- mruby-data
When 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.
- If the
stack_keep
parameter is given as 0. - If the number of variables in
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:
- If the function has no
mrbc_context
pointer parameter, or themrbc_context
pointer parameter is set toNULL
. - If the number of variables held in the
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.
- CVE-2022-0080
- CVE-2022-0240
- CVE-2022-0326
- CVE-2022-0631
- CVE-2022-0481
- CVE-2022-0525
- CVE-2022-0570
- CVE-2022-0614
- CVE-2022-0623
- CVE-2022-0630
- CVE-2022-0631
- CVE-2022-0632
- CVE-2022-0717
- CVE-2022-0890
- CVE-2022-1106
- CVE-2022-1212
- CVE-2022-1276
- CVE-2022-1286
- CVE-2022-1934
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
.