Project

General

Profile

Activity

From 08/31/2024 to 09/06/2024

09/06/2024

09:55 PM Bug #20718: Objects created with Data_Make_Struct and the default free function are not freed
I have added a pull request that should patch the issue. https://github.com/ruby/ruby/pull/11563 - I was able to build Ruby and run it against my example and it does work.
Presumably this would be a candidate for a backport :)
jcalvert (Jonathan Calvert)
09:45 PM Bug #20718 (Closed): Objects created with Data_Make_Struct and the default free function are not freed
I discovered a memory leak when using the FFI gem prior to version 1.16 and Ruby 3.3 and up.
During debugging I found that this earlier version of FFI uses Data_Make_Struct (https://github.com/ffi/ffi/blob/v1.15.5/ext/ffi_c/Pointer.c#...
jcalvert (Jonathan Calvert)
09:50 PM Bug #20710: Reducing Hash allocation introduces large performance degradation (probably related to VWA)
I implemented @byroot's suggestion in this PR: https://github.com/ruby/ruby/pull/11562
It significantly improves the performance in your benchmark and brings it almost as fast as Ruby 3.2.
peterzhu2118 (Peter Zhu)
09:26 PM Revision 6dc93846 (git): [ruby/rdoc] Add more space after magnifying glass
(https://github.com/ruby/rdoc/pull/1173)
https://github.com/ruby/rdoc/commit/6a9cad4c54
Mads Ohm Larsen
08:51 PM Revision 731805dd (git): Add an explicit check for broken libunwind builds
Libunwind as packaged in MacOS cannot actually unwind code which has
pointer authentication on, because _LIBUNWIND_IS_NATIVE_ONLY is not
defined. Add a check for this, and prefer building with working
unwinding over pointer authenticatio...
kjtsanaktsidis (KJ Tsanaktsidis)
08:51 PM Revision 2865148a (git): Revert "Check for both aarch64 and arm64 arch's for pac-ret"
This reverts commit 6a746e1bc902d4245aac58db4e9ffc2f72d79629.
This patch breaks the C level backtrace on macOS ARM machines.
peterzhu2118 (Peter Zhu)
07:13 PM Feature #20715: `Ractor.[]` and `Ractor.[]=` to access Ractor local storage
> it would be nice to do the same for Fiber and Thread as well
Would also be the occasion for `Thread[]` to be actual thread local instead of fiber local.
byroot (Jean Boussier)
03:38 PM Feature #20715: `Ractor.[]` and `Ractor.[]=` to access Ractor local storage
+1, makes perfect sense (IMO it would be nice to do the same for Fiber and Thread as well but out of scope of this issue). Eregon (Benoit Daloze)
06:52 PM Bug #20501: ruby SEGV
Okay, I figured out what's happening. In compile.c, new LABELs are allocated from an arena, and this is using xmalloc, so it's not zeroed. Labels have a `position` field that is not set in the `new_label_body()` function, so it could be ... luke-gru (Luke Gruber)
05:24 PM Bug #20501: ruby SEGV
This is a weird way to reproduce, but you can see it on https://runruby.dev/ if you comment out the Gemfile and put this in main.rb:
```ruby
def my_method
var = nil
if false && defined? File::TMPFILE
end
raise "woops"
en...
luke-gru (Luke Gruber)
04:45 PM Bug #20501: ruby SEGV
I'm not able to reproduce on Linux with this script using either master HEAD or 5613d6e95b. mdalessio (Mike Dalessio)
03:15 PM Bug #20501: ruby SEGV
I'm on x86-64 linux so that might have to do with it. I'll investigate a bit more. luke-gru (Luke Gruber)
02:20 AM Bug #20501: ruby SEGV
luke-gru (Luke Gruber) wrote in #note-5:
> For example, this is a minimal reproduction:
I can't reproduce it with master.
```ruby
def my_method
ivar = nil # seems to be needed to reproduce the issue
if false && defined? Fil...
nobu (Nobuyoshi Nakada)
06:44 PM Revision b0adae7f (git): [rubygems/rubygems] Remove unnecessary "./" when appending string to uri
https://github.com/rubygems/rubygems/commit/732679306d deivid (David Rodríguez)
06:44 PM Revision fe1bace4 (git): [rubygems/rubygems] Fix `gem install does-not-exist` being super slow
Every time a gem is not found in the Compact Index API, RubyGems will
fallback to the full index, which is very slow. This is unnecessary
because both indexes should be providing the same gems, so if a gem
can't be found in the Compact I...
deivid (David Rodríguez)
06:44 PM Revision 2a17b4f0 (git): [rubygems/rubygems] Deprecate constant that has been unused for a long time
https://github.com/rubygems/rubygems/commit/282dbb3d62 deivid (David Rodríguez)
06:44 PM Revision 4478ca31 (git): [rubygems/rubygems] Remove incorrect documentation
This exception has not been raised for a long time.
https://github.com/rubygems/rubygems/commit/a6271a0b21
deivid (David Rodríguez)
06:44 PM Revision 53f78417 (git): [rubygems/rubygems] Remove unreachable code
Nothing is actually raising this at the moment.
https://github.com/rubygems/rubygems/commit/3b824ca7a6
deivid (David Rodríguez)
04:58 PM Revision ad742de7 (git): [ruby/openssl] Fix test_provider.rb in FIPS.
https://github.com/ruby/openssl/commit/7bdbc52100 Jun Aruga
02:48 PM Feature #20309: Bundled gems for Ruby 3.5
Does this change mean that even if Ruby is installed, the irb command will no longer be available?
If that is the case, I oppose it for the following reasons:
- Existing learning materials will no longer work as-is, causing confusion...
ima1zumi (Mari Imaizumi)
05:35 AM Feature #20309: Bundled gems for Ruby 3.5
I will warn `benchmark`, `irb` and `reline` at Ruby 3.4. and make them and `readline` wrapper to bundled gems at Ruby 3.5 with September Dev Meeting. The current list is final proposal for Ruby 3.4.
I know `bundled_gems.rb` have so...
hsbt (Hiroshi SHIBATA)
02:46 PM Revision 30176e3f (git): [rubygems/rubygems] Ensure that the lock file will be removed
https://github.com/rubygems/rubygems/commit/2706acb271 nobu (Nobuyoshi Nakada)
02:46 PM Revision 6dd917bd (git): [rubygems/rubygems] Workaround for TruffleRuby
https://github.com/rubygems/rubygems/commit/b82e43fd54 nobu (Nobuyoshi Nakada)
02:46 PM Revision 5afee4d7 (git): [rubygems/rubygems] Remove the lock file for binstubs
https://github.com/rubygems/rubygems/pull/7806#issuecomment-2241662488
https://github.com/rubygems/rubygems/commit/4f06ee234a
nobu (Nobuyoshi Nakada)
01:56 PM Revision 6bf519ba (git): Remove unneeded rb_darray_append_impl
peterzhu2118 (Peter Zhu)
12:58 PM Revision 37712c1e (git): Prefer constants for `shutdown` over magic numbers
nobu (Nobuyoshi Nakada)
10:40 AM Feature #20702 (Closed): Add `Array#fetch_values`
Applied in changeset commit:git|bc85c8d8529b58c5c649f418ca549569ba348caa.
----------
Implement Array#fetch_values
[Feature #20702]
Works the same way than `Hash#fetch_values` for for array.
byroot (Jean Boussier)
10:40 AM Revision bc85c8d8 (git): Implement Array#fetch_values
[Feature #20702]
Works the same way than `Hash#fetch_values` for for array.
byroot (Jean Boussier)
08:06 AM Feature #20705: Should "0.E-9" be a valid float value?
> But I think it's good to make Float/to_f to accept "0.e-9"
Changing `String#to_f` introduces incompatibility:
```
$ ruby -ve "p '1.e-9'.to_f"
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux]
1.0
```
mrkn (Kenta Murata)
02:48 AM Feature #20705: Should "0.E-9" be a valid float value?
Implementation: https://github.com/ruby/ruby/pull/11559
Should we also accept "0." as @mame showed in #2? The implementation includes "0." support.
FYI: to_f already accepts "0.". Float didn't accept "0.".
kou (Kouhei Sutou)
06:53 AM Revision 214668fc (git): [Feature #20707] Fix negative UTC offset conversion
In short, get rid of division and modulo of negative integers. nobu (Nobuyoshi Nakada)
05:58 AM Revision 7387a097 (git): [ruby/digest] Suppress md5 deprecation warnings by gcc as well as clang
https://github.com/ruby/digest/commit/76878e3201 nobu (Nobuyoshi Nakada)
05:45 AM Revision 0e7b6e34 (git): Merge GH-11492
hsbt (Hiroshi SHIBATA)
05:45 AM Revision 74c4e562 (git): Warn missing irb cases
hsbt (Hiroshi SHIBATA)
05:45 AM Revision 1b4f394c (git): Only provide force_activate. Because it's hard to determine require name.
hsbt (Hiroshi SHIBATA)
05:45 AM Revision 69d0e690 (git): Added force_require for binding.irb
When we make irb to bundled gems, binding.irb with bundle exec is not
working without irb declaration of Gemfile.
This force_require makes to load irb without Gemfile.
hsbt (Hiroshi SHIBATA)
05:45 AM Revision e43d701f (git): Warn irb, reline for Ruby 3.5
hsbt (Hiroshi SHIBATA)
04:22 AM Misc #20717 (Closed): DevMeeting-2024-10-03
# The next dev meeting
**Date: 2024/10/03 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-10-03.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
04:21 AM Misc #20660 (Closed): DevMeeting-2024-09-05
mame (Yusuke Endoh)
03:46 AM Feature #20673: Enable native SOCKS support by default
As for the current SOCKS support at least, if the necessary library and header are found `socket.so` uses SOCKS functions instead of standard socket functions, and the built `socket.so` cannot be loaded where SOCKS library is not install... nobu (Nobuyoshi Nakada)
03:42 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
Yes, you are correct. This isn't specific to `define_method`. I modified the snippet a little bit
```
module A
def test(*args)
super
end
end
module B
def test(a)
puts a
end
end
B.prepend(A)
class C
i...
natton (Tien Truong)
03:32 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
This appears to be a method caching bug in `super`. If you remove the `.call(1)`, then it works correctly. `super_method` returns the correct method. The `define_method(:test, a)` call should result in the method cache being cleared o... jeremyevans0 (Jeremy Evans)
02:04 AM Bug #20716 (Closed): Different instance_method behavior in Ruby 2.7 and Ruby 3.x
Hi, I am working on upgrading our project from 2.7 to 3.x and found a breaking change in `instance_method` behavior.
Here is the code snippet
```
module A
def test(*args)
super
end
end
module B
def test(a)
puts ...
natton (Tien Truong)
02:20 AM Feature #20692: Rewrite Array#bsearch in Ruby
I tried `make test-all TESTS=test/ruby/test_array.rb` with the proposed implementation, but several tests failed. They should be solved before discussing performance.
```
[ 47/447] TestArray#test_bsearch_in_find_any_mode = 0.00 s
...
mame (Yusuke Endoh)
01:00 AM Revision 948ca04a (git): Allow failures for all Travis jobs
Every job on Travis is unstable now. k0kubun (Takashi Kokubun)
12:55 AM Revision c3f7041a (git): Merge reline-0.5.10 (#11558)
* Merge reline-0.5.8
* Merge reline-0.5.9
* Merge reline-0.5.10
hsbt (Hiroshi SHIBATA)
12:45 AM Misc #20658 (Closed): Dropping the Arm Neoverse (Ubuntu) server on RubyCI
"Arm Neoverse (Ubuntu)" has been removed from https://rubyci.org/. hsbt (Hiroshi SHIBATA)
12:44 AM Bug #20711 (Closed): readline/reline duplicate display of prompt
https://github.com/ruby/ruby/pull/11558 hsbt (Hiroshi SHIBATA)
12:32 AM Revision 81b74c9f (git): Update default gems list at e17d91459cc1f806b31feaff0cdbaa [ci skip]
git[bot]
12:31 AM Revision e17d9145 (git): [ruby/time] Bump up v0.4.0
https://github.com/ruby/time/commit/a14fa00ef7 hsbt (Hiroshi SHIBATA)

09/05/2024

10:37 PM Revision 72acd1c8 (git): [ruby/time] Do not redefine Time#xmlschema if it already exists
[Feature #20707]
Ruby 3.4 will define this method natively, so the time gem shouldn't
redefine it with a slower version.
https://github.com/ruby/time/commit/f05099ce38
byroot (Jean Boussier)
08:34 PM Feature #20692: Rewrite Array#bsearch in Ruby
I think this is a good idea, but I think we need to make a few changes. First, `to_enum` and `block_given?` are both method calls. It's possible for people to monkey patch Array and add those methods, but the original implementation of ... tenderlovemaking (Aaron Patterson)
07:39 PM Revision f250296e (git): YJIT: Speed up block_assumptions_free (#11556)
k0kubun (Takashi Kokubun)
06:34 PM Feature #20702: Add `Array#fetch_values`
Implementation: https://github.com/ruby/ruby/pull/11555 byroot (Jean Boussier)
08:46 AM Feature #20702: Add `Array#fetch_values`
Looks like a good idea. Accepted.
Matz.
matz (Yukihiro Matsumoto)
06:03 PM Revision cf3b62b5 (git): Fix check_tempfile_leak in leakchecker.rb
The instance variable @tmpfile was removed in ddcfc9f so check_tempfile_leak
did not work.
peterzhu2118 (Peter Zhu)
05:31 PM Bug #20501: ruby SEGV
I created a patch here: https://github.com/ruby/ruby/pull/11554. I'm new to the code in compile.c so perhaps someone could come up with a better solution. luke-gru (Luke Gruber)
05:23 PM Feature #20707 (Closed): Move `Time#xmlschema` into core
Applied in changeset commit:git|57e3fc32ea83e55d40f4cc6c3e437d485c506d34.
----------
Move Time#xmlschema in core and optimize it
[Feature #20707]
Converting Time into RFC3339 / ISO8601 representation is an significant
hotspot for appl...
byroot (Jean Boussier)
07:39 AM Feature #20707: Move `Time#xmlschema` into core
Accepted.
Matz.
matz (Yukihiro Matsumoto)
05:23 PM Revision 57e3fc32 (git): Move Time#xmlschema in core and optimize it
[Feature #20707]
Converting Time into RFC3339 / ISO8601 representation is an significant
hotspot for applications that serialize data in JSON, XML or other formats.
By moving it into core we can optimize it much further than what `strf...
byroot (Jean Boussier)
04:53 PM Revision d4de8aef (git): `rake install` command is failed (#1170)
* `rake install` command is failed
\### Problems
Several file paths were changed by following PR.
- https://github.com/ruby/rdoc/commit/4211292ffe80dd4737db2450d72df404a9d55051
- https://github.com/ruby/rdoc/commit/d7bca12c13b8b3f1632...
mterada1228
02:36 PM Feature #20673: Enable native SOCKS support by default
@nobu there has perhaps been a misunderstanding. The `socksify` library works adequately for HTTP today, but it patches a private method in the `Net::HTTP` class. This makes any code built using `socksify` very fragile and potentially su... MatzFan (Brian Cohen)
01:20 PM Feature #20673: Enable native SOCKS support by default
At the developers' meeting, there was an opinion that we could drop the support for SOCKS if it works well with `socksify`. nobu (Nobuyoshi Nakada)
12:49 PM Revision ffebc1c7 (git): Update default gems list at 721a2ceecfe3e3f943b7da50efe8f1 [ci skip]
git[bot]
12:48 PM Revision 721a2cee (git): [ruby/reline] Bump version to 0.5.10
(https://github.com/ruby/reline/pull/745)
https://github.com/ruby/reline/commit/0ebd54f675
ima1zumi (Mari Imaizumi)
12:22 PM Revision be6d2364 (git): [ruby/reline] Prevent a warning for `warning: literal string will be
frozen in the future`
(https://github.com/ruby/reline/pull/744)
https://github.com/ruby/reline/commit/69c95c8b6a
ima1zumi (Mari Imaizumi)
10:57 AM Bug #20713: Ruby 3.3.5 triggers a deprecation warning with `require "json"`
The `rdoc` warning is from `irb` itself: https://github.com/ruby/irb/pull/999
Earlopain (Earlopain _)
10:46 AM Feature #20684 (Closed): Add optimized instructions for frozen literal Hash and Array
Applied in changeset commit:git|a99707cd9c6a1d53cf8ebc883dc210219bd67a28.
----------
Optimized instruction for Array#freeze
If an Array which is empty or only using literals is frozen, we detect
this as a peephole optimization and chan...
etienne (Étienne Barrié)
06:08 AM Feature #20684: Add optimized instructions for frozen literal Hash and Array
Makes sense, thank you Matz! byroot (Jean Boussier)
05:50 AM Feature #20684: Add optimized instructions for frozen literal Hash and Array
Basically agreed. But the existence (and side effect) of this optimization should be implementation defined, especially regarding `object_id`.
Matz.
matz (Yukihiro Matsumoto)
10:46 AM Revision bf987979 (git): Optimized instruction for Hash#freeze
If a Hash which is empty or only using literals is frozen, we detect
this as a peephole optimization and change the instructions to be
`opt_hash_freeze`.
[Feature #20684]
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
etienne (Étienne Barrié)
10:46 AM Revision a99707cd (git): Optimized instruction for Array#freeze
If an Array which is empty or only using literals is frozen, we detect
this as a peephole optimization and change the instructions to be
`opt_ary_freeze`.
[Feature #20684]
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
etienne (Étienne Barrié)
10:11 AM Feature #15554: warn/error passing a block to a method which never use a block
> Warning category option like
I think this is the better option as it build on top of an existing interface.
And probably some existing warnings could be moved into that category. The way I see it, a `pedantic` category would be ...
byroot (Jean Boussier)
03:02 AM Feature #15554: warn/error passing a block to a method which never use a block
As @Eregon mentioned on #60 we need to discuss how to enable strict mode.
https://hackmd.io/CoLraFp_QrqyHBcv3g8bVg?view#Feature-15554-warnerror-passing-a-block-to-a-method-which-never-use-a-block-ko1
Summary of proposed ways:
* Environ...
ko1 (Koichi Sasada)
09:43 AM Feature #20590 (Closed): Ensure `fork` isn't called when `raddrinfo`'s background thread is in `getaddrinfo`
Applied in changeset commit:git|63cbe3f6ac9feb44a2e43b1f853e2ca7e049316c.
----------
Proof of Concept: Allow to prevent fork from happening in known fork unsafe API
[Feature #20590]
For better of for worse, fork(2) remain the primary ...
byroot (Jean Boussier)
09:43 AM Revision 63cbe3f6 (git): Proof of Concept: Allow to prevent fork from happening in known fork unsafe API
[Feature #20590]
For better of for worse, fork(2) remain the primary provider of
parallelism in Ruby programs. Even though it's frowned uppon in
many circles, and a lot of literature will simply state that only
async-signal safe APIs ar...
byroot (Jean Boussier)
09:23 AM Bug #20690 (Rejected): URI.encode_www_form_component method escapes tilde when it's not supposed to
`URI.encode_www_form_component` is designed for HTML form submission.
It is not whatt RFC3986 defines as "Percent-Encoding", but defined as "application/x-www-form-urlencoded".
(The latest definition is https://url.spec.whatwg.org/#url...
naruse (Yui NARUSE)
09:05 AM Feature #20705: Should "0.E-9" be a valid float value?
It seems a bug in missing/dtoa.c. nobu (Nobuyoshi Nakada)
08:49 AM Feature #20705: Should "0.E-9" be a valid float value?
We are not going to change the literal format of floating point values. But I think it's good to make Float/to_f to accept "0.e-9".
Matz.
matz (Yukihiro Matsumoto)
08:54 AM Feature #20703: Alias StringIO#string to StringIO#to_s/to_str
Since `StringIO` is a IO-like object, not String-like object, so it should not provide `to_str`. And string body of a StringIO tends to be long, so simple alias of `string` to `to_s` does not always work well.
So please use `string` met...
matz (Yukihiro Matsumoto)
08:30 AM Feature #20703 (Rejected): Alias StringIO#string to StringIO#to_s/to_str
At this developers' meeting, no one was favor of this.
IMO, `StringIO` is not a `String`-like object.
nobu (Nobuyoshi Nakada)
08:41 AM Revision 2e5680d3 (git): [ruby/openssl] Fix test_pkey_rsa.rb in FIPS.
* test_sign_verify
I created the signature text (`signature_encoded.txt`), that is used as a
text to create the `signature0` in the `test_sign_verify` by the following
steps with the `openssl` CLI on FIPS module.
```
$ OPENSSL_...
Jun Aruga
07:55 AM Revision 08e142b2 (git): Refactor `getlogin` and `getpw*` functions
- Extract functions to check not-found conditions
- Set the length to the result of `rb_getlogin`
- Reentrant versions return an error numeber but not `errno`
- Check maybe-undefined macros with `defined`
nobu (Nobuyoshi Nakada)
07:01 AM Revision 630bfd36 (git): Update bundled gems list as of 2024-09-04
git[bot]
06:26 AM Bug #20714 (Assigned): Handle optional dependencies in `bundled_gems.rb`
hsbt (Hiroshi SHIBATA)
06:24 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
deivid (David Rodríguez) wrote in #note-6:
> Is it as simple as https://github.com/ruby/ruby/pull/11550?
I had something a little different in mind (trim `SINCE`) but I think that is a nice solution. The PR looks reasonable to me.
Earlopain (Earlopain _)
05:56 AM Bug #20675 (Closed): Parse error with required kwargs and omitted parens
OK, I understand the reason and background of this behavior. The issue is withdrawn.
Matz.
matz (Yukihiro Matsumoto)
04:54 AM Feature #20594: A new String method to append bytes while preserving encoding
`String#append_as_bytes` looks good to me too. Accepted.
Matz.
matz (Yukihiro Matsumoto)
04:03 AM Revision 32680f54 (git): Implement AND/OR NODE operator locations
ydah (Yudai Takada)
02:48 AM Feature #20627: `require` on Ractor should run on the main Ractor
I want to add new features:
* `Ractor._activated` which is called when the first `Ractor.new` is called
* `Ractor._require(feature)` described in this issue
* `_activated` method uses `prepend` with new anonymous module to call `Rac...
ko1 (Koichi Sasada)
02:35 AM Feature #20715 (Closed): `Ractor.[]` and `Ractor.[]=` to access Ractor local storage
Trivial proposal.
Now `Ractor#[]/#[]=` is supported to access current ractor local storage. However, it doesn't allow to access local storage of other ractors.
```ruby
Ractor.current[:foo] = 1
Ractor.new{
p Ractor.main[:foo...
ko1 (Koichi Sasada)

09/04/2024

10:13 PM Bug #20501: ruby SEGV
It looks like it has to do with `defined?()` in an `if` expression and its catch table entries when the first part of the if expression has been eliminated and there is no then label to follow.
For example, this is a minimal reproductio...
luke-gru (Luke Gruber)
09:27 PM Feature #16378: Support leading arguments together with ...
esad (Esad Hajdarevic) wrote in #note-21:
> Is there a reason why this doesn't work with keyword arguments too?
> ...
Keyword arguments are not leading arguments. Trying to support what you want was not in scope. I think trying to s...
jeremyevans0 (Jeremy Evans)
09:04 PM Feature #16378: Support leading arguments together with ...
Is there a reason why this doesn't work with keyword arguments too?
For example:
```
def foo(bar:, ...)
other(...)
end
```
results in syntax error
esad (Esad Hajdarevic)
08:02 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
> Drop warnings when ruby would throw an error here. When the require will raise, it doesn't need to warn. This is how I already imagined it works. I guess it doesn't for visibility?
I think this is the best solution. The warning is a...
deivid (David Rodríguez)
04:38 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
Maybe a good solution is to make `$VERBOSE` thread-local or fiber-local at some point, then at least this concern and related ones would be solved once and for all. Eregon (Benoit Daloze)
04:20 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
Thanks for you reply, I was about to write something similar about the older rubies.
At first I was writing about how I don't think a new api is really necessary since the compatibility code can simply be dropped once `required_ruby_v...
Earlopain (Earlopain _)
04:07 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
The problem is any new API would be rather cumbersome to use (in a way that still works on older Rubies), so probably this fix is good as a quick measure.
I think it would be good to think about a longer-term solution too though.
Eregon (Benoit Daloze)
03:51 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
One potential problem with setting `$VERBOSE` to nil is that's not thread-safe, and so might hide valid warnings from other threads requiring around the same time.
Maybe it should be some explicit method in `Gem` or so to suppress that ...
Eregon (Benoit Daloze)
02:17 PM Bug #20714 (Assigned): Handle optional dependencies in `bundled_gems.rb`
I've encountered a few places around bundled gems where the library doesn't care if the gem is available, but will still provide some functionallity if it is.
The way to accomplish that right now seems to be by setting `$VERBOSE = nil...
Earlopain (Earlopain _)
03:47 PM Revision 4eb51dfc (git): Merge JSON 2.7.2 for Ruby 3.3 (#11541)
Merge JSON 2.7.2 hsbt (Hiroshi SHIBATA)
02:12 PM Revision 294dad22 (git): Time#strftime: avoid repeated coderange scanning
Followup: a3f589640fd443deea230c27efd6bdfc92f5817f
Restarting scanning has a fixed cost. Since we build a string
from many small parts, that causes the scan to restart many times.
It's much faster to ignore the coderange, if it's neede...
byroot (Jean Boussier)
01:57 PM Revision 2e5a7d76 (git): [rubygems/rubygems] Improve `bundle add` manpage
* Fix synopsis for mutually exclusive options.
* Add more descriptive examples.
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/c0f1efda69
Co-authored-by: Jerome Dalbert <je...
Takuya Noguchi
01:29 PM Revision ae84c017 (git): Remove unused allocatable_pages field in objspace
peterzhu2118 (Peter Zhu)
01:13 PM Revision da0460a2 (git): [ruby/prism] Update config.yml
https://github.com/ruby/prism/commit/8a3fa9f46e kddnewton (Kevin Newton)
01:13 PM Revision a2461886 (git): [ruby/prism] Update config.yml
https://github.com/ruby/prism/commit/369b2c1304 kddnewton (Kevin Newton)
01:13 PM Revision dbb8f97e (git): [ruby/prism] essentialy ==> essentially
https://github.com/ruby/prism/commit/9c68c01bcd ydah (Yudai Takada)
01:13 PM Revision 5c3a5262 (git): [ruby/prism] containt ==> contains
https://github.com/ruby/prism/commit/fa65b66237 ydah (Yudai Takada)
12:52 PM Revision a3f58964 (git): Time#strftime: grow the buffer faster
Use a classic doubling of capacity rather than only adding
twice as much capacity as is already known to be needed.
```
compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
built-ruby: ruby...
byroot (Jean Boussier)
12:29 PM Bug #20713: Ruby 3.3.5 triggers a deprecation warning with `require "json"`
I believe reline requires a PR like that as well: `bundle exec ruby -e "require 'reline'"`
> /home/user/.rbenv/versions/3.3.5/lib/ruby/3.3.0/reline.rb:9: warning: fiddle was loaded from the standard library, but will no longer be part o...
Earlopain (Earlopain _)
10:23 AM Bug #20713: Ruby 3.3.5 triggers a deprecation warning with `require "json"`
https://github.com/ruby/ruby/pull/11541 hsbt (Hiroshi SHIBATA)
06:43 AM Bug #20713: Ruby 3.3.5 triggers a deprecation warning with `require "json"`
I think that if Bundler is used, that means gems are used and they should always fully specify their dependencies. The other way is to not use Bundler. vo.x (Vit Ondruch)
05:06 AM Bug #20713: Ruby 3.3.5 triggers a deprecation warning with `require "json"`
Ah is the default `json` gem no longer supported too? This broke REXML CI: https://github.com/ruby/rexml/actions/runs/10695343850/job/29648614890 because `rdoc` uses `json` from the standard library and I see the same warning from runnin... Bo98 (Bo Anderson)
05:00 AM Bug #20713 (Closed): Ruby 3.3.5 triggers a deprecation warning with `require "json"`
You can suppress that warning with `json-2.7.2`. hsbt (Hiroshi SHIBATA)
04:53 AM Bug #20713 (Closed): Ruby 3.3.5 triggers a deprecation warning with `require "json"`
Can be reproduced with `bundle exec ruby -e "require 'json'"`:
```
/opt/hostedtoolcache/Ruby/3.3.5/x64/lib/ruby/3.3.0/json/common.rb:3: warning: ostruct was loaded from the standard library, but will no longer be part of the default ...
Bo98 (Bo Anderson)
12:00 PM Revision 83334ebb (git): [rubygems/rubygems] Load gemspecs in the context of its parent also when using local overrides
https://github.com/rubygems/rubygems/commit/0a6c1c53ce deivid (David Rodríguez)
11:58 AM Revision 9a766777 (git): [ruby/reline] Split render_differential to LineEditor's rendering
logic and actual differential rendering part
(https://github.com/ruby/reline/pull/731)
https://github.com/ruby/reline/commit/c90f08f7e3
tompng (tomoya ishida)
10:03 AM Misc #20013: Travis CI status
> So, I will drop all the pipelines on the 2nd commit on the following PR.
Dropped Travis as temporary workaround. The infra issue is still ongoing. The Travis customer support replied with the following message.
> ...
jaruga (Jun Aruga)
09:26 AM Revision 036ca726 (git): Fix documentation for String#index and String#byterindex
byroot (Jean Boussier)
09:21 AM Revision ae98d19c (git): Test with Ubuntu 24.04
hsbt (Hiroshi SHIBATA)
08:57 AM Revision 56817865 (git): [rubygems/rubygems] Removed unused stringio
Fixed https://github.com/rubygems/rubygems/pull/7996
https://github.com/rubygems/rubygems/commit/16bfcac883
hsbt (Hiroshi SHIBATA)
07:09 AM Misc #20660: DevMeeting-2024-09-05
* [Feature #20707] Move `Time#xmlschema` (AKA `iso8601`) into core (byroot)
* Usability wise, this is such a common format that I'd expect to have it without needing to require anything.
* On a more general point, `require 'time'` ...
byroot (Jean Boussier)
07:02 AM Revision 7fc1fd89 (git): Update bundled gems list as of 2024-09-04
git[bot]
05:49 AM Revision e884d650 (git): Ignore blocks to `Test::Unit::Assertions#pend` silently
Although `pend` in test-unit gem expects the block does not pass if it
is given, our `pend` should ignore the block silently as same as it
just skips the test with no message by default. Add an unused
parameter, to suppress the warning ...
nobu (Nobuyoshi Nakada)
05:44 AM Revision a3e08718 (git): Use bundler/inline to download diffy gem
hsbt (Hiroshi SHIBATA)
05:36 AM Revision ab18b1b4 (git): Implement VALIAS NODE keyword locations
ydah (Yudai Takada)
03:28 AM Bug #20710: Reducing Hash allocation introduces large performance degradation (probably related to VWA)
@peterzhu2118 This is totally different from the issue we talked about in Slack, which was entirely a micro-benchmark of the speed of generating empty hashes. This problem is much more complex.
This problem is that “reducing the numbe...
mame (Yusuke Endoh)
03:17 AM Bug #20708 (Closed): EINTR while opening fifo isn't retried
Applied in changeset commit:git|37d7ae06afb03ae5508bfd81033961559886bd6b.
----------
[Bug #20708] Retry `open` on EINTR
Co-Authored-By: Martin Dorey <martin.dorey@hds.com>
nobu (Nobuyoshi Nakada)
02:29 AM Bug #20708: EINTR while opening fifo isn't retried
https://github.com/ruby/ruby/pull/11537 nobu (Nobuyoshi Nakada)
01:42 AM Revision 37d7ae06 (git): [Bug #20708] Retry `open` on EINTR
Co-Authored-By: Martin Dorey <martin.dorey@hds.com> nobu (Nobuyoshi Nakada)
01:28 AM Revision ade240e5 (git): Adjust indents [ci skip]
nobu (Nobuyoshi Nakada)
01:21 AM Revision 08f14b8d (git): Allow Errno::EACCES when testing connection timeout
Some packaging systems that include support for running tests,
such as OpenBSD's, do not allow outbound network connections
during testing for security reasons. EACCES is the error raised by
OpenBSD in this case.
jeremyevans (Jeremy Evans)

09/03/2024

11:41 PM Revision 974b4043 (git): Bump up openssl-3.0.15
hsbt (Hiroshi SHIBATA)
09:47 PM Bug #20711: readline/reline duplicate display of prompt
tompng (tomoya ishida) wrote in #note-1:
> https://github.com/ruby/reline/pull/742 will fix it.
Great - thanks :-)
yogo1212 (Leon Busch-George)
03:30 PM Bug #20711: readline/reline duplicate display of prompt
https://github.com/ruby/reline/pull/742 will fix it. tompng (tomoya ishida)
10:45 AM Bug #20711 (Closed): readline/reline duplicate display of prompt
```ruby
#!/usr/bin/env ruby
require 'readline'
prompt = "asdf: "
default = "true"
Readline.pre_input_hook = -> do
Readline.insert_text "#{default}"
Readline.redisplay
Readline.pre_input_hook = nil
end
Readline.readli...
yogo1212 (Leon Busch-George)
06:28 PM Feature #20709 (Closed): Improve String#rindex performance on OSX
Merged in https://github.com/ruby/ruby/commit/e7cb70be4eb7411204f73ee748e317fefaa0410a jhawthorn (John Hawthorn)
05:45 PM Revision e7fbdf81 (git): Fix indentation broken in 53eaa67 [ci skip]
peterzhu2118 (Peter Zhu)
05:44 PM Revision ef42e04a (git): Don't traverse garbage objects in heap traversal
The object could be garbage (e.g. T_NONE, T_MOVED, or T_ZOMBIE) so we
don't want to traverse those.
peterzhu2118 (Peter Zhu)
05:43 PM Revision 53eaa673 (git): Unpoision the object in rb_gc_impl_garbage_object_p
peterzhu2118 (Peter Zhu)
05:40 PM Revision 675529b9 (git): [rubygems/rubygems] standardize pretty-print output for Gem::Source and subclasses
https://github.com/rubygems/rubygems/commit/6d5fbf82f1 Durable Programming Team
05:16 PM Revision 767d0a17 (git): [PRISM] Fix up compile warning for sign comparison
kddnewton (Kevin Newton)
04:12 PM Revision f7b097de (git): [PRISM] Keep script lines option for eval iseqs as well
kddnewton (Kevin Newton)
03:45 PM Revision f1349924 (git): [ruby/irb] Fix easter_egg run without RDoc, fix input-method test
run without RDoc
(https://github.com/ruby/irb/pull/998)
* EasterEgg no longer depend on RDoc
* Run most of the input-method tests even if RDoc is not avialable
https://github.com/ruby/irb/commit/30fa1595d9
tompng (tomoya ishida)
03:37 PM Feature #20525: Percent string literal with indentation support or String#dedent
Oh interesting, I thought that was a typo 😂.
I was playing around with characters after I wrote this and found something that I think looks a little better than the "}" thing:
```ruby
markdown <<~___
# Hello
How are you do...
bradgessler (Brad Gessler)
12:28 PM Feature #20525: Percent string literal with indentation support or String#dedent
@bradgessler I am not sure if you've missed the suggestion by @shyouhei in https://bugs.ruby-lang.org/issues/20525#note-5:
```ruby
markdown <<~"}"
# Hello
How are you doing?
}
```
This doesn't need naming anything and has no...
ufuk (Ufuk Kayserilioglu)
08:31 AM Feature #20525: Percent string literal with indentation support or String#dedent
Same reason you can conjure up a Proc via `-> {}` — the syntax looks cleaner and you don't have to stop and try to name it.
Not having to name a string is a pretty big boost in terms staying in the flow.
The second thing: it looks ...
bradgessler (Brad Gessler)
03:32 PM Revision 0889f640 (git): [ruby/reline] Add test for reset_variables in Reline::Config
(https://github.com/ruby/reline/pull/741)
* Fix reset variables
* Add assertion for reload
* Add helper method to get instance variable value of Reline::Config
https://github.com/ruby/reline/commit/386f619ff5
ima1zumi (Mari Imaizumi)
03:19 PM Revision ad9d2c64 (git): [ruby/reline] Fix redisplay/insert_text called from pre_input_hook
(https://github.com/ruby/reline/pull/742)
* Fix redisplay/insert_text called from pre_input_hook
* Rename insert_pasted_text to insert_multiline_text
It is now used from Reline.insert_text which is not inserting pasted text
https://g...
tompng (tomoya ishida)
02:05 PM Revision 3c63a012 (git): Move responsibility of heap walking into Ruby
This commit removes the need for the GC implementation to implement heap
walking and instead Ruby will implement it.
peterzhu2118 (Peter Zhu)
01:09 PM Revision a2243ee4 (git): Implement ALIAS NODE keyword locations
ydah (Yudai Takada)
12:48 PM Feature #20712 (Closed): module should return newly defined module
nobu (Nobuyoshi Nakada)
12:14 PM Feature #20712: module should return newly defined module
`module` and `class` don't return `nil`, they return the value of the last statement in the scope:
```ruby
x = module Foo
42
end
puts x #=> 42
x = class Bar
def foo = 42
end
puts x #=> :foo
```
There might be code that r...
ufuk (Ufuk Kayserilioglu)
12:12 PM Feature #20712: module should return newly defined module
Ok I was too quick on this one. module keyword returns last expression in the block, so just ending module declaration with self works:
```
using(module Foo
refine ...
self
end)
```
so this request can be closed
esad (Esad Hajdarevic)
12:04 PM Feature #20712 (Closed): module should return newly defined module
Currently module keyword returns nil after defining a new module:
```
x = module Foo
end
# x is nil
```
It would be more consistent with `Module.new` if module keyword returned the newly defined module. Then we could do:
```...
esad (Esad Hajdarevic)
12:15 PM Revision af143d8a (git): Implement UNDEF NODE keyword locations
ydah (Yudai Takada)
10:21 AM Revision b7fa2dd0 (git): rb_enc_str_asciionly_p: avoid always fetching the encoding
Profiling of `JSON.dump` shows a significant amount of time spent
in `rb_enc_str_asciionly_p`, in large part because it fetches the
encoding.
It can be made twice as fast in this scenario by first checking the
coderange and only falling...
byroot (Jean Boussier)
07:21 AM Revision 245ed2fc (git): Range#step: restore legacy behavior for String ranges
zverok (Victor Shepelev)
07:11 AM Revision 452eb24b (git): Added missing client_payload for ruby-build
hsbt (Hiroshi SHIBATA)
06:37 AM Revision 1b8fb486 (git): Revert "Experiment with removing --profile ruby for now"
This reverts commit 6986536488ba23c033c043ef8765438f22df7bf5.
We were just missing the secrets.
k0kubun (Takashi Kokubun)
06:31 AM Revision 69865364 (git): Experiment with removing --profile ruby for now
k0kubun (Takashi Kokubun)
06:29 AM Revision ad613d08 (git): Try to fix AWS_CLI_OPTS with AWS_ACCESS_KEY_ID
k0kubun (Takashi Kokubun)
06:25 AM Revision 20c34015 (git): Drop `--profile ruby` on the release workflow
k0kubun (Takashi Kokubun)
06:00 AM Misc #20685 (Closed): Ruby 3.2.4 tag mentions unrelated changes (CVE-2024-27280)
Removed them at https://github.com/ruby/www.ruby-lang.org/pull/3347 hsbt (Hiroshi SHIBATA)
05:48 AM Bug #20687 (Closed): Does tarball require baseruby?
This issue happens only when ruby is installled but erb is not installed. 6ab591f80aa19d63ecd1e1df3c09c391efb318a6 checks if not only ruby but also erb is installed. So I think the issue itself is already resolved. Using miniruby for reb... mame (Yusuke Endoh)
05:48 AM Bug #20687: Does tarball require baseruby?
vo.x (Vit Ondruch) wrote in #note-4:
> nobu (Nobuyoshi Nakada) wrote in #note-1:
> ...
Now miniruby is used if erb is not available.
nobu (Nobuyoshi Nakada)
05:25 AM Revision e7cb70be (git): Improve String#rindex performance on OSX
On OSX, String#rindex is slow due to the lack of `memrchr`.
The fallback implementation finds a match by instead doing
a `memcmp` on every single character in the search string
looking for a substring match.
For OSX hosts, this changese...
zack.ref@gmail.com (Zack Deveau)
04:43 AM Revision 5fd39424 (git): [ruby/optparse] Prefer `require_relative`
https://github.com/ruby/optparse/commit/bb08cd47a8 nobu (Nobuyoshi Nakada)
03:24 AM Misc #20660: DevMeeting-2024-09-05
* [Feature #20673] Enable native SOCKS support by default (znz)
* I think enable by default is better than depend on an environment variable.
znz (Kazuhiro NISHIYAMA)
02:51 AM Revision f4883e79 (git): [flori/json] Use the compiled extension in test
https://github.com/flori/json/commit/148afef84c etienne (Étienne Barrié)
02:51 AM Revision d612f9fd (git): [flori/json] Remove outdated ifdef checks
`json` requires Ruby 2.3, so `HAVE_RUBY_ENCODING_H` and `HAVE_RB_ENC_RAISE`
are always true.
https://github.com/flori/json/commit/5c8dc6b70a
byroot (Jean Boussier)
01:49 AM Revision 81c71efc (git): Vendor `securerandom` in Bundler as well
It is loaded by `Fetcher` so in most case it's fine.
But if using `bundler/inline` and a gem need to be fetched,
`securerandom` will be loaded and cause a conflict.
Can be reproduced with:
```ruby
require 'bundler/inline'
gemfile do
...
deivid (David Rodríguez)
01:49 AM Revision e66e3cf1 (git): Change automatiek to properly vendor securerandom
Co-authored-by: Jean Boussier <jean.boussier@gmail.com> deivid (David Rodríguez)
01:49 AM Revision 053caa31 (git): Fix `gem exec rails new foo` failing on Ruby 3.2
The default version of securerandom (0.2.2) gets activated by RubyGems,
but does not match Rails requirements (>= 0.3), leading to an error like
this:
```
$ gem exec rails new repro
/Users/deivid/Code/rubygems/rubygems/lib/rubygems/spec...
deivid (David Rodríguez)
01:49 AM Revision 24c51e1c (git): Let automatiek convert requires that are indented to require_relative as well
deivid (David Rodríguez)
12:59 AM Revision a33416a3 (git): Fix runnable symlinks
Fix symlinks to executable as relative paths from `bin` directory. nobu (Nobuyoshi Nakada)

09/02/2024

11:40 PM Bug #20695 (Closed): Elevated GC allocations in parse.y parser
Applied in changeset commit:git|c93d07ed7448f332379cf21b4b7b649b057e5671.
----------
[Bug #20695] Do not create needless string object in parser
`set_parser_s_value` does nothing in parser therefore no need to
create string object in p...
yui-knk (Kaneko Yuichiro)
11:40 PM Revision c93d07ed (git): [Bug #20695] Do not create needless string object in parser
`set_parser_s_value` does nothing in parser therefore no need to
create string object in parser `set_yylval_node`.
# Object allocation
Run `ruby benchmarks/lobsters/benchmark.rb` with the patch
```diff
diff --git a/benchmarks/lobsters...
yui-knk (Kaneko Yuichiro)
10:14 PM Revision 1b82d634 (git): Fix flaky test_latest_gc_info_need_major_by
It's possible for a GC to run between the calls of GC.latest_gc_info,
which would cause the test to fail. We can disable GC so that GC only
triggers manually.
peterzhu2118 (Peter Zhu)
05:28 PM Revision c1fecc5e (git): [rubygems/rubygems] Simplify `Gem.read_binary` and `Gem.write_binary`
Since `Gem.open_file` no longer locks the target file and is same as
`File.open` now, simply `Gem.read_binary` should read in binary mode.
Also the body of `Gem.write_binary` is same as `File.binwrite`.
https://github.com/rubygems/rubyg...
nobu (Nobuyoshi Nakada)
04:53 PM Bug #20710: Reducing Hash allocation introduces large performance degradation (probably related to VWA)
I still think free pages should be in a global pool rather than tied to a specific pool size. I believe that would solve this issue.
And yes we don't see it on macro benchmarks, but it might still cause more frequent GC than necessary.
byroot (Jean Boussier)
04:49 PM Bug #20710: Reducing Hash allocation introduces large performance degradation (probably related to VWA)
Thank you for the detailed report.
I had a discussion about this with @mame and @byroot last year in the Ruby core slack: https://ruby.slack.com/archives/C02A3SL0S/p1702910003614609
One of the big differences is that VWA eagerly al...
peterzhu2118 (Peter Zhu)
06:24 AM Bug #20710 (Closed): Reducing Hash allocation introduces large performance degradation (probably related to VWA)
I found a surprising performance degradation while developing RBS.
In short, I tried to remove unnecessary Hash allocations for RBS. Then, it made the execution time 2x slower.
VWA for Hash probably causes this degradation. I'd be ha...
pocke (Masataka Kuwabara)
04:09 PM Revision ef084cc8 (git): v3.3.5
k0kubun (Takashi Kokubun)
03:51 PM Revision 1f00f6a0 (git): [rubygems/rubygems] Avoid another race condition of open mode
Instead, just open in CREATE and APPEND mode.
Also, move the workaround for old Solaris as fallback to retry.
https://github.com/rubygems/rubygems/commit/2daad257be
nobu (Nobuyoshi Nakada)
03:36 PM Revision b539b43b (git): [ruby/rdoc] [DOC] Fix links (https://github.com/ruby/rdoc/pull/1169)
https://github.com/ruby/rdoc/commit/a576ff890f burdettelamar (Burdette Lamar)
02:34 PM Revision fe2db1be (git): [ruby/reline] Get console handle again and retry when Win32API call
fails
(https://github.com/ruby/reline/pull/734)
https://github.com/ruby/reline/commit/66291b5e3c
tompng (tomoya ishida)
02:01 PM Revision bb511c3f (git): [rubygems/rubygems] Don't try to remove previous install folder if it's empty
Ruby ships with empty directories for default gems. If Ruby
installations has unsafe world-writable permissions, we will complain
when about to install a gem that happens to be also a default gem,
because we'll start by removing the prev...
deivid (David Rodríguez)
02:01 PM Revision b00b0d5f (git): [rubygems/rubygems] Improve insecure gem overwrite message
https://github.com/rubygems/rubygems/commit/7c71dac22e deivid (David Rodríguez)
01:36 PM Revision 4303a02f (git): CI: windows.yml: Drop pull-request - path-ignore.
It's to avoid the stucking "Windows result" job.
It seems only the files included in the list of the pull-request - path-ignore,
GitHub Actions "Windows result" permanently waits for the jobs that don't exist.
Jun Aruga
01:36 PM Revision c853e48f (git): .travis.yml: Drop all the pipelines due to jobs not starting.
Remove `.travis.yml` as a temporary workaround. Jun Aruga
01:36 PM Revision 3d83df2b (git): .travis.yml: Allow failures for arm64/arm32 pipelines.
Right now, the arm64 servers on Travis took around 7 hours to start the jobs.
Therefore, allow failures for the arm64 and arm32 pipelines
https://app.travis-ci.com/github/ruby/ruby/builds/272105049
Jun Aruga
12:31 PM Revision 9d522cc4 (git): [rubygems/rubygems] Make ruby-core check not depend on ENV
I found it useful to be able to use `GEM_COMMAND` outside of a ruby-core
env, so I made the ruby-core env detection not depend on it.
https://github.com/rubygems/rubygems/commit/6cb389c290
deivid (David Rodríguez)
10:28 AM Revision d3ab7be8 (git): merge revision(s) 657f4b99f61: [Backport #20667]
Update bundled gems list as of 2024-08-02 k0kubun (Takashi Kokubun)
10:25 AM Revision c69d59e9 (git): Sync tool/lib/core_assertions.rb from master
It seems necessary to pass test-bundled-gems with REXML. k0kubun (Takashi Kokubun)
10:19 AM Bug #20701: Hash argument passed as keyword splat can be mutated inside method
ruby_3_3 commit:cf9a6c2b63e6337a3f6ce76527446739e5aceb67 merged revision(s) commit:a3562c2a0abf1c2bdd1d50377b4f929580782594. k0kubun (Takashi Kokubun)
10:19 AM Revision cf9a6c2b (git): merge revision(s) a3562c2a0abf1c2bdd1d50377b4f929580782594: [Backport #20701]
Remove incorrect setting of KW_SPLAT_MUT flag
Fixes [Bug #20701]
Co-authored-by: Pablo Herrero <pablodherrero@gmail.com>
k0kubun (Takashi Kokubun)
10:13 AM Bug #20698: Please backport fix for CVE-2024-43398
Please consider filing PRs to branches like `ruby_3_3` next time. k0kubun (Takashi Kokubun)
10:12 AM Bug #20698: Please backport fix for CVE-2024-43398
ruby_3_3 commit:e0e23e7d5e. k0kubun (Takashi Kokubun)
10:11 AM Bug #20691: Use-after-free in WeakKeyMap#clear
ruby_3_3 commit:ac8d50e52ebc2d2684914e56548a64a65830c16a. k0kubun (Takashi Kokubun)
10:10 AM Bug #20344: argument stack underflow (-1)
ruby_3_3 commit:d83b5633b16f4ddcece4ff924f21c5a5851470cf merged revision(s) commit:992596fb7af18a7f472589a607d0eb3fbb03b49a. k0kubun (Takashi Kokubun)
10:10 AM Revision d83b5633 (git): merge revision(s) 992596fb7af18a7f472589a607d0eb3fbb03b49a: [Backport #20344]
Fix next inside block argument stack underflow
[Bug #20344]
Fix compile_next adding removable adjust label
k0kubun (Takashi Kokubun)
10:07 AM Bug #20649: Ripper fails to tokenize `def f; (x)::A =`
ruby_3_3 commit:b210c86a0201f6a97c4da8266908260746f53ae0 merged revision(s) commit:97449338d6cb42d9dd7c9ca61550616e7e6b6ef6. k0kubun (Takashi Kokubun)
10:07 AM Revision b210c86a (git): merge revision(s) 97449338d6cb42d9dd7c9ca61550616e7e6b6ef6: [Backport #20649]
[Bug #20649] Allow `nil` as 2nd argument of `assign_error`
Fallback to the last token element in that case, for the backward
compatibilities.
k0kubun (Takashi Kokubun)
10:05 AM Bug #20571: Compile error on for loop
ruby_3_3 commit:6a4e79533b4454392f3afdfa0c4d35b763b68466. k0kubun (Takashi Kokubun)
09:57 AM Bug #20651: `false && (1 in 1)` produces argument stack underflow (-1)
ruby_3_3 commit:6a4e79533b4454392f3afdfa0c4d35b763b68466 merged revision(s) commit:1870505f478cc75993b296b7144a45137ace6937. k0kubun (Takashi Kokubun)
09:56 AM Revision 6a4e7953 (git): merge revision(s) 1870505f478cc75993b296b7144a45137ace6937: [Backport #20651]
Fix wrong unreachable chunk remove when jump destination label is unremovable k0kubun (Takashi Kokubun)
09:53 AM Bug #20667: Backport REXML CVE fixes
Please consider filing a backport PR to stable branches next time. k0kubun (Takashi Kokubun)
09:53 AM Bug #20667: Backport REXML CVE fixes
ruby_3_3 commit:e0e23e7d5eb4da42c490b1d3408bd6e5047e8f83 merged revision(s) commit:29500e30346. k0kubun (Takashi Kokubun)
09:52 AM Revision e0e23e7d (git): merge revision(s) 29500e30346: [Backport #20667]
Update bundled gems list as of 2024-08-22 k0kubun (Takashi Kokubun)
09:44 AM Revision 7b954e7b (git): Allow failures in Travis ppc64le and s390x
Those jobs are way too unstable and provide very little benefit.
e.g.
https://app.travis-ci.com/github/ruby/ruby/jobs/624611955
https://app.travis-ci.com/github/ruby/ruby/jobs/625551620
k0kubun (Takashi Kokubun)
09:40 AM Bug #20668: [3.3] shareable_constant_value: literal crash
ruby_3_3 commit:65cca99b30c65d462aa67969e0f16f6e45db4705. k0kubun (Takashi Kokubun)
09:40 AM Bug #20653: Memory leak in String#start_with? when regexp times out
ruby_3_3 commit:ce565cd4b851977bf37a470bee54e441bb60486d. k0kubun (Takashi Kokubun)
09:39 AM Bug #20641: `lib/bundled_gems.rb` makes `Kernel.require` over 100x slower
ruby_3_3 commit:4667f8ec10269b0b5deca459f098abbdf3bae4ec. k0kubun (Takashi Kokubun)
09:34 AM Bug #20670: fork deadlocks in child process due to timer thread
ruby_3_3 commit:66312ad913d67bfd3c2c83b174eabf537f5def84. k0kubun (Takashi Kokubun)
09:31 AM Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
The message was auto-generated by a script. The script only matches the last commit mentioning the ticket number, and there were two matching commits. Sorry for a delayed reply but I got distracted to fix it first (commit:7d47f3c94f4c38f... k0kubun (Takashi Kokubun)
08:55 AM Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
Hey @k0kubun I don't think 66312ad913d67bfd3c2c83b174eabf537f5def84 is related to this one? 👀
(Although I think this could be closed, as the fix + both backports have landed)
ivoanjo (Ivo Anjo)
08:42 AM Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
ruby_3_3 ~~commit:66312ad913d67bfd3c2c83b174eabf537f5def84~~, commit:425e468d25a70740cef3ed676e9b82f7902e077a. k0kubun (Takashi Kokubun)
09:25 AM Revision b6e7e903 (git): redmine-backporter: Support matching multiple revs
with `done` command k0kubun (Takashi Kokubun)
09:22 AM Revision 7d47f3c9 (git): redmine-backporter: Clarify the actual control flow
The `rev && has_commit(rev, "ruby_#{TARGET_VERSION.tr('.','_')}")`
case seems to be used if and only if it's manually specified in the
argument to the done command. It was hard to notice it with the previous
code.
k0kubun (Takashi Kokubun)
03:41 AM Revision 73c39a5f (git): Bump actions/upload-artifact from 4.3.6 to 4.4.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/834a14...
dependabot[bot]
02:30 AM Revision 0642f71a (git): Update default gems list at 745b4775c5d8b28f6e5fa26b928239 [ci skip]
git[bot]
02:29 AM Revision 745b4775 (git): [ruby/logger] Bump up 1.6.1
https://github.com/ruby/logger/commit/bda937b4cc hsbt (Hiroshi SHIBATA)

09/01/2024

11:00 AM Revision eb144ef9 (git): Skip show_doc tests if RDoc is not available
hsbt (Hiroshi SHIBATA)
11:00 AM Revision 4aa3491b (git): Skip RDoc related feature if Gem::RDoc is not available
hsbt (Hiroshi SHIBATA)
03:46 AM Revision 185602e6 (git): [ruby/io-console] Fix mixing declarations and code for older versions
https://github.com/ruby/io-console/commit/504292b487 nobu (Nobuyoshi Nakada)
03:46 AM Revision 37db194c (git): [ruby/io-console] Support older rubies
https://github.com/ruby/io-console/commit/cad8169568 nobu (Nobuyoshi Nakada)
03:00 AM Revision afd12873 (git): Update dependencies of io-console
nobu (Nobuyoshi Nakada)
02:58 AM Misc #20660: DevMeeting-2024-09-05
* [Bug #20693] Dir.tmpdir should perform a real access check before warning about writability
* A minor paper-cut, but I ran into this while running Ruby's tests in an unprivileged Docker container
* `File::Stat#writable?` is reall...
kjtsanaktsidis (KJ Tsanaktsidis)
02:47 AM Revision 44771e4a (git): Bump github/codeql-action from 3.26.5 to 3.26.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]

08/31/2024

06:30 PM Revision d6fc8f3d (git): [rubygems/rubygems] fix `@license` typo preventing licenses from being correctly unmarshalled
https://github.com/rubygems/rubygems/commit/d6ba7ef79f Durable Programming Team
06:05 PM Feature #20709 (Closed): Improve String#rindex performance on OSX
`String#rindex` is much slower on OSX than on Linux hosts. This appears due to the lack of a `memrchr` implementation on OSX. The [fallback solution](https://github.com/ruby/ruby/blob/e69945fc57efba5c8895c21235e109145865952d/string.c#L43... zack.ref@gmail.com (Zack Deveau)
10:10 AM Revision b6f7d544 (git): merge revision(s) 29500e3034681a30045dea462d6bb653e8600738: [Backport #20698]
Update bundled gems list as of 2024-08-22 nagachika (Tomoyuki Chikanaga)
10:09 AM Revision 04fab1df (git): merge revision(s) bb849ffdb18305f01457de4e9848c830eb83a2d7:
Added explicitly begin-end block for Ruby 2.4.
strscan, ipaddr and some default gems still support Ruby 2.4.
After this, I extract this CoreAssertions to their repositories.
nagachika (Tomoyuki Chikanaga)
09:51 AM Revision f095a085 (git): merge revision(s) 8a7e6f6852740e989ef8f679db5631306466a4ed:
Improve base time of assert_linear_performance (#11369)
Remove `.ceil` from base time calculation that makes 10x gap.
This will make the assertion more strict and also less flaky.
nagachika (Tomoyuki Chikanaga)
09:49 AM Revision f4847607 (git): merge revision(s) f1c78b23313e63eb31a213cc7277b1eb206a581b:
Suppress warning for shadowing outer local variable nagachika (Tomoyuki Chikanaga)
09:49 AM Revision b5bb0ee6 (git): merge revision(s) d23964360335ad561f252cb6fe8e90df7ebee90e:
core_assertions.rb: Support old rubies
Some symbol argument might not be accepted by Process.clock_gettime.
nagachika (Tomoyuki Chikanaga)
09:49 AM Revision bec6da39 (git): merge revision(s) 533423ebe46ebfe3005198c12aa0d2c899c695ea:
core_assertions.rb: Prefer CPU time clocks
To prevent influence from other processes.
nagachika (Tomoyuki Chikanaga)
09:48 AM Revision 7c2cdca7 (git): merge revision(s) f9eb2515a3221cced611b4de971b72a78a7a566f:
core_assertions.rb: Extract common code block nagachika (Tomoyuki Chikanaga)
09:48 AM Revision 07d7ffeb (git): merge revision(s) 3fe134759cc4904c74306e0832c22fa518a5bea2:
Skip assert_linear_performance for RJIT nagachika (Tomoyuki Chikanaga)
09:45 AM Revision 00fada38 (git): merge revision(s) f07c756494b0e473ff8e4ece6f04c7ababe93b01:
core_assertions.rb: Tweak timeout limit
Increase the timeout limit when variance at rehearsal is small.
nagachika (Tomoyuki Chikanaga)
08:43 AM Revision e69945fc (git): [ruby/io-console] Workaround for old TruffleRuby
https://github.com/ruby/io-console/commit/f10c946ac7 nobu (Nobuyoshi Nakada)
08:43 AM Revision 4a1ea9b6 (git): [ruby/io-console] Store console IO in Ractor-local storage
Ractor requires a shareable class has shareable constants only, but IO
is not shareable unless frozen.
https://github.com/ruby/io-console/commit/65e0ff895c
nobu (Nobuyoshi Nakada)
06:43 AM Misc #20013: Travis CI status
All the Travis partner pipelines (non-x86_64) jobs don't start. So, I will drop all the pipelines on the 2nd commit on the following PR.
https://app.travis-ci.com/github/ruby/ruby/builds/272123937
https://github.com/ruby/ruby/pull/11509
jaruga (Jun Aruga)
05:46 AM Revision 5dbb67a5 (git): Update default gems list at 365ededfdf4fa33000411e63d7a1c2 [ci skip]
git[bot]
05:46 AM Revision 365ededf (git): [ruby/io-console] io-console is considered Ractor-safe
https://github.com/ruby/io-console/commit/b1adc15af7 nobu (Nobuyoshi Nakada)
05:22 AM Revision 2afde63e (git): * remove trailing spaces. [ci skip]
git[bot]
05:22 AM Revision 32f134bb (git): Added pre-release suffix for development version of default gems
https://github.com/ruby/stringio/issues/81 hsbt (Hiroshi SHIBATA)
05:22 AM Revision f304afd2 (git): Added check method with released version of rubygems.org
hsbt (Hiroshi SHIBATA)
05:15 AM Revision a4ede0c4 (git): Update default gems list at 7900128ab2d8c1d3c52e9c3e14df3c [ci skip]
git[bot]
05:14 AM Revision 7900128a (git): [ruby/uri] Bump up 0.13.1
https://github.com/ruby/uri/commit/31ec9cea66 hsbt (Hiroshi SHIBATA)
05:05 AM Revision 53d8dca3 (git): Update default gems list at 818e3037ed8635ae2ed63a5d783cb3 [ci skip]
git[bot]
05:04 AM Revision 818e3037 (git): [ruby/zlib] Bump up 3.1.1
https://github.com/ruby/zlib/commit/d756bb0a0f k0kubun (Takashi Kokubun)
03:26 AM Revision a2b3cb65 (git): [ruby/reline] Implement re-read-init-file
(https://github.com/ruby/reline/pull/740)
https://github.com/ruby/reline/commit/59e4ade807
ima1zumi (Mari Imaizumi)
02:26 AM Revision f1a79661 (git): [DOC] Rationalize aliases in What's Here
burdettelamar (Burdette Lamar)
02:25 AM Revision a85dc3e9 (git): [DOC] Rationalize aliases
burdettelamar (Burdette Lamar)
02:23 AM Revision 2d944dde (git): [DOC] Related for Array#[] (#11487)
burdettelamar (Burdette Lamar)
 

Also available in: Atom