File mruby.changes of Package mruby

-------------------------------------------------------------------
Wed Jul  9 11:41:30 UTC 2025 - Ferdinand Thiessen <rpm@fthiessen.de>

- Update to 3.4.0
  - mruby now supports `private` and `protected` visibility
    - Maximum length of inlined symbols reduced from 5 to 4 characters
      to provide space for visibility flags
    - Many methods are made private according to CRuby visibility
    - `initialize` method will be always private
  - Add new hooks `method_removed`, `method_undefined`
  - Add new hooks `singleton_method_removed`, `singleton_method_undefined`
  - Hash `to_s` format has changed
  - Remove Float bit-operation
  - use SWAR technique for strlen performance
  - use merge sort for `Array#sort`
  - C API changes:
    - pool.c renamed to mempool.c (and mrb_pool to mrb_mempool)
    - mrb_pool_value renamed to mrb_irep_pool to reduce confusion
    - rename BOXNIX_SET_VALUE to BOXNO_SET_VALUE
    - `MRB_FROZEN_P()` is replaced by `mrb_frozen_p()`
    - rename `color` to `gc_color`
    - add `obj->frozen` instead of flags `MRB_SET_FROZEN_FLAG`/`MRB_UNSET_FROZEN_FLAG`
  - Changes in mrbgems:
    - **mruby-print**: removed; if you do not use `mruby-io`, mruby use `#print` etc. in the core
    - **mruby-toplevel-ext**: top-level public/private/protected moved to the core
    - **mruby-metaprog**: method list methods now works according to the visibility
    - **mruby-encoding**: MRB_UTF8_STRING turned on automatically with this gem
- Update to 3.3.0
  - aliases work properly with `super`
  - `callee` method work differently with aliases in mruby
  - define `Kernel#respond_to_missing?` method
  - `_inspect` method (`inspect` with recursive check) is removed
  - `__printstr__` method is removed; use `print` instead
  - New method `String#bytesplice`
  - Allow `return` in blocks to cross C boundaries
  - mruby memory API
    - `mrb_default_allocf` can be overridden by the application
    - `mrb_open_allocf` will be deprecated
  - Changes in C API
    - add new error handling API functions
    - Add `mrb_vm_ci_env_clear()` function with `MRB_API`
    - a new function `mrb_check_frozen_value()`
    - avoid formatting in `mrb_bug()`
    - stop using `mrbc_` prefix for compiler context
    - Allow `Class#allocate` to be prohibited. To disable `#allocate`, use `MRB_UNDEF_ALLOCATOR()`.
  - Changes in mrbgems
    - **mruby-binding**: renamed from `mruby-binding-core` of mruby3.2
    - **mruby-binding**: implemented `Binding#initialize_copy` method
    - **mruby-binding**: `Kernel#binding` responds only to calls from Ruby
    - **mruby-enumerator**: remove internal attribute methods `obj`, `args`, `kwd`, `meth`, `fib`.
  - Other breaking changes
    - `mrb_f_raise()` is now an internal function
    - `mrb_make_exception()` is now an internal function with different parameters
    - The `File#path` method no longer uses the `#to_path` method for implicit conversion
- Update to 3.2.0
  - Now `a::B = c` should evaluate `a` then `c`.
  - Anonymous arguments `*`, `**`, `&` can be passed for forwarding.
  - Multi-precision integer is available now via `mruby-bigint` gem.
  - mruby VM and bytecode
    - `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` tool
    - `-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` tool
    - Add `--no-optimize` option to disable optimization.
  - mrbgems
    - mruby-class-ext: Add `Class#subclasses` method.
    - mruby-class-ext: Add `Module#undefined_instance_methods` method.
    - mruby-errno is now included
    - mruby-set is now included
    - mruby-dir is now included
  - Fixed security issues:
    - 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
- Removed upstream merged patches
  - CVE-2022-1286.patch
  - CVE-2022-1212.patch
- Added CVE-2025-7207.patch as an upstream patch for CVE-2025-7207
  also known as boo#1246138
- Updated link-with-soname.patch

-------------------------------------------------------------------
Wed Feb 15 18:26:15 UTC 2023 - Ferdinand Thiessen <rpm@fthiessen.de>

- Update to 3.1.0
  * New features:
    * CRuby3.0 compatible keyword arguments are introduced.
    * Keyword arguments are basically separated from ordinal arguments.
    * Implement endless-def
    * Replace `R-assignment` by `single-line pattern matching`
    * Support squiggly heredocs.
    * Hash value omission
  * New library methods
  * New supported directives for `mrbgems/mruby-pack`
  * Breaking Changes
    * `Kernel#printf` (`mruby-sprintf`) Format specifiers `%a` and `%A` are removed.
    * `Kernel#puts` (`mruby-print`) Now expand Array arguments.
    * mruby binaries are no longer backward compatible.
    * Upgrade mruby VM version `RITE_VM_VER` to `0300` (means mruby 3.0 or after).
    * Upgrade mruby binary version `RITE_BINARY_FORMAT_VER` to `0300`.
    * `mruby3.0` removed `OP_EXT1`, `OP_EXT2`, `OP_EXT3` for operand extension.
      But the operand size limitations was too tight for real-world application.
      `mruby3.1` reintroduces those extension instructions.
  * Some instructions are removed and some new are added,
    see full changelog https://github.com/mruby/mruby/blob/3.1.0/doc/mruby3.1.md
  * Fixed CVEs:
    CVE-2021-4110, CVE-2021-4188, CVE-2022-0080, CVE-2022-0240,
    CVE-2022-0326, CVE-2022-0481, CVE-2022-0631, CVE-2022-0632,
    CVE-2022-0890, CVE-2022-1071, CVE-2022-1106, CVE-2022-1201,
    CVE-2022-1427
