beni 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +79 -0
- data/lib/beni/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7b78383ebbf4e02480045b7ae74845cc215964e9118a1b15eb802993f8ed6941
|
|
4
|
+
data.tar.gz: daf134ab87ea00080792acc5022d53db9c81e8ef41a52f4928469ae58e59e30d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7e645406a51b0c8100061eaf40af10cb5c00c797e442b2708f596922448c23a7553e2dfb55f31fab5666d9e83c2435d54d53cd88e72726babbfbc29f33426be
|
|
7
|
+
data.tar.gz: d7469f1936310dbe2cf6412f8a31b0f7d68aa91b144ed93dcf4fc042fbf8cb7b889488e7238c4a615b2442af3f3380d52f4508baa4f18c03ca915d64d0d59114
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.21.0](https://github.com/elct9620/beni/compare/v0.20.0...v0.21.0) (2026-10-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* **beni:** Value::zeroed is removed; return () or
|
|
9
|
+
* **beni:** Mrb::mark_carrier, Mrb::carrier, Mrb::mark_inline_carrier, and Mrb::inline_carrier are removed. A type's class is read through its own TypedData::class or InlineStruct::class; a hand-written implementation holds its class in a Lazy of its own.
|
|
10
|
+
* **beni:** RHash::each is now RHash::foreach; its closure takes the pair as TryConvert types and returns Result<ForEach, Error>, and a closure panic surfaces as Err(Error::Panic) instead of resuming.
|
|
11
|
+
* **beni:** Vec<T>, HashMap<K, V>, BTreeMap<K, V>, RArray::to_vec, RHash::to_hash_map, RHash::to_btree_map, and a scan_args splat Vec<T> require TryConvertOwned element types; read Values or handles through
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **beni:** convert into heap collections only what holds no Value ([569428f](https://github.com/elct9620/beni/commit/569428ff948f55ba795ce79c49a356c3bb200ebc))
|
|
16
|
+
* **beni:** convert the unit value into nil ([a3e3e5f](https://github.com/elct9620/beni/commit/a3e3e5f45b84dd9c60fbcc41e11196efa3ec9752))
|
|
17
|
+
* **beni:** drop Value::zeroed ([5c2abff](https://github.com/elct9620/beni/commit/5c2abff4c092c95bd70fb88b140f17c9376683bb))
|
|
18
|
+
* **beni:** hand out the undefined value and read it back unsafely ([43757cd](https://github.com/elct9620/beni/commit/43757cd3535a16ce10ce96eb2b835cba3a603b02))
|
|
19
|
+
* **beni:** hold carrier classes in per-interpreter Lazy statics ([a5964e2](https://github.com/elct9620/beni/commit/a5964e2813397fb864e841916396d9349171f954))
|
|
20
|
+
* **beni:** hold each inline struct type's class for one-lookup naming ([ee3afcb](https://github.com/elct9620/beni/commit/ee3afcbc0d72077f5e70217f25d098980b567d40))
|
|
21
|
+
* **beni:** install a payload into a data carrier holding none ([394b072](https://github.com/elct9620/beni/commit/394b07283918548d2aa61f4a47f4873c7aa729f5))
|
|
22
|
+
* **beni:** name an accessor for each core exception class ([150ed72](https://github.com/elct9620/beni/commit/150ed72cd1bdc88e9f7311a6f0b323c7d9cc747c))
|
|
23
|
+
* **beni:** read the name a method's call reached it by ([df1bde3](https://github.com/elct9620/beni/commit/df1bde3e71a043fcd954d059aadc6fb36851b164))
|
|
24
|
+
* **beni:** walk a hash's pairs through magnus's foreach ([34b856f](https://github.com/elct9620/beni/commit/34b856ffb626b851887eb2be533ac48cece72e9a))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* **beni-tests:** count each lazy test's drops apart and keep the README diagram out of doctests ([32f7649](https://github.com/elct9620/beni/commit/32f76490c1b35740b9bb87619d154e44924d9810))
|
|
30
|
+
* **beni-tests:** force an uncounted lazy value in the one-global test ([e85cf2d](https://github.com/elct9620/beni/commit/e85cf2d2624dce182c091617917b65e114e924a2))
|
|
31
|
+
* **beni:** name the classes of beni's own exceptions as mruby's raises do ([228e201](https://github.com/elct9620/beni/commit/228e201592651e50ea7e449d7184213d36f9de02))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Performance Improvements
|
|
35
|
+
|
|
36
|
+
* **beni:** read a fixed-arity call of exactly its arity without a format parse ([754d0af](https://github.com/elct9620/beni/commit/754d0af4c0bb241e081245f7c260a4dc67688bf1))
|
|
37
|
+
* **beni:** read an optional-arity call within its range without a format parse ([118b3fd](https://github.com/elct9620/beni/commit/118b3fd12219fb3cbae02601c6847a563a8645ed))
|
|
38
|
+
* **beni:** read scan_args parts without allocating on the heap ([28517a8](https://github.com/elct9620/beni/commit/28517a81c8ae5f326a1ff50aa174f38cd487d211))
|
|
39
|
+
* **beni:** refuse a wrap's class from its flags instead of a protect frame ([5e343ab](https://github.com/elct9620/beni/commit/5e343abedba3085c34644f6f506901d35dbf9251))
|
|
40
|
+
|
|
41
|
+
## [0.20.0](https://github.com/elct9620/beni/compare/v0.19.0...v0.20.0) (2026-10-05)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### ⚠ BREAKING CHANGES
|
|
45
|
+
|
|
46
|
+
* **beni:** `beni::ReturnValue` and `beni::BlockReturn` are now
|
|
47
|
+
* **beni:** seal the method return seam as ReturnValue
|
|
48
|
+
* **beni:** `Mrb::intern_check` is renamed to `Mrb::check_id`.
|
|
49
|
+
* **beni:** a function registered through `method!(f, -1)` takes a trailing `&[Value]`, as does `Dup::clone`; `Mrb::argc` and `Mrb::argv` are removed — read the slice instead.
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
|
|
53
|
+
* **beni:** build a Proc whose body is a Rust function or closure ([a6c0655](https://github.com/elct9620/beni/commit/a6c06551814a3174e46a9f4b4360aaf8ae8f1037))
|
|
54
|
+
* **beni:** check a name's symbol as well as its id ([cc9fb59](https://github.com/elct9620/beni/commit/cc9fb59e2df22e4599c7c05532b1f0ab3750d407))
|
|
55
|
+
* **beni:** create, resume, and test fibers behind a fiber feature ([aaeb682](https://github.com/elct9620/beni/commit/aaeb682f5f88a19057dbdfa60e392b830357f92d))
|
|
56
|
+
* **beni:** read the current fiber on the Mrb handle ([fdc7e4c](https://github.com/elct9620/beni/commit/fdc7e4c186adfd7c91d8d1dd47b986a71acd1201))
|
|
57
|
+
* **beni:** suspend a fiber by returning a fiber yield ([f5ad4b6](https://github.com/elct9620/beni/commit/f5ad4b6ebb2181c579d675472c82665832b55bcb))
|
|
58
|
+
* **beni:** take a frozen copy of a string ([a1bcb4d](https://github.com/elct9620/beni/commit/a1bcb4d4f3f90aa4ae376f14a5036b75ca942bf8))
|
|
59
|
+
* **beni:** view an array's elements in place as a borrowed slice ([1b6c00a](https://github.com/elct9620/beni/commit/1b6c00a84b1e0bcaaccf14e771bffd52ee00c661))
|
|
60
|
+
* **beni:** write a warning or report a bug to standard error ([6025d1a](https://github.com/elct9620/beni/commit/6025d1afb6acb7a2b1fc923ed1415545faf5b7b2))
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
65
|
+
* **beni:** read the carrier record without dispatch or protect frames ([da3edb5](https://github.com/elct9620/beni/commit/da3edb5b34287c3465e387e9a998e2813959fca0))
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Performance Improvements
|
|
69
|
+
|
|
70
|
+
* **beni:** hold a short fiber yield's arguments without a heap allocation ([30a93f3](https://github.com/elct9620/beni/commit/30a93f3d073a2f1f6b07eb4c13f4d3e285694c3e))
|
|
71
|
+
* **beni:** read a keyword-less any-arity call's arguments without a format parse ([010c706](https://github.com/elct9620/beni/commit/010c706b880ff656f9ba5d27c6a7854a740c6f08))
|
|
72
|
+
* **beni:** read an any-arity call's keywords only when it passed some ([c49d321](https://github.com/elct9620/beni/commit/c49d32166defd87234028caf732074803a16bb34))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### Code Refactoring
|
|
76
|
+
|
|
77
|
+
* **beni:** hand an any-arity method its arguments as a slice ([ffffb11](https://github.com/elct9620/beni/commit/ffffb11ee113302c4fa7e84f5f98cdb5f2bce9e1))
|
|
78
|
+
* **beni:** keep the return seams under beni::method as magnus does ([3f34ca2](https://github.com/elct9620/beni/commit/3f34ca2ea717b663131435d8a5a2203c37e1cd7e))
|
|
79
|
+
* **beni:** name the id existence check check_id ([a125459](https://github.com/elct9620/beni/commit/a12545958cea38b050f35d90a5b33bf5026b3ce2))
|
|
80
|
+
* **beni:** seal the method return seam as ReturnValue ([b40ba88](https://github.com/elct9620/beni/commit/b40ba8886d128f5db13d7c9425146ed29948a8b7))
|
|
81
|
+
|
|
3
82
|
## [0.19.0](https://github.com/elct9620/beni/compare/v0.18.0...v0.19.0) (2026-10-03)
|
|
4
83
|
|
|
5
84
|
|
data/lib/beni/version.rb
CHANGED