Activity
From 04/14/2026 to 04/20/2026
Today
- 12:23 AM Revision 7ecca26f (git): [Tests] Add test cases for String#getbyte and String#setbyte
- Cover behavior documented in rdoc but not asserted in test/ruby/test_string.rb:
* getbyte: negative index, out-of-range (positive and negative), empty string.
* setbyte: return value, negative index, out-of-range (positive and negative)...
04/19/2026
- 07:19 AM Revision f3931808 (git): [DOC] Update bundled gems list at 1a171d75dfd9dda2439cc5306afd29
- 07:11 AM Revision 1a171d75 (git): Update bundled gems list as of 2026-04-19
-
02:14 AM Revision 8f02f644 (git): [ruby/json] Use RB_ENC_CODERANGE to first check the cached coderange before calling rb_enc_str_coderange if the coderange is unknown.
- https://github.com/ruby/json/commit/4ef7a45654
04/18/2026
-
11:21 PM Bug #22007: Inconsistent type checking on rescue
- byroot (Jean Boussier) wrote in #note-8:
> I suspect removing that limitation wouldn't prevent JITs from optimizing the overwhelming majority of `rescue` statements as they'd still only list one of a few classes.
Well, it wouldn't be... -
08:59 PM Bug #22007: Inconsistent type checking on rescue
- Eregon (Benoit Daloze) wrote in #note-2:
> I think any expression should be allowed and just call `===` on them.
Agreed. To me `rescue` is just a shorthand for `rescue e; case e; when ` but that is strangely limited.
I suspect rem... -
12:08 AM Bug #22007: Inconsistent type checking on rescue
- We can't change this without breaking user code. Things like
```
irb(main):003> def resolve; SyntaxError; end
=> :resolve
irb(main):004> begin; raise SyntaxError, 'lol'; rescue resolve; end
=> nil
irb(main):005> begin; raise Argu... -
10:32 PM Feature #21962: Add deep_freeze for recursive freezing
- I don't have a strong opinion here, but one argument I could see for inclusion in core is to optimize frozen constants, e.g.
```ruby
SCHEMA = [
{ type: :foo, tags: ["a", "b"] },
{ type: :bar, tags: ["c", "d"] },
...
].deep_... - 09:07 PM Revision 699c13ee (git): Update default gems list at 7ba005099bd6326ef218ac7afe1d17 [ci skip]
-
09:06 PM Revision 7ba00509 (git): [ruby/json] Release 2.19.4
- https://github.com/ruby/json/commit/6688a814bf
- 11:09 AM Revision 3803204f (git): [ruby/json] Fix references to NAN and INFINITY in documentation comments
- https://github.com/ruby/json/commit/f1e6163ee1
-
07:36 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- I can help maintaining these no primary maintainer gems as a member of "Legacy Gems Maintenance Team".
- 07:09 AM Revision 52a80bb9 (git): [DOC] Update bundled gems list at d6c68b65ee1f0d704b33dac527317f
-
04:29 AM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
- Eregon (Benoit Daloze) wrote in #note-7:
> We can easily compute the end of heredoc if the API returns `}`
How do you determine whether a block contains a heredoc? Consider:
- `{ <<X }`: heredoc
- `{ x<<X }`: shift operator
- `{... -
03:54 AM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
- Eregon (Benoit Daloze) wrote in #note-7:
> For the start position I think either is fine.
> ...
The `proc` part is irrelevant to the source of the block, and is only a method call receiver for a block argument. We wouldn't include any ...
04/17/2026
-
11:28 PM Bug #22007: Inconsistent type checking on rescue
- zenspider (Ryan Davis) wrote in #note-5:
> so what should `rescue /regexp/` do?
It would do `/regexp/ === exception`, which is not useful but consistent.
The `assert_raises` example is interesting, I recall https://github.com/test... -
09:56 PM Bug #22007: Inconsistent type checking on rescue
- Eregon (Benoit Daloze) wrote in #note-2:
> I think a better fix, related to this issue, would be to stop checking the class of rescue clauses, I think any expression should be allowed and just call `===` on them.
> ...
so what should `... -
09:54 PM Bug #22007: Inconsistent type checking on rescue
- The actual place where this showed up is in `assert_raises(*exp)` (edited for succinctness):
```ruby
def assert_raises *exp
msg = "#{exp.pop}.\n" if String === exp.last
exp << StandardError if exp.empty?
be... -
09:39 PM Bug #22007: Inconsistent type checking on rescue
- I think the better fix would be to reject literal types that are clearly not going to match. Ideally, the only cases that should be admitted to a rescue would be constant accesses, or other expressions that could potentially resolve a ty...
-
09:01 PM Bug #22007: Inconsistent type checking on rescue
- I think a better fix, related to this issue, would be to stop checking the class of rescue clauses, I think any expression should be allowed and just call `===` on them.
So one could do e.g.:
```ruby
begin
raise "nope"
rescue ->... -
08:59 PM Bug #22007: Inconsistent type checking on rescue
- The reason is `rescue` clauses are evaluated lazily, and stop at the first matching one.
I believe this is by design for efficiency.
Evaluating every `rescue` clause when not necessary would be some overhead and have potentially unwant... -
08:38 PM Bug #22007 (Open): Inconsistent type checking on rescue
- this works fine (but I don't think it should):
```ruby
begin
raise "nope"
rescue RuntimeError, /why am I allowed?/, "or me?" => e
# yay
end
```
whereas this version shows a type error, which seems right:
```ruby
begin
be... - 10:48 PM Revision d6c68b65 (git): Bump yard
- Bumps the bundler group with 1 update in the /spec/bundler/realworld/fixtures/tapioca directory: [yard](https://yardoc.org).
Updates `yard` from 0.9.37 to 0.9.42
---
updated-dependencies:
- dependency-name: yard
dependency-version: ... -
08:49 PM Feature #21963: A solution to completely avoid allocated-but-uninitialized objects
- Thank you for reviewing this ticket.
I agree with both points.
I thought it would be nice-to-have to also have this for classes defined in Ruby but as you say the worst case is NoMethodError, and the specifics of the proposal are mostly... -
06:00 AM Feature #21963: A solution to completely avoid allocated-but-uninitialized objects
- Two comments on this proposal.
First, I am not fond of exposing this as a Ruby-level opt-in (Class#safe_initialization). The classes that actually benefit are C-implemented ones, where uninitialized state can cause segfaults. Pure Rub... -
08:24 PM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
- For the start position I think either is fine.
I think from the `p` of `proc` is more useful because it gives extra context to what the block is given (a block can't exist on its own, it's always part of something bigger syntax-wise).
... -
02:39 PM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
- @matz What should the following return?
```ruby
f = proc { <<END }
xxx
END
f.source_range #=> Start position: from the `p` of `proc`? Or from the `{`?
#=> End position: up to the `}`? Or up to the `D` of `END`?
... -
02:05 PM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
- Thank you for the proposal. Introducing a new method rather than extending `source_location` is the right direction, given the compatibility issues we hit.
I approve the shape of this feature, including:
- The class name `Ruby::Sou... -
06:30 PM Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
- Yeah I think that'd be fine! To be honest I never ever knew these APIs existed, I've been researching the GC and that's how I found it, so I suspect they might not be very common?
-
05:50 PM Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
- Oh yeah, thanks. There's even a helpful comment for it. I think changing `rb_gc_update_tbl_refs` to only move values probably makes sense. We could add something like `rb_mark_hash_nopin_values` where it marks values for moving but pins ...
-
05:12 PM Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
- I guess objects that get a finalizer don't move -- e.g. `gc_is_moveable_obj` ==> `FALSE` so that's what made the finalizer table never be affected by this detail.
- 04:56 PM Revision fb38a1c5 (git): [ruby/openssl] pkey: fix memory leak when derived key is too large
- Unlikely to happen in practice, but mirrors other similar checks that
also free the context.
https://github.com/ruby/openssl/commit/fd28a16519 -
04:31 PM Misc #22006: Usage of deprecated input in gem sync workflows
- Again, I was not sure what you were proposing from reading your description, but I think we could define a shared action that just calls "Create GitHub App token" and "Sync to ruby/ruby". We still have to make sure credentials are availa...
-
08:43 AM Misc #22006 (Closed): Usage of deprecated input in gem sync workflows
- I guess maybe the appid needs to change some day, or the wait for workflow breaks (unlikely in the near future). I just thought it could be nice to have that all bundled in a central place.
Anyways, I'm not the one that does all the u... -
11:41 AM Feature #21962: Add deep_freeze for recursive freezing
- matz (Yukihiro Matsumoto) wrote in #note-4:
> `Ractor.make_shareable` does more than deep freezing and exists for Ractor. Its presence does not by itself justify `deep_freeze` in core.
But deep freezing is the most visible effect, an... -
04:54 AM Feature #21962: Add deep_freeze for recursive freezing
- `Ractor.make_shareable` does more than deep freezing and exists for Ractor. Its presence does not by itself justify `deep_freeze` in core.
In my opinion, deep freezing is a rare need in practice, and the `ice_nine` gem seems to cover ... -
11:28 AM Revision 11e3c78b (git): [ruby/rubygems] Fix installing gems with native extensions + transitive dependencies
- I am seeing the following error during bundle install:
```
Gem::MissingSpecError: Could not find 'ffi' (>= 1.15.5) among 48 total gem(s) (Gem::MissingSpecError)
```
This is reproducible with:
```ruby
source 'https://rubygems.org'
gem... -
10:00 AM Revision 27af8317 (git): Fix timeout_scale= call to use the correct receiver
- * See https://github.com/ruby/test-unit-ruby-core/pull/23
-
09:11 AM Misc #21922 (Assigned): Permissions for committers for ex-default/bundled/unbundled gems repositories
- The comment in https://bugs.ruby-lang.org/issues/21922#note-4 accurately reflects the current status for the most part. However, to be more precise: historically, Ruby committers could freely merge changes (such as misc/doc or bug fixes)...
-
07:15 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- I'd like to suggest we settle the design before changing the permissions.
Specifically:
1. The current policy around default/bundled/unbundled gems should be written down. `doc/maintainers.md` is outdated, and until it's updated, d... -
07:34 AM Revision 509b0e4d (git): Fixed the wrong dev version of strscan
-
07:32 AM Revision 88f18fde (git): Update with the correct versions from Ruby 4.0.0 release
-
07:22 AM Misc #22005: Missing information about CVE on cve.org
- One more question. What is the process with H1 disclosure? Because to me it seems that the H1 report is still private despite being referenced in the GHSA
-
07:08 AM Misc #22005: Missing information about CVE on cve.org
- Thanks. I appreciate that đ
-
02:26 AM Misc #22005 (Closed): Missing information about CVE on cve.org
- I published https://github.com/ruby/zlib/security/advisories/GHSA-g857-hhfv-j68w yesterday.
After that, https://www.cve.org/CVERecord?id=CVE-2026-27820 is available now.
It seems that CVEs issued from GitHub are not published on cve.o... -
07:18 AM Bug #20409: Missing reporting some invalid breaks
- Yes, it is OK to make it `SyntaxError`.
Matz.
-
07:13 AM Revision 6c5f1225 (git): Generate sub-bullets for RubyGems and bundler
- RubyGems and bundler were skipped outright in collect_gem_updates, so
NEWS.md never picked up the rubygems/rubygems releases shipped between
the X.Y.0 baseline and the in-development X.(Y+1).0.dev. Wire them
through resolve_repo (RubyGem... -
07:04 AM Revision 9d6deeba (git): Use the X.Y.0 release as the gem-version baseline
- stdgems.org's "X.Y" key tracks the latest 4.0.x patch level, so once a
gem gets bumped in a Ruby patch release the diff baseline shifts forward
and history that should appear in NEWS.md for the next minor disappears.
Prefer the explicit ... -
07:00 AM Revision c45dddeb (git): Tidy up NEWS.md updater leftovers
- * Drop the bundler- tag-prefix handling from fetch_release_range,
collect_gem_updates, and format_release_diff. collect_gem_updates skips
the bundler gem before any of these run, so the special-case prefix
stripping never had a cha... -
06:54 AM Revision 17506269 (git): Extract sub-bullet formatting into format_release_diff
- The " * 1.2.3 to [v1.2.4][gem-v1.2.4], ..." sub-bullet was assembled in
two places with the same expression. Pull it into a single helper so the
formatting and the bundler-prefix stripping live in one spot.
Co-Authored-By: Claude Opus ... -
06:51 AM Revision 28852145 (git): Read current gem versions from repo state instead of NEWS.md
- The "to" side of the diff used to come from parsing NEWS.md, which made
this script depend on update-NEWS-gemlist.rb having already written the
right versions there. Read the authoritative sources directly: scan
{ext,lib}/**/*.gemspec fo... -
06:43 AM Revision fbe968e6 (git): Drop dead code from NEWS.md updater
- * Remove the bundler branch in resolve_repo: collect_gem_updates skips
bundler before resolve_repo is ever consulted, so the mapping was
unreachable.
* Inline the gem_name_normalized ternary, which had the same value in both
arms.
... -
06:41 AM Revision 466f6755 (git): Handle network failures in NEWS.md updater
- GitHub API failures (rate limit, transient 5xx, repo missing) used to abort
the whole script mid-run, leaving NEWS.md in a partially regenerated state.
Wrap the per-gem Octokit call so a single failure only skips that gem with
a stderr w... -
06:36 AM Revision 13df62bb (git): Clean up orphaned release-tag link refs in NEWS.md updater
- When update-NEWS-gemlist.rb drops a bundled/default gem entry from NEWS.md
(because it no longer differs from the previous-release snapshot), the
matching `[gem-vX.Y.Z]: ...` link definitions were left behind by
update-NEWS-github-releas... -
04:58 AM Misc #21916: DevMeeting before RubyKaigi 2026
- I asked Matz which topics we should talk in the meeting, and the summary is here: https://hackmd.io/6u5CqS2aS2yIvPTs08PHFg?both
Matz will arrive at the venue at 14:00, so please catch him if you want to talk with him.
(I'll be ther... -
04:38 AM Feature #21795: Methods for retrieving ASTs
- Thanks for the analysis in #13, especially the finding about node_id fragility across Prism versions.
But I don't think the offset-based approach solves the real problem. It makes the identifier more robust, but the node returned is s... -
02:29 AM Misc #21948 (Closed): benchmark gem maintainer
- Added write permission to you.
- 02:24 AM Revision cf91f202 (git): Bump taiki-e/install-action
- Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `taiki-e/install-action` from 2.75.15 to 2.75.16
- [Release notes](https://github.com/taiki-e...
04/16/2026
-
11:03 PM Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
- Looking into this further, it looks like `gc_update_table_refs` is only used once internally, with the finalizer_table. It looks to me like it's used wrong there because the key (finalized object) is not pinned so can be moved, but the s...
-
09:50 PM Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
- Nice catch! I think this would only be a problem if the key was a number that was also a valid pointer into the Ruby heap and it happened to point to a T_MOVED object. If it's another pointer from malloc or xmalloc it shouldn't be an iss...
-
09:32 PM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- Ruby 3.3 is security maitenance status now. I don't backport normal bug to Ruby 3.3.
-
05:05 PM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- @ko1 @hsbt Would it be possible to backport https://github.com/ruby/ruby/pull/15840 to Ruby 3.3, 3.4, and 4.0? We're seeing a significant regression after upgrading to Ruby 3.2 where this contention causes Sidekiq worker threads to silen...
-
07:24 PM Revision 9c682d3d (git): Set a default EnvUtil.timeout_scale for TruffleRuby to help avoid transient failures
-
06:20 PM Misc #22006: Usage of deprecated input in gem sync workflows
- > But this made me think that perhaps this mechanism should be a composite action or something similar? Then you don't need to update it in so many places (currently 47) when something changes.
I'm not sure what you're proposing. The ma... -
07:51 AM Misc #22006 (Closed): Usage of deprecated input in gem sync workflows
- `create-github-app-token` deprecated `app-id` in favor of `client-id` in https://github.com/actions/create-github-app-token/releases/tag/v3.1.0.
Since it will probably be removed in the next major version, all workflow files need to b... -
05:23 PM Bug #21999 (Third Party's Issue): Sometimes getting segfault and sometimes getting a "Floating point exception" when running some ractor code involving BigDecimal
- Fixed in https://github.com/ruby/bigdecimal/pull/528
- 07:49 AM Revision a5e5fec1 (git): Update default gems list at 23ea206a58d12d7d197271b30fd802 [ci skip]
-
07:48 AM Revision 23ea206a (git): Sync `syntax_suggest`
- Contains https://github.com/ruby/syntax_suggest/commit/87ad865d394c15ddcec85b74d52d6dd77d590c4b and https://github.com/ruby/syntax_suggest/commit/707459562ee410cc7627ceaae1bc0b3874cb5a35
-
07:48 AM Revision 722c4efb (git): Fix branch name for `syntax_suggest` sync
- Followup to https://github.com/ruby/ruby/pull/16674, I dropped this by accident
- 07:14 AM Revision b6d0e56d (git): Update bundled gems list as of 2026-04-16
-
06:17 AM Revision 8ee25f73 (git): [ruby/rubygems] Add commented-out rubygems_mfa_required to bundle gem template
- Package registries are active supply chain attack targets. Recent
high-profile incidents include the Axios NPM compromise
(https://socket.dev/blog/axios-npm-package-compromised) and the LiteLLM
PyPI compromise (https://docs.litellm.ai/bl... -
05:49 AM Revision d47f6248 (git): [ruby/json] Reduce warnings
- ```
../test/json/json_ryu_fallback_test.rb:177: warning: ambiguous first argument; put parentheses or a space even after `-` operator
../test/json/json_ryu_fallback_test.rb:178: warning: ambiguous first argument; put parentheses or a spa... - 02:25 AM Revision ebb11093 (git): [DOC] Update bundled gems list at 1732ba6f94b6166e2cd232df901947
- 02:24 AM Revision 1732ba6f (git): Bump the github-actions group across 1 directory with 3 updates
- Bumps the github-actions group with 3 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [github/codeql-action](https://github.com/github/codeql-action) and [taiki-e/install-action](https://github.com/taik...
- 01:58 AM Revision 8cc42fcf (git): [DOC] Fix wrong hash key in calling_methods.rdoc example
-
01:48 AM Misc #22005: Missing information about CVE on cve.org
- We recently switched our CVE Numbering Authority from MITRE to GitHub, which may be causing this. Previously, MITRE would update cve.org records on their own after we published advisories on www.ruby-lang.org, but it seems GitHub may not...
-
01:45 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- Yes, that was me.
I disabled issues/PRs rather than archiving because archiving forces me to unarchive and re-archive every time I need to make config changes or emergency fixes. But I understand it makes past discussions inaccessible... -
01:22 AM Revision 9e5d1c37 (git): Skip Redmine link comment when the URL is already in the PR body
- If the PR title or body already contains the full bugs.ruby-lang.org
URL for a referenced ticket, there is no need to post a redundant link
in a comment.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> -
01:20 AM Revision 1daa0eae (git): Fetch PR data once to avoid duplicate API calls
- Extract the PR API call into the review method and pass it to
review_non_fork_branch and review_redmine_links so the same endpoint
is not fetched twice per run.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> -
01:20 AM Revision 8177af52 (git): Add Redmine ticket link comments to auto review PR
- When a pull request title or body contains references like [Bug #22003],
[Feature #12345], or [Misc #67890], automatically post a comment with
links to the corresponding bugs.ruby-lang.org issues.
Co-Authored-By: Claude Opus 4.6 (1M con... - 12:32 AM Revision e6508f09 (git): [DOC] fix typos and improve clarity in build guide (#16753)
- Co-authored-by: Bob Singh <bobsingh.dev@users.noreply.gitlab.com>
04/15/2026
-
10:01 PM Revision 429c4992 (git): ZJIT: Fix bindgen ordering for rb_flo_to_i
- The zjit-bindgen CI check regenerates cruby_bindings.inc.rs from
headers and diffs against the committed file. Since rb_flo_to_i is
declared next to rb_float_plus/minus/mul/div in internal/numeric.h,
bindgen emits it there. Match that or... -
10:01 PM Revision 03f1b569 (git): ZJIT: Keep flo_to_i static, add rb_flo_to_i public wrapper
- The previous commit exposed flo_to_i as a non-static global, which
tripped tool/leaked-globals because it lacks the rb_ prefix.
Keep flo_to_i static and add a new public wrapper rb_flo_to_i in
numeric.c that delegates to it. ZJIT now ca... -
10:01 PM Revision aaad9e0f (git): ZJIT: Move flo_to_i helper to zjit.c and use original flo_to_i
- Address review feedback:
1. Move the helper from jit.c (shared YJIT/ZJIT glue) to zjit.c since
it is only used by ZJIT.
2. Instead of duplicating the truncation logic, export flo_to_i from
numeric.c and call it from the ZJIT helper... -
10:01 PM Revision 4cbb9d14 (git): ZJIT: Inline Float#to_i
- Add FloatToInt HIR instruction that truncates a Flonum to Integer
via rb_jit_flo_to_i with GC preparation. The helper uses trunc()
for truncation toward zero, then returns Fixnum (LONG2FIX) or
Bignum (rb_dbl2big) depending on magnitude.
... -
10:01 PM Revision c25acd47 (git): ZJIT: Inline Float arithmetic (+, -, *, /)
- Add FloatAdd, FloatSub, FloatMul, FloatDiv HIR instructions that
lower to gen_prepare_leaf_call_with_gc followed by a direct ccall to
rb_float_plus/minus/mul/div. This skips CCallWithFrame overhead
(frame push/pop, stack and locals spill... -
09:44 PM Revision 9eea01fc (git): [ruby/date] Exclude test causing transient timeouts on TruffleRuby
- https://github.com/ruby/date/commit/840494d1ae
-
07:34 PM Revision 9d46b0c7 (git): ZJIT: Fix getlocal with level=0 reading stale EP data (#16736)
- * ZJIT: Fix getlocal with level=0 reading stale EP data
YARVINSN_getlocal always loaded from EP memory, even for level=0
locals. But setlocal_WC_0 only updates the JIT's FrameState without
writing to EP. When the Ruby compiler emits get... - 04:45 PM Revision 658e6108 (git): Update default gems list at 44d8d828b3062e0c4591a83db8e556 [ci skip]
-
04:44 PM Revision 44d8d828 (git): [ruby/erb] Version 6.0.3
- Sorry, I forgot to push the 6.0.2 bump https://github.com/ruby/erb/commit/8626c822ea8009008fb5884cfc949cbcafbe9680 to master.
The tag was branched off of https://github.com/ruby/erb/commit/3d4dc31905e978d46f1eeda7bacaa469ce543733.
To av... -
04:14 PM Bug #22003 (Closed): .bundle extensions not built when doing out-of-source build
- Applied in changeset commit:git|c4b3630f5ec500b0d8699cffe214ada3161d0de8.
----------
[Bug #22003] Refactor template/configure-ext.mk.tmpl
- Select extension library directories by globbing extconf.rb.
- Exclude extensions for test befo... -
11:04 AM Bug #22003 (Closed): .bundle extensions not built when doing out-of-source build
- Hi, I encountered a pretty edge case extension build bug.
When building Ruby out-of-source and executing the configure script with a full path in a workspace that contains "test" in its name, it fails to build all the extensions in th... -
04:14 PM Revision c4b3630f (git): [Bug #22003] Refactor template/configure-ext.mk.tmpl
- - Select extension library directories by globbing extconf.rb.
- Exclude extensions for test before uniquifing bundled gems.
- Use `Dir.glob` base option to remove prefixed srcdir. -
04:13 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- @hsbt Please don't disable issues and pull requests like on https://github.com/ruby/set. It makes all the discussion and context that was done there inaccessible.
Why not archive like you said?
(I assume you made these changes. If ... -
04:03 PM Revision 14b243b2 (git): Skip auto-request-review on Cargo.lock (#16743)
-
03:31 PM Misc #22005 (Closed): Missing information about CVE on cve.org
- The CVE-2026-27820 was fixed and disclosed more than one month ago:
https://www.ruby-lang.org/en/news/2026/03/05/buffer-overflow-zlib-cve-2026-27820/
However, there is still no public information on https://www.cve.org/CVERecord?id... -
02:54 PM Bug #22004 (Open): parse.y doesn't executes loop body with `while true || true` condition
- ```rb
while true || true
puts 1
end
```
This should never exit but with parse.y, the body is never executed. It seems to happen when one of the conditions is a truthy literal. Something similar happens with `unitl`:
```rb
un... -
01:47 PM Bug #22002 (Closed): argument stack underflow (-1)
- Applied in changeset commit:git|d077df24a2256d760cc534b242b28822d4ef6376.
----------
[Bug #22002] Never pop when compiling branch predicate
The value is always needed. Now prism emits the same instructions as parse.y for the added test... -
11:55 AM Bug #22002: argument stack underflow (-1)
- It's a prism-specific issue and there are a few other usages that cause a similar result that I found. I fixed those in https://github.com/ruby/ruby/pull/16750
-
04:51 AM Bug #22002: argument stack underflow (-1)
- I can repro on both 3.4 and 4.0.
-
12:47 AM
Bug #22002 (Closed): argument stack underflow (-1)
- The following lines of code:
```ruby
sleep(0.1) until defined?(@variable)
@variable
```
produce this error:
```
home@My-Air testing % bundle exec ruby test.rb
-- raw disasm--------
trace: 1
0000 jump ... -
01:47 PM Revision d077df24 (git): [Bug #22002] Never pop when compiling branch predicate
- The value is always needed. Now prism emits the same instructions as parse.y for the added test case.
`defined?`/`flip-flop` caused `argument stack underflow`, `and`/`or` segfaulted during runtime. -
01:21 PM Bug #21999: Sometimes getting segfault and sometimes getting a "Floating point exception" when running some ractor code involving BigDecimal
- Shorter reproduction code:
~~~ruby
require 'bigdecimal'
4.times.map do
Ractor.new do
loop { raise unless BigDecimal(3.14) }
end
end
sleep 1
GC.start
~~~
I guess this is a bug of BigDecimal's float parsing logic. If the... -
09:51 AM Revision 1bdce358 (git): iseq.c: rb_estimate_iv_count handle no superclass
- [Bug #21992]
When redefining `BasicObject#initialize` there's no super class to
access. -
09:38 AM Revision 75387fd3 (git): [ruby/rubygems] Fix Style/HashSyntax offenses in definition_spec.rb
- https://github.com/ruby/rubygems/commit/97d05b3fc5
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> -
09:38 AM Revision 1bc44ad4 (git): [ruby/rubygems] Remove extra guard conditions to preserve existing behavior
- The original PR added @remote and aggregate_global_source? checks to
precompute_source_requirements_for_indirect_dependencies?, but these
conditions did not exist in the current codebase and would change the
method's behavior in cases wh... - 09:38 AM Revision 945c6ec3 (git): [ruby/rubygems] Print a warning for a potential confusion from the indirect dependencies.
- Print a warning when a confusion by the indirect dependencies may happen.
See CVE-2020-36327 for the security risk.
https://github.com/ruby/rubygems/commit/403d6744b2 - 07:13 AM Revision e14897a0 (git): Update bundled gems list as of 2026-04-15
-
06:38 AM Revision 84f76922 (git): [ruby/json] Fix parsing of *negative* out of bound floats.
- https://github.com/ruby/json/commit/1072482184
-
06:21 AM Revision 5b4d95b8 (git): [ruby/json] Fix handling out of of range exponent in numbers
- Fix: https://github.com/ruby/json/issues/970
If the parsed exponent overflows a `int32_t` passing it
to ryu is incorrect.
We could pass it to `rb_cstr_to_dbl` but then Ruby will emit
an annoying warning, instead we can coerce to `0.0` ... -
02:41 AM Revision b21043f8 (git): Constify pack functions
- 02:24 AM Revision 40189f8f (git): Bump the github-actions group across 1 directory with 2 updates
- Bumps the github-actions group with 2 updates in the / directory: [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) and [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `lewagon...
04/14/2026
-
10:33 PM Misc #22000: Requesting to be a co-maintainer of ostruct
- Eregon (Benoit Daloze) wrote:
> There are compatibility concern so this requires evaluating carefully what OpenStruct subclasses do and
> ...
Agreed it would require bumping a major version. Ideally this would encompass all existing re... -
09:03 PM Misc #22000 (Open): Requesting to be a co-maintainer of ostruct
- I would like to become a co-maintainer of the `ostruct` gem (OpenStruct class).
I know currently @marcandre is the maintainer of `ostruct` but he seems less active recently (e.g. [open PRs](https://github.com/ruby/ostruct/pulls)) and ... -
10:21 PM Bug #21990 (Rejected): [ruby-talk:444791] Regression: Ruby 4.0 constantly crashing
- Closing... I suspect this report is bogus. There doesn't seem to be any registration problems and @byroot pointed out that the C stack looks bogus.
-
09:42 PM Bug #21999: Sometimes getting segfault and sometimes getting a "Floating point exception" when running some ractor code involving BigDecimal
- I also tried this with 4.1-dev and it had the same behavior: ruby 4.1.0dev (2026-04-14T21:04:52Z master edb95b13a3) +PRISM [x86_64-linux]
-
08:43 PM Bug #21999 (Third Party's Issue): Sometimes getting segfault and sometimes getting a "Floating point exception" when running some ractor code involving BigDecimal
- Hey hey!
I don't know if this might be a duplicate of https://bugs.ruby-lang.org/issues/21992 as the code involves two subclasses of BasicObject that have #initialize methods defined. Apologies if a dup of that! I'm not sure how best ... -
09:21 PM Misc #22001 (Open): Adding TruffleRuby in the CI of all default & bundled gems
- I would like to add TruffleRuby (i.e. `ruby-version: truffleruby`, the latest release for improved stability) in the CI of all default & bundled gems.
I'm tracking the progress in https://github.com/truffleruby/truffleruby/issues/2644.
... -
09:04 PM Revision edb95b13 (git): ZJIT: Add HIR tests and benchmarks for numeric predicate annotations
- Add snapshot tests verifying correct HIR generation for each annotated
method:
- Float cfuncs (nan?, finite?, infinite?) emit CCall with BoolExact
or Fixnum|NilClass return type
- Integer builtins (zero?, even?, odd?) emit InvokeBuilti... -
09:04 PM Revision 54527e24 (git): ZJIT: Update const_send_direct_integer snapshot
- Reflects the BoolExact return type now inferred for Integer#zero?
after the annotation added in the previous commit. -
09:04 PM Revision 94a8feaa (git): ZJIT: Annotate Float and Integer predicates
- Adds method annotations so ZJIT can emit the fast CCall path for
pure Float cfunc predicates and propagate return types for numeric
builtin predicates.
Float cfuncs (leaf, no_gc, elidable):
nan?, finite? BoolExact
infinite? ... -
08:48 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- Thank you for checking those, I have removed them.
How did you find out these gems have active maintainers?
I couldn't see them listed at https://github.com/ruby/ruby/blob/master/doc/maintainers.md (or at https://github.com/ruby/ruby... -
10:29 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- The following libraries have active maintainers. You should remove them from your list.
* https://github.com/ruby/curses
* https://github.com/ruby/net-ftp
* https://github.com/ruby/iconv
* https://github.com/ruby/syck
* https://gi... -
08:36 PM Feature #21963: A solution to completely avoid allocated-but-uninitialized objects
- Eregon (Benoit Daloze) wrote in #note-8:
> So maybe the new allocator function should be like:
> ...
I'm thinking a more explicit name would be good, as `rb_copy_alloc_func_t` might sound like it's only for copying.
So how about `rb... -
08:26 PM Feature #21998 (Open): Add {Method,UnboundMethod,Proc}#source_range
- I'm using matz's suggestion almost as-is from https://bugs.ruby-lang.org/issues/6012#note-53.
The only change is the proposed class name.
## Use Cases
Use cases have been discussed extensively and matz said:
> The use cases are r... -
08:00 PM Feature #21795: Methods for retrieving ASTs
- @mame What do you think about my idea to use start line/column + end line/column (or equivalently, start & end offsets)?
AFAIK it solves all problems around this area, it's reliable, works across Prism versions, etc.
We could even use ... -
09:16 AM Feature #21795: Methods for retrieving ASTs
- > Concretely, this means either integrating the Prism repository into ruby/ruby
I don't think that would be a very good solution, prism is not only the parser as used by CRuby. It has bindings to other languages (rust, javascript, jav... -
06:12 AM Feature #21795: Methods for retrieving ASTs
- matz (Yukihiro Matsumoto) wrote in #note-11:
> I'm not sure ast is the right name. The nodes returned by Prism retain concrete information such as positions, whitespace, and comments, making them closer to a Concrete Syntax Tree than ... -
05:48 AM Feature #21795: Methods for retrieving ASTs
- As matz pointed out in #note-11, the ABI versioning approach would leave master in a routinely broken state. As a maintainer of error_highlight, I cannot accept this. Not being able to verify error_highlight's behavior against code using...
-
05:34 PM Revision 3dc20120 (git): iseq.c: rb_estimate_iv_count handle no superclass
- [Bug #21992]
When redefining `BasicObject#initialize` there's no super class to
access. -
05:22 PM Bug #21994: If there is a local variable `foo`, calls to a method `foo` with a regexp literal as first argument is always a SyntaxError without parentheses
- > I think checking code validness is hard
I agree, since this check happens during lexical analysis, rather than parsing. It is a bit mind-boggling to me that lexical analysis depends on local variable scope, but it's what it is.
I ten... -
02:52 PM Bug #21994: If there is a local variable `foo`, calls to a method `foo` with a regexp literal as first argument is always a SyntaxError without parentheses
- I think checking code validness is hard for the code below.
Warning check is triggered at every line, each check needs to parse till the bottom.
~~~ruby
a -1 => b # only a(-1 => b) is valid, (a - 1) => b is invalid at the `2 => 3` pos... -
02:42 PM Revision 93f1010f (git): Packing the buffer into itself is not possible
- Reported at https://hackerone.com/reports/3601645.
-
01:54 PM Feature #20205: Enable `frozen_string_literal` by default
- @byroot, thank you, that's exactly what I needed.
@palkan, I think it's probably not needed, at least not in Ruby core. My project has 460 gems (counting nested deps), and in order to get my ~50,000 CI test cases 100% passing I only h... -
01:26 PM Revision f7a799af (git): [ruby/prism] Implement bracket/braces events for ripper
- Drops the check against order. Very often ripper emits events in a order
that is not easy to mimic. It's only getting worse now that most events are implemented.
Perhaps the test can be brought back at a later time. For now, I used it w... - 01:08 PM Revision 51d9e924 (git): [ruby/rubygems] Update spec_set to use lookup
- https://github.com/ruby/rubygems/commit/3a90d24e42
-
12:25 PM Revision 0280c61f (git): Convert K&R function definitions in configure.ac
-
12:23 PM Revision ace687e2 (git): [DOC] Doc for file-system timestamps (#16722)
-
07:49 AM Misc #21968 (Closed): The pathname gem needs a new release
- https://github.com/ruby/pathname/releases/tag/v0.5.0
-
06:18 AM Revision 4f26d806 (git): [ruby/digest] Fix Digest::SHA1#update with large input
- Digest::SHA1#update fails when a very large String is passed in a
single call.
Passing 2**29 bytes (512 MB) or more at once does not update the
message length counter correctly, which results in producing an
incorrect output.
$ rub... -
05:44 AM Revision 921e1f37 (git): ruby/ruby-bench#508 merged
-
03:47 AM Misc #21975 (Rejected): Add "UTF-ć «" as an alias for UTF-8 encoding
- While I appreciate the proposal, I must reject it for two reasons:
First, on consistency: the vertical writing is allowed only inside string arguments, while the rest of Ruby code remains horizontal. This is inconsistent.
Second, o... - 02:25 AM Revision e31f62af (git): Bump the github-actions group across 2 directories with 4 updates
- Bumps the github-actions group with 4 updates in the / directory: [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action), [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain...
- 01:23 AM Revision d05f799e (git): Bump rand from 0.10.0 to 0.10.1 in /zjit
- Bumps [rand](https://github.com/rust-random/rand) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://gith... - 01:22 AM Revision 08792f83 (git): Bump rand from 0.10.0 to 0.10.1 in the cargo group across 1 directory
- Bumps the cargo group with 1 update in the / directory: [rand](https://github.com/rust-random/rand).
Updates `rand` from 0.10.0 to 0.10.1
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/...