| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: mruby-devel | 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: 237473 | 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. This package contains the headers and static library files in order to embed mruby into your application.
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/include/mrbconf.h /usr/include/mruby /usr/include/mruby.h /usr/include/mruby/array.h /usr/include/mruby/boxing_nan.h /usr/include/mruby/boxing_no.h /usr/include/mruby/boxing_word.h /usr/include/mruby/class.h /usr/include/mruby/common.h /usr/include/mruby/compile.h /usr/include/mruby/data.h /usr/include/mruby/debug.h /usr/include/mruby/dump.h /usr/include/mruby/endian.h /usr/include/mruby/error.h /usr/include/mruby/gc.h /usr/include/mruby/hash.h /usr/include/mruby/internal.h /usr/include/mruby/irep.h /usr/include/mruby/istruct.h /usr/include/mruby/khash.h /usr/include/mruby/mempool.h /usr/include/mruby/numeric.h /usr/include/mruby/object.h /usr/include/mruby/opcode.h /usr/include/mruby/ops.h /usr/include/mruby/presym /usr/include/mruby/presym.h /usr/include/mruby/presym/scanning.h /usr/include/mruby/proc.h /usr/include/mruby/range.h /usr/include/mruby/re.h /usr/include/mruby/string.h /usr/include/mruby/throw.h /usr/include/mruby/value.h /usr/include/mruby/variable.h /usr/include/mruby/version.h /usr/lib/libmruby.so /usr/lib/libmruby_core.so
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Sep 18 00:21:56 2026