Package Release Info

mruby-3.4.0-bp160.1.3

Update Info: Base Release
Available in Package Hub : 16.0

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

libmruby3_4_0
libmruby_core3_4_0
mruby
mruby-devel

Change Logs

* Wed Jul 09 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 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 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 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 09 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 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 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 2021 Ferdinand Thiessen <rpm@fthiessen.de>
- Added CVE-2021-4110.patch from upstream, fixes boo#1193796 / CVE-2021-4110
* Sat May 15 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 07 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