Activity
From 03/03/2026 to 03/09/2026
Today
-
03:19 PM Revision 21f2bbf3 (git): Lock to install uutils-coreutils@0.5.0
-
03:19 PM Revision 636523d0 (git): Merge zlib-3.2.3
-
03:09 PM Revision 5001c193 (git): Compress the size_to_heap_idx table
- Index on 8 byte chunks instead of individual bytes. This works because
all pool stot sizes are pointer aligned, so all sizes in an 8 byte range
map to the same heap. -
03:09 PM Revision 208b173c (git): Look up slot sizes for allocations in a table
- Also remove BASE_SLOT_SIZE.
-
12:09 PM Revision 4ce8515c (git): [ruby/timeout] Remove warnings
- https://github.com/ruby/timeout/commit/9b935535ff
-
12:05 PM Revision b5ffaa3a (git): [ruby/timeout] Fix timing-dependent test
- * The timeout could trigger before the `raise`.
https://github.com/ruby/timeout/commit/e4aa36096f -
11:54 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- I noticed https://github.com/ruby/ruby/blob/master/doc/maintainers.md#bundled-gems-upstream-repositories-and-maintainers says a few things about this topic:
> Bundled gems upstream repositories and maintainers
> ...
But how can the cor... -
08:02 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- [Rulesets](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#branch-and-tag-rulesets) would also work. You create one targeting all tags and simply restrict tag cr...
-
11:37 AM Misc #21949: timeout gem maintainers
- hsbt (Hiroshi SHIBATA) wrote in #note-7:
> Also, it would be very rude to say "there is no maintainer" when there is a maintainer's name.
Ah I see, you mean https://bugs.ruby-lang.org/issues/21949#note-4
I think from the context of ... -
11:23 AM Misc #21949: timeout gem maintainers
- I think some misunderstanding here is I interpret `matz` being listed as the maintainer of `timeout` as matz historically wrote and maintained `lib/timeout.rb`, and not* some special meaning.
-
11:18 AM Misc #21949: timeout gem maintainers
- hsbt (Hiroshi SHIBATA) wrote in #note-7:
> The fact that Matz is the maintainer means that development is done in agreement with the committers.
I see, that was/is unclear to me, notably because development of `timeout` happens on Gi... -
11:06 AM Misc #21949 (Open): timeout gem maintainers
- Let me explain my perspective on this:
* I contributed significantly to ruby/timeout by [rewriting the implementation to be a lot faster](https://github.com/ruby/timeout/pull/15).
* I already acted as a de-facto maintainer by reviewing... -
11:05 AM Misc #21949 (Rejected): timeout gem maintainers
- The fact that Matz is the maintainer means that development is done in agreement with the committers. Also, it would be very rude to say "there is no maintainer" when there is a maintainer's name.
-
10:49 AM Misc #21949 (Open): timeout gem maintainers
- The timeout gem has no maintainer currently, so let's at least discuss this.
-
10:48 AM Misc #21949: timeout gem maintainers
- hsbt (Hiroshi SHIBATA) wrote in #note-2:
> This is already rejected by Matz at https://github.com/ruby/ruby/pull/15424#issuecomment-3640875676
Matz said:
> ...
Hence why this proposal is to have both me and @nobu as maintainers (if ... -
10:42 AM Misc #21949 (Rejected): timeout gem maintainers
- This is already rejected by Matz at https://github.com/ruby/ruby/pull/15424#issuecomment-3640875676
Discussing with multiple people means that it is not good for a single implementation maintainer to make the decision alone. -
10:36 AM Misc #21949 (Open): timeout gem maintainers
- The timeout gem has currently [no official active maintainers](https://github.com/ruby/ruby/blob/master/doc/maintainers.md).
I would like to propose myself and @nobu (see below) as maintainers of the [timeout](https://github.com/ruby/ti... -
10:56 AM Misc #21948: benchmark gem maintainer
- Could one of the Ruby org owners grant me write access to ruby/benchmark? (EDIT: sorry, typo)
-
10:31 AM Misc #21948 (Open): benchmark gem maintainer
- The benchmark gem has currently [no official maintainer](https://github.com/ruby/ruby/blob/master/doc/maintainers.md).
I would like to propose myself as maintainer of the [benchmark](https://github.com/ruby/benchmark) gem.
I always h... -
10:44 AM Revision 364f2fc1 (git): Propose myself as maintainer of benchmark
- * I always had an interest about the benchmark stdlib and did significant
contributions to it, notably 979ec8df5daf6db314b2f17e53b53d269881d6ca.
* Ref: https://bugs.ruby-lang.org/issues/21948 -
10:01 AM Revision 1425c522 (git): Parse ISO8601 datetimes without Time.parse
-
08:54 AM Bug #21760: Ruby::Box: a couple of require-related problems
- I found another `Ruby::Box#require` case that seems related to this issue.
### Environment
- 4.0.1 / linux
- `RUBY_BOX=1`
If a file loaded inside `Ruby::Box` requires `fiddle/import`, loading the same file from multiple boxes c... -
07:59 AM Revision 4da2b2d9 (git): [ruby/rubygems] Remove redundant SafeYAML.load and update tests
- https://github.com/ruby/rubygems/commit/fa4771bcf5
-
07:59 AM Revision 6425157e (git): [ruby/rubygems] Simplify Psych exception stubs and fallback raises
- https://github.com/ruby/rubygems/commit/61bfb3fff8
-
07:59 AM Revision 6a92781f (git): [ruby/rubygems] Add Psych stub classes to yaml serializer
- https://github.com/ruby/rubygems/commit/f3a1b17fce
-
07:59 AM Revision 4cd37267 (git): [ruby/rubygems] Add unit and regression tests for YAML serializer
- https://github.com/ruby/rubygems/commit/9741fbf151
-
07:59 AM Revision 88aeabf8 (git): [ruby/rubygems] Add YAMLSerializer round-trip tests
- https://github.com/ruby/rubygems/commit/89ea9dbb19
-
07:59 AM Revision fad2934d (git): [ruby/rubygems] Add comprehensive SafeYAML and YAMLSerializer tests
- Add tests covering the full pure-Ruby YAML implementation:
- Gem object serialization round-trips (dump and load)
- YAML anchors and aliases (enabled and disabled)
- Permitted classes and symbols validation
- Real-world gemspec parsing (... -
07:59 AM Revision 8a19f693 (git): [ruby/rubygems] Guard against nil next line in YAML serializer
- https://github.com/ruby/rubygems/commit/faab31b5cf
-
07:59 AM Revision 00e054f2 (git): [ruby/rubygems] Optimize YAML serializer line handling
- https://github.com/ruby/rubygems/commit/ef022c664f
-
07:59 AM Revision d31f7c73 (git): [ruby/rubygems] Simplify indentation handling in YAML serializer
- https://github.com/ruby/rubygems/commit/50becac99a
-
07:59 AM Revision 2781b19c (git): [ruby/rubygems] Update test helpers for YAMLSerializer
- https://github.com/ruby/rubygems/commit/9d54d0f830
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision 1cd2cc2c (git): [ruby/rubygems] Use Psych-specific YAML error classes
- https://github.com/ruby/rubygems/commit/e07e88a232
-
07:59 AM Revision 60430492 (git): [ruby/rubygems] Update bundler inline spec expectations
- https://github.com/ruby/rubygems/commit/825d4eba3c
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision 6167a6c9 (git): [ruby/rubygems] Use YAMLSerializer in specification_command with Psych fallback
- https://github.com/ruby/rubygems/commit/895c8799fc
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision e954bd2b (git): [ruby/rubygems] Use YAMLSerializer in Package with Psych fallback
- https://github.com/ruby/rubygems/commit/21c33bb482
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision 9e85f2c2 (git): [ruby/rubygems] Use YAMLSerializer in Specification with Psych fallback
- https://github.com/ruby/rubygems/commit/b4655ddeb2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision 852e7cfa (git): [ruby/rubygems] Use YAMLSerializer in SafeYAML with Psych fallback
- https://github.com/ruby/rubygems/commit/d81ae0a870
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
07:59 AM Revision 2c9e4bef (git): [ruby/rubygems] Add use_psych config and make YAMLSerializer default YAML backend
- Add Gem.use_psych? and Gem.load_yaml branching so that YAMLSerializer
is used by default, while Psych remains available via the use_psych
config option in .gemrc or RUBYGEMS_USE_PSYCH environment variable.
https://github.com/ruby/rubyge... -
07:59 AM Revision a551f4fb (git): [ruby/rubygems] Refactor YAMLSerializer into Parser/Builder/Emitter
- https://github.com/ruby/rubygems/commit/bfe17c110c
-
07:59 AM Revision 45cb5d00 (git): [ruby/rubygems] Add Gem object reconstruction from parsed YAML
- Add convert_to_spec and convert_any methods that transform parsed YAML
data structures (with :tag metadata) back into Gem::Specification,
Version, Platform, Requirement, and Dependency objects. Wire these into
the load method so it retur... -
07:59 AM Revision 91110cef (git): [ruby/rubygems] Add full YAML parser with recursive descent
- Replace the simple regex-based load method with a full recursive
descent parser (parse_any) that handles nested hashes, arrays, block
scalars (| and |-), YAML anchors (&anchor) and aliases (*alias),
!ruby/object: type tags, flow notation... -
07:59 AM Revision 91068263 (git): [ruby/rubygems] Add YAML serializer (dump) for Gem objects
- Replace the simple dump_hash method with dump_obj that can serialize
Gem::Specification, Version, Platform, Requirement, Dependency, Hash,
Array, Time, and String objects into YAML format. This enables pure-Ruby
YAML serialization withou... -
07:14 AM Revision 59f744c5 (git): Suppress format warnings
- Use the appropriate modifier. `size_t` is not always `unsigned long`,
even if the size is the same. -
07:14 AM Revision 1b8c6c1e (git): Suppress a sign-compare warning
- This cast is safe because `rb_absint_size` returns `nlz` within the
range `0...CHAR_BIT`. -
06:34 AM Revision c70d88be (git): [ruby/rubygems] Use JSON for cargo metadata parsing
- https://github.com/ruby/rubygems/commit/d18e420215
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> -
05:46 AM Revision bab8120b (git): Separate the case `default_seed_bits` is 0
-
05:46 AM Revision 7bcb5178 (git): Mix upper bits when `st_index_t` is shorter than `uint64_t`
- As well as when `uint64_t` is not available. Although we now assume
that `uint64_t` is always available, even on 32-bit platforms, the
size of `st_index_t` is the same as a pointer and would be shorter
than 64-bit. -
03:48 AM
Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
- Applied in changeset commit:git|f315d250b44e75a1a69f4a05b293dcc701377689.
----------
[ruby/timeout] Compatibility with Fiber scheduler.
(https://github.com/ruby/timeout/pull/97)
[Bug #21947]
https://github.com/ruby/timeout/commit/55d7... -
02:33 AM Bug #21947: `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
- See <https://github.com/ruby/timeout/pull/97> for a proposed fix.
-
02:27 AM Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
- The following example executes successfully after 7 seconds instead of timing out after 2.
```ruby
require 'async'
require 'net/http'
start = Time.now
Sync do
Timeout.timeout 2 do
Net::HTTP.get(URI 'https://httpbin.org... - 03:48 AM Revision f315d250 (git): [ruby/timeout] Compatibility with Fiber scheduler.
- (https://github.com/ruby/timeout/pull/97)
[Bug #21947]
https://github.com/ruby/timeout/commit/55d7c84b50 - 02:49 AM Revision f3d6967c (git): [DOC] Update bundled gems list at 3a05ad81dd68ed581b0d163392823c
- 02:48 AM Revision 3a05ad81 (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), [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) and [taiki-e/install-action](https://github....
03/08/2026
-
11:31 PM Revision 8ca12b54 (git): Fix M:N threads under OpenBSD
- OpenBSD requires MAP_STACK for memory regions used as thread stacks.
However it seems to error with "Invalid argument" unless the permissions
include both PROT_READ | PROT_WRITE.
We should be able to satisft this by re-mmapping over our... -
06:21 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- st0012 (Stan Lo) wrote in #note-4:
> the write/release permission will become inseparable
I think [Deployments environments](https://docs.github.com/en/actions/reference/workflows-and-actions/deployments-and-environments) could help ... -
03:54 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- I agree that we should have clearer rules on how committers can/should engage with gems under the `ruby` org.
My (perhaps outdated) understanding was:
- Ruby committers can make changes to gems they don't maintain for misc/doc changes,... -
03:06 PM Revision 638cdd6b (git): [ruby/prism] Copy and embed for serialization format
- https://github.com/ruby/prism/commit/0e7fb6b868
-
02:51 PM Revision eef66208 (git): [ruby/prism] Fix link to node interface
- Closes https://github.com/ruby/prism/pull/3974
https://github.com/ruby/prism/commit/94646f5329 - 09:16 AM Revision 47103734 (git): Update default gems list at c7e7d399ed523e4f51d1848a55501f [ci skip]
-
09:15 AM Revision c7e7d399 (git): [ruby/json] Release 2.19.1
- https://github.com/ruby/json/commit/4a42a04280
-
09:12 AM Revision 4068ff3b (git): [ruby/json] Add missing GC_GUARD in `fbuffer_append_str`
- Ref: https://github.com/ruby/json/commit/fff25c9f4b9c
`StringValuePtr` use `volatile` so the compiler is less likely
to re-use the register.
But regardless, we should GC_GUARD `str` as we no longer reference
it after `GETMEM`.
https:/...
03/07/2026
-
09:09 AM Feature #21869: Add receive_all Method to Ractor API for Message Batching
- > I understand the idea that batching helps in this case where you want to explicitly flush, but that's a pretty specific example, e.g. it's uncommon to even call IO#flush at all in Ruby.
Not specific to Ractor, but I relatively often... - 07:00 AM Revision 66e61d0c (git): [DOC] Update bundled gems list at 55df8dc063df1c749dbe07f78158f8
-
05:50 AM Revision 3e9494c7 (git): Bump zlib version to 3.2.3.
-
05:42 AM Bug #21873: `UnboundMethod#==` returns false for methods from included/extended modules
- ruby_3_4: merged at commit:0097b87b1e2c6aa60489527e421e8bf2e2791d69.
- 05:41 AM Revision 0097b87b (git): Fix UnboundMethod#== for methods from included/extended modules [Backport #21873]
- Method#unbind clones the method entry, preserving its defined_class.
For methods mixed in via include/extend, defined_class is an ICLASS,
causing UnboundMethod#== to return false when comparing against the
same method obtained via Module... -
05:17 AM Revision 153fa859 (git): objspace_dump: Skip invalid CME when dumping CCs
- When a CC is invalidated only the klass field is set to 0. After it's
invalidated it isn't safe to access the CME, as it may have been freed.
I made a similar change in Ruby 4.0 in
640a2f1dc77c0ecf226dbd71cf7a1eb876a1f037, but assumed i... -
04:43 AM Revision 55df8dc0 (git): [DOC] Update the date in man pages if changed
-
04:42 AM Bug #21860: Process.fork: the child may deadlock on `th->interrupt_lock` in `threadptr_interrupt_exec_cleanup`
- ruby_3_4: merged at commit:43771bb0efcd139acd9112a770e8b8d719118dce.
-
04:41 AM Revision 43771bb0 (git): [3.4] Fix deadlock on th->interrupt_lock after fork
- [Bug #21860]
If a thread was holding this lock before fork, it will not exist in the
child process. We should re-initialize these locks as we do with the VM
locks when forking.
Co-Authored-By: John Hawthorn <john@hawthorn.email>
Co-aut... -
04:40 AM Bug #21866: Backport Fix for integer overflow checks in enumerator
- ruby_3_4: merged at commit:a93ff4880da5c4e56f7ec2066a9c3f7748892231.
- 04:40 AM Revision a93ff488 (git): Fix integer overflow checks in enumerator
-
04:12 AM Revision 12038f19 (git): [DOC] Update the date in man pages by the author date
- Prefer the date authored the contents over the merged date for the
embedded dates. -
04:05 AM Revision f3e1dfc8 (git): vcs.rb: Add `VCS::GIT#author_date` method
- Returns the author date of the latest commit for the path.
-
04:04 AM Revision 9fd8dd4a (git): vcs.rb: Make `relative_to` accept the base directory name optionally
-
04:04 AM Revision 38c9f14b (git): vcs.rb: Extract `parse_iso_date` method
-
03:18 AM Bug #21711 (Closed): Prism and parse.y parses private endless method definition with block differently
- Fixed by https://github.com/ruby/prism/pull/3969. Sorry I didn't link it in the commit message.
-
02:16 AM Bug #21945 (Closed): Ripper lexes newline between identifier and `and?` as ignored newline
- Applied in changeset commit:git|55694ad7efc3f8dc6d5c7aefa60ded4c303ed6cf.
----------
[Bug #21945] Correctly handle `and?` and similar -
01:39 AM Revision 55694ad7 (git): [Bug #21945] Correctly handle `and?` and similar
- 12:54 AM Revision b3248037 (git): ZJIT: Add execution counters for JIT-compiled code paths (#16315)
- Adds runtime execution tracking for ZJIT-compiled iseqs so we can identify which compiled methods are called most frequently.
**Why?**
1. Determining what can be optimized based on how often it's called: knowing call frequency helps p...
03/06/2026
-
09:27 PM Revision fd9448bc (git): [ruby/prism] Fix not without parentheses binding power
- https://github.com/ruby/prism/commit/7d21e564ac
-
09:26 PM Revision 6533b101 (git): [ruby/prism] Fix precedence of infix operators after command
- https://github.com/ruby/prism/commit/35470bb90d
-
08:04 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
- hsbt (Hiroshi SHIBATA) wrote in #note-1:
> First of all, the title is wrong. Ruby committers can still commit to the default gem repository.
Right, I'll update the title.
I reviewed the list, it contains some default gems but most o... -
07:21 PM Feature #21264: Extract Date library from Ruby repo in the future
- Backlink to a PR `Replace C extension with pure Ruby implementation for Ruby >= 3.3`:
https://github.com/ruby/date/pull/155 -
06:45 PM Revision 9ecac8d4 (git): [ruby/prism] Fix the handling of `do` on commands
- Introduce PM_TOKEN_KEYWORD_DO_BLOCK to distinguish do-blocks on
command-style calls from regular `do` keywords. Add
parse_command_do_block to attach these blocks to call nodes. Track
in_endless_def_body to prevent do-block consumption in... -
06:38 PM Feature #21943: Add StringScanner#get_int to extract capture group as Integer without intermediate String
- jinroq (Jinroq SAITOH) wrote:
> In the context of `Date._strptime("%Y-%m-%d")`, this overhead is a significant portion of the total parse time, as shown in earlier profiling:
> ...
This part is not clear to me, notably what does that 40%... -
05:33 PM Revision 980bc396 (git): ZJIT: Count LoadField and StoreField executions (#16318)
- ## Runtime Counters on lobsters (before/after Jacob's load-store opt)
| Stat | Before | After | Delta |
|------|--------|-------|-------|
| load_field_count | 110,410,542 | 106,547,275 | -3,863,267 (-3.5%) |
| store_field_count | 9,196,... - 05:27 PM Revision db52cd62 (git): ZJIT: Constant fold div (/) operations (#16168) (#16233)
- ZJIT: Constant fold modulus (%) operations (#16168)
Similar to the way ZJIT already folds +, -, and * operations. One
complication is that the / operator behaves differently in Ruby than in
Rust for negative values. For example in Ruby:... -
05:02 PM Revision b5a768b6 (git): [ruby/prism] Fix in handling
- in is a unique keyword because it can be the start of a clause or
an infix keyword. We need to be explicitly sure that even though in
_could_ close an expression context (the body of another in clause)
that we are not also parsing an inl... -
05:02 PM Revision e7d2828f (git): [ruby/prism] Fix error message for block/lambda with `...` argument
- They currently complain that the parent method is not forwarding.
But the actual problem is that these types of arguments simply don't
accept `...`
Fixes [Bug #21927]
https://github.com/ruby/prism/commit/0aa2363331 -
05:02 PM Revision 83c261f3 (git): [ruby/prism] Correctly handle `and?` and similar on ruby 4.0
- It gets confused for syntax introduced in https://bugs.ruby-lang.org/issues/20925
But it actually should be a plain method call.
`!`/`?` are not valid as part of an identifier, methods
however allow them as the last character.
Fixes [Bu... -
03:27 PM Bug #21873: `UnboundMethod#==` returns false for methods from included/extended modules
- 3.4 backport PR: https://github.com/ruby/ruby/pull/16326
-
09:57 AM Feature #21875: Handling of trailing commas in lambda parameters
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> Rather I think it should be allowed even after optional/rest/keyword/keyword-rest arguments in block parameters too.
Wouldn't that be **very** confusing then because `proc { |a,| a }.call([... -
09:25 AM Revision d5d144c1 (git): parse.y: Split forwarding argument in method and lambda
- Eliminate the lambda argument conditions from the action.
-
09:16 AM Feature #21932: `MatchData#get_int`
- FYI: strscan will use `integer_at` not `get_int`: https://github.com/ruby/strscan/pull/192#issuecomment-4002582149
-
08:19 AM Misc #21928 (Closed): Prism backport handling
- 08:06 AM Revision 66c3ff3f (git): Update default gems list at 9356837d1a436a75ba3b35234d7678 [ci skip]
-
08:05 AM Revision 9356837d (git): [ruby/json] Release 2.19.0
- https://github.com/ruby/json/commit/a11acc1ff4
-
07:58 AM Revision cd80e238 (git): [ruby/json] fbuffer.h: Use size_t over unsigned long
- unsigned long is only 32b on some platforms.
https://github.com/ruby/json/commit/0a4fb79cd9 - 07:48 AM Revision f56310de (git): [ruby/json] Reject negative depth; add overflow guards to prevent hang/crash
- https://github.com/ruby/json/commit/de993aa766
-
06:49 AM Revision f16961ec (git): [ruby/rubygems] Remove dead code in dependency installer tests
- Remove unused si.to_yaml calls that stored YAML at URLs that were never
fetched. With the pure-Ruby parser, NilClass no longer has to_yaml, but
these lines were dead code regardless.
https://github.com/ruby/rubygems/commit/6ab25e49ac -
06:45 AM Revision dcd6b55e (git): [ruby/rubygems] Skip flaky webauthn test on TruffleRuby
- Pend test_with_webauthn_enabled_failure on TruffleRuby where it fails
intermittently.
https://github.com/ruby/rubygems/commit/6e062ccef1 -
05:02 AM Revision 9aca7291 (git): Improve comparison error message.
- In certain cases, things like Array#sort can result in a confusing error
message. For instance where a and b are characters in a string,
`"string"`:
```ruby
array.sort { |a, b| string.index(a) <=> string.index(b) }
```
If one of the in... -
04:12 AM Revision 85453b75 (git): Use OPTIMIZED_CMP in r_less instead of <=>
-
03:33 AM Revision 7a1d47ae (git): ZJIT: Remove duplicate CheckInterrupts within basic blocks (#16317)
- Add a new optimization pass that eliminates redundant CheckInterrupts
instructions within each basic block. Only the first CheckInterrupts is
needed per stretch of non-call code, since the interrupt flag only needs
to be checked once. Th... -
02:42 AM Revision a6cb8f07 (git): Check for -fdeclspec consistently
- When checking whether CXXFLAGS is valid, we try to compile with a stdio
include which causes a warning.
This does the same when we check whether "-fdeclspec" can be used, that
way the flag is not added if it would lead to a warning later. - 02:40 AM Revision cd54232b (git): Bump github/codeql-action in the github-actions group across 1 directory
- Bumps the github-actions group with 1 update in the / directory: [github/codeql-action](https://github.com/github/codeql-action).
Updates `github/codeql-action` from 4.32.5 to 4.32.6
- [Release notes](https://github.com/github/codeql-a... - 01:57 AM Revision 46f51cb3 (git): string.c: guard tmp in rb_str_format_m (GH-16280)
- [Bug #21931]
Keep tmp alive while RARRAY_CONST_PTR(tmp) is used by rb_str_format.
[alan: sunk the guard below usage]
Reviewed-by: Alan Wu <XrXr@users.noreply.github.com> -
12:06 AM Revision 45f030f9 (git): [PRISM] Template out node creation functions
03/05/2026
-
11:15 PM Bug #21946 (Closed): `and?` predicate confused for leading `and` keyword
- Applied in changeset commit:git|54eb330f8cc9f5a5b67ccfa5247cd8b98fb1ef44.
----------
[ruby/prism] Correctly handle `and?` and similar on ruby 4.0
It gets confused for syntax introduced in https://bugs.ruby-lang.org/issues/20925
But it ... -
07:34 PM Bug #21946 (Closed): `and?` predicate confused for leading `and` keyword
- Originally reported at https://github.com/ruby/prism/pull/3337#issuecomment-4004880188
```sh
$ ruby -ce $'foo\nand?'
ruby: -e:2: syntax errors found (SyntaxError)
1 | foo
> 2 | and?
| ^ expected an expression after `?` i... -
11:11 PM Revision 54eb330f (git): [ruby/prism] Correctly handle `and?` and similar on ruby 4.0
- It gets confused for syntax introduced in https://bugs.ruby-lang.org/issues/20925
But it actually should be a plain method call.
`!`/`?` are not valid as part of an identifier, methods
however allow them as the last character.
Fixes [Bu... -
11:08 PM Revision d7895589 (git): [ruby/prism] Include ext/prism/extconf.rb explicitly in prism.gemspec
- * For consistency.
https://github.com/ruby/prism/commit/d4575f651a -
11:08 PM Revision a81136b6 (git): [ruby/prism] Revert "Recompile when config.yml changes"
- * This reverts commit https://github.com/ruby/prism/commit/ffe8f7a6e236.
* No longer necessary as the Makefile depends on all *.c and *.h.
https://github.com/ruby/prism/commit/5a33460adc -
08:51 PM Revision 6a4402c9 (git): ZJIT: Optimize load store forwarding (#16228)
- This PR introduces an almost verbatim implementation of load_store_forward optimization as described in Max's [blog post](https://bernsteinbear.com/blog/toy-load-store/).
After this PR is merged, we will add type based alias analysis. -
07:37 PM Bug #21926: Thread#value on popen3 wait thread hangs in finalizer
- Thank you for the nice reproduction! We have a fix coming, and it will probably be backported to 3.3, 3.4 and 4.0.
The fix is at https://github.com/ruby/ruby/pull/16307. -
07:29 PM Bug #21945 (Closed): Ripper lexes newline between identifier and `and?` as ignored newline
- ```rb
Ripper.lex("foo\nand?")
=> [[[1, 0], :on_ident, "foo", CMDARG], [[1, 3], :on_ignored_nl, "\n", CMDARG], [[2, 0], :on_ident, "and?", ARG]]
```
Presumably this is because until the `?` is encountered, it is considered syntax as... -
07:08 PM Revision 33e5d389 (git): Map M:N thread stack chunks initially as PROT_NONE
- Previously we initially mapped the full 512MB chunk as
PROT_READ|PROD_WRITE and then set a guard page to PROT_NONE the first
time a new thread stack is needed. Usually that's okay as we don't touch
that memory until it is needed and so i... -
07:03 PM Bug #21944 (Closed): "Cannot allocate memory" with M:N threads or Ractors on a low RAM Linux machine
- Applied in changeset commit:git|407dd02c1b52b05ba55a179554b29a14e44a4b82.
----------
Map M:N thread stack chunks initially as PROT_NONE
Previously we initially mapped the full 512MB chunk as
PROT_READ|PROD_WRITE and then set a guard pa... -
06:32 PM Bug #21944 (Closed): "Cannot allocate memory" with M:N threads or Ractors on a low RAM Linux machine
- Linux default overcommit policy (`vm.overcommit_memory=0`) will fail for allocations which are "obvious overcommits" (https://www.kernel.org/doc/html/latest/mm/overcommit-accounting.html). Under M:N threading (including under Ractors) we...
-
07:03 PM Revision 407dd02c (git): Map M:N thread stack chunks initially as PROT_NONE
- Previously we initially mapped the full 512MB chunk as
PROT_READ|PROD_WRITE and then set a guard page to PROT_NONE the first
time a new thread stack is needed. Usually that's okay as we don't touch
that memory until it is needed and so i... -
05:24 PM Revision 192fc379 (git): Add previous parent commit to .git-blame-ignore-revs [ci skip]
-
05:23 PM Revision b78e0a6d (git): ZJIT: Normalize to non-raw string literals in snapshots with `s/@r"/@"/`
- Since cargo-insta [version 1.45.0], raw string literals are only used when
snapshot contents require them. This creates unnecessary diff hunks when
updating older snapshots that still use raw literals.
Normalize all snapshots to use non... -
04:49 PM Revision 45250a41 (git): [PRISM] Use arena allocator for nodes
-
01:36 PM Feature #21665: Revisit Object#deep_freeze to support non-Ractor use cases
- It was discussed in the November 2025 meeting and it seems the conclusion was that @headius would be bringing a proposal to address @matz's concerns: https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-11-13.md#featu...
-
01:28 PM Feature #21665: Revisit Object#deep_freeze to support non-Ractor use cases
- This came up again in https://github.com/dry-rb/dry-struct/pull/203.
People are thinking to use `Ractor.make_shareable` "because it's core and fast" instead of e.g. the IceNine gem.
But `Ractor.make_shareable` is only available on CRub... -
12:31 PM Revision 67d4396d (git): Refine `Array#pack` `r`/`R` directives
- * remove the temporary buffer object.
* simplify the condition under which an extra byte is required for
sign extension.
* in the case of `R`, raise an error earlier before packing for the
negative number. -
11:56 AM Revision 275e53e4 (git): [ruby/json] Fix `allow_blank` parsing option to only consider strings.
- Ref: https://github.com/ruby/json/pull/946
https://github.com/ruby/json/commit/6ccc102db6 -
09:42 AM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- nobu (Nobuyoshi Nakada) wrote in #note-8:
> synacker (Mikhail Milovidov) wrote in #note-4:
> ...
Thank you for the feedback. Ractor#empty? isn’t a niche fix - it’s a general‑purpose primitive for efficient schedulers and Ractor‑Fiber i... -
08:52 AM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- I don't have a string opinion on whether `empty?` is useful, that being said it's present on `Thread::Queue` and I support trying to mirror the API as much as possible.
But `empty?` alone isn't that helpful because of TOC/TOU problem ... -
03:16 AM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- synacker (Mikhail Milovidov) wrote in #note-4:
> In this code:
> ...
It would work for **your code**, but may not for general purposes.
And if `main_task` finished immediately and no command is coming, it will be a busy loop.
I guess... -
09:04 AM Revision 65313432 (git): weakmap: return assigned value from #[]= and add regression test
-
08:28 AM Revision 858c96c5 (git): [ruby/json] Reimplement `to_json` methods in Ruby
- https://github.com/ruby/json/commit/3f32c47de4
-
04:08 AM Feature #21943 (Open): Add StringScanner#get_int to extract capture group as Integer without intermediate String
- ## Motivation
The date library is being [rewritten from C to pure Ruby](https://github.com/ruby/date/pull/155). During this effort, `Date._strptime` was identified as a major performance bottleneck. Profiling revealed that the root ca... -
04:03 AM Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
- If there are no objections, I'll submit a patch with strategy (a) next week. It's straightforward to implement and maintains the closest to the current behaviour as possible while fixing the issue.
-
03:55 AM Revision 8a87cebd (git): [DOC] Add note about link fragments (#16304)
- 02:42 AM Revision 0201e926 (git): [DOC] Update bundled gems list at 97e27d7f30a0df4b0b67a619d5df4f
- 02:41 AM Revision 97e27d7f (git): Bump the github-actions group across 1 directory with 2 updates
- Bumps the github-actions group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `ruby/setup-ruby` from 1.288.0 to ... - 01:39 AM Revision c76ead9e (git): Update default gems list at 48a210537de69c3ff2da1609ee8f2e [ci skip]
-
01:38 AM Revision 48a21053 (git): [ruby/zlib] Bump up to 3.2.3
- https://github.com/ruby/zlib/commit/d9c7876988
-
01:38 AM Revision d2a9bb69 (git): [ruby/zlib] Fix buffer overflow at ungetc
- https://github.com/ruby/zlib/commit/608d2be66f
-
12:59 AM Feature #21942: Allow reading class variables from non-main Ractors
- I sent a patch [here](https://github.com/ruby/ruby/pull/16308)
-
12:01 AM Feature #21942 (Open): Allow reading class variables from non-main Ractors
- It's very common in Rails applications to use class variables, and today class variables aren't even allowed to be read inside a Ractor:
```ruby
class Foo
# This is NOT allowed to be read in non-main Ractors
@@bar = 123
def ...
03/04/2026
-
11:16 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
- I have a fix for this here: https://github.com/ruby/ruby/pull/16306
-
10:00 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
- Reduced some more, no IO or anything:
```ruby
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
i = 0
begin
while i < 100
i += 1
p i
begin
next if i
rescue Interrupt
... -
09:55 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
- Reduced even further:
```ruby
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
read, wakeup = IO.pipe
wakeup.write("!")
begin
while true
begin
next if read.wait_readable
rescue Interr... -
09:51 PM Bug #21941 (Open): Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
- The following code results in the `read` local variable becoming nil, even though it is never reassigned:
```
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
read, wakeup = IO.pipe
Signal.trap("SIGCHLD") { wakeup.wr... -
09:18 PM Revision 6ea811e6 (git): ZJIT: Add for_each_operand methods to Insn (#16305)
- - Add `for_each_operand`, `for_each_operand_mut`, and `try_for_each_operand` methods to `Insn`, backed by a shared `for_each_operand_impl!` macro
- Replace the old `worklist_traverse_single_insn` function on `Function` with direct use of... -
03:36 PM Bug #21940: Ruby::Box: `$_` returns stale value due to gvar_tbl caching
- Patch: https://github.com/ruby/ruby/pull/16303
-
03:25 PM Bug #21940 (Open): Ruby::Box: `$_` returns stale value due to gvar_tbl caching
## Environment
- Ruby Version v4.0.1
- OS: macOS 15.6.1 (arm64)
- `RUBY_BOX=1` enabled
## Reproduction
```shell
echo -e "a\nb" | RUBY_BOX=1 ruby -e 'gets; $_; gets; p $_'
```
## Expected
```
"b\n"
```
The secon...-
12:12 PM Revision 75d6b159 (git): Always strictly align iseq compile data
-
12:12 PM Revision d2516d32 (git): Calculate padding by alignment size
-
11:49 AM Revision 795619ec (git): [ruby/prism] Revert "Reject infix operators on command call on
- writes"
(https://github.com/ruby/prism/pull/3960)
This reverts commit https://github.com/ruby/prism/commit/4e71dbfc7bd9.
And also add a regression test. Seems like currently prism parses these the same that parse.y does.
https://githu... -
11:02 AM Revision 4d7f3ba2 (git): [ruby/mmtk] Cargo format
- https://github.com/ruby/mmtk/commit/7889da7c0e
-
11:02 AM Revision 3ec9bafe (git): [ruby/mmtk] Flush obj_free buffers before shutdown finalizers
- shutdown_call_finalizer reads candidates from the Rust-side
WeakProcessor, but the main ractor's C-side buffer may not
have been flushed yet (ractor_cache_free runs later). Flush
all remaining buffers before reading candidates.
https://... -
11:02 AM Revision 09262009 (git): [ruby/mmtk] Fix Cargo format issues
- https://github.com/ruby/mmtk/commit/26ec9f7f89
-
11:02 AM Revision fa8b6aff (git): [ruby/mmtk] Buffer obj_free candidates.
- Previously, every object allocation in rb_gc_impl_new_obj made a
per-object FFI call into Rust (mmtk_add_obj_free_candidate), which
acquired a mutex on one of the WeakProcessor's candidate vecs, pushed a
single element, and released the ... -
11:02 AM Revision 45dabe33 (git): [ruby/mmtk] Distribute batch candidates across parallel buckets
- Instead of sending all 128 buffered objects to one bucket,
round-robin distribute them across all worker buckets so
parallel obj_free work stays balanced.
https://github.com/ruby/mmtk/commit/e1f926cd21 -
09:39 AM Revision d3b6bfe6 (git): [ruby/rubygems] Drop subprocess regression test for request proxy lookup
- https://github.com/ruby/rubygems/commit/fdae8c7698
-
09:39 AM Revision d920d399 (git): [ruby/rubygems] Fix Gem::Request proxy env lookup when required directly
- https://github.com/ruby/rubygems/commit/db8fd6becb
-
08:35 AM Feature #21932: `MatchData#get_int`
- zenspider (Ryan Davis) wrote in #note-2:
> In the method comment on the impl side, you have examples for parsing a date... but IDGI... 1/2/10 are supposed to be the base arg, right? Base 1?
I can't get from where the example comes.
... -
01:16 AM Feature #21932: `MatchData#get_int`
- Tried to add a comment to your commit but github is being very sketchy today.
In the method comment on the impl side, you have examples for parsing a date... but IDGI... 1/2/10 are supposed to be the base arg, right? Base 1?
- 06:58 AM Revision f57af84d (git): [ruby/rubygems] Fix plugin new version not registering:
- - ### Problem
When a plugin in the Gemfile is updated to a new version, it will
be downloaded but will not be registered. The old version of the
plugin will be loaded when Bundler is invoked.
### Context
The problem is in th... -
06:51 AM Revision 115b4c65 (git): Add NEWS.md entry for ENV.fetch_values and that tests
- From https://github.com/ruby/rubygems/pull/8501
Co-authored-by: Suleyman Musayev <96992680+msuliq@users.noreply.github.com> -
06:45 AM Revision 0cba8cf4 (git): YJIT: Bail out if proc would be stored above stack top
- Fixes [Bug #21266].
Backport of 9168cad4d63a5d281d443bde4edea6be213b0b25 to 3.3 - 06:44 AM Revision 669f9ad7 (git): Fix integer overflow checks in enumerator
- 06:43 AM Revision 6cd7b1a1 (git): string.c: guard tmp in rb_str_format_m (GH-16280)
- [Bug #21931]
Keep tmp alive while RARRAY_CONST_PTR(tmp) is used by rb_str_format.
[alan: sunk the guard below usage]
Reviewed-by: Alan Wu <XrXr@users.noreply.github.com> - 03:22 AM Revision 3f57ba8e (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.68.16 to 2.68.18
- [Release notes](https://github.com/taiki-e... - 02:24 AM Revision f604d1a8 (git): [ruby/rubygems] Update the man pages header to be in sync with the config one
- https://github.com/ruby/rubygems/commit/77def7f4e0
- 02:24 AM Revision 5b6c6414 (git): [ruby/rubygems] Add a new Bundler config to control how many specs are fetched:
- - ### Problem
In #9071, I increased the API_REQUEST_SIZE constants to fetch 100
specifications at once instead of 50.
Worth to remember that this codepath is exclusively used for servers
that don't implement the compact index AP...
03/03/2026
-
11:53 PM Revision 2be717ae (git): Shrink struct rb_callinfo to 32 bytes
- This shouldn't do anything right now under the default GC, but in the
future (or now on MMTK?) this would allow them to be allocated from a
smaller size pool. -
11:01 PM Revision f9c51ac5 (git): ZJIT: Fix Class type system bug and constant-fold IsA (#15268)
- Fix a some bugs in the type lattice around classes and user-defined classes. Refine types more precisely to subclasses of object.
With that fix, add const-folding support for IsA.
Co-authored-by: John Hawthorn <john.hawthorn@shopify.co... -
10:42 PM Revision a88e2abb (git): Update to ruby/spec@af627d6
-
10:42 PM Revision 6b6ceb97 (git): Update to ruby/mspec@a2587d9
-
09:47 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- ufuk (Ufuk Kayserilioglu) wrote in #note-6:
> @synacker Which version of Ruby are you testing with? Can you please send your `ruby -v` output for the benchmark results?
This is a ruby version from my pr (https://github.com/ruby/ruby/... -
09:08 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- @synacker Which version of Ruby are you testing with? Can you please send your `ruby -v` output for the benchmark results?
-
08:41 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
- nobu (Nobuyoshi Nakada) wrote in #note-3:
> As for your example, why does `Worker` ractor handle both of `main_task` and dispatch alone, instead of launching each ractors?
I compared two strategies for handling concurrent tasks:
1... -
09:00 PM Revision f46eb48b (git): Expand the Shape heap index mask
- I think we have spare bits here, so let's expand them out and see what
happens. This will allow us to have more than 7 size pools in the future - 06:02 PM Revision b2ff380d (git): [ruby/openssl] Fix memory leak if ossl_bn_new() fails
- When that call fails, the `bn` BIGNUM is never freed in
asn1integer_to_num(). To solve this, use rb_protect().
Example Valgrind report:
```
32 (24 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 11,113 of 25,910... -
05:17 PM Bug #21934 (Open): Prism and parse.y inconsistency in command call used with pattern match
- These are syntax error in both parse.y and in Prism
~~~ruby
a x in pattern
a x: in pattern
a &x in pattern
a *x => pattern
a x: => pattern
a &x => pattern
~~~
These are all syntax error in parse.y, all syntax valid in Prism
~... - 04:19 PM Revision e30b5a06 (git): ZJIT: Add diff tool for running benchmarks between git refs (#16160)
- For https://github.com/Shopify/ruby/issues/822
Adds a small script for automatically running benchmarks between two git refs.
Example output (doubled an increment to `inline_cfunc_optimized_send_count` to illustrate stat diffs):
```
$ ... - 03:57 PM Revision a9b84adb (git): string.c: guard tmp in rb_str_format_m (GH-16280)
- [Bug #21931]
Keep tmp alive while RARRAY_CONST_PTR(tmp) is used by rb_str_format.
[alan: sunk the guard below usage]
Reviewed-by: Alan Wu <XrXr@users.noreply.github.com> -
02:05 PM Revision 7a3940e8 (git): Unify rb_node_list_new and rb_node_list_new2
- The former is the specialized case of the latter.
-
02:05 PM Revision c128106e (git): Adjust variable type for rb_block_given_p()
-
01:47 PM Bug #21933: Ruby::Box: named capture local variable can become nil after non-matching lines
- Shorter reproduction code
~~~ruby
/(?<a>foo)/ =~ 'bar'
/(?<b>baz)/ =~ 'baz'
p b # should be present, got nil with RUBY_BOX=1
~~~
~~~ruby
/foo/ =~ 'bar'
$~
/baz/ =~ 'baz'
p $~ # should be MatchData, got nil with RUBY_BOX=1
... -
01:11 PM Bug #21933 (Open): Ruby::Box: named capture local variable can become nil after non-matching lines
- Environment:
- Ruby 4.0.1
- RUBY_BOX=1
- OS: Linux x86_64
Summary:
With Ruby::Box enabled, a named capture local variable from `=~` may become nil,
even when the regexp matches. This happens after iterating over non-matching line... -
01:40 PM Bug #21713 (Closed): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
- Applied in changeset commit:git|8c7f4db893af4c9e40eab5810dc58737dc9010bb.
----------
[ruby/prism] Fix modifier rescue pattern matching
[Bug #21713]
https://github.com/ruby/prism/commit/02c944c055 -
01:40 PM Revision 8c7f4db8 (git): [ruby/prism] Fix modifier rescue pattern matching
- [Bug #21713]
https://github.com/ruby/prism/commit/02c944c055 -
12:29 PM Feature #21932 (Open): `MatchData#get_int`
- This is suggested by @akr today, `$~.get_int(1)` is equivalent to `$1.to_i` but does not create the intermediate string object.
https://github.com/nobu/ruby/tree/match-get_int -
11:49 AM Feature #21781 (Closed): Add `fetch_values` method on `ENV`
- Applied in changeset commit:git|a2db2d429f14514c67fcf0523891cd9062dd6a5b.
----------
[Feature #21781] Add `ENV.fetch_values`
Specs/Implementation inspired by methods on hash/env that already exist. -
11:48 AM Revision a2db2d42 (git): [Feature #21781] Add `ENV.fetch_values`
- Specs/Implementation inspired by methods on hash/env that already exist.
-
11:00 AM Feature #21827: Deprecating Ripper
- `rdoc` and `irb` have now stopped using `ripper`. https://github.com/ruby/syntax_suggest/pull/251 is for `syntax_suggest`.
That leaves just `power_assert` for the ruby gems. I gave that a quick look but it's difficult to understand fo... -
09:20 AM Bug #21931 (Closed): GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
-
09:20 AM Bug #21931: GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
- - 3.3 backport PR: https://github.com/ruby/ruby/pull/16288
- 3.4 backport PR: https://github.com/ruby/ruby/pull/16287
- 4.0 backport PR: https://github.com/ruby/ruby/pull/16286 -
09:14 AM Bug #21931 (Closed): GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
- Reproduction
```ruby
GC.stress = true
class Args
def to_ary
Array.new(64) { "x" * 1024 }
end
end
fmt = "%s" * 64
100_000.times do
fmt % Args.new
end
```
Patch that should be backported https://github.com/ru... -
09:17 AM Misc #21928: Prism backport handling
- 👍 I created https://github.com/ruby/prism/tree/ruby-3.4 and https://github.com/ruby/prism/tree/ruby-4.0
FYI @k0kubun and @nagachika. During release, you can simply bump the patch version (for example 1.5.3 0 => 3.4, 1.8.1 => 4.0), the... -
06:04 AM Revision 1008a469 (git): [ruby/rubygems] Show release date with bundle outdated
- https://github.com/ruby/rubygems/commit/300cc0c223
-
04:29 AM Feature #21616 (Closed): date ライブラリを deprecated させたい
-
03:29 AM Revision 8d64eb68 (git): [ruby/stringio] Allow read-only methods to work with frozen StringIO
- Fix https://github.com/ruby/stringio/pull/120
https://github.com/ruby/stringio/commit/b0e3ce88b3 -
03:29 AM Revision 571ce8d7 (git): [ruby/stringio] Add tests for read-only methods on frozen StringIO
- See #120
https://github.com/ruby/stringio/commit/8cba5aac0a - 02:43 AM Revision 162c7215 (git): Bump github/codeql-action in the github-actions group across 1 directory
- Bumps the github-actions group with 1 update in the / directory: [github/codeql-action](https://github.com/github/codeql-action).
Updates `github/codeql-action` from 4.32.4 to 4.32.5
- [Release notes](https://github.com/github/codeql-a...