Activity
From 06/27/2025 to 07/03/2025
07/03/2025
- 08:33 PM Revision dda5a04f (git): Make get/set default internal/external encoding lock-free
- Also, make sure autoloading of encodings is safe across ractors.
- 08:33 PM Revision cf4d37fb (git): Add locks around accesses/modifications to global encodings table
- This fixes segfaults and errors of the type "Encoding not found" when
using encoding-related methods and internal encoding c functions across
ractors.
Example of a possible segfault in release mode or assertion error in debug mode:
```... - 08:20 PM Revision 4f4408e9 (git): Get transcoding to work across ractors by locking certain operations
- Ex: `str.encode` and `str.encode!` work across ractors now.
The global table `transcoder_table` needs a lock around each st_lookup/st_insert, and it's a two-level
table so the second level also needs to be locked around insertion/deleti... - 08:09 PM Revision ed3fd94e (git): ZJIT: Panic on BOP redefinition only when needed (#13782)
- 04:40 PM Revision c584cc07 (git): ZJIT: Enable one more btest (#13781)
- 04:30 PM Revision 0abe17da (git): ZJIT: Bail out on register spill (#13773)
- 04:22 PM Revision 57f4460f (git): ZJIT: Skip a hanging ractor test (#13774)
-
01:05 PM Revision 8b2d7613 (git): Assume that the symbol is not garbage in rb_sym2id
- rb_sym2id is a public API, so it is always a bug if the user holds on to
a dead object and passes it in. -
12:44 PM Revision 4592d637 (git): Suppress a warning in code for SOCKS5
-
10:19 AM Revision 1f976509 (git): symbol.c: enforce `intern_str` is always called with a lock
- Add missing locks in `rb_intern_str`, `rb_id_attrset` and `rb_intern3`.
-
08:44 AM Bug #21499 (Closed): make install - power_assert is a runtime_dependency of test-unit
- Please wait a stable release. master is development branch.
-
01:42 AM Bug #21499 (Closed): make install - power_assert is a runtime_dependency of test-unit
- The below is shown in the `make install` log of master. But, `test-unit` has `power_assert` as a runtime_dependency.
```
Extracting bundle gem power_assert-2.0.5...
Try with hash version of bundled gems instead of gems/power_assert... -
07:20 AM Revision 517c1067 (git): imemo_fields_set: save copying when reassigning a variable
- If we still fit in the existing imemo/fields object we can
update it atomically, saving a reallocation. -
06:46 AM Revision a020e349 (git): [DOC] Deleted the description about 2.2 and earlier
-
06:44 AM Revision c31bfd54 (git): [DOC] Fix markup in security.rdoc
-
05:29 AM Revision 5817e58a (git): Extract last-modified time after fetch completes
-
05:29 AM Revision 319062e4 (git): Prefer autotools repository mirror for build-aux files
- gcc master is still using 2021 version files.
-
05:29 AM Revision 9782bd52 (git): Drop HTTP support in downloader.rb
- The only use case is access to `repo.or.cz`, and it redirects HTTP
requests to HTTPS now. -
04:43 AM Revision 81da38b3 (git): Sync RubyGems
-
04:43 AM Revision f679202a (git): Remove old `bundle.rb` script usage
-
04:43 AM Revision 4126c1c5 (git): Adapt to upstream change in Bundler specs
-
03:36 AM Bug #21500 (Closed): Backport gcc 15 support
- commit:b42afa1dbcb Suppress gcc 15 unterminated-string-initialization warnings
commit:f1f0cc14cc7 Separate `__has_attribute` from `defined(__has_attribute)`
commit:543e3a1896a Cast up `int` instruction code to `VALUE`
commit:ed2806117... -
12:39 AM Bug #17359: Ractor copy mode is not Ractor-safe
- Seems to still be an issue. Here's an updated reproduction for 3.5dev (Using Ractor::Port instead of take/yield)
``` ruby
class Foo
attr_accessor :x
def initialize_copy(*)
$last = self
super
end
end
o = Foo.new... -
12:05 AM Bug #18733: Heavy GC allocations cause performance issue with Ractor
- This performance gap _in the original benchmark_ no longer exists on master. Benchmark from my Ryzen 7 3700X running linux:
```
❯ ruby -v
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
❯ RUBY_MAX_CPU=16 ruby test.rb
...
07/02/2025
-
10:09 PM Bug #19981 (Closed): bootstraptest/test_ractor.rb: Segmentation fault on arm32
- It looks like this was occurring with Ractor.yield, which had some known bugs but was removed with the introduction of `Ractor::Port`.
-
09:14 PM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- After this change, some of my gems failed to compile on Ruby 3.4.3+.
I found the issue seems to be due to some problematic CFLAGS in my `extconf.rb`.
Specifically I was getting errors like this:
```
/home/samuel/.rubies/ruby-3.... - 08:01 PM Revision d5f5a56b (git): ZJIT: Reject ISEQs with too-large stack_max (#13770)
-
06:57 PM Revision e240b415 (git): ZJIT: Add reason for SideExit (#13768)
- This makes it clearer what is unimplemented when looking at HIR dumps.
- 05:46 PM Revision 1d31c98e (git): ZJIT: Avoid panicing with "Option::unwrap() on None" (#13762)
- 05:37 PM Revision 6e28574e (git): ZJIT: Support spilling basic block arguments (#13761)
- Co-authored-by: Max Bernstein <[email protected]>
- 05:15 PM Revision a0bf36a9 (git): ZJIT: Annotate NilClass#nil? and Kernel#nil?
- These methods return fixed `true` or `false` so we can be certain about their return types.
-
03:52 PM Revision ddb8de1f (git): ZJIT: `throw` to HIR
-
03:52 PM Revision 565ab3ef (git): ZJIT: Use initialization shorthand
-
12:12 PM Revision efc68669 (git): Launchable: Temporarily remove Launchable integration from Compilatio… (#13759)
- Launchable: Temporarily remove Launchable integration from Compilations workflow
Currently, Launchable is unstable, which occationally causes workflow issues. Until this problem is fixed, we'll temporary disable Launchable in the Compil... -
12:06 PM Revision 6af53983 (git): ZJIT: Support `Regexp` type (#13760)
-
08:32 AM Bug #21498 (Open): Windows - Ruby Overrides C Library APIs thus breaking them
- I am trying to wrap a simple C++ library, https://github.com/baderouaich/BitmapPlusPlus, as a Ruby extension.
However when I use the extension to write a bitmap to disk the bitmap is corrupted. This is because the library uses std::of... -
03:37 AM Revision d3146731 (git): CI: Fix appending to an array
- Parentheses are required to add a new element to an array, not to the
first element of the array. -
02:28 AM Revision 8bf13f26 (git): Reduce allocations in `Gem::BUNDLED_GEMS.warning?`
-
02:05 AM Revision 7fb19cf8 (git): Partly picked from https://github.com/ruby/ruby/pull/10073
-
01:34 AM Revision d5b4b595 (git): [rubygems/rubygems] Add Errno::ENETDOWN and Errno::EHOSTUNREACH to non retryable errors
- Connection errors as well, so useless to retry.
https://github.com/rubygems/rubygems/commit/d2d211651a -
01:34 AM Revision 35dd2b29 (git): [rubygems/rubygems] Split HTTP_ERRORS into retryable and non retryable
- https://github.com/rubygems/rubygems/commit/c241a640fc
-
01:34 AM Revision c4c646d1 (git): [rubygems/rubygems] Handle connection refused and Errno::EADDRNOTAVAIL as non-retryable
- https://github.com/rubygems/rubygems/commit/cd529776d5
-
01:34 AM Revision 46a90f99 (git): [rubygems/rubygems] Refactor downloader specs to better test real behavior
- In particular, no route to host errors are actually fatal since they are
usually raised as `SocketError`'s, while the specs were incorrectly
testing that they are retryable.
https://github.com/rubygems/rubygems/commit/9410ceb36b -
01:34 AM Revision b671133c (git): [rubygems/rubygems] Move Bundler::Fetcher::HTTP_ERRORS to Bundler::Fetcher::DOWNLOADER
- And deprecate the old constant.
It's only used in this class, and in Bundler::Fetcher there's already
FAIL_ERRORS, very similar to it. So this makes things less confusing.
https://github.com/rubygems/rubygems/commit/d32ed63d6f -
01:34 AM Revision d2204044 (git): [rubygems/rubygems] Add back and deprecate Bundler::Fetcher::NET_ERRORS
- https://github.com/rubygems/rubygems/commit/4a4e5828db
-
01:34 AM Revision 75cdf696 (git): [rubygems/rubygems] Fix typos
- https://github.com/rubygems/rubygems/commit/2a2317249f
-
01:34 AM Revision 7f057e13 (git): [rubygems/rubygems] Add a `verbose` setting to enable verbose output for all commands
- https://github.com/rubygems/rubygems/commit/0aa1be946f
-
01:34 AM Revision 29ceefe5 (git): [rubygems/rubygems] Consistently access CLI flags with symbols
- https://github.com/rubygems/rubygems/commit/1497d3f146
- 01:34 AM Revision 70da3851 (git): [rubygems/rubygems] Bump the rb-sys group across 2 directories with 1 update
- Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Bumps the rb-sys group with 1 update in the /test/rubygems/t... -
01:34 AM Revision 560edfc8 (git): [rubygems/rubygems] Fix `bundle console` printing bug report template on `NameError` during require
- Followup to https://github.com/rubygems/rubygems/pull/8436
It fixed showing the template when requiring a non-existant file but
user code can do much more than just trying to require other code.
I encountered this particular case becau... - 01:34 AM Revision 098b0cd7 (git): [rubygems/rubygems] Update man pages for the `bundle doctor ssl` subcommand:
- - ### Problem
The man pages for `bundle doctor` which shows up when running
`bundle doctor --help` are no longer in sync with the CLI.
### Context
In #8624, we introduced a change that modifies the structure of
the `bundle d... -
01:34 AM Revision 82692b32 (git): [rubygems/rubygems] Log when `simulate_version` is enabled
- Tweak version output and verbose mode to be transparent about Bundler
simulating a different version than the real one.
https://github.com/rubygems/rubygems/commit/179354d153 -
01:34 AM Revision 0e1ca496 (git): [rubygems/rubygems] None of the global options have default so this seems unnecessary
- https://github.com/rubygems/rubygems/commit/bea87eab0b
-
01:34 AM Revision c6b6b4f5 (git): [rubygems/rubygems] Remove duplicated spec
- https://github.com/rubygems/rubygems/commit/66aabcc9f3
-
01:34 AM Revision efd8b6d2 (git): [rubygems/rubygems] Use explicit receiver when accessing settings
- We have a quality spec that parses all code for explicit usages of
`Bundler.settings[<something>`, to detect undocumented settings. So
using `Bundler.settings` consistently will help catching these things.
https://github.com/rubygems/ru... -
01:34 AM Revision cac7644b (git): [rubygems/rubygems] Document the `simulate_version` setting
- https://github.com/rubygems/rubygems/commit/1ffd83f6c2
-
01:34 AM Revision daedebd6 (git): [rubygems/rubygems] Remove `print_only_version_number` setting
- I don't think it makes sense to make this tiny behavior change
configurable. If someone wants to parse version output, and we have a
public setting, they are going to need to accommodate their regexps to
both values of the setting.
In a... -
01:34 AM Revision b5ef0114 (git): [rubygems/rubygems] Migrate all remaining specs to run offline
- Also removed the helper to install real gems during specs to avoid the
temptation of introducing network stuff again.
https://github.com/rubygems/rubygems/commit/a1ab5e319a -
01:34 AM Revision 5386b656 (git): [rubygems/rubygems] Verify specs still using realworld gems still pass with latest versions
- https://github.com/rubygems/rubygems/commit/9da44ade24
-
01:34 AM Revision 41c44ff8 (git): [rubygems/rubygems] Realworld optparse gem should be no longer necessary
- Optparse was vendored a while ago.
https://github.com/rubygems/rubygems/commit/d7afd43756 -
01:34 AM Revision fe44e958 (git): [rubygems/rubygems] Remove possibly incorrect spec
- I spent quite a while on this and I have not been able to reproduce or
even understand how the original issue would happen. I also suspect it
never actually reproduced the original problem properly.
Since I'm in the middle of migrating ... -
01:34 AM Revision 66c67098 (git): [rubygems/rubygems] `bundle viz` deprecation specs don't actually need the gem installed
- The deprecation message is printed regardless.
https://github.com/rubygems/rubygems/commit/397999a390 -
01:34 AM Revision e5d1720e (git): [rubygems/rubygems] Spec about cleaning default gems executables no longer needs realworld gems
- https://github.com/rubygems/rubygems/commit/9cf284997b
-
01:34 AM Revision eb979d99 (git): [rubygems/rubygems] Don't use currently configured value for default branch
- https://github.com/rubygems/rubygems/commit/1ae8533690
-
01:34 AM Revision b953d113 (git): [rubygems/rubygems] Migrate `bundle viz` specs to run offline
- https://github.com/rubygems/rubygems/commit/672722cd4d
-
01:34 AM Revision 2fd1f4e6 (git): [rubygems/rubygems] Logger realworld gem is no longer necessary
- https://github.com/rubygems/rubygems/commit/6e6288a496
-
01:34 AM Revision 669813a4 (git): [rubygems/rubygems] Realworld tsort gem should be no longer necessary
- https://github.com/rubygems/rubygems/commit/93d9b97182
-
01:34 AM Revision d8cf0013 (git): [rubygems/rubygems] These specs need stringio only for old versions
- https://github.com/rubygems/rubygems/commit/a44cdf4c21
-
01:34 AM Revision cd742b6b (git): [rubygems/rubygems] Simpler glob to find path to rake
- https://github.com/rubygems/rubygems/commit/852db00169
-
01:34 AM Revision 83c403c4 (git): [rubygems/rubygems] Rename some helpers to avoid name classes
- I plan to introduce a `base_system_gems` helper to actually install gems
from `base_system_gem_path` into system gems but that would collapse
with an existing helper.
https://github.com/rubygems/rubygems/commit/714c209e62 -
01:34 AM Revision e1896c19 (git): [rubygems/rubygems] Lock specs don't need the real rake gem
- https://github.com/rubygems/rubygems/commit/d795b8fcb4
-
01:34 AM Revision 99178c3e (git): [rubygems/rubygems] Migrate `bundle add` specs to run offline
- https://github.com/rubygems/rubygems/commit/02de767e14
-
01:15 AM Revision f11daeb6 (git): Declaring with a prototype
- In C99, a function declaration with an empty argument list means "no
information about the arguments", not "it takes no arguments" - the
so-called old K&R style. -
01:09 AM Revision d77e02bd (git): [Bug #21497] [ruby/socket]: add full prototype
- otherwise, gcc 15 will complain:
> init.c:573:19: error: too many arguments to function ‘Rconnect’; expected 0, have 3
> ...
Signed-off-by: Z. Liu <[email protected]> -
12:23 AM Revision 2cb065d0 (git): Update gcc for LTO to 15
-
12:09 AM Bug #21497 (Closed): building issue when using gcc15, because C23 is default
07/01/2025
-
11:56 PM Misc #21458: Test 'make install'?
- > I wonder what is loading json before Bundler can load the Gemfile.
Nothing is loading `json`, it's a misreporting issue due to the gemspec of the `json` being broken: https://bugs.ruby-lang.org/issues/21462
The broken gemspec con... -
10:46 PM Revision 29657a1e (git): Fixup 9dc60de4fcd
- Sync erb.gemspec to under the `lib/erb/ directory.
- 10:11 PM Revision 53baafe4 (git): ZJIT: Shorten Debug print for 64-bit VReg (#13763)
- 06:59 PM Revision 2fda8434 (git): ZJIT: Stop tracking EP == BP assumption on JIT entry (#13752)
- * ZJIT: Stop tracking EP == BP assumption on JIT entry
* Enable test_method.rb as well -
05:27 PM Feature #21459: Add Set C-API
- > If you want to pass returned objects to other C-API functions, you need defensive type checks, or it can result in undefined behavior (including segfaults) depending on how the returned objects are used.
I was thinking about methods... -
04:31 PM Revision 66437a40 (git): Backport GH-13617 for s390x (#13757)
-
04:05 PM Bug #21497: building issue when using gcc15, because C23 is default
- 1 had been fixed in commit https://github.com/ruby/io-console/commit/dd013030dd276a7372df34cf43ada1c14d0cbc21
-
03:17 PM Bug #21497 (Closed): building issue when using gcc15, because C23 is default
- https://github.com/ruby/ruby/pull/13736
1. for ruby 3.3, 3.4: when compiling using gcc 15 with "-flto -Werror=lto-type-mismatch", ext/io/console/extconf.h will have:
> #define HAVE_RB_IO_PATH 1
> ...
the build is failed with:
>... - 01:18 PM Revision f4ea42a8 (git): [DOC] Fix ARGF example
-
12:43 PM Bug #21496 (Closed): Fix for gcc-15 `-flto` option
- Even no prototype information is available, gcc-15 seems retrieve something when LTO is enabled.
As the result, `have_func` method may fail due to the inconsistency between the info and the default old-style declaration.
Possible fix... -
11:28 AM Revision 9d080765 (git): [ruby/json] Run `have_func` with the header providing the declarations
- https://github.com/ruby/json/commit/95fb084027
-
11:28 AM Revision ae605b65 (git): [ruby/json] Stop calling `__builtin_cpu_init`
- It's only needed if using GCC `ifunc` mecanism, which
we don't.
https://github.com/ruby/json/commit/d3317b9f82 -
11:21 AM Revision 94803fe9 (git): [ruby/strscan] Run `have_func` with the header providing the declarations
- https://github.com/ruby/strscan/commit/18c0a59b65
-
11:06 AM Revision 5277ca14 (git): [ruby/openssl] Run `have_func` with the header providing the declarations
- https://github.com/ruby/openssl/commit/b6f56c4540
-
11:03 AM Revision 89031666 (git): [ruby/io-wait] Run `have_func` with the header providing the declarations
- https://github.com/ruby/io-wait/commit/48309d7877
-
11:02 AM Revision ac72a25a (git): [ruby/io-nonblock] Run `have_func` with the header providing the declarations
- https://github.com/ruby/io-nonblock/commit/70909f5362
-
11:00 AM Revision 134bdf2d (git): [ruby/io-console] Run `have_func` with the header providing the declarations
- https://github.com/ruby/io-console/commit/dd013030dd
-
11:00 AM Revision 11fe8b26 (git): [ruby/etc] Run `have_func` with the header providing the declarations
- https://github.com/ruby/etc/commit/6668bfd42a
-
10:39 AM Revision 9ab3e47d (git): Simplify `rb_fields_tbl_copy`
- Now that ivars are stored in a imemo/fields, we can just clone
the fields object. -
10:39 AM Revision ad65d53a (git): class.c: Stop deleting __classpath__ / __tmp_classpath__
- These used to be private variables to store the class name
but aren't a thing since several versions. -
10:18 AM Bug #21460: Pattern matching crash: unexpected PM_CALL_NODE
- I opened a PR for it: https://github.com/ruby/prism/pull/3593
-
08:36 AM Revision d3d249b9 (git): [ruby/io-console] Fix removing unexpected control chars
- `cc` is created as `"\C-x"`, it is a String since ruby 1.9.
https://github.com/ruby/io-console/commit/65c9266feb -
08:32 AM Revision 06f9fc20 (git): [ruby/io-console] Use `host_os` in RbConfig instead of `RUBY_PLATFORM` for JRuby
- https://github.com/ruby/io-console/commit/f8b33f38ae
- 07:06 AM Revision ce6e6120 (git): Update bundled gems list as of 2025-07-01
-
06:57 AM Bug #21495 (Open): IO.read_nonblock does not work under a rescue IO::TimeoutError
- In this particular code --
``` ruby
execArg = 'echo testwrite; sleep 5'
tofuProcess = IO.popen(execArg, 'r')
puts 'executed tofu process.'
tofuProcess.timeout=2
begin
tofuOut = tofuProcess.read
rescue IO::TimeoutError
puts 'r... -
06:35 AM Revision 9f148574 (git): [ruby/json] Suppress -Wunused-function
- https://github.com/ruby/json/commit/94ed471814
-
06:35 AM Revision 8a2210b3 (git): [ruby/json] Refactor simd/conf.rb - duplicate code
- Integrate duplicate code by extracting headers, types and
initialization code.
https://github.com/ruby/json/commit/1a768d9179 -
06:35 AM Revision f909c907 (git): [ruby/json] Refactor simd/conf.rb - unnecessary `have_type`
- Remove `have_type` calls because the next `try_compile` calls check
those types.
https://github.com/ruby/json/commit/b08e1ca2c1 -
06:35 AM Revision 7d9c3004 (git): [ruby/json] Refactor simd/conf.rb - conditions to enable
- See the results of `have_type` and `try_compile` in addition to
`have_header` for NEON as well as x86_64. The former results were
just ignored, and `HAVE_TYPE_` macros are unused too.
https://github.com/ruby/json/commit/fdbb6062c2 -
06:35 AM Revision a9e2a818 (git): [ruby/json] Refactor simd/conf.rb - balance
- Align code for arm and x86_64 in parallel.
https://github.com/ruby/json/commit/2211e30a59 -
06:35 AM Revision 60eb1d5d (git): [ruby/json] Refactor simd/conf.rb - compiler warnings
- Suppress warnings for old style function definition and unused
variable.
https://github.com/ruby/json/commit/58dc0aa938 -
06:35 AM Revision 91d5db55 (git): [ruby/json] Use `load` simd/conf.rb
- When both extconf.rb of generator and parser are run in one process,
the second `require_relative` does nothing.
https://github.com/ruby/json/commit/8e775320b7 -
05:51 AM Revision 9dc60de4 (git): Fixed inconsistency gemspec location
- foo.gemspec should be located under the `lib/foo` directory.
-
04:00 AM Bug #21462 (Closed): [ruby-head] bundler crashes because default gems (json, openssl, optparse) having bloated spec.files containing files from other gems
- Fixed at https://github.com/ruby/ruby/commit/05443bb7e92498ded149ad0324f8d4fc7321e9ee and https://github.com/ruby/ruby/pull/13753
-
02:50 AM Revision c3bdf704 (git): Use git ls-files instead of Dir.glob because optparse has optionparser.rb that is outside of lib/optparse directory
- Co-authored-by: Nobuyoshi Nakada <[email protected]>
-
02:50 AM Revision 5ee63157 (git): Use Dir.glob and base keyword arg for the installer of Ruby package
-
01:02 AM Revision 05443bb7 (git): [ruby/optparse] Use Dir.glob and base keyword arg for the installer of Ruby package
- https://github.com/ruby/optparse/commit/24374b42d3
-
12:04 AM Revision 03e08a94 (git): ZJIT: Add codegen for IsNil
-
12:04 AM Revision 4a7d1a70 (git): ZJIT: Add IsNil optimization and tests for optimized hir
06/30/2025
-
11:21 PM Revision 8f758de4 (git): ZJIT: Rename Ruby<->Rust functions for clarity
- No need to be so terse.
-
11:21 PM Revision 665da051 (git): ZJIT: Pretty-print symbols in HIR dump
- This lets us better see what is going on, for example in pattern
matching code, which has a bunch of dynamic method lookups and
`respond_to?` sends. -
11:02 PM Bug #21462: [ruby-head] bundler crashes because default gems (json, openssl, optparse) having bloated spec.files containing files from other gems
- Root cause seems to be https://github.com/ruby/ruby/pull/13724
-
09:54 PM Bug #21462 (Closed): [ruby-head] bundler crashes because default gems (json, openssl, optparse) having bloated spec.files containing files from other gems
- This is causing ruby-dev-builder to fail in the past few days.
E.g. https://github.com/ruby/ruby-dev-builder/actions/runs/15981482361/job/45076664970
Minimum reproduction:
```
# Gemfile
source 'https://rubygems.org'
gem 'json... - 10:22 PM Revision 2287dd4a (git): ZJIT: Enable bootstraptest/test_block.rb (#13751)
-
10:15 PM Revision e54a242b (git): ZJIT: Mark GetLocal as having no effects (#13750)
- This removes the GetLocal of l3 from:
def test
l3 = 3
1.times do |l2|
_ = l3
1
end
end -
09:43 PM Revision 90247fb7 (git): ZJIT: Don't compile functions with unhandled parameter types (#13749)
-
08:25 PM Feature #21459: Add Set C-API
- Eregon (Benoit Daloze) wrote in #note-1:
> jeremyevans0 (Jeremy Evans) wrote:
> ...
When you are using rb_funcall, you cannot rely on the type of returned objects. If you want to pass returned objects to other C-API functions, you need... -
07:48 PM Feature #21459: Add Set C-API
- jeremyevans0 (Jeremy Evans) wrote:
> I think this should allow extension libraries to start benefiting from core Set without having to resort to method calls (dangerous in an C extension as they could be redefined to return objects of a... -
07:54 PM Misc #21458: Test 'make install'?
- MSP-Greg (Greg L) wrote in #note-1:
> I'm asking about this because https://github.com/ruby/ruby-dev-builder/actions has been failing for five days, and ruby-loco for a similar time.
Looking at https://github.com/ruby/ruby-dev-builde... -
07:51 PM Misc #21458: Test 'make install'?
- MSP-Greg (Greg L) wrote:
> Maybe a few jobs could be added to check `make install` on the three main OS's (Ubuntu, macOS, Windows)?
I agree, this is important to add, and means it's tested in a way end users use CRuby.
Maybe there... - 06:15 PM Revision 99360e50 (git): ZJIT: Enable a couple more btests (#13748)
-
06:13 PM Revision 35feaee9 (git): [DOC] Tweaks for String#bytesplice
-
05:59 PM Revision 456f6f3f (git): [DOC] Tweaks for Strings#byteslice
-
05:37 PM Revision 7743aa37 (git): Revert "Force blank issues on fork repos"
- This reverts commit 81a2fdff1b311efb75dac463764f3658aede0010.
Never mind, it didn't work. It seems like you'll see one as long as
you're admin on the (fork) repository.
Removing this unnecessary file. - 04:58 PM Revision dc1b55a3 (git): ZJIT: Add new ZJIT types for Set (#13743)
- 04:27 PM Revision 44e4b027 (git): ZJIT: setglobal should not return output (#13744)
- * ZJIT: setglobal should not return output
* Let the caller wrap Some -
03:52 PM Revision 81a2fdff (git): Force blank issues on fork repos
- We don't use issues on ruby/ruby, but we do in some fork repositories.
When filing issues, GitHub checks if you want to report a security issue
when .github/SECURITY.md exists, but we don't do that on GitHub. So this
commit attempts to a... -
03:43 PM Revision 40079342 (git): [ruby/json] Remove trailing spaces [ci skip]
- https://github.com/ruby/json/commit/68ee9cf188
-
02:25 PM Revision ead3739c (git): Inline ASAN poison functions when ASAN is not enabled
- The ASAN poison functions was always defined in gc.c, even if ASAN was not
enabled. This made function calls to happen all the time even if ASAN is
not enabled. This commit defines these functions as empty macros when ASAN
is not enabled. -
12:56 PM Misc #21385: Namespace: Suggesting a rename
- Sounds great @tagomoris.
-
12:54 PM Misc #21385: Namespace: Suggesting a rename
- My idea that popped up recently is, "Ruby Box", referenced as `Ruby::Box`.
-
12:32 PM Revision 3071c5d0 (git): [ruby/prism] Fix parser translator with trailing backslash in `%W` /`%I` array
- https://docs.ruby-lang.org/en/master/syntax/literals_rdoc.html#label-25w+and+-25W-3A+String-Array+Literals
> %W allow escape sequences described in Escape Sequences. However the continuation line <newline> is not usable because it is int... -
12:31 PM Revision 4e5c8c19 (git): [ruby/prism] fix: sigsegv on malformed shebang
- Signed-off-by: Dmitry Dygalo <[email protected]>
https://github.com/ruby/prism/commit/e23292120e -
11:34 AM Bug #21461 (Closed): Heap-buffer-overflow in Prism when encoding magic comment is invalid and assignment is incomplete
- ### Description
An AddressSanitizer (ASan) heap-buffer-overflow occurs in Ruby when:
1. The file contains an invalid magic encoding comment, and
2. A line with incomplete assignment (e.g. missing right-hand side).
This leads... -
10:27 AM Bug #21460 (Closed): Pattern matching crash: unexpected PM_CALL_NODE
- Hi,
Pattern matching crashes when using an arithmetic expression like `-1**2` in a hash pattern. Ruby attempts to process the expression as a PM_CALL_NODE, which results in a compiler crash rather than a syntax or match error.
### ... -
09:11 AM Revision 00357eea (git): class_fields_ivar_set: fix multi-ractor mode
- We must copy the table before inserting into it if we're in
multi-ractor mode to ensure the table won't be rehashed or
resized. -
09:11 AM Revision 879f4886 (git): variable.c: Extract `imemo_fields_copy_capa`
- This code is similar between classes and generic ivars.
-
09:11 AM Revision e06c74e5 (git): Refactor `class_fields_ivar_set` to use `imemo_fields_complex_from_obj`
-
07:00 AM Revision fd59ac64 (git): vm_backtrace.c: add RB_GC_GUARD for `name` in location_format
- `name` is used via `RSTRING_PTR` within rb_str_catf, which may allocate
and thus potentially trigger GC. Although `name` is still referenced
by a local variable, the compiler might optimize away the reference
before the GC sees it, espec... -
03:56 AM Revision 54cb133e (git): ruby tool/update-deps --fix
-
03:56 AM Revision 43d27eb1 (git): Adjust ruby/ruby directory structure
-
03:56 AM Revision bc334be4 (git): [ruby/json] Reduce duplication in extconf.rb
- https://github.com/ruby/json/commit/3ae3eeb9d3
- 03:56 AM Revision 50b6cd40 (git): Optimize 'json_parse_string' using SIMD.
-
03:56 AM Revision d6bfb73f (git): [rubygems/rubygems] Update some reference to Bundler 3 to Bundler 4
- https://github.com/rubygems/rubygems/commit/53174e0aa6
-
03:56 AM Revision 4e3ef1d9 (git): [rubygems/rubygems] Added extra examples
- https://github.com/rubygems/rubygems/commit/a2e4d8299f
-
03:56 AM Revision 949f125f (git): [rubygems/rubygems] Use Bundler.settings[gem.bundle]
- https://github.com/rubygems/rubygems/commit/b16511598e
-
03:56 AM Revision 59585b2f (git): [rubygems/rubygems] Added manpages
- https://github.com/rubygems/rubygems/commit/f2826dafce
-
03:56 AM Revision 4ef8cb26 (git): [rubygems/rubygems] Assert stdout message instead of rspec-mock
- https://github.com/rubygems/rubygems/commit/91d7abe27f
-
03:56 AM Revision 7e9cbb10 (git): [rubygems/rubygems] Added missing caller for shared_example
- https://github.com/rubygems/rubygems/commit/ab9b8c2511
-
03:56 AM Revision 5798eeb7 (git): [rubygems/rubygems] Added bundle option to method_option
- https://github.com/rubygems/rubygems/commit/1413086e92
-
03:56 AM Revision 1cb1b15f (git): [rubygems/rubygems] Added --bundle option for triggering bundle install automatically after bundle gem
- https://github.com/rubygems/rubygems/commit/59ac0db26b
-
03:56 AM Revision e6a6a35a (git): [rubygems/rubygems] Fix flakies in bundler gem installer specs
- After introducing the `simulate_version` setting, that's another call to
`Bundler#Settings#[]` that gets in the middle and makes these specs fail
when run in isolation.
https://github.com/rubygems/rubygems/commit/722360e98e -
03:56 AM Revision 0b9181cb (git): [rubygems/rubygems] Fix some pending specs filters that are actually for Bundler 5
- https://github.com/rubygems/rubygems/commit/b42b2e7055
-
03:56 AM Revision 9e566141 (git): [rubygems/rubygems] Remove "double CI" for testing Bundler 4 mode
- Since now every functionality that changes in Bundler 4 is under a
setting, we can enable that setting to test the new functionality,
without having to run our full CI twice.
This can actually be seen as increasing coverage, because Bun... -
03:56 AM Revision 0761af23 (git): [rubygems/rubygems] Added push_rubygem to default scope at gem signin command
- https://github.com/rubygems/rubygems/commit/9b9ba0bf1e
-
03:56 AM Revision bda2d909 (git): Rewrite specs to not start local dev servers
- They cause flakies when different tests start them in parallel, and also
make the specs more complicated.
06/29/2025
-
07:51 PM Misc #21458: Test 'make install'?
- I'm asking about this because https://github.com/ruby/ruby-dev-builder/actions has been failing for five days, and ruby-loco for a similar time.
-
07:52 AM Revision 9598ed9d (git): [ruby/optparse] JRuby does not have EXECUTABLE_EXTS in RbConfg::CONFIG
- https://github.com/ruby/optparse/commit/15b2f00b6b
-
07:52 AM Revision 259b0233 (git): [ruby/optparse] Fix OptionParser#program_name not to strip suffix unexpectedly
- https://github.com/ruby/optparse/commit/740ffa76c0
-
07:30 AM Revision 9fd793e0 (git): [ruby/optparse] Enhance to support 'Set' object as an enum
- (https://github.com/ruby/optparse/pull/76)
* Enhance to support 'Set' object as an enum
* Add test script for '#make_swithc()'
---------
https://github.com/ruby/optparse/commit/3869000e98
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-... -
05:41 AM Bug #21457 (Closed): Bundled gems - power_assert is not being installed
- That gem file is generated only for the test.
power_assert is the style to bump up its version at the beginning of the next release.
https://github.com/ruby/power_assert/blob/ruby-3-5-style-set/lib/power_assert/version.rb#L2
So the ge... -
05:07 AM Revision 41242560 (git): * adjust indents. [ci skip]
-
05:04 AM Revision bf9cbdef (git): `github.event.pull_request.merge_commit_sha` may be empty
-
04:08 AM Bug #21441: SEGV during thread cleanup if profiler calls thread_profiles_frames at wrong time
- Merged https://github.com/ruby/ruby/pull/13672 into ruby_3_3 branch.
- 04:08 AM Revision a52a2e85 (git): thread_cleanup: set CFP to NULL before clearing ec's stack
- We clear the CFP first so that if a sampling profiler interrupts the current thread during `rb_ec_set_vm_stack`,
`thread_profile_frames` returns early instead of trying to walk the stack that's no longer set on the ec.
The early return ... -
04:04 AM Misc #21399: DevMeeting-2025-07-10
- * [Feature #21459] Add Set C-API (jeremyevans0)
* I would like to add a minimal C-API for Set.
* We can add more functions later, but these are the ones I think would be necessary for extensions using core Set.
* Is the PR OK? -
04:04 AM Feature #21459 (Closed): Add Set C-API
- I would like to add a minimal C-API for Set:
```c
void rb_set_foreach(VALUE set, int (*func)(VALUE element, VALUE arg), VALUE arg);
VALUE rb_set_new(void);
VALUE rb_set_new_capa(unsigned long capa);
bool rb_set_lookup(VALUE set, V... -
03:39 AM Bug #21437: Date#hash may return different values for equal dates with large years
- ruby_3_3 commit:1fb5ab411f618f651926ecae9427605e03e19884 merged revision(s) commit:c1877d431e76f4a782d51602fa8487e98d302956.
-
03:31 AM Revision 1fb5ab41 (git): merge revision(s) c1877d431e76f4a782d51602fa8487e98d302956: [Backport #21437]
- [ruby/date] [Bug #21437] Date#hash for large years
Addresses https://bugs.ruby-lang.org/issues/21437
Signed-off-by: Dmitry Dygalo <[email protected]>
https://github.com/ruby/date/commit/31f07bc576 -
03:30 AM Bug #21440: Cannot create instances of frozen Data subclasses
- ruby_3_3 commit:a976792832887ee2ae1380ab0e2244067126f017 merged revision(s) commit:2e7e78cd590d20aa9d41422e96302f3edd73f623.
-
03:27 AM Revision a9767928 (git): merge revision(s) 2e7e78cd590d20aa9d41422e96302f3edd73f623: [Backport #21440]
- [Bug #21440] Stop caching member list in frozen Data/Struct class
06/28/2025
-
04:30 PM Revision 63f6f87e (git): Add underflow check
-
02:43 PM Misc #21458 (Open): Test 'make install'?
- Can `make install` be tested? Two items come to mind:
1. Test that all gems can be required?
2. Check that all gem binstubs are installed and work.
Some of the above are being done in ruby-loco and https://github.com/ruby/ruby-de... -
02:01 PM Bug #21457 (Closed): Bundled gems - power_assert is not being installed
- See https://github.com/ruby/ruby/actions/runs/15944248440/job/44976268400#step:8:297
```
skipped bundled gems:
power_assert-3.0.0dev.gem not found in bundled_gems
syslog-0.3.0.gem extensions not found o... -
01:27 PM Revision dc74f9cb (git): Make `uplevel` suitable as the option to `Kernel#warn`
- Make Gem::BUNDLED_GEMS.uplevel returns `nil` if `require` frame is not
found, for the simplicity. -
01:24 PM Revision baa05001 (git): Use symbols as `level` instead of strings
-
11:17 AM Revision 90abfe6f (git): Remove `git`-related files in unpacked gems
- These files, including `.github` directory, are useless unless the
repository itself is contained as well. -
07:40 AM Bug #21456 (Rejected): IO.close does not work in a rescue IO::TimeoutError block.
- Invoking the close method on an IO object based on popen will forcefully close the process (not sure what signal it sends, it's undocumented), however when you handle a IO::TimeoutError exception (which you can get when you set .timeout)...
-
04:55 AM Revision eab4a0bc (git): Fix race condition in signal handler query (#13712)
- * Fix race condition in signal handler query
* Initialize signal lock dynamically and reset after fork
* Fix signal handler mutex initialization conditions -
01:27 AM Revision 31c1f366 (git): Stop setting TMP_RUBY_PREFIX during prelude
- It's unnecessary now that builtin-loader supports sub-libraries:
9faa9ced9640d23fc5dc1efd635f6b8ebc1a3ceb -
12:45 AM Revision 49c138c1 (git): Check dump size in ibf_dump_write
-
12:35 AM Feature #21455 (Rejected): Add a block argument to Array#join
- I sometimes come across code like this where
the `Array#join` at the end can easily
be overlooked or stands out like a sore thumb:
```ruby
hex_string = string.bytes.map do |byte|
format('%02X', byte)
end.join(' ')
```
It se...
06/27/2025
-
04:14 PM Bug #21451: Ractor.make_shareable(->{}, copy: true) raises unhelpful error
- Eregon (Benoit Daloze) wrote in #note-3:
> tenderlovemaking (Aaron Patterson) wrote in #note-2:
> ...
I was also unsure if `IsolationError` made sense (I guess copying is a type of isolation? 🤷🏻♀️). I personally like more specific ex... -
04:01 PM Feature #21454 (Feedback): "undefined method 'break' for an instance of Binding"
- Running my code with `rdbg` and using `binding.break`, it is a bit unfortunate that subsequently running the code without `rdbg`, it fails with error such as:
~~~
NoMethodError:
undefined method 'break' for an instance o... -
03:03 PM Revision 0828dff3 (git): ZJIT: Codegen for `defined?(yield)`
- Lots of stdlib methods such as Integer#times and Kernel#then use this,
so at least this will make writing tests slightly easier. -
03:03 PM Revision 32def149 (git): ZJIT: Use `std::fmt::Display` when codegen for instruction fails
- It's nicer since e.g. you get text representation of enums like
`defined_type` instead of just a number. -
01:27 PM Revision 49659545 (git): [DOC] Remove a garbage in an example
-
01:23 PM Revision d9b2d899 (git): Extract Ractor safe table used for frozen strings
- This commit extracts the Ractor safe table used for frozen strings into
ractor_safe_table.c, which will allow it to be used elsewhere, including
for the global symbol table. -
12:54 PM Revision e6cd79cd (git): Consolidate octal and hexadecimal parsing logic
- Both ruby_scan_oct and ruby_scan_hex call the generic ruby_scan_digits
helper, avoiding duplicate implementations. -
11:42 AM Revision 8e75a361 (git): ZJIT: Add TODOs and omitted test for nested scope local access
-
11:42 AM Revision b125fb56 (git): ZJIT: Function::find(): Use find_vec!() more
-
11:42 AM Revision ed4b8d35 (git): ZJIT: Function::find(): Use clone() instead of doing it manually
-
11:42 AM Revision 7874321e (git): ZJIT: Add codegen for GetLocal and SetLocal
- They're only used when level≠0. Same EP hopping logic as interpreter and
YJIT. Change assert_compiles() to get ISeq by method name since the old
code didn't support methods defined using define_method() which I need
for the new test. -
11:42 AM Revision ff09cf19 (git): ZJIT: `getlocal` and `setlocal` to HIR
-
07:29 AM Revision fe9a3be2 (git): Fix the unknown warning group on wasm
-
07:25 AM Revision 64a52c25 (git): [ruby/io-console] Fix a name error
- https://github.com/ruby/io-console/commit/e0398acad4
-
07:23 AM Revision 528b75cc (git): [ruby/io-console] Ignore printed control char
- It's something we don't expect and might be coming from somewhere
else.
https://github.com/ruby/io-console/commit/c5e47a900c -
07:23 AM Revision 495613ff (git): [ruby/io-console] Revert "Ignore `^C` at interrupt"
- This reverts commit https://github.com/ruby/io-console/commit/f0646b2b6ae3.
https://github.com/ruby/io-console/commit/2e0e01263a -
07:19 AM Bug #21453 (Closed): Missing rbs and rdbg binstubs - all OS's
- Applied in changeset commit:git|7ce339244953a6c3add543854292c61e9f5bc14b.
----------
[Bug #21453] Override `files` in gemspec file before `eval`
`executables` are often extracted from the `files` in gemspec files. -
06:16 AM Revision 7ce33924 (git): [Bug #21453] Override `files` in gemspec file before `eval`
- `executables` are often extracted from the `files` in gemspec files.
-
02:15 AM Revision 8bba087a (git): Added entry `open_timeout` feature of `Socket.tcp` to NEWS.md
-
02:14 AM Revision cf3acead (git): Use https://github.com/ruby/power_assert/pull/58
- 01:09 AM Revision d6eecec2 (git): [DOC] Fix backquote exit status docs
- It is `exitstatus`, not `status`, per https://github.com/ruby/ruby/blob/3d5619c8b1a76626e0991d758b71afc549829c38/process.c#L581