| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: libmruby_core4_0_0 | Distribution: openSUSE Tumbleweed |
| Version: 4.0.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Mon Sep 14 11:51:13 2026 |
| Group: Development/Languages/Ruby | Build host: reproducible |
| Size: 894340 | Source RPM: mruby-4.0.0-1.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://github.com/mruby/mruby/ | |
| Summary: Lightweight Ruby Embedded Environment | |
mruby is the lightweight implementation of the Ruby language complying to (part of) the ISO standard.
MIT
* Mon Sep 14 2026 Ferdinand Thiessen <rpm@fthiessen.de>
- Properly define documentation files
* Sun Sep 13 2026 Ferdinand Thiessen <rpm@fthiessen.de>
- Removed upstream merged CVE-2025-7207.patch
- Update to 4.0.0
- Added
- Pattern matching: (`case`/`in`): array, hash, and find patterns,
the pin operator (`^var`), guard clauses, one-line `expr in pattern`, and brace-less hash patterns.
- `&nil` in parameter lists to explicitly reject block arguments.
- Trailing commas allowed in method definition parameters: `def foo(a, b,)`.
- `Array`, `Hash`, and `String` subclasses can override `[]` and `[]=` again.
- Structs can be initialized with keyword arguments.
- New gems: **mruby-task** (cooperative multitasking with preemptive scheduling), **mruby-benchmark**, and **mruby-strftime** (`Time#strftime`).
- New methods: `Array#find`, `Array#rfind`, `IO#putc`, `Kernel#putc`.
- New platform support: Cosmopolitan Libc; Emscripten now uses native WASM exception handling.
- Amalgamation build via `rake amalgam`.
- Changed
- mirb now ships a custom multi-line editor instead of readline:
syntax highlighting, tab completion, auto-indent/dedent, command history,
line numbers, UTF-8 input, colored prompts and errors, and automatic light/dark theme detection.
- Much lower memory use: built-in classes and most extension gems now use
read-only method tables in `.rodata` rather than heap-allocated tables
- Faster execution: new fused VM instructions for zero-argument calls,
method definitions, `array[0]`, `i += n`, and simple returns
- mruby-bigint is significantly faster on large numbers
- mruby-random switched from xoshiro to PCG for lower memory use
- Breaking
- `case`/`in` without an `else` branch now raises `NoMatchingPatternError`.
- `Hash#deconstruct_keys` was removed for CRuby compatibility.
- `initialize_copy` and `respond_to_missing?` are now private.
- C API: `mrb_alloca()` is now `mrb_temp_alloc()`; `mruby/ext/io.h` moved to `mruby/io.h`.
- Security
- Buffer overflows in bigint addition, Montgomery reduction, `pack_uu`, `IO#ungetc`,
`IO.select`, `method_missing`, `String#prepend`, pattern alternation codegen, and `.mrb` loading.
- Use-after-free issues in `Set` operations, `Set#join`,
`Array` set operations, `Array#sort!`, sorting, and `sprintf` format strings mutated via `to_s` callbacks.
- Integer overflows in string length checking and `Integer#lcm`,
plus several memory leaks in bigint, `Set`, `Array`, and the Task gem.
* 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
/usr/lib/libmruby_core.so.4.0.0
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Sep 18 00:21:56 2026