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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +79 -0
  3. data/lib/beni/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36da2e645c0d9ca2ff90d97616c6d61b3c980f2c9d7fe86787fd9f4a7b37b6d8
4
- data.tar.gz: 6427252a51072ac6b4765a9bdb48dddd0e0f54871851868ab6e59aa893ebeabe
3
+ metadata.gz: 7b78383ebbf4e02480045b7ae74845cc215964e9118a1b15eb802993f8ed6941
4
+ data.tar.gz: daf134ab87ea00080792acc5022d53db9c81e8ef41a52f4928469ae58e59e30d
5
5
  SHA512:
6
- metadata.gz: 01c6056118dc5d79f384744f454d33a2d0deae44ace23ea1bc1ca43112c2bbe58f03520f75275a9c889f18131157b673b68aa18e962bd4c7784c75201ae0c8e7
7
- data.tar.gz: 64e19fb993583a5474aea35a77582d03fe332bb0d149fda75f0549712c44f3e951c29c49aa2c493b1f442ce15254754c83d28d480018ac5e83934600516e003f
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Beni
4
- VERSION = "0.19.0"
4
+ VERSION = "0.21.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aotokitsuruya