Project

General

Profile

Activity

From 06/07/2025 to 06/13/2025

06/13/2025

09:50 PM Revision 15084fbc (git): Get rid of FL_EXIVAR
Now that the shape_id gives us all the same information, it's no
longer needed.
byroot (Jean Boussier)
09:50 PM Revision 6dbe24fe (git): Use the `shape_id` rather than `FL_EXIVAR`
We still keep setting `FL_EXIVAR` so that `rb_shape_verify_consistency`
can detect discrepancies.
byroot (Jean Boussier)
09:50 PM Revision b51078f8 (git): Enforce consistency between shape_id and FL_EXIVAR
The FL_EXIVAR is a bit redundant with the shape_id.
Now that the `shape_id` is embedded in all objects on all archs,
...
byroot (Jean Boussier)
08:24 PM Revision f2d7c6af (git): Suppress unused-variable warning
nobu (Nobuyoshi Nakada)
07:45 PM Revision 39569da4 (git): Work around CI failures coming from Launchable
https://github.com/ruby/ruby/actions/runs/15640729145/job/44067161266 k0kubun (Takashi Kokubun)
07:40 PM Revision 69148a87 (git): ZJIT: Partially enable btest on CI (#13613)
k0kubun (Takashi Kokubun)
05:46 PM Revision a99d941c (git): Add SHAPE_ID_HAS_IVAR_MASK for quick ivar check
This allow checking if an object has ivars with just a shape_id
mask.
byroot (Jean Boussier)
05:46 PM Revision fb0dbbc0 (git): [ruby/date] d_lite_marshal_load: copy ivars in the right order
https://github.com/ruby/date/commit/dbf4e957dc byroot (Jean Boussier)
05:40 PM Revision 99a72df1 (git): [ruby/date] Remove references to FL_EXIVAR
This flag isn't really meant to be public, it's an implementation
detail of Ruby.
And checking it before calling `rb...
byroot (Jean Boussier)
05:29 PM Feature #21346: Introduce `String#ensure_suffix`
I think `with_suffix` would be a bit clearer for the implemented semantics. Eregon (Benoit Daloze)
05:23 PM Misc #21385: Namespace: Suggesting a rename
hsbt (Hiroshi SHIBATA) wrote in #note-19:
> ClassLoader (joke)
I'm not sure how I missed this but indeed this fea...
Eregon (Benoit Daloze)
04:28 PM Revision 4a2b53ae (git): * remove trailing spaces. [ci skip]
git[bot]
04:27 PM Revision e22fc73c (git): Fix a race condition in object_id for shareable objects
If an object is shareable and has no capacity left, it isn't
safe to store the object ID in fields as it requires an ...
byroot (Jean Boussier)
03:54 PM Revision 0674f7df (git): ZJIT: Only write LIR output of HIR instructions with output
tekknolagi (Maxwell Bernstein)
03:54 PM Revision f208e017 (git): ZJIT: Add codegen for SideExit
tekknolagi (Maxwell Bernstein)
03:13 PM Revision 97ea756e (git): test/ruby/test_ractor.rb: avoid outputting anything
byroot (Jean Boussier)
03:13 PM Revision 545e99da (git): mmtk: Get rid of unused reference to FL_EXIVAR
byroot (Jean Boussier)
12:09 PM Revision 1d11e1be (git): Suppress unused-variable warning
nobu (Nobuyoshi Nakada)
10:48 AM Revision a66d823c (git): CI: Fix launchable timeout
`setup_launchable` needs to run the current shell, not in a subshell. nobu (Nobuyoshi Nakada)
10:35 AM Revision 583ce06c (git): Normalize subseconds using `wideint_t` instead of `time_t`
nobu (Nobuyoshi Nakada)
10:35 AM Revision b8de3cfb (git): Conversion is needed between `WIDEVALUE` and `VALUE`
nobu (Nobuyoshi Nakada)
10:35 AM Revision c7f5ae98 (git): The device numbers in `struct statx` may be larger than `dev_t`
`dev_t` is already 64-bit in glibc, but on some platforms like Alpine
Linux and Android NDK, `makedev` is defined as ...
nobu (Nobuyoshi Nakada)
10:03 AM Revision 071aa02a (git): shape.c: cleanup unused IDs
id_frozen and id_t_object are no longer used.
id_object_id no longer need to be exposed.
byroot (Jean Boussier)
08:08 AM Revision dd4c5acc (git): vm_callinfo.h: Stick to using user flags
For some unclear reasons VM_CALLCACHE_UNMARKABLE
and VM_CALLCACHE_UNMARKABLE used global flags rather than the
availa...
byroot (Jean Boussier)
06:16 AM Bug #21440 (Closed): Cannot create instances of frozen Data subclasses
Applied in changeset commit:git|2e7e78cd590d20aa9d41422e96302f3edd73f623.
----------
[Bug #21440] Stop caching membe...
nobu (Nobuyoshi Nakada)
05:25 AM Bug #21440: Cannot create instances of frozen Data subclasses
Also `Class.new(Struct.new(:a)).freeze.new`. nobu (Nobuyoshi Nakada)
03:35 AM Bug #21440 (Closed): Cannot create instances of frozen Data subclasses
This fails since Data was added in Ruby 3.2:
```ruby
Class.new(Data.define(:a)).freeze.new
# can't modify frozen...
jeremyevans0 (Jeremy Evans)
05:22 AM Revision 2e7e78cd (git): [Bug #21440] Stop caching member list in frozen Data/Struct class
nobu (Nobuyoshi Nakada)
03:55 AM Revision 64c421db (git): [rubygems/rubygems] Surpressing warning for CGI library of Ruby 3.5+
```
❯ bin/rspec ./spec/bundler/friendly_errors_spec.rb
/Users/hsbt/Documents/github.com/rubygems/rubygems/bundler/spe...
hsbt (Hiroshi SHIBATA)
03:55 AM Revision 22a7f6b6 (git): [rubygems/rubygems] Recognize JRuby loaded from a classloader, not just any JAR
Such is the case if you embed JRuby into an application dynamically (such
as via OSGi). From my test environment:
``...
ccutrer (Cody Cutrer)
03:55 AM Revision 73532ecf (git): [rubygems/rubygems] Update bundled tls certs
By running tool/update_bundled_ca_certificates.rb
Signed-off-by: Samuel Giddins <[email protected]>
https://gi...
segiddins (Samuel Giddins)
02:14 AM Revision 7cfdcde0 (git): Expect aligned pointer for the atomic operations
nobu (Nobuyoshi Nakada)
12:18 AM Revision 7fa3e1a1 (git): ZJIT: Write a callee frame on JIT-to-JIT calls (#13579)
Co-authored-by: Max Bernstein <[email protected]> k0kubun (Takashi Kokubun)

06/12/2025

09:03 PM Bug #21090 (Closed): SEGV from require in Thread in Ractor
Applied in changeset commit:git|b28f3443122c4e5461877d704618c752e56ca8b0.
----------
Use a T_DATA for cross_ractor_r...
jhawthorn (John Hawthorn)
08:13 PM Revision ef9301a6 (git): Ensure crr->feature is an fstring
jhawthorn (John Hawthorn)
08:13 PM Revision b28f3443 (git): Use a T_DATA for cross_ractor_require
[Bug #21090]
The struct was previously allocated on the stack, which could be freed
if the Thread is terminated. Mov...
jhawthorn (John Hawthorn)
08:13 PM Revision a34fcf40 (git): Add a new_thread flag to rb_interrupt_exec
Previously rb_ractor_interrupt_exec would use an intermediate function
to create a new thread with the actual target ...
jhawthorn (John Hawthorn)
08:13 PM Revision 97994c77 (git): Only use regex internal reg_cache when in main ractor
Using this `reg_cache` is racy across ractors, so don't use it when in a
ractor. Also, its use across ractors can cau...
Luke Gruber
07:23 PM Revision 6e36841d (git): Free rb_native_thread memory at fork
We never freed any resources of rb_native_thread at fork because it would
cause it to hang. This is because it called...
peterzhu2118 (Peter Zhu)
03:33 PM Bug #21439 (Closed): Crash with PM_SPLAT_NODE compiler error (Prism)
Applied in changeset commit:git|5ec9a392cdf7f971221dc073dd466bce877d8acb.
----------
[Bug #21439] Fix `PM_SPLAT_NODE...
Anonymous
02:32 PM Bug #21439: Crash with PM_SPLAT_NODE compiler error (Prism)
I have a PR for it here: https://github.com/ruby/ruby/pull/13597 ufuk (Ufuk Kayserilioglu)
03:33 PM Revision 5ec9a392 (git): [Bug #21439] Fix `PM_SPLAT_NODE` compilation error in for loops (#13597)
[Bug #21439] Fix PM_SPLAT_NODE compilation error in for loops
This commit fixes a crash that occurred when using spl...
Ufuk Kayserilioglu
03:08 PM Revision 7c22330c (git): Allocate `rb_shape_tree` statically
There is no point allocating it during init, it adds
a useless indirection.
byroot (Jean Boussier)
03:08 PM Revision de4b9103 (git): Get rid of GET_SHAPE_TREE()
It's a useless indirection. byroot (Jean Boussier)
03:08 PM Revision e070d935 (git): Get rid of `rb_shape_lookup`
byroot (Jean Boussier)
03:08 PM Revision 0292b702 (git): shape.h: make RSHAPE static inline
Since the shape_tree_ptr is `extern` it should be possible to
fully inline `RSHAPE`.
byroot (Jean Boussier)
02:02 PM Revision d55c463d (git): Fix memory leak of Ractor basket when sending to closed Ractor
The following script leaks memory:
r = Ractor.new { }
r.value
10.times do
100_000.times do
...
peterzhu2118 (Peter Zhu)
12:55 PM Revision a74c3852 (git): Make setting and accessing class ivars lock-free
Now that class fields have been deletated to a T_IMEMO/class_fields
when we're in multi-ractor mode, we can read and ...
byroot (Jean Boussier)
11:43 AM Revision 8b5ac5ab (git): Fix class instance variable inside namespaces
Now that classes fields are delegated to an object with its own
shape_id, we no longer need to mark all classes as TO...
byroot (Jean Boussier)
07:30 AM Revision 81209719 (git): Move more NilClass methods to ruby
```
$ make benchmark ITEM=nilclass COMPARE_RUBY="/opt/rubies/ruby-master/bin/ruby"
/opt/rubies/3.4.2/bin/ruby --disab...
Hartley McGuire
06:44 AM Feature #21435: Kernel#then_try as a conditional #then
@zverok, what do you think about it? May `#then` get a conditional counterpart? Alexander.Senko (Alexander Senko)
05:58 AM Revision 3abdd424 (git): Turn `rb_classext_t.fields` into a T_IMEMO/class_fields
This behave almost exactly as a T_OBJECT, the layout is entirely
compatible.
This aims to solve two problems.
First...
byroot (Jean Boussier)
05:28 AM Revision 166ff187 (git): [rubygems/rubygems] Removed ccache or sccache from args of Rust builder
```
" = note: some arguments are omitted. use `--verbose` to show all linker arguments\n" +
" = note: error: unex...
hsbt (Hiroshi SHIBATA)
01:34 AM Revision 4585ccd9 (git): [ruby/strscan] Update extconf.rb
(https://github.com/ruby/strscan/pull/158)
- `have_func` includes "ruby.h" by default.
- include "ruby/re.h" where `...
nobu (Nobuyoshi Nakada)
01:11 AM Revision 7854b71e (git): Supress a few more tsan errors
jhawthorn (John Hawthorn)
01:11 AM Revision f91c8083 (git): gdbinit: fix printing of T_DATA
jhawthorn (John Hawthorn)

06/11/2025

11:45 PM Revision 3a6844a6 (git): Tweak to spec setup so that `rspec` instead of our `bin/rspec` binstub still works
deivid (David Rodríguez)
11:40 PM Revision 8abb87b9 (git): [rubygems/rubygems] Remove duplicate documentation for `--changelog` flag
https://github.com/rubygems/rubygems/commit/9f1d07685f joshuay03 (Joshua Young)
11:40 PM Revision 3fdaa6a1 (git): [rubygems/rubygems] Fix typos in some documentation lists making them render incorrectly
https://github.com/rubygems/rubygems/commit/19739ba71c deivid (David Rodríguez)
11:40 PM Revision ca7bd597 (git): [rubygems/rubygems] Update man pages month
https://github.com/rubygems/rubygems/commit/3e4687616a deivid (David Rodríguez)
08:35 PM Bug #21439 (Closed): Crash with PM_SPLAT_NODE compiler error (Prism)
Hi Ruby team,
I'm encountering a crash when using a splat (*) on the left-hand side of a for loop in the latest Ru...
bendrissou (Bachir Bendrissou)
07:23 PM Bug #21438 (Closed): use-after-free when resizing exivars
Here's a semi-reliable reproduction:
```ruby
objs = 10_000.times.map do
a = []
a.instance_variable_set(:@a...
byroot (Jean Boussier)
06:07 PM Revision 970813d9 (git): [ruby/prism] Fix parser translator during string escaping with invalid utf-8
Instead, prefer `scan_byte` over `get_byte` since that already returns the byte as an integer, sidestepping conversio... Earlopain (Earlopain _)
02:38 PM Revision 95201299 (git): Refactor the last references to `rb_shape_t`
The type isn't opaque because Ruby isn't often compiled with LTO,
so for optimization purpose it's better to allow as...
byroot (Jean Boussier)
01:12 PM Feature #21435: Kernel#then_try as a conditional #then
mame (Yusuke Endoh) wrote in #note-5:
> In terms of cognitive complexity, I find it much easier to understand when th...
Alexander.Senko (Alexander Senko)
09:38 AM Feature #21435: Kernel#then_try as a conditional #then
To be honest, when I see a code fragment like `.optional { it.decorate if it.respond_to? :decorate }`, I couldn't und... mame (Yusuke Endoh)
12:50 PM Bug #21437 (Closed): Date#hash may return different values for equal dates with large years
Parsing the same date string allocates new large integer objects with different pointer addresses, which then affects... Stranger6667 (Dmitry Dygalo)
12:27 PM Bug #21436 (Closed): Date#ajd returns incorrect positive values due to integer overflow for large negative years
`Date#ajd` (astronomical Julian Day number) returns incorrect positive values instead of negative values for certain ... Stranger6667 (Dmitry Dygalo)
12:21 PM Revision 4463ac26 (git): shape.h: remove YJIT workaround
YJIT x86 backend would crahs if the shape_id top bit was set.
This should have been fixed now.
byroot (Jean Boussier)
10:49 AM Revision 59fad961 (git): ZJIT: x86: Fix panic writing 32-bit number with top bit set
Previously, `asm.mov(m32, imm32)` panicked when `imm32 > 0x80000000`. It
attempted to split imm32 into a register bef...
alanwu (Alan Wu)
10:49 AM Revision e5c7f169 (git): YJIT: x86: Fix panic writing 32-bit number with top bit set
Previously, `asm.mov(m32, imm32)` panicked when `imm32 > 0x80000000`. It
attempted to split imm32 into a register bef...
alanwu (Alan Wu)
10:49 AM Revision 4ebe0a1b (git): ZJIT: Restore x86 assembler tests
alanwu (Alan Wu)
10:49 AM Revision c489020c (git): ZJIT: Restore some A64 backend tests to fix unused warning
alanwu (Alan Wu)
10:49 AM Revision 0bc24353 (git): ZJIT: Restore most x64 backend tests
alanwu (Alan Wu)
10:46 AM Bug #21368: Moving objects with finalizer between Ractors crashes
Maybe this ticket should be merged with https://bugs.ruby-lang.org/issues/21315 ? osyoyu (Daisuke Aritomo)
10:05 AM Revision f45aa150 (git): [ruby/date] Update zonetab.h at 2025-06-11
https://github.com/ruby/date/commit/b28617cde0 nobu (Nobuyoshi Nakada)
08:10 AM Revision c2f2ac7d (git): shape.c: Fix rb_bug call to use correct format for size_t
byroot (Jean Boussier)
08:04 AM Revision fd7e56a8 (git): Use artifacts built by vcpkg manifest mode
I'm not sure why vcpkg cache is not using while recent weeks. hsbt (Hiroshi SHIBATA)
06:45 AM Bug #20631 (Closed): Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
macOS 26 beta and Xcode 26 beta is working fine with this issue. And the current macOS 15 on GitHub Actions is also w... hsbt (Hiroshi SHIBATA)
06:40 AM Revision 255e6e61 (git): Try to run ignored tests with macOS 15
hsbt (Hiroshi SHIBATA)
05:04 AM Revision 51118fa2 (git): [ruby/net-http] Support pretty_print
https://github.com/ruby/net-http/commit/bfc60454f6 nobu (Nobuyoshi Nakada)
04:57 AM Revision a976fa1b (git): Followed up https://github.com/ruby/net-http/commit/002441da1e for ruby/spec
hsbt (Hiroshi SHIBATA)
03:35 AM Revision 82e33124 (git): [ruby/net-http] Fixed test case for default content-type.
I changed content-type of request to "application/octet-stream" if request didn't have
content-type.
https://github....
hsbt (Hiroshi SHIBATA)
03:35 AM Revision 51b70d10 (git): [ruby/net-http] Don't set content type by default
Fixes https://github.com/ruby/net-http/issues/205
https://github.com/ruby/net-http/commit/002441da1e
hsbt (Hiroshi SHIBATA)
12:38 AM Revision 9b09c680 (git): Simplify `make test-bundler`
deivid (David Rodríguez)
12:38 AM Revision ec897fd2 (git): Fix `make test-bundler`
deivid (David Rodríguez)

06/10/2025

11:48 PM Revision dba72134 (git): [rubygems/rubygems] Fix `gem pristine` sometimes not resetting extensions
If `gem pristine foo` is run, and there's a default copy of foo, only
executables for it are reset. However, that was...
deivid (David Rodríguez)
11:48 PM Revision 6560083c (git): [rubygems/rubygems] Normalize file existence helpers usage
https://github.com/rubygems/rubygems/commit/a61cc97cd4 deivid (David Rodríguez)
11:48 PM Revision 7e3d271f (git): [rubygems/rubygems] Install the best matching gem for the current platform in gem install
Instead of picking essentially a random matching platform
Signed-off-by: Samuel Giddins <[email protected]>
ht...
segiddins (Samuel Giddins)
11:48 PM Revision b5beb198 (git): [rubygems/rubygems] Validate dependencies when doing bundle install
https://github.com/rubygems/rubygems/commit/b0983f392f Randy Stauner
08:33 PM Feature #21435: Kernel#then_try as a conditional #then
matheusrich (Matheus Richard) wrote in #note-3:
> I'm sorry, I don't understand the use case, nor how it DRY things ...
Alexander.Senko (Alexander Senko)
07:19 PM Feature #21435: Kernel#then_try as a conditional #then
I'm sorry, I don't understand the use case, nor how it DRY things up.
The given example shaves off 1 character. Wh...
matheusrich (Matheus Richard)
02:39 PM Feature #21435: Kernel#then_try as a conditional #then
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Regarding `respond_to?`, IIRC, isn't ActiveSupport's `try` based on it?
...
Alexander.Senko (Alexander Senko)
08:56 AM Feature #21435: Kernel#then_try as a conditional #then
I agree that the pattern sometimes appears.
But the name `optional` feels kind of ambiguous or too generic, to me.
...
nobu (Nobuyoshi Nakada)
07:30 AM Feature #21435 (Rejected): Kernel#then_try as a conditional #then
## What
When chaining, I need sometimes to apply some changes conditionally, like this:
```ruby
@record = Record...
Alexander.Senko (Alexander Senko)
07:13 PM Revision 35fc19f5 (git): enumerator.c: Remove unused IDs
byroot (Jean Boussier)
05:42 PM Revision 0f922edc (git): ZJIT: Support get/set on global variables
Adds support for code like:
```ruby
$foo
$foo = x
```
tenderlovemaking (Aaron Patterson)
05:37 PM Revision c54e96d6 (git): Fix RubyVM::Shape.transition_tree
etienne (Étienne Barrié)
05:26 PM Revision bcb4fbe2 (git): Refactor `Enumerator::ArithmeticSequence` to not use ivars
It's an embedded TypedData, it can much more efficiently store
the references it need without using ivars.
byroot (Jean Boussier)
04:00 PM Revision 585dcfff (git): Fix regular expressions across ractors that match different encodings
In commit d42b9ffb206, an optimization was introduced that can speed up
Regexp#match by 15% when it matches with stri...
Luke Gruber
12:46 PM Revision bb1a992d (git): [DOC] Fix unclosed markup
nobu (Nobuyoshi Nakada)
10:25 AM Revision a21acaee (git): Follow-ups to #13555
joshuay03 (Joshua Young)
09:40 AM Bug #21388: make install and bundled gems
Another idea is that master will install snapshot gems.
https://github.com/ruby/ruby/pull/13574
nobu (Nobuyoshi Nakada)
07:30 AM Revision cdeedd5b (git): Fix handling of cancelled blocking operations. (#13570)
Samuel Williams
07:22 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
I did delete your address and add it again. hsbt (Hiroshi SHIBATA)
07:21 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
@byroot Thanks.
Your email address seems verified status in Cloudflare dashboard. I also confirmed the forwarded r...
hsbt (Hiroshi SHIBATA)
06:47 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
@hsbt it seems I missed this ticket and that my email address is no longer working. byroot (Jean Boussier)
06:05 AM Revision 20adae4a (git): Fix up birthtime specs
There are two different possible messages: unsupported OS/version, and
unsupported filesystem on a supported system.
nobu (Nobuyoshi Nakada)
02:30 AM Revision 6184793e (git): [DOC] Split building docs for modular GC
peterzhu2118 (Peter Zhu)
02:06 AM Revision fb8248b3 (git): Disabled TRAP cache of CodeQL
hsbt (Hiroshi SHIBATA)
01:03 AM Feature #14915: Deprecate String#crypt
> even if that removal doesn't happen until Ruby 4.
👀
It's been 6 years, is it worth considering `String#crypt`...
jhawthorn (John Hawthorn)

06/09/2025

09:30 PM Bug #21402 (Open): ruby2_keywords affects methods/procs with post arguments
I believe this is an oversight. We forgot to consider post arguments during the development of `ruby2_keywords`. I ... jeremyevans0 (Jeremy Evans)
05:57 PM Revision 837699e1 (git): Take file and line in GC VM locks
This commit adds file and line to GC VM locking functions for debugging
purposes and adds upper case macros to pass _...
peterzhu2118 (Peter Zhu)
05:12 PM Misc #21385: Namespace: Suggesting a rename
* Shard - from MMOs - also has the connotation that using this feature carelessly could result in hurting yourself
*...
masterleep2 (Bill Lipa)
05:06 PM Misc #21385: Namespace: Suggesting a rename
I'd like to throw Sector into the mix.
Namespaces are defined as being "designed to provide separated spaces in a ...
opswole (Christopher Fagg)
04:43 PM Misc #21385: Namespace: Suggesting a rename
For me "context" means something like `context = binding.eval("self")`, so I can't say I like `Context` very much for... Dan0042 (Daniel DeLorme)
11:28 AM Misc #21385: Namespace: Suggesting a rename
* World
* NamaeSpace (namae is name in Japanese ;-)
nobu (Nobuyoshi Nakada)
05:06 PM Revision c962735f (git): Add missing write barrier in set_i_initialize_copy
When we copy the table from one set to another we need to run write
barriers.
jhawthorn (John Hawthorn)
04:34 PM Bug #21401 (Rejected): ObjectSpace can't count Fibers after using a Ractor
👋 Hi Robert! This is a known issue. Once a Ractor is started `each_objects` will only return shareable objects. I exp... jhawthorn (John Hawthorn)
03:29 PM Bug #21401 (Rejected): ObjectSpace can't count Fibers after using a Ractor
Hi, thanks for all your great work, Ruby crew!
I have a test in my project that uses `ObjectSpace.each_object(Fibe...
rmosolgo (Robert Mosolgo)
04:03 PM Revision 4b80f56f (git): Update a step name [ci skip]
nobu (Nobuyoshi Nakada)
02:41 PM Revision 698cf146 (git): Fetch only necessary commits of bundled gems
nobu (Nobuyoshi Nakada)
02:41 PM Revision 3b17ff24 (git): Reuse fetch-bundled_gems.rb
nobu (Nobuyoshi Nakada)
02:38 PM Revision f9966b9b (git): Get rid of `gen_fields_tbl.fields_count`
This data is redundant because the shape already contains both the
length and capacity of the object's fields.
So it...
byroot (Jean Boussier)
01:41 PM Revision e210a70e (git): [ruby/prism] Fix typo in visitor example code
https://github.com/ruby/prism/commit/5aa963f8e6 timcraft (Tim Craft)
01:36 PM Revision b8922a8d (git): ZJIT: Parse opt_regexpmatch2 into HIR
alanwu (Alan Wu)
01:36 PM Revision ec1244cf (git): ZJIT: Parse opt_not into HIR
alanwu (Alan Wu)
01:36 PM Revision 038087ad (git): ZJIT: Parse opt_or into HIR
alanwu (Alan Wu)
01:36 PM Revision 1c43f7e9 (git): ZJIT: Parse opt_and into HIR
alanwu (Alan Wu)
01:36 PM Revision 4a2480e7 (git): ZJIT: Parse opt_succ into HIR
alanwu (Alan Wu)
01:36 PM Revision 9865aa94 (git): ZJIT: Parse opt_empty_p into HIR
alanwu (Alan Wu)
12:22 PM Revision 96fdaf2e (git): Fix build on alpine with statx change
Since https://github.com/ruby/ruby/commit/18a036a6133bd141dfc25cd48ced9a2b78826af6 building on alpine fails
because u...
Earlopain (Earlopain _)
11:03 AM Feature #21219 (Closed): `Object#inspect` accept a list of instance variables to display
Applied in changeset commit:git|f4135feafc558111c7388b823a64652e09999161.
----------
[Feature #21219] Selective insp...
nobu (Nobuyoshi Nakada)
07:25 AM Revision f4135fea (git): [Feature #21219] Selective inspect of instance variables
Make Kernel#inspect ask which instance variables should be dumped by
the result of `#instance_variables_to_inspect`.
...
nobu (Nobuyoshi Nakada)
07:23 AM Revision e8094943 (git): s/sned/send
zzak (zzak _)
07:09 AM Bug #21368: Moving objects with finalizer between Ractors crashes
> Maybe simply marking objects with a finalizer ineligible for moving is more appropiate.
Thanks for checking, I'v...
zzak (zzak _)
03:33 AM Bug #21201 (Closed): Performance regression when defining methods inside `refine` blocks
Applied in changeset commit:git|c8ddc0a843074811b200673a2019fbe4b50bb890.
----------
Optimize callcache invalidation...
alpaca-tc (Hiroyuki Ishii)
03:33 AM Revision c8ddc0a8 (git): Optimize callcache invalidation for refinements
Fixes [Bug #21201]
This change addresses a performance regression where defining methods
inside `refine` blocks caus...
alpaca-tc (Hiroyuki Ishii)

06/08/2025

05:58 PM Feature #20861: Add an environment variable for tuning the default thread quantum
nateberkopec (Nate Berkopec) wrote in #note-22:
> Just to report back about this feature.
> [...]
> I had high hop...
ivoanjo (Ivo Anjo)
06:52 AM Bug #19154: Specify require and autoload guarantees in ractors
Is constant access synchronized as it is for threads?
If a constant has an autoload set and 7 threads hit it, only...
fxn (Xavier Noria)

06/07/2025

08:39 PM Feature #20105: Introduce `IO::Stream` or something similar.
I'm not sure if it meets your needs, but I just released an update to the [io-like gem](https://rubygems.org/gems/io-... javanthropus (Jeremy Bopp)
07:24 PM Revision d0b5f315 (git): record load average at fail
On a high load machine, the following test can fail.
This patch simply records the load average with `uptime`.
```
...
ko1 (Koichi Sasada)
07:08 PM Revision 98ac3f1f (git): increase timeout for high load env
I can reproduce timeout failure with the high load machine:
```
$ RUBY_MAX_CPU=100 ruby -e '100.times{Ractor.new{loo...
ko1 (Koichi Sasada)
04:30 PM Revision 7d8695e0 (git): Stop pinning shape edges
Now that `rb_shape_traverse_from_new_root` has been eliminated there's
no longer any reason to pin these objects, bec...
byroot (Jean Boussier)
04:30 PM Revision a640723d (git): Simplify `rb_gc_rebuild_shape`
Now that there no longer multiple shape roots, all we need to do
when moving an object from one slot to the other is ...
byroot (Jean Boussier)
04:30 PM Revision 191f6e3b (git): Get rid of rb_shape_t.heap_id
byroot (Jean Boussier)
04:30 PM Revision 6eb0cd8d (git): Get rid of SHAPE_T_OBJECT
Now that we have the `heap_index` in shape flags we no longer
need `T_OBJECT` shapes.
byroot (Jean Boussier)
04:30 PM Revision 1c96aed6 (git): Remove EMBEDDED shape_id flags
byroot (Jean Boussier)
04:30 PM Revision 2de67d42 (git): shape.c: assert we're not returning INVALID_SHAPE_ID.
byroot (Jean Boussier)
04:30 PM Revision 8c4e368d (git): shape.c: ensure heap_index is consistent for complex shapes
byroot (Jean Boussier)
04:30 PM Revision 54edc930 (git): Leave the shape_id_t highest bit unused to avoid crashing YJIT
byroot (Jean Boussier)
04:30 PM Revision 689ec511 (git): Replicate `heap_index` in shape_id flags.
This is preparation to getting rid of `T_OBJECT` transitions.
By first only replicating the information it's easier t...
byroot (Jean Boussier)
11:48 AM Revision 42cf3012 (git): Skip blame-ignored revisions [ci skip]
nobu (Nobuyoshi Nakada)
11:48 AM Revision e667bb70 (git): Add `skip` log-fix command to skip that commit totally [ci skip]
nobu (Nobuyoshi Nakada)
10:58 AM Revision 3ca007d8 (git): Ignore miss-and-revised commits [ci skip]
nobu (Nobuyoshi Nakada)
09:43 AM Revision 7a56c316 (git): Revert "[Bug #21388] Make snapshots of gems"
This reverts commit e90282be7ba1bc8e3119f6e1a2c80356ceb3f80a, a commit miss. nobu (Nobuyoshi Nakada)
09:41 AM Revision e90282be (git): [Bug #21388] Make snapshots of gems
If the revision of bundled gems is specified for ruby master (and
`git` is usable), checkout that revision and build ...
nobu (Nobuyoshi Nakada)
09:41 AM Revision c45e4da7 (git): Make the installation target overridable
There are various targets such as `install-bin`, `install-ext`, etc.,
but since then, the number of installation type...
nobu (Nobuyoshi Nakada)
09:19 AM Revision dd4e39a1 (git): Delete useless Namespace#current_details
The implementation of Namespace#current_details shows warning about
use of snprintf directive arguments (only in gcc ...
Satoshi Tagomori
08:07 AM Feature #21219: `Object#inspect` accept a list of instance variables to display
Thank you Matz.
I opened a pull request derived from @nobu's patch: https://github.com/ruby/ruby/pull/13555
I t...
byroot (Jean Boussier)
07:28 AM Revision 20cf4603 (git): Fix messages for skipped bundled gems
nobu (Nobuyoshi Nakada)
12:52 AM Revision 16057041 (git): ignore confirming belonging while finrializer
A finalizer registerred in Ractor A can be invoked in B.
```ruby
require "tempfile"
r = Ractor.new{
10_000.times{|...
ko1 (Koichi Sasada)
 

Also available in: Atom