- Drop upstream fixed:
  * CVE-2021-4110.patch
  * CVE-2022-0240.patch
  * CVE-2022-0080.patch
  * CVE-2022-0481.patch
- Replaced b1d0296a.patch with CVE-2022-1286.patch

-------------------------------------------------------------------
Tue Apr 26 18:57:21 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>

- Add b1d0296a.patch: fixing CVE-2022-1286 / boo#1198289
- Add CVE-2022-1212.patch: fixing CVE-2022-1212 / boo#1198089

-------------------------------------------------------------------
Mon Feb 21 11:32:34 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>

- Install libmruby_core library, required by mruby binary
- Fix missing SONAME in library by adding link-with-soname.patch

-------------------------------------------------------------------
Wed Feb  9 15:51:52 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>

- Added CVE-2022-0481.patch from upstream
  fixed NULL Pointer Dereference boo#1195632 / CVE-2022-0481
- Fixed file attributes (executable bit for shared library)

-------------------------------------------------------------------
Tue Jan 18 08:58:03 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>

- Added CVE-2022-0080.patch from upstream,
  fixed Heap-based Buffer Overflow boo#1194244 / CVE-2022-0080

-------------------------------------------------------------------
Tue Jan 18 08:47:09 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>

- Added CVE-2022-0240.patch from upstream,
  fixed NULL Pointer Dereference boo#1194808 / CVE-2022-0240

-------------------------------------------------------------------
Thu Dec 16 11:30:22 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>

- Added CVE-2021-4110.patch from upstream, fixes boo#1193796 / CVE-2021-4110

-------------------------------------------------------------------
Sat May 15 14:01:43 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>

- Update to version 3.0.0
  * New Core Language Features
    * Implement endless-def. Ruby:Feature#16746
    * Replace R-assignment by single-line pattern matching.
      Ruby:Feature#15921
    * Support squiggly heredocs. Ruby:Feature#5246
  * Breaking Changes
    * mruby VM and bytecode:
      mruby binaries are no longer backward compatible
      Upgrade mruby VM version RITE_VM_VER to 0300 (means mruby 3.0).
      Upgrade mruby binary version RITE_BINARY_FORMAT_VER to 0200.
    * Integer has been changed to a specification similar to CRuby.
    * Integrate Fixnum and Integer.
    * Remove Integral.
    * int / int -> int
    * Add APIs for Integer.
  * Full change log:
    https://mruby.org/releases/2021/03/05/mruby-3.0.0-released.html

-------------------------------------------------------------------
Fri May  7 14:26:23 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>

- Update to version 2.1.2
  * IO#readchar returns a UTF-8 character fragment instead of
    EOFError if EOF is reached in the middle of UTF-8 characters.
  * This behavior is different from CRuby, but it is a mruby
    specification that supports either ASCII or UTF-8 exclusively.
  * Remove mrb_run() from C APIs.
  * Fixed segmentation fault at mrb_io_s_select
  * Fixed segmentation fault at mrb_vm_exec.
  * Fixed some Hash methods are inconsistent with values when hash
    has duplicate key.
  * Fixed get local variable names from orphan block.
  * Fixed memory leaks in some places when out of memory.
  * Fixed heap buffer overflow in mruby interpreter.
  * Fixed type tag not used when calculating hash code.
  * Full log:
    https://mruby.org/releases/2020/08/06/mruby-2.1.2-released.html

-------------------------------------------------------------------
Mon Jun 15 22:45:07 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>

- update to 2.1.1 
  too many changes to include here
  https://mruby.org/releases/2020/06/04/mruby-2.1.1-released.html
  https://mruby.org/releases/2019/11/19/mruby-2.1.0-released.html
  https://mruby.org/releases/2019/04/04/mruby-2.0.1-released.html
  https://mruby.org/releases/2018/12/11/mruby-2.0.0-released.html
  https://mruby.org/releases/2018/04/27/mruby-1.4.1-released.html
  https://mruby.org/releases/2017/07/04/mruby-1.3.0-released.html
  https://mruby.org/releases/2015/11/18/mruby-1.2.0-released.html
  https://mruby.org/releases/2014/11/19/mruby-1.1.0-released.html
  https://mruby.org/releases/2014/02/09/mruby-1.0.0-released.html

-------------------------------------------------------------------
Tue Jul 03 06:20:43 CET 2012 - pascal.bleser@opensuse.org

- initial version (0.0+20120701)

openSUSE Build Service is sponsored by