summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatoshi Tagomori <s-tagomori@sakura.ad.jp>2025-12-09 21:29:36 +0900
committerSatoshi Tagomori <tagomoris@gmail.com>2025-12-09 21:36:26 +0900
commit5ae2bd240f0adea46358f0a95bc26276d9f0cc31 (patch)
treed39acc453b3fa3d46d2a0224efe1b8730416683f
parent4b8e48a362e28fe3b89694dbb0d3ee1c36368583 (diff)
[DOC] Add Ruby::Box on NEWS
-rw-r--r--NEWS.md8
-rw-r--r--doc/language/box.md8
2 files changed, 11 insertions, 5 deletions
diff --git a/NEWS.md b/NEWS.md
index e9dfa948a6..784b92b717 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -160,6 +160,12 @@ Note: We're only listing outstanding class updates.
Ruby-related constants. This module was reserved in Ruby 3.4
and is now officially defined. [[Feature #20884]]
+* Ruby::Box
+
+ * A new (experimental) feature to provide separation about definitions.
+ For the detail of "Ruby Box", see [doc/language/box.md](doc/language/box.md).
+ [[Feature #21311]] [[Misc #21385]]
+
* Set
* `Set` is now a core class, instead of an autoloaded stdlib class.
@@ -427,8 +433,10 @@ A lot of work has gone into making Ractors more stable, performant, and usable.
[Feature #21262]: https://bugs.ruby-lang.org/issues/21262
[Feature #21275]: https://bugs.ruby-lang.org/issues/21275
[Feature #21287]: https://bugs.ruby-lang.org/issues/21287
+[Feature #21311]: https://bugs.ruby-lang.org/issues/21311
[Feature #21347]: https://bugs.ruby-lang.org/issues/21347
[Feature #21360]: https://bugs.ruby-lang.org/issues/21360
+[Misc #21385]: https://bugs.ruby-lang.org/issues/21385
[Feature #21389]: https://bugs.ruby-lang.org/issues/21389
[Feature #21390]: https://bugs.ruby-lang.org/issues/21390
[Feature #21459]: https://bugs.ruby-lang.org/issues/21459
diff --git a/doc/language/box.md b/doc/language/box.md
index ed62cbd072..928c98eb3c 100644
--- a/doc/language/box.md
+++ b/doc/language/box.md
@@ -1,6 +1,6 @@
# Ruby Box - Ruby's in-process separation of Classes and Modules
-Ruby Box is designed to provide separated spaces in a Ruby process, to isolate applications and libraries.
+Ruby Box is designed to provide separated spaces in a Ruby process, to isolate application codes, libraries and monkey patches.
## Known issues
@@ -12,13 +12,11 @@ Ruby Box is designed to provide separated spaces in a Ruby process, to isolate a
## TODOs
* Add the loaded namespace on iseq to check if another namespace tries running the iseq (add a field only when VM_CHECK_MODE?)
-* Delete per-box extension files (.so) lazily or process exit
-* Collect `rb_classext_t` entries for a box when GC collects the box
+* Delete per-box extension files (.so) lazily or process exit (on Windows)
* Assign its own TOPLEVEL_BINDING in boxes
* Fix calling `warn` in boxes to refer `$VERBOSE` and `Warning.warn` in the box
-* Make an internal data container `Ruby::Box::Entry` invisible
+* Make an internal data container class `Ruby::Box::Entry` invisible
* More test cases about `$LOAD_PATH` and `$LOADED_FEATURES`
-* Return classpath and nesting without the namespace prefix in the namespace itself [#21316](https://bugs.ruby-lang.org/issues/21316), [#21318](https://bugs.ruby-lang.org/issues/21318)
## How to use