Activity
From 11/13/2025 to 11/19/2025
Today
-
02:31 AM Revision a6cecda1 (git): [ruby/etc] Win32: Drop support for older MSVC
- Ruby 2.7 supports MSVC 12.0/_MSC_VER 1800 or later.
https://github.com/ruby/etc/commit/6f4404ec88 -
02:31 AM Revision 685903e5 (git): [ruby/etc] Bump up the required ruby version to 2.7
- https://github.com/ruby/etc/commit/d047bb6856
-
02:08 AM Revision f040b94c (git): [ruby/mmtk] Ensure not blocking for GC in rb_gc_impl_before_fork
- In rb_gc_impl_before_fork, it locks the VM and barriers all the Ractors
before calling mmtk_before_fork. However, since rb_mmtk_block_for_gc is
a barrier point, one or more Ractors could be paused there. However,
mmtk_before_fork is not ... -
02:08 AM Revision 69b1c567 (git): [ruby/mmtk] Add VM barrier in rb_gc_impl_before_fork
- We need the VM barrier in rb_gc_impl_before_fork to stop the other Ractors
because otherwise they could be allocating objects in the fast path which
could be calling mmtk_add_obj_free_candidate. Since mmtk_add_obj_free_candidate
acquires... -
02:03 AM Revision 1f2913e7 (git): Win32: Drop support for older than MSVC 14.0/_MSC_VER 1900
- Visual C++ 2015 (14.0):
- _MSC_VER: 1900
- MSVCRT_VERSION: 140 -
02:03 AM Revision 77431235 (git): Win32: Drop support for older than MSVC 12.0/_MSC_VER 1800
- Visual C++ 2013 (12.0):
- _MSC_VER: 1800
- MSVCRT_VERSION: 120 -
02:03 AM Revision 25f9e678 (git): Win32: Drop support for older than MSVC 10.0/_MSC_VER 1600
- Visual C++ 2010 (10.0):
- _MSC_VER: 1600
- MSVCRT_VERSION: 100 -
02:03 AM Revision 3dd39134 (git): Win32: Drop support for older than MSVC 9.0/_MSC_VER 1500
- Visual C++ 2008 (9.0):
- _MSC_VER: 1500
- MSVCRT_VERSION: 90 -
02:03 AM Revision cdb9893c (git): Win32: Drop support for older than MSVC 8.0/_MSC_VER 1400
- Visual C++ 2005 (8.0):
- _MSC_VER: 1400
- MSVCRT_VERSION: 80 - 02:01 AM Revision 1979f8c0 (git): [ruby/prism] Add docs for super nodes
- https://github.com/ruby/prism/commit/69abcdbb18
- 01:37 AM Revision 3b953917 (git): [ruby/rubygems] Warn users that `bundle` now display the help:
- - In https://github.com/ruby/rubygems/commit/31d67ecc056fb5a9193bc66a6e69e21576a87702
we enforced the new behaviour where running `bundle` no longer
installs gems but displays the help.
Users now have a way to configure their prefe... - 01:27 AM Revision 83b0cfe1 (git): [ruby/rubygems] Handle BUNDLER_VERSION being set to an empty string
- This is useful, in case you're using Docker, and an upstream
Dockerfile sets BUNDLER_VERSION to something you don't want.
It's impossible to unset it... only override to be the empty
string.
https://github.com/ruby/rubygems/commit/ffa3e... -
01:02 AM Revision 1f299dd3 (git): Fix crash in optimal size for large T_OBJECT
- Previously any T_OBJECT with >= 94 IVARs would crash during compaction
attempting to make an object too large to embed. - 12:47 AM Revision 4423facb (git): [ruby/rubygems] Add `--ext=go` to `bundle gem`
- (https://github.com/ruby/rubygems/pull/8183)
* Add new gem templates
* Add `--ext=go` in `bundle gem`
* Add setup-go to .github/workflows/main.yml
* Embed go version in go.mod
* Use go in bundler CI
* Add example method to template... -
12:36 AM Revision 0f89fa97 (git): ZJIT: Inline BasicObject#! (#15201)
11/18/2025
-
11:50 PM Revision 32b8f97b (git): ZJIT: Delete outdated optional param test [ci skip]
- Name contradictory now, and we have other tests testing the same thing.
-
10:47 PM Revision 6f6a9ead (git): [ruby/rubygems] Replace instance method look up in plugin installer
- `Gem::Installer.instance_methods(false).include?(:generate_plugins)` is
63x slower than `Gem::Installer.method_defined?(:generate_plugins)` in a
microbenchmark. The latter is a direct lookup, whereas the former will
create an array, whic... -
10:45 PM Revision d5d12efd (git): [ruby/json] parser.c: Remove unued JSON_ParserStruct.parsing_name
- https://github.com/ruby/json/commit/ab5efca015
-
10:32 PM Revision f3f3e768 (git): Extract `KW_SPECIFIED_BITS_MAX` for JITs (GH-15039)
- Rename to `VM_KW_SPECIFIED_BITS_MAX` now that it's in `vm_core.h`.
-
09:57 PM Revision cbe65ebb (git): ZJIT: Skip empty counter sections in stats
-
09:57 PM Revision 65660037 (git): ZJIT: Avoid `NaN%` ratio appearing in stats
-
07:50 PM Bug #21375: Set[] does not call #initialize
- jeremyevans0 (Jeremy Evans) wrote in #note-10:
> I've submitted a PR that implements backwards compatibility for Set subclasses, without affecting Set itself: https://github.com/ruby/ruby/pull/15228
Thank you, I think it's a good sol... -
03:24 AM Bug #21375: Set[] does not call #initialize
- I've submitted a PR that implements backwards compatibility for Set subclasses, without affecting Set itself: https://github.com/ruby/ruby/pull/15228
@Eregon can you try it with concurrent-ruby and see if it resolves your issue? - 07:24 PM Revision ff2d2fc1 (git): YJIT: omit single ractor mode assumption for `proc#call` (#15092)
- The comptime receiver, which is a proc, is either shareable or from this
ractor so we don't need to assume single-ractor mode. We should never get
the "defined with an un-shareable Proc in a different ractor" error. -
06:58 PM Feature #21693: Allow calling any callable object as a method
- You're very close to valid Ruby with
```
class Greeter
def call(name)
puts "Hello, #{name}!"
end
end
hello = Greeter.new
hello.("World")
```
(Note the 1-character difference here.) Doing `hello.("World")` will a... -
05:36 PM Feature #21693: Allow calling any callable object as a method
- It would be a gigantic incompatibility so there is no chance for that specific syntax, as your example would call method `hello` before and no longer with your proposal.
Just
```ruby
p = 42
p(43)
```
would break for example with th... -
05:54 PM Revision ce73b6c0 (git): ZJIT: Pass the result of GuardNotFrozen to StoreField and WriteBarrier
-
05:54 PM Revision 79633437 (git): ZJIT: Rename the operand of Insn::GuardNotFrozen from val to recv
- * When writing to an object, the receiver should be checked if it's frozen,
not the value, so this avoids an error-prone autocomplete. -
05:54 PM Revision 0e10dfde (git): ZJIT: Inline setting Struct fields
- * Add Insn::StoreField and Insn::WriteBarrier
-
05:31 PM Feature #21695: Optimizing Ruby performance with Ruby itself instead of Rust
- What are you proposing exactly? A "tool" is very vague.
Do you mean a JIT compiler for Ruby written in Ruby? Something else?
Are you interested in speeding up ERB specifically, or Ruby in general?
Why do you think it would achieve bet... -
02:09 AM Feature #21695: Optimizing Ruby performance with Ruby itself instead of Rust
- I am interested. What kind of API do you need? Since bare memory allocation could break the whole app (leads to DoS), it's not that easy to disclose general purpose memory allocation (that's the reason YJIT, RJIT etc. has their own alloc...
-
04:35 PM Revision f84bbb42 (git): ZJIT: add support for lazy `RubyVM::ZJIT.enable`
- This implements Shopify#854:
- Splits boot-time and enable-time initialization,
tracks progress with `InitializationState` enum
- Introduces `RubyVM::ZJIT.enable` Ruby method for
enabling the JIT lazily, if not already enabled
- I... -
03:34 PM Revision c38486ff (git): ZJIT: Validate types for all instructions
- * This can catch subtle errors early, so avoid a fallback case and
handle every instruction explicitly. -
12:51 PM Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
- ufuk (Ufuk Kayserilioglu) wrote in #note-1:
> Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour?
Just ran the test, only for the Roda app. Result... -
12:06 PM Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
- Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour?
-
12:01 PM Bug #21696 (Open): Performance degradation for long running processes in Ruby 4.0.0-preview2
- When running my RubyMeasureResponsetime tool (https://github.com/easydatawarehousing/ruby_measure_responsetime) on Ruby 4.0.0-preview2, a slow but steady performance degradation is measurable.
Both the Rails and the Roda based test appl... -
12:49 PM Revision 522b7d82 (git): [ruby/openssl] ssl: fix test_pqc_sigalg on RHEL 9.7
- RHEL 9.7 ships OpenSSL 3.5.1 with ML-DSA support, but it is disabled
for TLS by default, according to the system configuration file:
/etc/crypto-policies/back-ends/opensslcnf.config
Specify SSLContext#sigalgs to override the default lis... -
12:46 PM Bug #21669: Thoroughly implement void value expression check
- I have an implementation in https://github.com/ruby/prism/pull/3728 (maybe needs more tests)
How about waiting on Ruby 4.1 for this? We can then introduce it early in the development cycle to find potential compatibility concerns. pre... -
12:35 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- The discussion you cited seemed to me to be ignoring the actual problem by pinning the cause solely on ruby's behavior.
You used it to solidify your argument within the ruby community, and even tried to borrow Microsoft's authority to d... -
05:51 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Hi @YO4 - thank you for your reply. I absolutely agree a cooperative approach is best. I am saddened / quite surprised to hear that you think I have criticized someone. I certainly had no intention to do that. If I did then I apologize.
... -
03:33 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Ruby has made significant efforts to achieve cross-platform support at the C level.
This includes compensating for the lack of C runtime libraries.
The statement you quoted is taken out of context and that seems unfair.
The override... -
10:38 AM Revision f168a6d0 (git): [ruby/rubygems] Handle to reverse order result in Ruby 3.2
- https://github.com/ruby/rubygems/actions/runs/19458155903/job/55676075439?pr=3857
```
-Did you mean 'methods' or 'method'?
+Could not find gem 'methosd'.
+Did you mean 'method' or 'methods'?
```
https://github.com/... -
10:38 AM Revision e78a96b7 (git): [ruby/rubygems] Spelling with the latest version of did_you_mean
- https://github.com/ruby/rubygems/commit/d604c1d1cb
-
10:38 AM Revision c87b36ab (git): [ruby/rubygems] bin/rubocop -a
- https://github.com/ruby/rubygems/commit/fee8dd2f08
-
10:38 AM Revision e3c483b5 (git): [ruby/rubygems] Removed unused SimilarityDetector
- https://github.com/ruby/rubygems/commit/40ace48651
- 10:38 AM Revision 2c169e15 (git): [ruby/rubygems] More tests
- https://github.com/ruby/rubygems/commit/210fa87f65
- 10:38 AM Revision 55afec32 (git): [ruby/rubygems] fix tests
- https://github.com/ruby/rubygems/commit/1dc669a0ab
- 10:38 AM Revision dd6ccb44 (git): [ruby/rubygems] Progressively enhance if DidYouMean is available
- https://github.com/ruby/rubygems/commit/a02353fb96
- 10:38 AM Revision 6aa16246 (git): [ruby/rubygems] Rubocop
- https://github.com/ruby/rubygems/commit/a6bc30a827
- 10:38 AM Revision f3e8bc87 (git): [ruby/rubygems] use DidYouMean::SpellChecker for gem suggestions
- replaces Bundler::SimilarityDetector with DidYouMean::SpellChecker
https://github.com/ruby/rubygems/commit/959bea1506 -
09:47 AM Revision a1c76c7e (git): Fixed conflict of vendor_gems.rb
-
09:27 AM Bug #21692: Basic gems like `date` require a compiler
- This might be related to the `--prefer-local` issue:
https://github.com/ruby/rubygems/issues/8750
I suspect there is some problem with the arches of the gems. But I might be wrong. -
02:09 AM Bug #21692: Basic gems like `date` require a compiler
- Ah, it seems this happens on Ubuntu 24.04, without a `Gemfile.lock`, and when the `Gemfile` does not list the indirect dependencies.
I found three workarounds.
### 1\. Add a `Gemfile.lock`
If a proper `Gemfile.lock` is present, ... - 08:43 AM Revision 85abc59c (git): [DOC] Add documentation about Ruby's VM stack
- 08:20 AM Revision f272aabb (git): [ruby/json] Use #if instead of #ifdef when checking for JSON_DEBUG so debugging code is not generated when JSON_DEBUG=0.
- https://github.com/ruby/json/commit/4f1adb10d3
-
07:17 AM Revision 54c07383 (git): [ruby/resolv] Fix syntax error on older versions
- https://github.com/ruby/resolv/commit/599f78c451
- 06:52 AM Revision ccdf83f1 (git): Update bundled gems list as of 2025-11-18
-
05:55 AM Revision 27770210 (git): Downgrade net-http 0.7.0 because JRuby is not working
-
05:55 AM Revision 59461d12 (git): Use released version of net-http-0.8.0
-
05:54 AM Revision 0af941db (git): [ruby/rubygems] Update resolv-0.6.3
- https://github.com/ruby/rubygems/commit/778426fb73
-
05:54 AM Revision 32716e76 (git): [ruby/rubygems] Update optparse-0.8.0
- https://github.com/ruby/rubygems/commit/4e02243f66
-
05:54 AM Revision 8cfed304 (git): [ruby/rubygems] Update fileutils-1.8.0
- https://github.com/ruby/rubygems/commit/f8fe7a5208
-
05:53 AM Revision 6ccc4199 (git): [ruby/rubygems] Update timeout-0.4.4
- https://github.com/ruby/rubygems/commit/b6deff99c9
-
05:53 AM Revision e1303756 (git): [ruby/rubygems] Update URI-1.1.1
- https://github.com/ruby/rubygems/commit/07f2daf51e
-
05:53 AM Revision bfefb205 (git): [ruby/rubygems] Use released version of net-http-persistent-4.0.6
- https://github.com/ruby/rubygems/commit/b237f759b0
-
04:53 AM Revision 5ccaeee2 (git): [ruby/rubygems] Undeprecate `Gem::Version.new(nil)`
- It seems like we were trying to deprecate passing `nil` to
Gem::Version.new. This breaks existing code, and I don't think there is
a good reason to deprecate this usage.
I believe what we want to prevent is the following code:
```ruby... -
03:20 AM Bug #21396: Set#initialize should call Set#add on items passed in
- Eregon (Benoit Daloze) wrote in #note-13:
> jeremyevans0 (Jeremy Evans) wrote in #note-11:
> ...
I submitted a pull request that implements what @knu suggested: https://github.com/ruby/ruby/pull/15228
It allows subclasses to use the... - 02:34 AM Revision b5d0aac9 (git): Bump actions/checkout from 5.0.0 to 5.0.1
- Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v5.0.1)
---
updated-dependen... -
02:32 AM Revision 0ce6eed7 (git): Unskip test_alternative_pattern_nested for MMTk
-
02:32 AM Revision fa8799ca (git): Fix EnvUtil.current_parser for modular GC
- The regexp used in EnvUtil.current_parser did not allow square brackets
for feature names. Modular GC uses square brackets for the GC name (such
as +GC[mmtk]). -
12:19 AM Revision 02279f01 (git): [ruby/rubygems] Removed deprecated -C option from gem build
- https://github.com/ruby/rubygems/commit/3471646d43
11/17/2025
-
10:57 PM Revision 093dbbbd (git): [ruby/rubygems] Removed unused deprecate loading
- https://github.com/ruby/rubygems/commit/a49d315ecd
-
10:52 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Hi @mame - Thank you for your response and I am sorry that you feel that way, that was not my intention. I very much appreciate your help and our discussion. Maybe we can try again?
I see the problem is that Ruby exports overridden C ru... -
09:21 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I feel your communication on this ticket suffers from what is known as the [XY problem](https://en.wikipedia.org/wiki/XY_problem). You are focusing on your proposed solution ("remove the override"), without first detailing the original p...
-
07:14 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I agree having one UCRT is best. But the very first sentence in the paragraph I linked to says:
> Every executable image (EXE or DLL) can have its own statically linked CRT, or can dynamically link to a CRT. The version of the CRT stati... -
07:00 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I commend YO4-san for their insight into the debug/release build discrepancy.
I'm now convinced the root cause is loading multiple runtimes. Therefore, I agree with @nobu's fix: we should prohibit loading multiple runtime versions, no... -
04:37 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- @nobu - When developing an extension it can be very helpful to use a debug build. A runtime check would prohibit that, unless you also make a debug version of ruby. But that seems like a lot of unnecessary overhead.
In addition, it wo... -
04:09 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- cfis (Charlie Savage) wrote in #note-21:
> Summary - don't pass memory/crt objects across boundaries. By overriding `fclose` and other UCRT functions Ruby causes this to happen.
Yes for the former half.
It is the reason we embed the CRT... -
02:19 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Ah yes, you are correct @YO4.
I used MSVC 2026 to build both Ruby and the extension (a dll). By default Ruby builds with /Md. This is the generated `Makefile.sub` in the win32 directory:
```
!if !defined(RUNTIMEFLAG)
RUNTIMEFLAG = -M... -
09:28 PM Revision 7482835d (git): Avoid spawning thread for trivial getnameinfo calls
- When calling getnameinfo we spawn a thread because it may do a slow,
blocking reverse-DNS lookup. Spawning a thread is relatively fast (~20µs
on my Linux machine) but still an order of magnitude slower than when
getnameinfo is simply tra... -
08:01 PM Feature #21695 (Open): Optimizing Ruby performance with Ruby itself instead of Rust
- I am using ERB on top of C for a game I am making now. We can use the tool to improve the productivity, memory safety, and runtime speed for Ruby. It can also replace a Rust JIT compiler for better results. The only problem is that it...
-
07:01 PM Bug #21694 (Open): Crash when looking up super method from BasicObject
- Initially reported on Reddit by easydwh https://old.reddit.com/r/ruby/comments/1ozhupr/is_a_ruby_segmentation_fault_a_bug_if_you_are/
Repro:
```ruby
class BasicObject
def basic_call_no_super
super
end
end
"test".bas... -
06:53 PM Bug #21692: Basic gems like `date` require a compiler
- mame (Yusuke Endoh) wrote in #note-1:
> I think what you want is `bundle install --prefer-local`. (I wonder why this option is not the default.)
Unfortunately this does not seem to work for me.
```
$ gem list | grep date
date (default:... -
06:11 PM Bug #21692: Basic gems like `date` require a compiler
- I think what you want is `bundle install --prefer-local`. (I wonder why this option is not the default.)
-
05:12 PM Bug #21692 (Open): Basic gems like `date` require a compiler
- I'm trying to use Ruby in a high security environment which does not allow a compiler to be installed. This was easy years ago when all of standard library was included with Ruby itself and I could use `apt install ruby`. But as the stan...
-
06:46 PM Revision c0256d1d (git): [DOC] Update GC.stat and GC.stat_heap documentation
- I noticed some of the keys have been gone or renamed for a while.
-
06:29 PM Feature #21693 (Open): Allow calling any callable object as a method
- Callable objects are popular in Ruby. A very common pattern of Service objects with a single public `call` method can be found in many Rails apps, too.
I propose to extend syntax so that adding `()` to any object that has a `call` met... - 06:01 PM Revision f9e31f43 (git): [ruby/time] Defer default year for zone_offset until needed
- While parsing ISO 8601 timestamps like `2025-11-13T19:34:23.681726000Z`
I noticed that a lot of time was spent to compute a default `year`
argument to `zone_offset`. For ISO 8601, that year is never used, as
all valid time zone designato... - 03:53 PM Revision 371a295e (git): Fix improper termlen fill in `str_duplicate_setup_embed`.
- When term len != 1 (for example: Encoding::UTF32BE), term fill is wrong size.
-
03:14 PM Revision 9de66a8c (git): [ruby/prism] Remove now obsolete todos
- https://github.com/ruby/prism/commit/b00d098f9a
-
03:11 PM Revision d66b37e3 (git): Remove alternation pattern matching handling from the prism compiler
- Since https://github.com/ruby/ruby/pull/15212 these are proper syntax
errors, so no need to handle this explicitly anymore.
Also updated the example in the docs for this -
01:30 PM Revision a0ef2366 (git): remove old code
-
01:27 PM Bug #21168: Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does
- PR: https://github.com/ruby/ruby/pull/15217
-
01:20 PM Bug #21691 (Open): On Windows some of binary read functions of IO are not functional
- When using the binary read method of IO on a file containing “\r\n”, it should read “\r”, but some methods do not function correctly on Windows.
```ruby
File.binwrite("crlf.txt", "\r\n")
methods = {
readn: proc { |f| f.read(1) },... -
12:47 PM Bug #21687: IO#pos goes wrong after EOF character(ctrl-z) met.
- I made PR [#15216](https://github.com/ruby/ruby/pull/15216) for main issue.
After some investigation, it appears the case with #note-1 is mainly related to the behavior of eof(), so it seems appropriate to address it in #21634. -
12:39 PM Revision 4fa6e993 (git): strnlen is not used now
-
12:34 PM Revision 3bbd45dd (git): Fix `RUBY_API_VERSION_NAME` fallback definition
-
11:15 AM Misc #21690 (Open): Inconsistent `rb_popcount64()` definition
- The `rb_popcount64()` function is defined both in `internal/bits.h` and `parser_bits.h`, but the definition of these functions is different on the `#else` branch.
```c
// internal/bits.h
static inline unsigned int
rb_popcount64(uin... -
09:22 AM Bug #21375: Set[] does not call #initialize
- I should also mention for the concurrent-ruby case that using `::Set` on Ruby 4+ is not an option because it's not thread-safe enough:
https://github.com/ruby-concurrency/concurrent-ruby/issues/1093#issuecomment-3540742547 -
08:46 AM Bug #21375: Set[] does not call #initialize
- This change also breaks concurrent-ruby: https://github.com/ruby-concurrency/concurrent-ruby/actions/runs/19414490796/job/55540724035
https://github.com/ruby-concurrency/concurrent-ruby/issues/1093
The code relying on it seems pretty re... -
09:03 AM Bug #21396: Set#initialize should call Set#add on items passed in
- jeremyevans0 (Jeremy Evans) wrote in #note-11:
> knu (Akinori MUSHA) wrote in #note-10:
> ...
Yes, this sounds like a good way, it avoids breaking code and keeps performance optimal for Set.
The only downside is some extra complexity ... -
08:54 AM Misc #21689: DevMeeting-2025-12-11
- * [Bug #21375] Set[] does not call #initialize (eregon)
* This broke concurrent-ruby and there is no good fix.
* I believe Set[] should call #initialize, it's simple and avoids a major breaking change. The performance impact seems in... -
02:05 AM Misc #21689 (Open): DevMeeting-2025-12-11
- # The next dev meeting
**Date: 2025/12/11 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev meeting is a place we can ask Matz, nobu, nurse and o... -
08:06 AM Revision c32eb727 (git): The prev_ver of 4.0.0 is 3.4.0
-
07:08 AM Revision 3d8dfbf5 (git): Skip TestCommitEmail if git is not available.
- https://github.com/ruby/actions/actions/runs/19420968008/job/55558315338
```
1) Error:
TestCommitEmail#test_sendmail_encoding:
Test::Unit::ProxyError: No such file or directory - git
/home/runner/work/actions/actions/ruby-... -
02:30 AM Revision 8d010582 (git): Handle deeply nested capture variables syntax err
- When there are nested capture variables inside of a pattern match
that has an alternation pattern, it is a syntax error. Currently it
only adds a syntax error when it is at the top level of the pattern. -
02:28 AM Bug #20907: Fiber scheduler does not correctly re-lock mutex if `Mutex#sleep` is interrupted.
- Cross referencing: https://github.com/socketry/async/issues/424
-
02:04 AM Misc #21647 (Closed): DevMeeting-2025-11-13
11/16/2025
- 11:49 PM Revision 4870fbd0 (git): vm_dump.c: unbreak unwind on powerpc (#14650)
-
11:23 PM Revision bdeee701 (git): Avoid allocating intermediate string in zone_str
-
09:27 PM Revision 3cd30814 (git): [DOC] Tweaks for String#unicode_normalize!
-
09:26 PM Revision 17f3588a (git): [DOC] Tweaks for String#unicode_normalized?
-
09:26 PM Revision 43e26d02 (git): [DOC] Tweaks for String#unpack
-
09:24 PM Revision 00521434 (git): [DOC] Tweaks for String#unpack1
-
02:52 PM Bug #21634: Combining read(1) with eof? causes dropout of results unexpectedly on Windows.
- @nobu, I had not correctly understood the 'rt' case in #note-2.
In the case where 'universal_newline: true' attribute, Ctrl-Z is not interpreted as an EOF, so I believe the behavior you pointed out is correct.
```
> ruby -ve "open('eo... -
02:31 PM Misc #21688 (Open): Ruby::Box maturing path
- A quick couple of questions in the light of upcoming Ruby 4.0 release and `Ruby::Box` being available there (even if as an experimental feature):
1. Should the documentation of the class be available as RDoc? I mean, as standard class... -
02:07 PM Bug #21687: IO#pos goes wrong after EOF character(ctrl-z) met.
- Here is additional issue.
When an intermediate EOF character met, reading operation reports EOF but sometimes IO#eof? does not.
```ruby
require 'tempfile'
Tempfile.open do |f|
str = "0123456789\x1A"
f.write(str + "x"*(1024_0 ... -
08:23 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- If `rb_win32_fclose` calls ucrt's `fflush`/`fclose`, it's questionable why it doesn't work. Is it truly calling the same ucrts?
The screenshot suggests the C++ code is built in Debug build. From the C++ code, the the ucrt debug DLL migh... -
05:40 AM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
- As proposed in this issue, resolving this problem required determining a solution strategy across multiple methods with considering compatibility.
While I'm only an external contributor and not a core team member, I'll boldly say that...
11/15/2025
-
09:24 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- Thank you @mame an @nobu for looking into this.
@mame I don't know why the override doesn't work. The calling C++ code is from `Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.50.35717\include\__msvc_filebuf.hpp`:
``` cpp
_EXPO... -
07:59 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- cfis (Charlie Savage) wrote in #note-15:
> When I step through with a debugger, this line forces an early return from the function. So fclose is never called.
> ...
Thank you for debugging. The early return (not calling `fclose` when `... -
05:58 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I gave a try to @nobu's code above (https://bugs.ruby-lang.org/issues/21498#note-9).
That results in a linker error:
``` bash
linking shared-object -test-/gvl/call_without_gvl.so
Creating library call_without_gvl-x64-mswin64_140.l... -
05:21 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I have attached the "good" file and the "bad" file. The good file is generated by rewriting the extension to not use fclose, and thus not have the call go through `rb_w32_fclose`. The bad file is generated by using flcose which does end ...
-
04:50 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- When I step through with a debugger, this line forces an early return from the function. So fclose is never called.
https://github.com/ruby/ruby/blob/master/win32/win32.c#L6627
``` cpp
if (fflush(fp)) return -1;
```
-
09:02 PM Revision bacd3562 (git): Remove dead IBF_OBJECT_INTERNAL
-
06:39 PM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
- #20919 may be related. If the PR for this issue is accepted, it likely determines how that issue should be addressed. There's already a PR that is several months old associated with it.
-
04:30 PM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
- I made [PR #15204](https://github.com/ruby/ruby/pull/15204)
## Changed and Unchanged
The behavior of this PR is listed below.
Since IO#ungetc has a different file position behavior when combined with encoding conversion, IO#getbyt... -
03:58 PM Bug #21686 (Open): In combination with IO#ungetbyte, the write position may become unpredictable.
- In the current implementation, using `IO#ungetbyte` can cause `IO#pos` to become negative.
Writing to the same file descriptor in this state will result in unexpected write positions.
```ruby
require 'tempfile'
Tempfile.open do |... -
04:59 PM Bug #21687 (Open): IO#pos goes wrong after EOF character(ctrl-z) met.
- In Windows environment, when opening a file with the "r", encountering an EOF character (Ctrl-Z, "\x1A") during reading causes the IO to report END-OF-FILE.
```ruby
require 'tempfile'
Tempfile.open do |f|
str = "0123456789\x1A"... -
01:50 PM Revision 9e8a661f (git): [ruby/stringio] [DOC] Fix #seek link
- (https://github.com/ruby/stringio/pull/174)
Method #seek deserves (and will get) documentation independent of that
in class IO.
Meanwhile, the link should go someplace sensible and useful.
https://github.com/ruby/stringio/commit/d0265... -
01:49 PM Revision abf30563 (git): [ruby/stringio] [DOC] Doc for StringIO.size
- (https://github.com/ruby/stringio/pull/171)
https://github.com/ruby/stringio/commit/95a111017a -
01:48 PM Revision b5c92696 (git): [ruby/stringio] [DOC] Tweaks for StringIO#each_line
- (https://github.com/ruby/stringio/pull/165)
Adds to "Position": pos inside a character.
Makes a couple of minor corrections.
---------
https://github.com/ruby/stringio/commit/ff332abafa
Co-authored-by: Sutou Kouhei <kou@cozmixng.org> -
03:23 AM Revision 577cf5e3 (git): [DOC] Remove an obsolete file
- It has been merged into `doc/ruby/options.md` with
`field_processing.md` at ruby/ruby#10138. -
02:04 AM Revision 70b49b65 (git): refactor io_each_codepoint
-
01:18 AM Revision f1765cd4 (git): [Doc] Remove leftover references to namespace from box.md
- And fix the indentation a little bit, since `box` is one character
longer than `ns`. -
12:34 AM Revision d7369f02 (git): ZJIT: Add individual tests for complex arg pass counters
- Make it easier to see what happens when one is changed.
11/14/2025
-
11:37 PM Revision 6fabca80 (git): Add rubygems package to fix cygwin CI
-
10:26 PM Revision eb6e36a8 (git): Skip tests in TestThreadLockNativeThread when using LSAN
- These tests use NM threads but NT is not freed for MN thread, causing it
to be reported as memory leaks in LSAN. For example:
#1 0x62ee7bc67e99 in calloc1 gc/default/default.c:1495:12
#2 0x62ee7bc7ba00 in rb_gc_impl_calloc gc/de... -
09:35 PM Revision 89849f3b (git): ZJIT: Support JIT-to-JIT calls to callees with optional parameters
- * Correct JIT entry points for optionals so each optional start with nil
before their initialization routine runs. Establish
`jit_entry_points[filled_opts_num]` gives the appropriate entry point
* Correct number of HIR block parameters ... -
09:35 PM Revision 5d35e244 (git): ZJIT: Check argument count matches callee's parameters
-
09:35 PM Revision a0cce404 (git): ZJIT: Remove done TODO [ci skip]
- 08:41 PM Revision e417f6fe (git): ZJIT: Remove dead function and set .freeze reason
- 08:41 PM Revision 491be578 (git): ZJIT: Move special Fixnum BOP_OR into cruby_methods
- 08:41 PM Revision 22d2bb01 (git): ZJIT: Move special Fixnum BOP_AND into cruby_methods
- 08:41 PM Revision 35c2c656 (git): ZJIT: Move special Fixnum BOP_GE into cruby_methods
- 08:41 PM Revision 236366cb (git): ZJIT: Move special Fixnum BOP_LE into cruby_methods
- 08:41 PM Revision 1c4240bc (git): ZJIT: Move special Fixnum BOP_LT into cruby_methods
- 08:41 PM Revision 11704932 (git): ZJIT: Move special Fixnum BOP_MOD into cruby_methods
- 08:41 PM Revision 0851c2aa (git): ZJIT: Move special Fixnum BOP_DIV into cruby_methods
- 08:41 PM Revision f0e57720 (git): ZJIT: Move special Fixnum BOP_MULT into cruby_methods
- 08:41 PM Revision 7a7035ee (git): ZJIT: Move special Fixnum BOP_NEQ into cruby_methods
- 08:41 PM Revision ad6ca3a7 (git): ZJIT: Move special Fixnum BOP_GT into cruby_methods
- 08:41 PM Revision 4683ce5f (git): ZJIT: Move special Fixnum BOP_MINUS into cruby_methods
- 08:41 PM Revision 47904d85 (git): ZJIT: Move special Fixnum BOP_PLUS into cruby_methods
- 08:41 PM Revision 94f701da (git): ZJIT: Move special Fixnum BOP_EQ into cruby_methods
-
07:49 PM Revision 8e01768a (git): ZJIT: Break out CFunc send fallback stats (#15193)
- lobsters before:
```
Top-14 instructions with uncategorized fallback reason (100.0% of total 5,583,226):
invokesuper: 3,039,693 (54.4%)
invokeblock: 1,181,433 (21.2%)
sendforward: 572,612 (10.3%)... - 07:48 PM Revision 9e482969 (git): ext/socket: Set raddrinfo thread as detached before thread start (#15194)
- Backport of https://github.com/ruby/ruby/pull/15142
[Bug #21679] -
07:02 PM Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
- Using a new macro, which can be used for any struct initialization, could be used throughout the Ruby code base, but most importantly in the one instance in the headers. Backwards compatibility in extension code can be achieved by then l...
- 06:46 PM Revision de157f42 (git): ZJIT: Skip a flaky DNS test (#15192)
-
06:16 PM Revision d966ba75 (git): Revert ".github/workflows: Stop ignoring RUBY_TESTOPTS"
- This reverts commit 946695cdad874e91bc25bedc3c7b322934ca0f07.
Apparently this doesn't work for test-bundled-gems -
06:07 PM Revision 0b559eab (git): YJIT: Fix stack handling in rb_str_dup
- Previously because we did a stack_push before ccall, in some cases we
could end up pushing an uninitialized value to the VM stack when
spilling regs as part of the ccall.
Co-authored-by: Luke Gruber <luke.gru@gmail.com> -
05:52 PM Revision 946695cd (git): .github/workflows: Stop ignoring RUBY_TESTOPTS
- $(RUBY_TESTOPTS) are used in $(TESTOPTS), so if you pass $(TESTOPTS),
it'd be ignored. -
05:29 PM Revision e4295bc3 (git): YJIT: Fix stack handling in rb_str_dup
- Previously because we did a stack_push before ccall, in some cases we
could end up pushing an uninitialized value to the VM stack when
spilling regs as part of the ccall.
Co-authored-by: Luke Gruber <luke.gru@gmail.com> -
05:28 PM Revision 286e3262 (git): ZJIT: Add tests for sending to methods with keyword args (#15183)
-
04:45 PM Bug #21049 (Open): Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
-
10:10 AM Bug #21049: Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
- @matz, in RubyMine we show users the values of numbered parameters as well
while debugging, but after this change we can no longer do so, since we don't have access to them.
I think introducing the dedicated API proposed in this is... -
04:32 PM Feature #21678: Enumerable#rfind
- https://github.com/ruby/ruby/pull/15189
-
04:27 PM Bug #21661 (Closed): Endless method definition as a default value of block parameter is wrongly accepted in Prism
- Applied in changeset commit:git|bec69617a00e1d98748b319411f221568a4b6c66.
----------
[ruby/prism] Reject endless method as a block parameter default
Fixes [Bug #21661]
https://github.com/ruby/prism/commit/475fa46a82 -
04:27 PM Revision bec69617 (git): [ruby/prism] Reject endless method as a block parameter default
- Fixes [Bug #21661]
https://github.com/ruby/prism/commit/475fa46a82 -
01:47 PM Revision 0e604623 (git): [ruby/prism] Use `method_defined?` instead of `instance_methods.include?`
- While the latter creates an intermediate array of all method names
including all ancestors, the former just traverse the inheritance
chain and can stop if found once.
https://github.com/ruby/prism/commit/6da384dd0e -
12:03 PM Feature #21572 (Closed): Make illegal variable in alternation pattern a syntax error
- Applied in changeset commit:git|f4b6a5191ceb0ed0cd7a3e3c8bab24cc0dd15736.
----------
[Feature #21572] Syntax error at capture in alternation pattern
Should fail even with `-c` option. -
12:03 PM Revision f4b6a519 (git): [Feature #21572] Syntax error at capture in alternation pattern
- Should fail even with `-c` option.
-
08:37 AM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- > The fix simply defers suspending the thread until the syscall has been running for some short interval.
That's an idea we discussed in the past with @jhawthorn @tenderlovemaking and @luke-gru. IIRC that's something Go does? -
07:36 AM Revision 6f18898f (git): [ruby/rubygems] Removed deprecated Gem::Specification#has_rdoc, has_rdoc= and has_rdoc?
- https://github.com/ruby/rubygems/commit/b043538576
-
06:32 AM Revision dabc86a5 (git): [ruby/rubygems] Add pattern matching support to Gem::NameTuple
- https://github.com/ruby/rubygems/commit/9b19e1f555
-
06:25 AM Revision 068b35ce (git): [ruby/rubygems] Removed files for `gem query`
- https://github.com/ruby/rubygems/commit/de269cfbb6
-
06:25 AM Revision 4a0465da (git): [ruby/rubygems] Removed deprecated Gem::DependencyInstaller#find_gems_with_sources
- https://github.com/ruby/rubygems/commit/1b3f3bf194
-
06:23 AM Feature #21275: Update to Unicode 17.0
- FYI: https://github.com/ruby/ruby/pull/15170
-
03:27 AM Feature #21275 (Closed): Update to Unicode 17.0
- Applied in changeset commit:git|cb3bc8ae3f02882debd5f56ee6ef8f99f0addda0.
----------
[Feature #21275] Bump Unicode version to 17.0.0 -
06:09 AM Revision 46227126 (git): [ruby/rubygems] bin/rubocop -a --only Layout/EmptyLinesAroundClassBody
- https://github.com/ruby/rubygems/commit/94d4e633d1
-
06:09 AM Revision ecec9dc6 (git): [ruby/rubygems] Removed deprecated Gem::Util.silent_system
- https://github.com/ruby/rubygems/commit/728269cc4a
-
06:09 AM Revision 31928c10 (git): [ruby/rubygems] Removed deprecated Gem::Specification#validate_metadata, validate_dependencies and validate_permissions
- https://github.com/ruby/rubygems/commit/fbf38fc190
-
06:09 AM Revision 9fd3ab9e (git): [ruby/rubygems] Removed deprecated Gem::Specification#default_executable
- https://github.com/ruby/rubygems/commit/84ceaff1b7
-
06:09 AM Revision a6fa99fe (git): [ruby/rubygems] Removed deprecated Gem::Platform.match
- https://github.com/ruby/rubygems/commit/f4b4f12f91
-
06:09 AM Revision a242adc3 (git): [ruby/rubygems] Removed deprecated Gem::Installer#unpack
- https://github.com/ruby/rubygems/commit/96cef34041
-
06:09 AM Revision b3831efb (git): [ruby/rubygems] Removed deprecated Gem::BasicSpecification.default_specifications_dir
- https://github.com/ruby/rubygems/commit/60f0b87d47
-
05:22 AM Revision 917fd399 (git): [ruby/rubygems] Update vendored version of connection_pool to 2.5.4
- https://github.com/ruby/rubygems/commit/3f5330c9fc
-
05:22 AM Revision e68c0fc7 (git): [ruby/rubygems] bin/rubocop -a --only Style/RedundantParentheses
- https://github.com/ruby/rubygems/commit/be3b09c786
-
05:22 AM Revision 2c546071 (git): [ruby/rubygems] Update the all dependencies with rake update
- https://github.com/ruby/rubygems/commit/74c9eaf1f0
-
03:27 AM Revision 47e3aff9 (git): Adapt to Unicode directory changes
- https://www.unicode.org/Public/emoji/ReadMe.txt
> This directory contains data files for versions 1.0 to 16.0 of Unicode Emoji.
> ...
> https://www.unicode.org/Public/<version>/ucd/emoji/ -
03:27 AM Revision cb3bc8ae (git): [Feature #21275] Bump Unicode version to 17.0.0
-
03:24 AM Revision e39385bf (git): [ruby/rubygems] Use `method_defined?` instead of `instance_methods.include?`
- While the latter creates an intermediate array of all method names
including all ancestors, the former just traverse the inheritance
chain and can stop if found once.
https://github.com/ruby/rubygems/commit/b291070b3b -
03:22 AM Revision 256b4722 (git): [ruby/mmtk] Lock VM in fork hooks
- If we are using multiple Ractors, other Ractors may allocate objects after
rb_gc_impl_before_fork is ran because it does not lock the VM. This can cause
the GC to be in a bad state since rb_gc_impl_before_fork may have terminated
GC thre... -
03:02 AM Revision c92a44ee (git): ZJIT: Use Mem.num_bits in Mem split (#15177)
- Fix the
```
write(2, "ruby: ZJIT has panicked. More info to follow...\n", 48) = 48
write(2, "\nthread '<unnamed>' panicked at zjit/src/backend/lir.rs:160:17:\nassertion failed: num_bits <= out_num_bits\n", 107) = 107
```
based on
```
... -
02:28 AM Revision e826f815 (git): [DOC] Tweaks for String#tr_s!
-
02:27 AM Revision 6c7453c5 (git): [DOC] Tweaks for String#tr_s
-
02:27 AM Revision 7ea0d369 (git): [DOC] Tweaks for String#tr!
-
02:23 AM Revision 560ec9bf (git): Skip null check for `brace_block`
- `brace_block` is `'{' brace_body '}'` or `k_do do_body k_end`.
Both of them are not null so no need to check `$5`. -
02:16 AM Revision 8a58e66a (git): [ruby/rubygems] Suppress gem build message of bundler like this:
- ```
$ rake spec:regular
Successfully built RubyGem
Name: bundler
Version: 4.0.0.dev
File: bundler-4.0.0.dev.gem
```
https://github.com/ruby/rubygems/commit/8f0ca5eefa - 12:37 AM Revision 6e5bbbc5 (git): Remove `include` prefix from include paths
-
12:19 AM Revision d9bb6027 (git): [ruby/rubygems] Re-generate lockfile with double spaces
- https://github.com/ruby/rubygems/commit/a65a4b775e
- 12:19 AM Revision 5924765b (git): [ruby/rubygems] Fix triple spacing when generating lockfile
- https://github.com/ruby/rubygems/commit/d3baf4110e
11/13/2025
-
11:34 PM Bug #21685 (Open): Unnecessary context-switching, especially bad on multi-core machines.
- While debugging a performance issue in a large rails application, I wrote a minimal microbenchmark that reproduces the issue. [[here]](https://gist.github.com/jpl-coconut/cb3679ce885eb578e1071c4b3a525d5c) I was surprised to see that the ...
-
10:34 PM Bug #21679: Segfault when ruby calls pthread_detach in rb_getnameinfo
- I believe we were getting segfaults because this commit is also not on the 3_4 branch: https://github.com/ruby/ruby/pull/14277/commits/c42ecaeb0489a7e9fc8b245982ee31c5c9ab0125. Our DNS lookups were so fast and racing with the shutdown of...
-
09:42 PM
Bug #21679 (Closed): Segfault when ruby calls pthread_detach in rb_getnameinfo
- Applied in changeset commit:git|f100298e28b3f3db93956a563a11c5cc1dbcb0a7.
----------
ext/socket: Set raddrinfo thread as detached before thread start (#15142)
We were seeing segfaults when calling `pthread_detach`. Apparently in
some v... - 09:42 PM Revision f100298e (git): ext/socket: Set raddrinfo thread as detached before thread start (#15142)
- We were seeing segfaults when calling `pthread_detach`. Apparently in
some versions of glibc there is a race between when this is called
(usually right after starting a thread) and a short-lived thread's
shutdown routine. The bug has bee... -
05:11 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
- I was surprised to notice this is still the case in Ruby 3.3. I understand it could be a lot of work and I'm not asking for it to be implemented by other people right away of course. But at least was there any change in the refusal of im...
-
04:58 PM Misc #21684 (Open): Does IO#pos clear the buffer?
- I'm working on io.c and I'm confused by the difference between how the code looks and how it behaves.
There is a function `io_unread(rb_io_t *fptr, bool discard_rbuf)` and this seems to discard buffer only if discard_rbuf is truthy.
... -
04:58 PM Bug #20889: IO#ungetc and IO#ungetbyte should not cause IO#pos to report an inaccurate position
- I checked #20869 and [DevMeeting-2024-11-07](https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-11-07.md).
On that basis, I will now state my current opinion.
IO#ungetc
* As stated in #21682, the character buff... - 04:02 PM Revision d58960a9 (git): Update default gems list at 244a4bedc25a402af8f5112ce35b4d [ci skip]
-
04:01 PM Revision 244a4bed (git): [ruby/net-http] releng v0.8.0
- https://github.com/ruby/net-http/commit/9d65391f54
-
03:23 PM Feature #21678: Enumerable#rfind
- That makes sense! I'm totally fine with it just being on Array.
-
07:29 AM Feature #21678: Enumerable#rfind
- The `Enumerable` module basically relies on the `#each` method which only works in the forward direction, and the only way to scan backwards is to convert it to an array once. I agree with `Array#rfind` (which can be implemented efficien...
- 02:33 PM Revision 1d903b72 (git): [ruby/net-http] Drop support for Ruby 2.6
- https://github.com/ruby/net-http/commit/a3a5bc45f6
- 02:33 PM Revision 2ab21f56 (git): [ruby/net-http] Fix handling of IPv6 literal hosts in `Net::HTTPGenericRequest`
- Update uri dependency to version 0.11.0 or later to use `URI::HTTP#authority` and `URI#parse` without scheme
https://github.com/ruby/net-http/commit/3d4f06bd7f
Co-authored-by: 0x1eef <0x1eef@users.noreply.github.com>
Co-authored-by: So... -
01:42 PM
Bug #21654 (Closed): Set#new calls extra methods compared to previous versions
- Applied in changeset commit:git|61500c6f48135ef018f5e496ff292a86b0043c65.
----------
Add size checks to Range#to_set and Enumerator#to_set [Bug #21654]
These two class are most common sources of infinite sequences. This change should ... -
10:54 AM Bug #21654: Set#new calls extra methods compared to previous versions
- I'll do the implementation.
-
01:42 PM
Bug #21513 (Closed): Converting endless range to set hangs
- Applied in changeset commit:git|25c871fddf430d18a1f0a794a0f81598e9b79727.
----------
Revert "[Bug #21513] Raise on converting endless range to set"
This reverts commit d4020dd5faf28486123853e7f00c36139fc07793, which introduced performa... -
01:19 PM Bug #21513: Converting endless range to set hangs
- I could add Enumerator#to_a that performs a size check, but that would break tests for Enumerator.produce that defaults the size to infinity. We need more consideration.
- 01:00 PM Revision 61500c6f (git): Add size checks to Range#to_set and Enumerator#to_set [Bug #21654]
- These two class are most common sources of infinite sequences. This change should effectively prevent accidental infinite loops when calling to_set on them. [Bug #21513]
- 01:00 PM Revision 25c871fd (git): Revert "[Bug #21513] Raise on converting endless range to set"
- This reverts commit d4020dd5faf28486123853e7f00c36139fc07793, which introduced performance regression for objects like ActiveRecord::Relation by calling the costly #size method on them.
-
12:27 PM Revision 4a1b88af (git): Exclude lib/unicode_normalize from lib/un
-
11:59 AM Revision 19c2c7e6 (git): [ruby/rubygems] Fixed with Performance/RegexpMatch cop
- https://github.com/ruby/rubygems/commit/93b8492bc0
-
10:53 AM Misc #21681: Clarification on the Status and Roadmap of Ruby Box for Ruby 4.0
- Thank you for the detailed explanation! That clears things up a lot. Wishing Ruby Box a smooth landing in Ruby 4.0. Really looking forward to seeing how it evolves.
-
10:06 AM Misc #21681: Clarification on the Status and Roadmap of Ruby Box for Ruby 4.0
- > what is the final vision/scope of the Ruby Box feature?
That is described in the document ([doc/box.md](https://github.com/ruby/ruby/blob/master/doc/box.md)) in the source tree.
> ...
Ruby Box is still experimental and disabled ... -
10:42 AM Revision d80aa368 (git): Ractor support Windows platform. We need to skip only failing tests of RubyGems
-
10:18 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- cfis (Charlie Savage) wrote in #note-13:
> if the call goes through `rb_w32_fclose` the saved file is corrupted/invalid.
@nobu is curious *why* it's getting corrupted, given that `rb_w32_fclose` just delegates to the original `fclose... -
10:07 AM Feature #21311 (Closed): Namespace on read (revised)
- Now this feature is merged into Ruby as `Ruby::Box`.
-
08:40 AM Bug #21683 (Closed): IO#each_codepoint do not take care of encoding when IO uses encoding conversion for reading.
- Applied in changeset commit:git|7e37e4e743a1ca1d5d7bbb87cdd9b943e3a4fe1d.
----------
[Bug #21683] Respect reading encoding at `each_codepoint` -
08:11 AM Feature #20437: Could the licensing conditions be made less ambiguous?
- I think“Ruby's License” is something described in COPYING, i.e., it is inseparable from BSD-2clause. Historically it was combination with GPL, so some description should be updated.
Matz.
-
07:15 AM Revision 7e37e4e7 (git): [Bug #21683] Respect reading encoding at `each_codepoint`
-
06:28 AM Revision 25348548 (git): [ruby/rubygems] We don't need to allow some warning because:
- Always build gems with RubyGems programmatically
https://github.com/ruby/rubygems/commit/5cc0c34e64 -
05:29 AM Revision 3c68b781 (git): Use omit instead of return in assertion
-
05:29 AM Revision 13407d95 (git): Omit assert_ractor with Windows platform
- 04:44 AM Revision 2c1b1751 (git): [ruby/rubygems] Add debug logging information:
- - I'd like to be able to see how long bundler takes for basic
operations such as downloading a gem from Rubygems.org and
installing a gem.
It will now be possible with this commit by running
`DEBUG=true bundle install` and have ... -
04:34 AM Revision b4b7809f (git): Use path in tmpdir instead of IO::NULL
- The path already used in tool/test/test_sync_default_gems.rb .
Try to fix errors on Windows.
https://github.com/ruby/ruby/actions/runs/19316448613/job/55248700110 - 04:23 AM Revision fe1e1c78 (git): [ruby/rubygems] Adjust the API_REQUEST_LIMIT:
- - ### Problem
This limit is used when Bundler fallback to getting a dependency
list from a server `/dependencies?gem=` endpoint. Bundler uses
this API endpoint fallback when a server doesn't expose the compact
index API.
This ... -
03:39 AM Bug #18878: parse.y: Foo::Bar {} is inconsistently rejected
- Pull Request: https://github.com/ruby/ruby/pull/15165
-
03:34 AM Bug #21682: The result of IO#pos is inconsistent after using IO#ungetc.
- It was my mistake not to mention #20889.
Regarding #20889, I recall being unable to decide my own opinion due to concerns about compatibility.
The situations differ between `IO#ungetc` and `IO#ungetbyte`.
* `ungetc` has different be... -
01:57 AM Revision 057c6e3b (git): Revert "include ruby.h to avoid load failures"
- This reverts commit 35783854244f8dc6a9f7fb4dfae752f8361c66bd.
- 01:06 AM Revision 3dd32fdf (git): ZJIT: Revert patch_point_count counter (#15160)
-
12:34 AM Revision 37a05b59 (git): Ignore ~/.gitconfig
- I use `commit.gpgsign=true`, so I want to ignore it in tests.
-
12:06 AM Revision 8f9b038d (git): ZJIT: Add standalone JSON implementation (#15162)
- I split this off from https://github.com/ruby/ruby/pull/14999 to land the JSON component earlier.
Iongraph's viewer is (as mentioned in the article above) a few notches above graphviz for viewing large CFGs. It also allows easily inspec...