@@ -23,6 +23,8 @@ mruby now supports pattern matching (case/in) syntax:
2323- Trailing comma in method definition parameters: ` def foo(a, b,) ` ([ f78334b] ( https://github.com/mruby/mruby/commit/f78334b ) )
2424- Array/Hash/String subclasses can now override ` [] ` and ` []= ` methods ([ #6675 ] ( https://github.com/mruby/mruby/pull/6675 ) )
2525- ` OP_SETIDX ` optimization for Array and Hash ([ ddd8fe1] ( https://github.com/mruby/mruby/commit/ddd8fe1 ) )
26+ - ` case ` /` in ` without ` else ` now raises ` NoMatchingPatternError ` ([ d8de35b] ( https://github.com/mruby/mruby/commit/d8de35b ) )
27+ - Allow compound statement in parenthesized argument context ([ 919cbd8] ( https://github.com/mruby/mruby/commit/919cbd8 ) )
2628
2729# Changes in C API
2830
@@ -37,6 +39,8 @@ mruby now supports pattern matching (case/in) syntax:
3739- ` mrb_open() ` returns mrb_state with exc set on init failure ([ 05ffe0c] ( https://github.com/mruby/mruby/commit/05ffe0c ) )
3840- ` mrb_utf8_to_buf() ` for UTF-8 encoding consolidation ([ 7e28e68] ( https://github.com/mruby/mruby/commit/7e28e68 ) )
3941- ` kh_is_end() ` macro for safe khash iteration ([ 893cc75] ( https://github.com/mruby/mruby/commit/893cc75 ) )
42+ - ` mrb_bigint_p() ` always defined regardless of bigint gem presence ([ 6c4a8c0] ( https://github.com/mruby/mruby/commit/6c4a8c0 ) )
43+ - ` RInteger ` and ` RFloat ` added to ` RVALUE ` union ([ 13dbca0] ( https://github.com/mruby/mruby/commit/13dbca0 ) )
4044
4145# ROM Method Tables
4246
@@ -76,6 +80,7 @@ mruby-symbol-ext, mruby-range-ext, mruby-object-ext.
7680- Emscripten: use native WASM exception handling ([ ca364e3] ( https://github.com/mruby/mruby/commit/ca364e3 ) )
7781- HAL (Hardware Abstraction Layer) for platform abstraction in mruby-io, mruby-socket, mruby-dir, mruby-task ([ 74ca22f] ( https://github.com/mruby/mruby/commit/74ca22f ) )
7882- ` MRUBY_MIRB_READLINE ` environment variable to control readline library selection ([ 0aafb83] ( https://github.com/mruby/mruby/commit/0aafb83 ) )
83+ - MSYS2 drive letter support in build script ([ 77f6ffe] ( https://github.com/mruby/mruby/commit/77f6ffe ) )
7984- Inter-gem headers separated from external API headers ([ #6671 ] ( https://github.com/mruby/mruby/pull/6671 ) )
8085
8186# Changes in mrbgems
@@ -110,6 +115,7 @@ mruby-symbol-ext, mruby-range-ext, mruby-object-ext.
110115## Other Gem Changes
111116
112117- ** _ NOTE_ ** : ` Hash#deconstruct_keys ` removed for CRuby compatibility ([ 34b9412] ( https://github.com/mruby/mruby/commit/34b9412 ) )
118+ - ** mruby-enum-lazy** : Fix ` Lazy#flat_map ` to handle non-enumerable block return values ([ #6765 ] ( https://github.com/mruby/mruby/pull/6765 ) )
113119- ** mruby-array-ext** : Add ` Array#find ` and ` Array#rfind ` methods
114120- ** mruby-io** : Add ` IO#putc ` and ` Kernel#putc ` ([ baff6e6] ( https://github.com/mruby/mruby/commit/baff6e6 ) )
115121- ** mruby-random** : Replace xoshiro with PCG for better memory efficiency ([ f1bab01] ( https://github.com/mruby/mruby/commit/f1bab01 ) )
@@ -125,6 +131,8 @@ mruby-symbol-ext, mruby-range-ext, mruby-object-ext.
125131- Optimized masgn to generate literals directly into target registers ([ fb5d966] ( https://github.com/mruby/mruby/commit/fb5d966 ) )
126132- Optimized splat of literal arrays in args/literals ([ 1cb8d73] ( https://github.com/mruby/mruby/commit/1cb8d73 ) )
127133- Early termination after too many parse errors ([ 510ebd7] ( https://github.com/mruby/mruby/commit/510ebd7 ) )
134+ - Chunk array literals at 64 elements to reduce register pressure ([ f98d641] ( https://github.com/mruby/mruby/commit/f98d641 ) )
135+ - Chunk ` %w() ` and ` %i() ` literals to reduce register pressure ([ 62cf0dc] ( https://github.com/mruby/mruby/commit/62cf0dc ) )
128136
129137# VM Optimizations
130138
@@ -185,6 +193,10 @@ Other optimizations:
185193- [ #6705 ] ( https://github.com/mruby/mruby/issues/6705 ) Can't get outer class of an object in C
186194- [ #6713 ] ( https://github.com/mruby/mruby/issues/6713 ) mruby-polarssl not work
187195- [ #6720 ] ( https://github.com/mruby/mruby/issues/6720 ) Random float range: different behavior from CRuby
196+ - [ #6722 ] ( https://github.com/mruby/mruby/issues/6722 ) RBreak size overflow on 32-bit platforms with MRB_NO_BOXING
197+ - [ #6740 ] ( https://github.com/mruby/mruby/issues/6740 ) ` %w() ` /` %i() ` register pressure with large literals
198+ - [ #6741 ] ( https://github.com/mruby/mruby/issues/6741 ) ` case ` /` in ` without ` else ` should raise ` NoMatchingPatternError `
199+ - [ #6760 ] ( https://github.com/mruby/mruby/issues/6760 ) ` mrb_gc_unregister() ` not removing all matching entries
188200
189201# Merged Pull Requests
190202
@@ -260,6 +272,7 @@ Other optimizations:
260272- [ #6589 ] ( https://github.com/mruby/mruby/pull/6589 ) Add pre-commit hook ` check-zip-file-is-not-committed `
261273- [ #6591 ] ( https://github.com/mruby/mruby/pull/6591 ) mruby-eval fix license link in README
262274- [ #6593 ] ( https://github.com/mruby/mruby/pull/6593 ) README: Add Contributors Avatars, Star History, Table of Contents
275+ - [ #6598 ] ( https://github.com/mruby/mruby/pull/6598 ) Fix heap buffer overflow in ` #method_missing `
263276- [ #6599 ] ( https://github.com/mruby/mruby/pull/6599 ) pre-commit: run ` markdown-link-check ` , ` oxipng ` , ` prettier ` manually
264277- [ #6600 ] ( https://github.com/mruby/mruby/pull/6600 ) ` dreamcast_shelf build config ` : update to use KallistiOS wrappers
265278- [ #6601 ] ( https://github.com/mruby/mruby/pull/6601 ) fix: skip local build_config.rb when working in MRUBY_ROOT
@@ -303,6 +316,30 @@ Other optimizations:
303316- [ #6716 ] ( https://github.com/mruby/mruby/pull/6716 ) Fixes identity for proc object
304317- [ #6717 ] ( https://github.com/mruby/mruby/pull/6717 ) Fix mruby-task: wrapping by critical section and setting initial task receiver
305318- [ #6718 ] ( https://github.com/mruby/mruby/pull/6718 ) Add installation instructions for conda and Homebrew
319+ - [ #6723 ] ( https://github.com/mruby/mruby/pull/6723 ) Add ` RInteger ` and ` RFloat ` to ` RVALUE `
320+ - [ #6727 ] ( https://github.com/mruby/mruby/pull/6727 ) Language documentation: update wording of "overloading" section
321+ - [ #6729 ] ( https://github.com/mruby/mruby/pull/6729 ) Simplifying dependency addition for gensym task
322+ - [ #6730 ] ( https://github.com/mruby/mruby/pull/6730 ) Simplifying presym file generation actions
323+ - [ #6733 ] ( https://github.com/mruby/mruby/pull/6733 ) Include ` mruby/presym.h ` for all source files
324+ - [ #6734 ] ( https://github.com/mruby/mruby/pull/6734 ) Chunk array literals at 64 elements to reduce register pressure
325+ - [ #6735 ] ( https://github.com/mruby/mruby/pull/6735 ) Prevent full recompilation without changes to presym file
326+ - [ #6739 ] ( https://github.com/mruby/mruby/pull/6739 ) Fix MSYS2 build error with drive letters
327+ - [ #6743 ] ( https://github.com/mruby/mruby/pull/6743 ) Chunk ` %w() ` and ` %i() ` literals to reduce register pressure
328+ - [ #6744 ] ( https://github.com/mruby/mruby/pull/6744 ) Raise ` NoMatchingPatternError ` in ` case ` /` in ` without ` else `
329+ - [ #6747 ] ( https://github.com/mruby/mruby/pull/6747 ) Correctly handle empty hash as default named argument
330+ - [ #6749 ] ( https://github.com/mruby/mruby/pull/6749 ) Fix microcontroller profile
331+ - [ #6750 ] ( https://github.com/mruby/mruby/pull/6750 ) Fix out-of-bounds read and divide-by-zero in ` Array#product `
332+ - [ #6752 ] ( https://github.com/mruby/mruby/pull/6752 ) Fix ` attr_reader ` -generated methods accepting extra arguments
333+ - [ #6753 ] ( https://github.com/mruby/mruby/pull/6753 ) Further optimize ` Array#product `
334+ - [ #6754 ] ( https://github.com/mruby/mruby/pull/6754 ) Mark ` attr_reader ` procs as noarg
335+ - [ #6755 ] ( https://github.com/mruby/mruby/pull/6755 ) Reload ` ci ` after ` mrb_hash_delete_key() ` in keyword argument handling
336+ - [ #6756 ] ( https://github.com/mruby/mruby/pull/6756 ) Avoid impact of object modifications caused by ` mrb_vm_exec() ` calls
337+ - [ #6758 ] ( https://github.com/mruby/mruby/pull/6758 ) Don't assign result of ` mrb_funcall() ` directly to ` regs `
338+ - [ #6759 ] ( https://github.com/mruby/mruby/pull/6759 ) Define ` mrb_bigint_p() ` always
339+ - [ #6761 ] ( https://github.com/mruby/mruby/pull/6761 ) Fix ` mrb_gc_unregister() ` to remove all matching entries
340+ - [ #6762 ] ( https://github.com/mruby/mruby/pull/6762 ) Write generated test C files atomically to avoid build race condition
341+ - [ #6765 ] ( https://github.com/mruby/mruby/pull/6765 ) Fix ` Lazy#flat_map ` to handle non-enumerable block return values
342+ - [ #6767 ] ( https://github.com/mruby/mruby/pull/6767 ) Allow compound statement in parenthesized argument context
306343
307344# Security Fixes
308345
@@ -320,4 +357,6 @@ Other optimizations:
320357- Heap-use-after-free in insertion_sort ([ 099d2c47] ( https://github.com/mruby/mruby/commit/099d2c47 ) )
321358- Integer overflow in str_check_length ([ 6afff1c3] ( https://github.com/mruby/mruby/commit/6afff1c3 ) )
322359- Integer overflow in Integer#lcm ([ 070bef24] ( https://github.com/mruby/mruby/commit/070bef24 ) )
360+ - Heap buffer overflow in ` #method_missing ` ([ 550d10a] ( https://github.com/mruby/mruby/commit/550d10a ) )
361+ - Out-of-bounds read and divide-by-zero in ` Array#product ` ([ 8441eaf] ( https://github.com/mruby/mruby/commit/8441eaf ) )
323362- Multiple memory leak fixes in bigint, Set, Array, and Task gems
0 commit comments