Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b39c8f7
Avoid TestClass in TestBox#test_eval_with_classes
hsbt Sep 9, 2026
303e7f1
Remove the RSS check for the undelivered port message leak
ko1 Sep 10, 2026
9e64975
Require envutil into the box by its path
hsbt Sep 9, 2026
fe58143
Remove the test constant from the main box's String
hsbt Sep 10, 2026
4b0f92d
Move the variable used only when `HAVE_MMAP` to the block using it
nobu Sep 10, 2026
1c5f990
Win32: Define w32_mutex functions only if used
nobu Sep 10, 2026
0e898fd
Turn `zone_str` to the simple macro using `zone_str_enc`
nobu Sep 10, 2026
e68e83d
Remove stale tests instead of excluding
nobu Sep 10, 2026
850f4ba
Match the current name of a box-local extension copy
hsbt Sep 9, 2026
36c9a90
Use non-interpolating heredocs in the ABI tests
hsbt Sep 10, 2026
c9b84ab
Assert the directory a box-local extension copy lives in
hsbt Sep 10, 2026
69125fd
Ask for the experimental warning where the test asserts it
hsbt Sep 9, 2026
29867c8
Keep -W2 from re-enabling the experimental warning in test_puts
hsbt Sep 9, 2026
61a154e
Suppress experimental warnings in the ruby processes tests spawn
hsbt Sep 9, 2026
fa16f81
Keep the Warning.[] default spec out of RUBYOPT's reach
hsbt Sep 9, 2026
0a30fd9
Put -W:no-experimental after whatever RUBYOPT already carries
hsbt Sep 10, 2026
fd1b7d2
Keep assert_separately's -w from re-enabling the experimental category
hsbt Sep 10, 2026
374864f
Keep test_many_args' own -w from re-enabling the experimental category
hsbt Sep 10, 2026
c9760b3
[ruby/rubygems] Don't compare a bundler spec against nil when no remo…
hsbt Sep 10, 2026
67883c6
[ruby/rubygems] Don't update bundler to a prerelease unless asked for…
hsbt Sep 10, 2026
a1d5bad
[ruby/rubygems] Honor --pre when updating bundler itself
hsbt Sep 10, 2026
2de5b12
[ruby/rubygems] Cover going back to a release from a locked prerelease
hsbt Sep 10, 2026
54ad262
[ruby/rubygems] Document the version argument to --bundler
hsbt Sep 10, 2026
e4120ca
Add test for WB-protection in objspace
jhawthorn Sep 9, 2026
8cba938
gc: only clear try_clock_gettime when the clock actually failed
ko1 Sep 10, 2026
e1f6ba5
Do not report an interrupted M:N io wait as a timeout
ko1 Sep 10, 2026
549f474
Tolerate an extra SIGCHLD in TestProcess#test_wait_and_sigchild
ko1 Sep 10, 2026
21868fa
Mask object addresses in error_highlight message assertions
hsbt Sep 10, 2026
a4ad8e4
Preserve the box of a TOP/CLASS env in isolated procs
zonuexe Aug 24, 2026
aa7bc48
[ruby/erb] escape.c: Fix UB in find_next_match_neon
byroot Sep 10, 2026
acc5cd0
Ractor: widen the Ractor id to 64 bits
ko1 Sep 7, 2026
3f2e84d
Ractor: record the creator Ractor of classes/modules
ko1 Sep 7, 2026
2e5bf42
Ractor: restrict class/module modification to the creator Ractor
ko1 Jul 15, 2026
6b9a29a
Ractor: bring class variables under the class owner
ko1 Sep 7, 2026
3cb67a2
Ractor: check unshareable leaks when copying a foreign class
ko1 Jul 15, 2026
f8485f7
Ractor: make freeze and set_temporary_name owner-only
ko1 Aug 10, 2026
b8e5bf5
Ractor: check ownership on visibility changes
ko1 Aug 10, 2026
f5a5765
Ractor: move a singleton class's ownership with its object
ko1 Aug 10, 2026
f0bae5f
Update doc/language/ractor.md and bootstraptest for class/module owne…
ko1 Sep 7, 2026
77136ec
NEWS.md: class/module ownership for Ractors
ko1 Sep 7, 2026
97f63a8
Strip the Ruby::Box experimental warning from captured child output
hsbt Sep 10, 2026
dd9f2b9
Strip the Ruby::Box experimental warning from ruby_exe output
hsbt Sep 10, 2026
4d64639
string.c: Fix UB in tr_trans_pairs_next_match_neon
byroot Sep 10, 2026
106559f
[ruby/io-console] Test the `getch` timeout on an isolated pty with no…
nobu Sep 10, 2026
e0c6905
[ruby/io-console] Define stty backend-specific tests only within the …
nobu Sep 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,21 @@ Ruby 4.0 bundled RubyGems and Bundler version 4. see the following links for det

## Compatibility issues

* A class or module can now be modified only by the Ractor which created it,
its *owner*. Defining, removing or undefining methods, `alias`, changing
visibility, `include`/`prepend`, `Module#refine`, defining or removing
constants, registering an `autoload`, writing the class's own instance
variables and class variables, `Module#freeze` and
`Module#set_temporary_name` raise `Ractor::IsolationError` in any other
Ractor. Reading is unchanged. Everything defined at boot or by the main
Ractor, `require`d libraries included, is owned by the main Ractor, so a
non-main Ractor can no longer monkey-patch it; and since defining a constant
in a foreign class is prohibited, it can not define a top-level class or
module name either. In exchange a Ractor has full use of the classes it
creates itself, including unshareable constant, instance variable and class
variable values, which not even the main Ractor could do before. See
doc/language/ractor.md. [[Feature #22226]]

* `Kernel#at_exit` and `END {}` now raise `Ractor::IsolationError` when called
in a non-main Ractor. Previously the registered handler ran in the main
Ractor at process exit, which was confusing. [[Feature #22139]]
Expand Down Expand Up @@ -428,6 +443,7 @@ A lot of work has gone into making Ractors more stable, performant, and usable.
[Feature #22175]: https://bugs.ruby-lang.org/issues/22175
[Feature #22185]: https://bugs.ruby-lang.org/issues/22185
[Feature #22205]: https://bugs.ruby-lang.org/issues/22205
[Feature #22226]: https://bugs.ruby-lang.org/issues/22226
[Feature #22238]: https://bugs.ruby-lang.org/issues/22238
[PR #17201]: https://github.com/ruby/ruby/pull/17201
[GH-psych #805]: https://github.com/ruby/psych/pull/805
Expand Down
Loading