Activity
From 11/05/2025 to 11/11/2025
Today
-
04:57 AM Revision c477f59e (git): [ruby/rubygems] Use Spec::Path.relative_gemspec
- https://github.com/ruby/rubygems/commit/2142e405b0
-
04:57 AM Revision d3138912 (git): [ruby/rubygems] build gems directly instead of shelling out
- I'm trying to speed up the bundler tests. The tests shell out a lot in
order to build gems. We can build gems without creating a sub-process.
This change reduced the test suite time from ~24 minutes, to about ~21
minutes on my machine. ... -
04:10 AM Revision 71fecfa2 (git): ZJIT: Rename things so that they aren't named "not_optimized_optimized" (#15135)
- These refer to "OptimizedMethodType" which is a subcategory of "MethodType::Optimized"
so name them after the latter to avoid "not_optimized_optimized". - 04:07 AM Revision d9f0b5a5 (git): ZJIT: Set cfp->sp on leaf calls with GC (#15137)
- Co-authored-by: Randy Stauner <[email protected]>
-
03:46 AM Bug #21265 (Closed): Crash when proc from Symbol#to_proc called outside refinement scope
- Applied in changeset commit:git|6e6f5d3c32a709c891ac6aa7833376907a6c81b5.
----------
Add test for [Bug #21265]
The crash was fixed by a4dff09be79b52288a47658964d25e5aa84fc960 ("Fix
resolving refined module-defined method"). I had a pat... -
03:46 AM Revision 6e6f5d3c (git): Add test for [Bug #21265]
- The crash was fixed by a4dff09be79b52288a47658964d25e5aa84fc960 ("Fix
resolving refined module-defined method"). I had a patch for this around
for a few months but never merged it. Oops! -
03:21 AM Revision fafecb43 (git): Fix printf specificer. %lp doesn't make sense. Triggered -Wformat
- 02:52 AM Revision 148fde27 (git): Revert "ns_subclasses refcount accesses need to be atomic (#15083)" (#15138)
- This reverts commit 2998c8d6b99ec49925ebea42198b29c3e27b34a7.
We need to find a better way to fix this bug. Even with this refcount
change, errors were still being seen in CI. For now we need to remove
this failing test. -
02:38 AM Misc #21385 (Closed): Namespace: Suggesting a rename
- `Ruby::Box` is available now.
https://github.com/ruby/ruby/pull/15075 - 01:33 AM Revision 16c6f360 (git): [DOC] Clarify `Thread#kill` documentation. (#15132)
- Mention that it is asynchronous and that the killed thread can still run
a small amount of ruby code before exiting. -
01:32 AM
Bug #21614 (Closed): thread_sched_wait_events race with timer_thread_wakeup
- Applied in changeset commit:git|d2c30a3bae908772c1de453aad8686000f6a5096.
----------
Fix `thread_sched_wait_events` race (#15067)
This race condition was found when calling `Thread#join` with a timeout
inside a ractor. The race is betw... - 01:32 AM Revision d2c30a3b (git): Fix `thread_sched_wait_events` race (#15067)
- This race condition was found when calling `Thread#join` with a timeout
inside a ractor. The race is between the polling thread waking up the
thread and the `ubf` getting called (`ubf_event_waiting`). The error was
that the ubf or pollin... - 12:47 AM Revision 222d8990 (git): ZJIT: Reduce duplication between profiled_type_of_at and resolve_receiver_type
- 12:47 AM Revision 327f070a (git): ZJIT: Don't need to store class in profiled type resolution enums
-
12:34 AM Revision 87493e32 (git): Fix memory leak in ObjectSpace tracing
- allocation_info_tracer_compact_update_object_table_i deletes entries where
the key is no longer in the GC heap but did not free the allocation_info
causing the memory to be leaked. - 12:29 AM Revision d268a551 (git): ZJIT: Split unhandled_hir_insn and unknown_newarray_send stats (#15127)
11/10/2025
-
11:55 PM Revision 6238b6f5 (git): Remove unused subclass methods
-
11:16 PM Revision f95aa5b2 (git): ZJIT: Rename not_optimized_instruction to uncategorized_instruction (#15130)
- Make it more obvious that this hasn't been handled and could be
broken down more. -
11:07 PM Revision c7f0a9c4 (git): Fix memory leak in subclasses when freeing classext
- We don't decrement the super and module subclasses count for iclasses that
are having their classext replaced. This causes the reference count to be
incorrect and leak memory.
The following script demonstrates the memory leak:
modu... -
10:38 PM Revision e4b1f77d (git): Use `IO.popen` instead of `IO.foreach` with pipe
- 09:47 PM Revision f0541312 (git): ZJIT: Add patch_point_count stat (#15100)
-
09:14 PM Revision 3ddb5f99 (git): Allow --jit to mean zjit if yjit isn't defined
- The --help output suggests this should work
as ZJIT is labeled as the default if YJIT isn't enabled. -
09:14 PM Revision 7b1e0a60 (git): ZJIT: Define jit_compile_exception for ZJIT even without YJIT
- Seems like an oversight
-
08:27 PM Misc #21647: DevMeeting-2025-11-13
- * [Feature #21678] Enumerable#rfind
* This method would be useful for finding the last instance of something in a list.
* There is precedence with index/rindex.
* A lot of people are using reverse_each.find, which is not as nice... - 04:26 PM Revision 03a9d075 (git): ZJIT: Fix land race
-
04:00 PM Feature #21678 (Open): Enumerable#rfind
- I'd like to introduce `rfind` to enumerable, which would effectively be the same as `reverse_each.find`. I've found myself using this a surprising number of times, and have been surprised at its omission. That means either falling back t...
-
03:51 PM Revision fb5f10e0 (git): ZJIT: Snapshot once per YARV insn (#15082)
- This is roughly net-neutral for the number of instructions created but
at least cenetralizes where the Snapshot is made.
Previously, we might have multiple Snapshot per YARV instruction
depending on if it had event flags, if the body of... - 03:30 PM Revision b539cd2a (git): ZJIT: Deduplicate side exits (#15105)
-
03:08 PM Bug #21660 (Closed): No-parentheses endless method definition that has parameter destructuring is wrongly accepted in Prism
-
02:25 PM Feature #21675: Advent of Pattern Matching
- I added [Exception#deconstruct](https://github.com/ruby/ruby/pull/15125) to core.
Next up is deconstruct_keys.
~~I also noticed that neither Enumerable nor Set implement deconstruct. These have issues as in consuming Enumerable can hav... -
10:12 AM Revision 557eec79 (git): [DOC] Update missing docs
-
10:12 AM Revision 286a8eee (git): Move grouping by upstreams to SyncDefaultGems::Repository
- It is also useful to distribution changes to each upstream repository.
-
10:12 AM Revision 9720d499 (git): [ruby/zlib] [DOC] Missing documents
- https://github.com/ruby/zlib/commit/25355bc1dc
-
10:03 AM Revision df9b8fdb (git): [ruby/yaml] [DOC] Missing documents
- https://github.com/ruby/yaml/commit/388cd27291
-
10:01 AM Revision d2044ce0 (git): [ruby/weakref] [DOC] Missing documents
- https://github.com/ruby/weakref/commit/cccde64080
-
10:00 AM Revision ae0dd72b (git): [ruby/tempfile] [DOC] Suppress documentation for internals
- https://github.com/ruby/tempfile/commit/475d719e4d
-
09:59 AM Revision 95c4ca62 (git): [ruby/singleton] [DOC] Missing documentation
- Suppress documentation for internals
https://github.com/ruby/singleton/commit/4ac0cc497d -
09:54 AM Revision f4b18c5d (git): [ruby/rubygems] Hide patchlevel from lockfile
- https://github.com/ruby/rubygems/commit/9b169c700f
-
09:51 AM Revision 87f86327 (git): [ruby/prettyprint] [DOC] Missing documents
- https://github.com/ruby/prettyprint/commit/3a43a4bbf6
-
09:49 AM Revision caf40a39 (git): [ruby/pp] [DOC] Suppress documentation for internals
- https://github.com/ruby/pp/commit/e1f39cb39c
-
09:43 AM Revision 54b5f83a (git): [ruby/open3] [DOC] Missing documents
- https://github.com/ruby/open3/commit/e6d09a6aa8
-
09:32 AM Revision 98f9211d (git): [ruby/open-uri] [DOC] Missing documents
- https://github.com/ruby/open-uri/commit/1ccc576e9a
-
09:28 AM Revision 0dfca2e3 (git): [ruby/forwardable] [DOC] Missing documents
- https://github.com/ruby/forwardable/commit/909986fee9
-
09:25 AM Revision daf8c2fa (git): [ruby/find] [DOC] Missing documents
- https://github.com/ruby/find/commit/01232ad51a
-
09:15 AM Revision ea647f52 (git): [ruby/erb] [DOC] Suppress documentation for internals
- https://github.com/ruby/erb/commit/332e200060
-
09:05 AM Revision 309b6ca1 (git): [ruby/delegate] [DOC] Update missing docs and mark ups
- https://github.com/ruby/delegate/commit/020a6cfe4b
-
08:38 AM Revision 2af63204 (git): [ruby/digest] [DOC] Missing documents
- https://github.com/ruby/digest/commit/16b598d6f2
- 08:31 AM Revision bc177ff1 (git): [ruby/timeout] Suppress warnings in two tests
- Failed build in #70.
Pre-3.0 versions of Ruby didn't support pattern matching, and power_assert warned.
https://github.com/ruby/timeout/commit/983cbf636a -
08:24 AM Bug #21677: Integer("08") raises an ArgumentError
- OTOH, if the error message mentioned that it is not valid **octal** number, it would be more obvious to spot what is the problem 🤷
-
08:24 AM Revision 57daafc1 (git): [ruby/rubygems] Make verification methods private
- I would like to start making some of the methods in Gem::Package
private so that we can refactor them better. Right now we have many
methods that are public, and since they are public we can't refactor
them. Historically, I think "priv... -
07:19 AM Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
- nagachika (Tomoyuki Chikanaga) wrote in #note-1:
> In my environment, removing `exts.mk` in build directory resolved the issue.
This worked for me, too. -
06:44 AM Revision 57f2ac72 (git): [ruby/rubygems] [DOC] Fix markups
- Use `<tt>` instead of `+` that cannot enclose punctuations.
https://github.com/ruby/rubygems/commit/f84035c0b6 -
06:44 AM Revision 73339ff2 (git): [ruby/rubygems] [DOC] Fix the location of Gem::Deprecate document
- It was bound to `module Gem`, instead of `module Deprecate`.
https://github.com/ruby/rubygems/commit/da29f74ba1 -
06:07 AM Misc #21657 (Closed): Question: Is Ruby 4.0 planned for December 2025 or later?
- Regarding the original topic of this ticket. I heard that @matz announced at RubyWorld Conference 2025 that the next release version will be Ruby 4.0.0. Also, Matz has set the master branch version to 4.0.0 as well.
commit:6d81969b475... -
04:10 AM Revision 28f760bf (git): [ruby/stringio] Suppress warnings against pattern matching on ruby 2.7
- https://github.com/ruby/stringio/commit/cf58a203eb
-
03:58 AM Revision 19295f5d (git): [ruby/cgi] [DOC] Missing documents
- https://github.com/ruby/cgi/commit/ebd04d1eb1
-
03:49 AM Revision 40d6626b (git): [ruby/rubygems] Fixed with Lint/RedundantSplatExpansion
- https://github.com/ruby/rubygems/commit/2078f3d351
-
03:45 AM Revision b1dfcd65 (git): [ruby/stringio] [DOC] Suppress documentation for internals
- https://github.com/ruby/stringio/commit/27b2fb2fce
-
03:38 AM Revision 3147df87 (git): [ruby/net-http] [DOC] Suppress documentation for internals
- https://github.com/ruby/net-http/commit/b7c586985a
- 03:04 AM Revision cb50ed2c (git): Bump actions/checkout from 4 to 5
- Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)
---
updated-dependencies:
- depe... - 02:40 AM Revision f29d772a (git): [ruby/net-http] Remember if TCPSocket impl supports open_timeout
- For open_timeout support detection, the previous implementation relied
on an ArgumentError being raised and then rescued. In Ruby, rescue is a
rather expensive operation and should be avoided when possible.
This patch reduces the number... - 02:40 AM Revision 97efbc47 (git): [ruby/net-http] Ruby 2 compat
- https://github.com/ruby/net-http/commit/09bf573dd5
- 02:40 AM Revision f710e6bb (git): [ruby/net-http] Replace Timeout.timeout with TCPSocket.open(open_timeout:) when available
- This patch replaces the implementation of #open_timeout from Timeout.timeout from the builtin timeout in TCPSocket.open, which was introduced in Ruby 3.5 (https://bugs.ruby-lang.org/issues/21347).
The builtin timeout in TCPSocket.open i... -
02:10 AM Revision 8fa29a75 (git): Fix condition for Timeout Error with >= macOS 26.1
-
01:52 AM Revision a43acf9a (git): [ruby/resolv] [DOC] `Resolv::LOC` itself is undocumented
- https://github.com/ruby/resolv/commit/7c5bfe7acd
- 12:42 AM Revision d05f23b5 (git): ZJIT: handle megamorphic and skewed megamorphic profiling results
- 12:42 AM Revision 6902bc71 (git): ZJIT: Refactor receiver type resolution
11/09/2025
-
07:14 PM Revision a731080f (git): Make rb_gc_obj_optimal_size always return allocatable size
- It may return sizes that aren't allocatable for arrays and strings.
-
06:01 PM Revision 17efb770 (git): sync_default_gems.yml: Pull --rebase before push
- It was supposed to update a local branch in case the remote branch was
updated between actions/checkout and the end of tool/sync_default_gems.rb.
Note that this `git pull` didn't exist in the original bin/update-default-gem.sh
https://g... -
05:29 PM Revision f1b1899a (git): [ruby/mmtk] Lock the VM when freeing objects in rb_gc_impl_shutdown_call_finalizer
- https://github.com/ruby/mmtk/commit/1828f6596f
-
03:35 PM Revision 4639bbc8 (git): auto_review_pr.rb: Tweak the review message
-
03:34 PM Revision 2b6580d4 (git): auto_review_pr.rb: Remove an unused variable
- Follow-up: https://github.com/ruby/ruby/pull/15116
- 03:16 PM Revision a7a4bb93 (git): Automatically review default-gem pull requests (#15116)
-
01:18 PM Revision 4fe0342a (git): Reapply "[ruby/net-http] [DOC] Suppress documentation for internals"
- This reverts commit af610e107c3a7515228843eb6b1c5978f2ee2685.
Reverted by a mistake. -
01:11 PM Revision af610e10 (git): Revert "[ruby/net-http] [DOC] Suppress documentation for internals"
- This reverts commit 155cdce539a95b510a80a19e3840cde6b293cd4d.
-
01:11 PM Revision 26fc938b (git): [DOC] Sort undocumented items by locations
-
01:11 PM Revision 87c39667 (git): [DOC] ObjectSpace.trace_object_allocations_debug_start
-
01:11 PM Revision 953fee11 (git): [DOC] Document of Coverage.line_stub from NEWS-2.6.0
-
01:10 PM Revision 4170b70d (git): [ruby/net-http] [DOC] Fix too stopped documentations
- https://github.com/ruby/net-http/commit/58685b78ab
-
12:45 PM Revision bf29ba45 (git): [ruby/resolv] [DOC] Fix documentations
- https://github.com/ruby/resolv/commit/d8b8d36f63
-
12:45 PM Revision d79ff407 (git): [ruby/resolv] Require win32/resolv just once
- And Use Win32::Resolv instead of a constant `WINDOWS`.
https://github.com/ruby/resolv/commit/b2c775cd80 -
12:45 PM Revision 063aea8c (git): [ruby/resolv] Exclude unneeded files
- https://github.com/ruby/resolv/commit/60bf151a1d
-
12:27 PM Revision 79342334 (git): [ruby/ipaddr] [DOC] Stop documentation for internals
- https://github.com/ruby/ipaddr/commit/cb9f561883
-
12:27 PM Revision f23fab66 (git): [ruby/ipaddr] gemspec files does not need to be included in spec.files
- https://github.com/ruby/ipaddr/commit/ada04589fe
-
12:22 PM Bug #21677: Integer("08") raises an ArgumentError
- Just adding to Ufuk's great explanation and to make it super clear, to fix your case, you need to call `Integer('08', 10)` and `Integer('09', 10)`.
-
12:12 PM Bug #21677 (Rejected): Integer("08") raises an ArgumentError
- Thanks for the report, and for checking this.
As Ufuk already stated, this is the intended behavior, and it is also clearly documented. -
12:04 PM Bug #21677: Integer("08") raises an ArgumentError
- From the docs https://docs.ruby-lang.org/en/3.4/Kernel.html#method-i-Integer:
> With base zero, string object may contain leading characters to specify the actual base (radix indicator):
> ...
So, your strings are interpreted as octa... -
11:46 AM Bug #21677 (Rejected): Integer("08") raises an ArgumentError
- ruby version: tried it with 3.3.0 and 3.3.8
When running the following ruby script:
p Integer("04")
p Integer("05")
p Integer("06")
p Integer("07")
p Integer("08")
I get the following output:
4
5
6
7
<internal:kernel>... -
12:08 PM Revision 6cac6434 (git): [ruby/win32-registry] [DOC] Convert documents from RD2
- https://github.com/ruby/win32-registry/commit/8680eedd43
-
12:06 PM Revision 155cdce5 (git): [ruby/net-http] [DOC] Suppress documentation for internals
- https://github.com/ruby/net-http/commit/e4d80bd609
-
12:06 PM Revision 001890b8 (git): [ruby/net-http] Exclude unneeded files
- https://github.com/ruby/net-http/commit/89e1ecb556
-
11:58 AM Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- I wasn't able to reproduce the SEGV using the added test code. However, the implemfentation of resolve_refined_method() is the same on every stable branch. I will fill the Backport field with `REQUIRED`.
-
09:12 AM Bug #21673 (Closed): Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- Applied in changeset commit:git|a4dff09be79b52288a47658964d25e5aa84fc960.
----------
[Bug #21673] Fix resolving refined module-defined method
A method defined in a module has no `defined_class`, use the ICLASS
for it as the `defined_cl... -
01:14 AM Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- Although I'm not sure why 3.3 didn't crash, probably, since ME owned by a module doesn't have `defined_class`, it shouldn't be copied to `defined_class_ptr`?
```diff
diff --git a/vm_method.c b/vm_method.c
index 506a2919b77..8b2983e621e ... -
11:18 AM Revision 2bf82c62 (git): [ruby/net-protocol] [DOC] Suppress documentation for internals
- https://github.com/ruby/net-protocol/commit/6c5734dc1e
-
11:18 AM Revision 44d19928 (git): [ruby/net-protocol] Exclude unneeded files
- https://github.com/ruby/net-protocol/commit/8286341e8c
-
11:17 AM Revision f08030e9 (git): [ruby/optparse] [DOC] A constant for compatibility
- https://github.com/ruby/optparse/commit/0125cb4918
-
07:39 AM Revision a4dff09b (git): [Bug #21673] Fix resolving refined module-defined method
- A method defined in a module has no `defined_class`, use the ICLASS
for it as the `defined_class`. - 06:50 AM Revision a88d7718 (git): Update bundled gems list as of 2025-11-09
-
06:39 AM Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- Just FYI: I have filed a pull request based on alan's patch. https://github.com/ruby/ruby/pull/15113
IMO, rbimpl_rstring_getmem() is a little tricky, so I feel it's reasonable to remove it.
However, it's possible that I'm unaware of ... -
06:00 AM Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- A build of the master branch with options from OP crashes the same way as ruby_3_3 for me... I'll commit something later.
Because inter-procedural analysis is key to triggering the miscompilation, changes to seemingly unrelated places c... -
05:16 AM Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- nagachika (Tomoyuki Chikanaga) wrote in #note-14:
> Do you know the issue was reproducible on ruby-3.4.7 or master branch?
Yes, the issue can be reproduced at master branch (`529dd8d76efbe655fabce8933852504851266b2b`) and ruby_3_4 ta... -
04:51 AM Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- Thanks @kurly and @alanwu. I understand the situation now.
I'm ready to apply a workarounds for ruby_3_3.
The implementation of rbimpl_rstring_getmem() is the same on master and ruby_3_4. The issue with GCC 15.2.1 likely exist on the... -
06:11 AM Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
- Yes, it is a known issue.
It is possible to avoid by comparing the extension library path list each time, but moving extension library path is quite rare case. -
06:06 AM Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
- I just run into the same problem now.
In my environment, removing `exts.mk` in build directory resolved the issue. -
03:49 AM Revision 529dd8d7 (git): cygwin.yml: Disable a broken step
- https://github.com/ruby/ruby/actions/runs/19201736990/job/54890646022
-
03:40 AM Feature #21675: Advent of Pattern Matching
- ### Net::HTTP
I think this provides good coverage so far, but might look into others later:
* [Add pattern matching support to Net::HTTPGenericRequest](https://github.com/ruby/net-http/pull/241)
* [Add pattern matching support to ... -
01:58 AM Revision 827f11fc (git): Move rb_gc_verify_shareable to gc.c
- rb_gc_verify_shareable is not GC implementation specific so it should live
in gc.c.
11/08/2025
-
11:33 PM Bug #21676 (Open): make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
- When I tried to compile Ruby with make up; make, I got the message in the Subject.
This seems similar to bug #19481, but the various kinds of advice (`./config.status` or `./autogen.sh; ./configure; make`) given there didn't solve the p... -
11:28 PM Feature #21675 (Open): Advent of Pattern Matching
- Ruby pattern matching is a very useful feature, but many of the core classes to not leverage it currently. Given this I would like to directly invest in opening PRs to add this functionality and see how many cases we can reasonably add a...
-
10:27 PM Revision 79eed115 (git): [DOC] Tweaks for String#to_i (#15036)
-
08:35 PM Bug #21516 (Closed): Segfault in String#succ! on 32-bit i686
- Thank you! Given the symptoms, this appears to be hitting the same miscompilation as #21655. I'm closing this as duplicate to centralize discussions there.
-
08:31 PM Bug #21655 (Third Party's Issue): segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
- Thanks, I was able to repro this locally. I confirmed that it's a miscompilation,
ran reduction and sent a GCC bug report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122610
The following workaround fixes the build for me:
```patch
dif... -
04:42 PM Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- It can be reproduced without IRB
~~~ruby
module Foo
refine Kernel do
def puts; end
end
end
method(:puts)
~~~ -
07:57 AM Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- I sincerely apologize, but I made an error in the entry regarding the second environment's information, so I have corrected it and re-uploaded the backtrace file.
The file has been updated to reflect the correct distribution name.
... -
05:15 AM Bug #21673 (Closed): Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
- In the IRB environment running Ruby 3.4 and later, the VM crashes with a Segmentation Fault when a module refining `Kernel#puts` is defined and `puts` is subsequently executed. The crash does not occur when the exact same code is execute...
-
03:08 PM Revision 75d25a42 (git): [DOC] Tweaks for String#to_c
-
11:52 AM Revision 4365c4fb (git): [DOC] Replace 3.5 reference in NEWS.md
-
11:51 AM Revision 3a5e7e95 (git): Constify
-
10:10 AM Bug #21672: `IO::Buffer.new` does not check that flags are valid
- Also not sure if this is intentional, but a buffer mapped from a file with `IO::Buffer::PRIVATE` is neither internal nor external:
```
IO::Buffer.map(File.open("README.md", "r+"), nil, 0, IO::Buffer::PRIVATE).external?
# => false
IO:... -
09:55 AM Bug #21674: Possible regression in return case in statement
- Typo
-
09:53 AM Bug #21674 (Open): Possible regression in return case in statement
- Suddenly my code started failing in Ruby 3.4.6 and 3.4.7. Shortest code example:
``` ruby
args = [:increased]
context = Data.define(:event).new(:decreased)
case args
in [event]
context.event in ^event
end
```
In Ruby prior... -
05:55 AM Revision aacd9f20 (git): Notify CI failures of Cygwin
-
05:39 AM Revision 269bd157 (git): Use `IO.popen` instead of `IO.foreach` with pipe
-
05:38 AM Revision bc6f57ac (git): Revert to shell execution when invoking nm tool
- This reverts a change of commit b3598cf2a355497693bb66097edc156af3152e9b .
On Windows on ARM64 with LLVM the "NM" tool is called with a parameter like so:
```
RbConfig::CONFIG["NM"] # => "llvm-nm --no-llvm-bc"
```
Therefore the comman... -
05:37 AM Revision dd9163d4 (git): Win: Strip CRs from `cpp` and `nm` output
- The combination of mingw tools and cygin/msys2 ruby leaves CRs.
-
05:36 AM Revision 5434aa3f (git): Win32: Remove unreferenced COMDAT from object files
- Windows 11 SDK Version 10.0.26100.0 introduced a new internal inline
function in ucrt/corecrt_math.h. Even it appears in object files and
will be included in the DEF file, it will be removed from the DLL and
result in a linker error. -
05:36 AM Revision 3466ddbc (git): Workaround for VC 19.42.34433 again
- Prefix underscore is already removed here.
-
05:36 AM Revision 3b060cfc (git): Workaround for VC 19.42.34433
- Suddenly it began to add `_ucrt_int_to_float` by the recent version.
-
05:36 AM Revision c5398d13 (git): mkexports.rb: Revert removed flip-flop
- This reverts commit 63ae1e3cb5d302e5229143c00152328166d26780.
-
04:23 AM Revision 9f045b90 (git): unicode_normalize/normalize.rb: stop using `it` special block parameter in ruby_3_3.
-
03:47 AM Revision 4aea392e (git): ZJIT: Specialize String#setbyte for fixnum case (#14927)
-
03:44 AM Revision 9e426489 (git): Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire (#15104)
- [Bug #21671]
-
02:06 AM Bug #21668: Backport 6cc66469a007d2fb272397e5e27c20b4ce628f5e
- ruby_3_3 commit:e897657c0048b56d4925518fa94768aba8607d5d merged revision(s) commit:377aa2a336cc700485c699ac49330f2a58b74906.
-
02:05 AM Revision e897657c (git): merge revision(s) 377aa2a336cc700485c699ac49330f2a58b74906: [Backport #21668]
- [PATCH] Improve performance of UnicodeNormalize.canonical_ordering_one
Use array_of_integer.sort! instead of buble-sort-like algorithm -
01:17 AM Revision c65f8b63 (git): Prevent the path for copied extension from GC
-
01:07 AM Bug #21671 (Closed): Rails CI raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` with "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled
- Applied in changeset commit:git|3b588dab91f13b32b54cb1b9dedb9691e732c981.
----------
Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire
[Bug #21671] -
12:30 AM Bug #21671: Rails CI raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` with "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled
- I have a patch in https://github.com/ruby/ruby/pull/15101 that I'll merge shortly.
I believe this was an issue in at least Ruby 3.4 as well, need to test older versions. The root cause is that when certain fstrings were fed to IO#writ... -
01:06 AM Revision 3b588dab (git): Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire
- [Bug #21671]
-
12:22 AM Revision 7037d8f8 (git): [ruby/prism] Rename Ruby 3.5 to Ruby 4.0
- See https://github.com/ruby/ruby/commit/6d81969b475262aba251e99b518181bdf7c5a523
It leaves the old variant around. RuboCop for examples accesses `Prism::Translation::Parser35`
to test against ruby-head. For now I left these simply as an...
11/07/2025
-
10:46 PM Bug #21625: Allow IO#wait_readable together with IO#ungetc even in text mode
- ruby_3_4 commit:a7eba5453934e778c5911a4b69d9c3b8fdf31a23
-
10:45 PM Bug #21652: Marshal#dump documentation out-of-date/unclear regarding Data class
- ruby_3_4 commit:badb3600093ed5df2c64bc257b5cb3a149a88189
-
10:44 PM Bug #21638: Ractor-local `$DEBUG` is not marked
- ruby_3_4 commit:f2fd5b3bc23bce7527192057d4b4b11fa179170f
-
10:43 PM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- ruby_3_4 commit:3150a1d989d81089c7da7d0491321e370e71f482
-
08:57 PM Bug #21672 (Open): `IO::Buffer.new` does not check that flags are valid
- `IO::Buffer.new` has a `flags` argument that allows to override automatic decision between INTERNAL and MAPPED. As far as I understand, these modes are supposed to be exclusive, however in practice there is no check, and the user is free...
-
08:12 PM Revision a7c23b9a (git): [ruby/rubygems] Use Dir.pwd instead of Pathname.pwd
- https://github.com/ruby/rubygems/commit/6c161b253d
-
08:12 PM Revision 110f24c4 (git): [ruby/rubygems] Restore pathname for rake dev:deps
- https://github.com/ruby/rubygems/commit/89e95d0f15
-
08:12 PM Revision 2518aa91 (git): [ruby/rubygems] Replace Pathname#rmtree to FileUtils.rm_rf directly
- https://github.com/ruby/rubygems/commit/33c7a9a565
-
08:12 PM Revision 9767b310 (git): [ruby/rubygems] Removed unnecessary loading of pathname
- https://github.com/ruby/rubygems/commit/6e965b7872
-
08:12 PM Revision 4816969c (git): [ruby/rubygems] Replaced pathname auto-loading in bootstrap of bundler
- https://github.com/ruby/rubygems/commit/79ba4a537d
-
06:50 PM Revision f55421e8 (git): ZJIT: Add compilation for checkkeyword (#14764)
- <details>
<summary>Before</summary>
<br>
```
**ZJIT: Printing ZJIT statistics on exit***
Top-20 not inlined C methods (64.0% of total 3,683,424):
Kernel#is_a?: 427,127 (11.6%)
... -
05:34 PM Feature #21653: Unify Hash methods and preserving default/default_proc
- I just confirmed the behavior described on version 3.5.0dev, but for Hash#select. I'll check other methods to see which of them are not preserving `default` and `default_proc`
-
05:22 PM Feature #21653: Unify Hash methods and preserving default/default_proc
- I confirmed the behavior you described on version 3.2.4 while testing Hash#compact, but looks like it is already fixed on version 3.5.0dev (Although I did not checked the other methods you mentioned).
- 04:54 PM Revision 9bbe4b60 (git): ZJIT: Carve out IseqPayload into a separate module (#15098)
-
03:29 PM Revision ae60b0bf (git): Use DOT_WAIT for old GNU make [ci skip]
-
02:47 PM Revision a1366f21 (git): [Feature #19630] [DOC] News about removal of IO operation with `|`
-
02:46 PM Revision 201ed754 (git): Suppress sign-compare warnings
-
02:35 PM Revision a2201570 (git): Remove `rb_path_check` declaration
- Implementation was removed in https://github.com/ruby/ruby/commit/a4c051b870ac7f7b3c5482baf05600e1f6751b47
-
12:57 PM Revision 41865bb6 (git): Use `IO.popen` instead of `IO.foreach` with pipe
-
11:42 AM Revision 1f32464a (git): Update Bundler::CurrentRuby::ALL_RUBY_VERSIONS
-
11:42 AM Revision 996cae65 (git): Depricate IO operation with `|`
-
11:42 AM Revision f4e01783 (git): Prism update for 4.0
-
11:42 AM Revision a4c051b8 (git): Remove PATH check
-
11:07 AM Revision f3dd4bef (git): Skip removed test for JSON.deep_const_get
-
09:31 AM Bug #21671: Rails CI raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` with "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled
- The failure comes from `rb_intern3 -> sym_find_or_insert_static_symbol` (during Prism parsing).
cc @luke-gru and @jhawthorn, maybe this ring a bell? -
07:14 AM Bug #21671: Rails CI raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` with "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled
- I tried to identify which commit introduces this assertion failure but not found.
-
07:13 AM Bug #21671 (Closed): Rails CI raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` with "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled
- Recently Rails CI using "-DENABLE_PATH_CHECK=0 -DRUBY_DEBUG=1" enabled ruby raises `Assertion Failed: rbimpl_rstring_getmem:RB_TYPE_P(str, RUBY_T_STRING): actual type: 26` assertion failures.
https://buildkite.com/rails/rails-nightly/... - 09:07 AM Revision a00f425e (git): Update default gems list at a881f2a0f441bf6d06a68bf711ca81 [ci skip]
-
09:06 AM Revision a881f2a0 (git): [ruby/json] Release 2.16.0
- https://github.com/ruby/json/commit/5a12067f88
-
09:02 AM Revision cd8902cc (git): [ruby/json] Deprecate `JSON::State#[]` and `JSON::State#[]=`
- This prevent from freezing and sharing state instances.
If you needs some sort of arguments or extra state to the generator
methods, consider using `JSON::Coder` instead.
https://github.com/ruby/json/commit/e9fbc8937f -
08:46 AM Revision da6ba845 (git): [ruby/json] Get rid of JSON.deep_const_get (private API)
- https://github.com/ruby/json/commit/826cb2a4f4
-
08:32 AM Misc #21647: DevMeeting-2025-11-13
- * [Feature #21637] tracepoint: add support for global variables read/write events (viralpraxis)
* There seems to be no straightforward way to trace gvar reads/writes in runtime
* `Kernel.trace_var` only works when gvar name is know... -
07:41 AM Revision 6d81969b (git): Development of 4.0.0 started.
-
07:41 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I have attached a screenshot showing the problem. Notice in the stack trace on the bottom of the page that the method ` bmp::Bitmap::save(const std::filesystem::path & filename)` calls fclose but ends up calling the Ruby version! Not the...
-
06:48 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- In my case I created a Ruby extension based on https://github.com/baderouaich/BitmapPlusPlus. Every time I tried to save a bitmap though it was corrupted. I submitted a bug to the project - https://github.com/baderouaich/BitmapPlusPlus/i...
-
06:12 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I can't the exact cause how the problem occurs, maybe passing `FILE*` opened in other than Ruby to `rb_w32_fclose`?
usa (Usaku NAKAMURA) wrote in #note-7:
> I'm still a bit concerned about compatibility with existing extension libr... -
05:05 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- The universal crt was introduced by Microsoft in 2015 (https://learn.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-universal-crt?view=msvc-170) and Ruby for Windows has used it since Ruby 3.1 in 2021 (https://rubyinstaller.org...
- 04:14 AM Revision aaf1f53d (git): Follow renaming from Namespace to Ruby::Box
- 04:14 AM Revision 8ebeb751 (git): Update Ruby Box document, delete problems/discussions already resolved
- 04:14 AM Revision 49c0502f (git): Apply renaming to Ruby::Box in test codes
- 04:14 AM Revision 19d4663d (git): Use RUBY_BOX environment variable instead of RUBY_NAMESPACE
- 04:14 AM Revision ccad753c (git): Re-rename files wrongly renamed
- 04:14 AM Revision c4691ef0 (git): Rename Namespace to Ruby::Box
- 04:14 AM Revision 95a110a9 (git): Define ::Ruby module earlier to define classes under it
- 04:14 AM Revision d2a587c7 (git): renaming internal data structures and functions from namespace to box
- 04:14 AM Revision aaa12347 (git): update referenced filenames from namespace to box
- 04:14 AM Revision 50b9d9d3 (git): rename namespace.c (and others) to box.c
- 04:14 AM Revision f19b29d1 (git): Add namespace tests about global variables, toplevel methods
11/06/2025
-
11:49 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- @alanwu
I'm still a bit concerned about compatibility with existing extension libraries, but with Ruby4 about to be released, it might be a good time to make the change. So, I'm not opposed to it this time. -
07:38 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Thanks @alanwu. I added comments to the commit in Github, but copying here:
This MR will result in the Ruby dll exporting the symbol _fclose instead of fclose. The exporting happens here:
https://github.com/ruby/ruby/blob/c6c92bdce3ad2... -
03:51 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Recent C runtimes on Windows have C99 compliant fclose(), and I think overriding it and breaks otherwise standard-compliant extensions. Removing the fclose() override passes CI, at least. <https://github.com/ruby/ruby/pull/15073>
@usa W... -
11:46 PM Revision cf4a034d (git): Use rb_set_memsize for constant cache tables
- These were converted to a set in
c0417bd094abcc68be913ce49a430df7cefbcd44 - 10:14 PM Revision 844132ae (git): ZJIT: Remove obsolete register spill counters (#15089)
- 10:14 PM Revision 93430176 (git): ZJIT: Fix an incomplete comment (#15088)
- 09:32 PM Revision 2998c8d6 (git): ns_subclasses refcount accesses need to be atomic (#15083)
- We were seeing errors like:
```
* thread #8, stop reason = EXC_BAD_ACCESS (code=1, address=0x803)
* frame #0: 0x00000001001fe944 ruby`rb_st_lookup(tab=0x00000000000007fb, key=1, value=0x00000001305b7490) at st.c:1066:22
frame #1: ... -
08:07 PM Revision 38d31dc4 (git): ZJIT: Untag block handler (#15085)
- Storing the tagged block handler in profiles is not GC-safe (nice catch,
Kokubun). Store the untagged block handler instead.
Fix bug in https://github.com/ruby/ruby/pull/15051 - 06:50 PM Revision c6c92bdc (git): zjit-macos.yml: Unset MAKEFLAGS before ruby-bench (#15084)
-
06:25 PM Revision a7eba545 (git): [Backport #21625] Allow io/wait methods with `IO#ungetc` in text mode
-
06:25 PM Revision 3150a1d9 (git): [Backport #13671] Fix that "ss" in look-behind causes syntax error
- Fixes k-takata/Onigmo#92.
This fix was ported from oniguruma:
https://github.com/kkos/oniguruma/commit/257082dac8c6019198b56324012f0bd1830ff4ba
https://github.com/k-takata/Onigmo/commit/b1a5445fbeba97b3e94a733c2ce11c033453af73 -
06:24 PM Revision badb3600 (git): merge revision(s) d17ce4bd05dc05d48f5f4bc75171fcebda1678ed: [Backport #21652]
- [PATCH] [Bug #21652] [DOC] Update unmarshalable object list
The `Data` mentioned here was the old `T_DATA` class, not the current
extended `Struct`. -
06:23 PM Revision f2fd5b3b (git): [Backport #21638] Mark ractor-local `$VERBOSE` and `$DEBUG`
- https://github.com/sampersand/blog/blob/master/the%20-s%20flag.md#the-segfault
- 06:21 PM Revision ff6c728a (git): ZJIT: Restore dropped_bytes after temporary OOM (#15069)
-
06:18 PM Bug #21667: CVE-2024-12224
- Excellent news, glad to see the patch progressing.
How quickly can we release new versions of Ruby to include this patch? -
04:20 PM Bug #21667 (Closed): CVE-2024-12224
- https://rustsec.org/advisories/RUSTSEC-2024-0421.html
This seems to be from MMTk depending on the `idna` crate. MMTk is experimental and requires a separate build step, so ruby-build probably doesn't even build it.
In any case, we ... -
02:25 PM Bug #21667: CVE-2024-12224
- Wiz reports a servo/rust-url package. Curious if Ruby is using this package strictly at the point in time when the Ruby language is being compiled, possibly even an integration test suite. Or perhaps servo ends up as a portion of the Rub...
-
03:23 AM Bug #21667 (Feedback): CVE-2024-12224
- What version of ruby were you building? Does Wiz point to some file that this is about?
-
06:01 PM Feature #21665: Revisit Object#deep_freeze to support non-Ractor use cases
- Was it considered keep `make_shareable` name, but port it outside of `Ractor` class to make it independent of the "sharing" implementation and useful for JRuby and others?
-
03:26 PM Feature #21665: Revisit Object#deep_freeze to support non-Ractor use cases
- I really think the naming scheme should clearly distinguish between regular objects from classes/modules.
Freezing modules/classes should be separated into their own ad-hoc methods, since you can break a lot of existing code if you free... -
05:40 PM Revision 1cca3efa (git): ZJIT: Use interpreter inline cache in setinstancevariable (#14925)
- We have both `SetIvar` and `SetInstanceVariable`. The former is a purely
dynamic fallback that we can inline `attr_accessor`/`attr_writer` into,
whereas the latter comes straight from the interpreter's
`setinstancevariable` opcode. -
04:19 PM Revision f7e7443a (git): Adjust OpenSSL specs for digest algorithm lookup
- https://github.com/ruby/openssl/pull/958 changed the common logic for
digest algorithm lookup:
- If the argument is neither an OpenSSL::Digest instance nor a String,
it is now implicitly converted to String with #to_str. This is
... -
04:04 PM Misc #21647: DevMeeting-2025-11-13
- * [Bug #21498] Windows - Ruby Overrides C Library APIs thus breaking them (alanwu)
* TL;DR linking with ruby.dll overrides some libc symbols on Windows
* The ticket proposes to stop all overrides, is that acceptable?
* If not, r... -
10:45 AM Misc #21647: DevMeeting-2025-11-13
- * [Bug #20409] Missing reporting some invalid breaks (kddnewton)
* The main point of the issue is already resolved in both parsers
* `END { break }` is not a syntax error in any parser
* Any reason not to treat `END { break }` the ... -
03:20 PM Bug #21660: No-parentheses endless method definition that has parameter destructuring is wrongly accepted in Prism
- Fixed with https://github.com/ruby/ruby/commit/d73eba51853fde74624984b3063bd648b664e3e3
-
02:44 PM Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
- Okay, lgamma testsuite now seems good after applying https://github.com/ruby/ruby/pull/15076 with Fedora glibc-2.42.9000-8.fc44
-
01:55 PM Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
- To be sure, I will try building and run test with Fedora glibc-2.42.9000-8.fc44 (after applying the above PR)
-
01:36 PM Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
- > https://github.com/ruby/ruby/compare/master...nobu:ruby:lgamma-unspecified-values?expand=1
Thank you. I've checked the above change and as far as I read the specification (POSIX) this is correct. -
11:25 AM Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
- Is this correct?
https://github.com/ruby/ruby/compare/master...nobu:ruby:lgamma-unspecified-values?expand=1 -
01:40 PM Revision 87ae631b (git): [ruby/openssl] pkey/rsa: fix usage of eRSAError
- This is a follow-up to commit https://github.com/ruby/openssl/commit/e74ff3e2722f, which missed the line added
in a different PR.
https://github.com/ruby/openssl/commit/1b01d19456 -
01:33 PM Revision 16b1aa4e (git): [ruby/openssl] pkey: unify error classes into PKeyError
- Remove the following subclasses of OpenSSL::PKey::PKeyError and make
them aliases of it.
- OpenSSL::PKey::DHError
- OpenSSL::PKey::DSAError
- OpenSSL::PKey::ECError
- OpenSSL::PKey::RSAError
Historically, methods defined on OpenSSL... -
01:31 PM Revision d73eba51 (git): [ruby/prism] Reject `def f a, (b) = 1`
- Fixes [#Bug 21660], followup to https://github.com/ruby/prism/pull/3674
https://github.com/ruby/prism/commit/fb445a49e5
Co-Authored-By: tomoya ishida <[email protected]> -
01:25 PM Revision 57aaf86b (git): [ruby/openssl] cipher: use EVP_CIPHER_fetch() if available
- Likewise, use EVP_MD_fetch() if it is available.
This adds support for AES-GCM-SIV with OpenSSL 3.2 or later.
https://github.com/ruby/openssl/commit/0e565a215e -
01:25 PM Revision 10d2311e (git): [ruby/openssl] digest: use EVP_MD_fetch() if available
- With the introduction of OpenSSL 3 providers, newly implemented
algorithms do not necessarily have a corresponding NID assigned. To use
such an algorithm, it has to be "fetched" from providers using the new
EVP_*_fetch() functions.
For ... -
01:25 PM Revision 26751e40 (git): [ruby/openssl] cipher: raise CipherError for unsupported algorithm name
- Raise OpenSSL::Cipher::CipherError instead of ArgumentError or
RuntimeError for consistency.
https://github.com/ruby/openssl/commit/78601c9c34 -
01:25 PM Revision 18ab5023 (git): [ruby/openssl] digest: raise DigestError for unsupported algorithm name
- We generally raise OpenSSL::OpenSSLError or its subclass for errors
originating from the OpenSSL library, which may include extra details
appended by ossl_raise().
https://github.com/ruby/openssl/commit/9427a05ce5 -
01:25 PM Revision 2612915c (git): [ruby/openssl] digest: refactor tests for name aliases
- Use explicit strings instead of relying on OpenSSL::ASN1::ObjectId
methods. It is reduced to just SHA-256 because testing other algorithms
does not improve test coverage for ruby/openssl.
https://github.com/ruby/openssl/commit/dcfd2e7b97 -
01:21 PM Bug #21669: Thoroughly implement void value expression check
- I agree with @mame — I think it is valuable, especially when it will be consistent. Happy to implement this change in prism.
-
11:09 AM Revision 89056f4a (git): [DOC] Stop documentation for internals
- Stop documentation for undocumented private constants and private
class methods. And align private method definition styles.
Also `Socket.tcp_with_fast_fallback` looks private as well as
`Socket.tcp_without_fast_fallback`. -
11:09 AM Revision 8c95c9d5 (git): Dispatch by platform at load
- `RUBY_PLATFORM` should be invariant within the same process.
-
10:46 AM Bug #20409: Missing reporting some invalid breaks
- I added it to the dev meeting and implemented it in https://github.com/ruby/prism/pull/3707
-
03:47 AM Bug #21644: Stack consistency error for the `newrange` INSN peephole optimization with chilled string
- Backport for 3.4 done in commit:5d2a244bfd844be3a94670ddcb509fb5a6b4e847
-
03:31 AM Revision 6014ed99 (git): Remove dead rb_hash_dump
-
02:08 AM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- > introduce language standard versioning, that would make it clear both Ruby 3.4 and Ruby 4.0 are implementing same language standard
Maybe they are but that is not the only important thing. Current news list a bunch of default gems tha... -
01:29 AM Revision 00c9a21c (git): [DOC] Update glossary (#15070)
11/05/2025
-
10:35 PM Bug #21670 (Closed): 3.4.5 crashing with "try to mark T_NONE object"
- I don't believe 21021 is related, "try to mark T_NONE object" is a general symptom of missing a write barrier.
This does show a crash when marking the M_TBL so I would expect this to be fixed by https://github.com/ruby/ruby/commit/502... -
10:28 PM Bug #21670: 3.4.5 crashing with "try to mark T_NONE object"
- nrodriguez (Nicolas Rodriguez) wrote in #note-2:
> @byroot https://bugs.ruby-lang.org/issues/21021
I don't know if #21021 is the same underlying issue. This instance occurs both with and without YJIT enabled on 3.4.5, and it looks li... -
09:10 PM Bug #21670: 3.4.5 crashing with "try to mark T_NONE object"
- @byroot https://bugs.ruby-lang.org/issues/21021
-
03:56 PM Bug #21670: 3.4.5 crashing with "try to mark T_NONE object"
- It's in `mark_method_entry_i`, which rings a bell. @jhawthorn didn't you fix that one?
@esaron please try the latest patch release: 3.4.7, your issue looks a lot like a missing write barrier issue and John fixed many of them in 3.4.7:... -
03:00 PM Bug #21670 (Closed): 3.4.5 crashing with "try to mark T_NONE object"
- We're experiencing a large number of crashes while running tests in CI on Ubuntu 22.04 runners. It is inconsistent, and we cannot reproduce reliably, although when the crash happens it appears to always happen in the same place, even if ...
-
10:11 PM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- ufuk (Ufuk Kayserilioglu) wrote in #note-18:
> retro (Josef Šimánek) wrote in #note-17:
> ...
@ufuk Sure, I'm aware of and I do fully respect this. Ruby itself is not simple to version, since next to the language (having amazing backwa... -
08:03 PM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- I don't personally have a strong opinion about jumping to 4.0 purely for symbolic reasons, but if it's going to happen, it seems clear the community needs to know right now so we can start dealing with these issues.
JRuby made a leap ... -
06:17 PM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- retro (Josef Šimánek) wrote in #note-17:
> @mame so why to release 4.0 if not causing major breaking changes?
Quoting [my answer to this](https://bugs.ruby-lang.org/issues/21657#note-3) from above:
> ... that is completely a decisio... -
05:01 PM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- @mame so why to release 4.0 if not causing major breaking changes?
-
03:34 PM Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
- Just adding my two cents to the off-topic discussion.
I honestly feel that the `~>` constraint was a terrible idea. It's going to be a huge pain when Ruby 4.0 is released (at the end of this year, perhaps?), and all the gems locked to... -
08:01 PM Revision 02267417 (git): ZJIT: Profile specific objects for invokeblock (#15051)
- I made a special kind of `ProfiledType` that looks at specific objects, not just their classes/shapes (https://github.com/ruby/ruby/pull/15051). Then I profiled some of our benchmarks.
For lobsters:
```
Top-6 invokeblock handler (100.0... -
07:08 PM Revision 4f56abbb (git): ZJIT: Don't side-exit on VM_CALL_KWARG just SendWithoutBlock (#15065)
- 06:44 PM Revision bf0331b9 (git): ZJIT: Add zjit_alloc_bytes and total_mem_bytes stats (#15059)
-
06:30 PM Revision d327eb60 (git): ZJIT: Track guard shape exit ratio (#15052)
- new ZJIT stats excerpt from liquid-runtime:
```
vm_read_from_parent_iseq_local_count: 10,909,753
guard_type_count: 45,109,441
guard_type_exit_ratio: 4.3%
guard... -
06:28 PM Revision df290e11 (git): Skip an unstable IO test for mswin
- https://github.com/ruby/ruby/actions/runs/19107764906/job/54596244201
-
06:25 PM Revision 242d8edb (git): Extend timeout for unstable tests
- https://github.com/ruby/ruby/actions/runs/19111531630/job/54609629054
- 06:01 PM Revision 7334244e (git): [ruby/erb] Fix tag shown in example of ERB expression tag and
- execution tag
(https://github.com/ruby/erb/pull/92)
These were the wrong way around.
https://github.com/ruby/erb/commit/50a5cd76fe - 05:57 PM Revision d3d2357a (git): ZJIT: Run ruby-bench CI for macOS arm64 as well (#15040)
-
05:42 PM
Bug #21664 (Closed): Segfault when running Ractor tests in the same process
- Applied in changeset commit:git|54907db8f3daa6d096e78e7eb78e515842c47789.
----------
Fix ractor move of object with generic ivars (#15056)
This bug was happening only when the `id2ref` table exists. We need
to replace the generic field... - 05:42 PM Revision 54907db8 (git): Fix ractor move of object with generic ivars (#15056)
- This bug was happening only when the `id2ref` table exists. We need
to replace the generic fields before replacing the object id of the
newly moved object.
Fixes [Bug #21664] - 03:36 PM Revision 57040636 (git): Update bundled gems list as of 2025-11-05
-
03:35 PM Revision af6a6a2a (git): Update power_assert to 3.0.1
-
03:13 PM Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
- Fun C topic!
wsfulton (William Fulton) wrote in #note-8:
> A more conventional way for default aggregate initialisation is
> ...
Unfortunately, that empty initializer is a violation of the C99 language specification. You can confir... -
07:53 AM Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
- I thought it was UB in c++98, but have just checked the standard and I have this wrong as the missing members are indeed default initialized.
A more conventional way for default aggregate initialisation is
```c++
struct RSt... -
02:45 PM Bug #21669: Thoroughly implement void value expression check
- Eregon (Benoit Daloze) wrote in #note-1:
> This check is getting more and more complicated and I wonder of the value of having it.
IMO, the current is indeed complicated because it is inconsistent. I think the new behavior is consist... -
01:54 PM Bug #21669: Thoroughly implement void value expression check
- In prism, that whole check fits in about 130 lines: https://github.com/ruby/prism/blob/2ecd49dfeea1d0b00c3af609be82dd488d25c7f3/src/prism.c#L1027-L1166. Looking at that function, probably it would not be very difficult for prism to suppo...
-
01:33 PM Bug #21669: Thoroughly implement void value expression check
- The whole concept of "void value expression" is also weird in Ruby, where every expression/statement has a value, so I think it feels like something that doesn't belong to Ruby.
It probably only triggers for pretty broken code, and ev... -
01:28 PM Bug #21669: Thoroughly implement void value expression check
- This check is getting more and more complicated and I wonder of the value of having it.
In my opinion there is little value of have this check, so given the complexity and the cost to check it (needs extra traversals of potentially larg... -
11:08 AM Bug #21669 (Open): Thoroughly implement void value expression check
- A void-value-expression check is a syntax check that raises a `SyntaxError` if an expression that cannot grammatically return a value (a "void value expression," such as a `return` expression) appears in a context where a value is expect...
-
02:14 PM Feature #21665: Revisit Object#deep_freeze to support non-Ractor use cases
- +1 from me.
We see [a lot of](https://github.com/search?q=Ractor.make_shareable+language%3ARuby&type=code&l=Ruby):
```ruby
CONST = [...]
Ractor.make_shareable(CONST) if defined?(Ractor)
```
in gems, but that should really be:
``... -
10:35 AM Revision 946d2d03 (git): Suppressing unused warnings
-
10:07 AM Revision ae7415c2 (git): [ruby/strscan] [DOC] no doc for internal methods
- https://github.com/ruby/strscan/commit/5614095d9c
-
07:17 AM Revision 439ca043 (git): [ruby/strscan] Deprecate constant `Id`
- `$Id$` is for RCS, CVS, and SVN; no information with GIT.
https://github.com/ruby/strscan/commit/9e3db14fa2 -
07:06 AM Revision 27b1500e (git): [ruby/strscan] [DOC] Add document of StringScanner::Error
- https://github.com/ruby/strscan/commit/16ec901356
-
06:46 AM Revision 2172057f (git): Use Ruby 3.4 for sync_default_gems.rb
- ```
tool/sync_default_gems.rb:177:in `block in <module:SyncDefaultGems>': undefined local variable or method `it' for SyncDefaultGems:Module (NameError)
it.exclude << "lib/open3/jruby_windows.rb"
^^
from <internal:ke... -
06:11 AM Bug #21668: Backport 6cc66469a007d2fb272397e5e27c20b4ce628f5e
- ruby_3_4 commit:c26a2b12e1f7f0779f2e86f59a405b1913cf72c8 merged revision(s) commit:377aa2a336cc700485c699ac49330f2a58b74906.
-
06:02 AM Bug #21668 (Closed): Backport 6cc66469a007d2fb272397e5e27c20b4ce628f5e
- Improves micro-benchmark of UnicodeNormalize
https://github.com/ruby/ruby/pull/14494
~~~ruby
100000.times{UnicodeNormalize.canonical_ordering_one("s\u0307\u0323")}
# 0.107795s → 0.067496s
~~~
-
06:10 AM Revision c26a2b12 (git): merge revision(s) 377aa2a336cc700485c699ac49330f2a58b74906: [Backport #21668]
- [PATCH] Improve performance of UnicodeNormalize.canonical_ordering_one
Use array_of_integer.sort! instead of buble-sort-like algorithm -
06:01 AM Revision f979ef1f (git): sync_default_gems.rb: gracefully handle merge commits
- Find interesting commits by following parents instead of relying on
"git log".
If we encounter a merge commit that may contain a conflict resolution,
fall back to cherry-picking the merge commit as a whole rather than
replaying each ind... -
06:01 AM Revision 85e0f8c8 (git): sync_default_gems.rb: update paths and then do cherry-pick
- Currently, we try to git cherry-pick the upstream commit and then
resolve merge conflicts in the working tree with the help of Git's
rename detection. By the nature of heuristics, it does not work reliably
when the upstream adds or remov... -
06:01 AM Revision b722631b (git): sync_default_gems.rb: use declarative mapping rules
- No behavior change is intended by this change.
-
06:01 AM Revision 348adb8f (git): sync_default_gems.rb: simplify rewriting commit message
- Use "git commit --amend" instead of "git filter-branch" since we only
need to handle one commit at HEAD. -
06:01 AM Revision 26cb69f7 (git): sync_default_gems.rb: fix release check on case-sensitive filesystems
- This fixes it for the English gem.
-
05:52 AM Revision f8d12911 (git): Support passing a #to_str object to Pathname.new for compatibility
- * See https://github.com/ruby/pathname/pull/57#issuecomment-3485646510
-
05:13 AM Revision f8e9bccd (git): [ruby/strscan] Deprecate undocumented toplevel constant `ScanError`
- https://github.com/ruby/strscan/commit/b4ddc3a2a6
-
04:54 AM Revision c85ef2ca (git): [ruby/strscan] ISO C90 forbids mixed declarations and code
- Cannot use C99 syntax, as far as supporting Ruby 2.6 and earlier.
https://github.com/ruby/strscan/commit/f6d178fda5 -
04:53 AM Revision 49b06f40 (git): Use the exception class mentioned in the doc
- Instead of an undocumented constant.
-
04:33 AM Feature #20564 (Closed): Switch default parser to Prism
-
04:08 AM Revision 53f1fc25 (git): ZJIT: Allow Store with 8-bit Opnd::Mem
-
04:08 AM Revision d43533a9 (git): ZJIT: Split LShift in arm64_scratch_split
-
03:57 AM Revision b919eb56 (git): ZJIT: Count caller side features for `complex_arg_pass`
- After 34b0ac68b31, we use a fallback instead of side exit for splats.
Count splats under `send_fallback_one_or_more_complex_arg_pass`. -
03:57 AM Revision 9cfe949d (git): ZJIT: Fallback counter rename: s/fancy/complex/
- Kokubun bought up that "complex" is a more fitting name for what these
counters count. Thanks!
Also:
- make the SendFallbackReason enum name consistent with the counter name
- rewrite the printout prompt in zjit.rb - 02:36 AM Revision 033ba3c8 (git): Don't run global variable hook functions with VM lock held (#15053)
- We can't run arbitrary ruby code with the VM lock held.
-
02:03 AM Revision 13f1b432 (git): [ruby/strscan] [DOC] Remove the statement `rest?` is obsolete
- `eos?` is opposite, cannot be used instead of `rest?`.
https://github.com/ruby/strscan/commit/bee8cc547b -
12:09 AM Revision d24bb1e7 (git): [ruby/stringio] [DOC] Tweaks for StringIO#string=
- (https://github.com/ruby/stringio/pull/172)
https://github.com/ruby/stringio/commit/17ae4daf9a - 12:09 AM Revision bd3b44cb (git): ZJIT: Use a shared trampoline across all ISEQs (#15042)
-
12:09 AM Revision be905b2e (git): [ruby/stringio] [DOC] Tweaks for StringIO#flush
- (https://github.com/ruby/stringio/pull/169)
https://github.com/ruby/stringio/commit/bef6541b55 -
12:08 AM Revision 00b5b3c5 (git): [ruby/stringio] [DOC] Tweaks for StringIO#isatty
- (https://github.com/ruby/stringio/pull/167)
https://github.com/ruby/stringio/commit/94303ace95 -
12:05 AM Revision d5acffba (git): [ruby/stringio] [DOC] Tweaks for StringIO#fsync
- (https://github.com/ruby/stringio/pull/170)
https://github.com/ruby/stringio/commit/da338d7e5d -
12:05 AM Revision e22d9aba (git): [ruby/stringio] [DOC] Tweaks for StringIO#fileno
- (https://github.com/ruby/stringio/pull/168)
https://github.com/ruby/stringio/commit/9f10c7ae86 -
12:03 AM Revision 9c0f2729 (git): [ruby/stringio] [DOC] Tweaks for StringIO#internal_encoding
- (https://github.com/ruby/stringio/pull/166)
https://github.com/ruby/stringio/commit/5eeb61df34