Releases: jdx/ruby
4.0.5-1
Ruby 4.0.5 portable binaries
Released by Ruby: 2026-05-20
What's Changed
- CVE-2026-46727: Use-after-free in pthread-based getaddrinfo timeout handler
- Bug #22065:
make rdocfails withinvalid byte sequence in US-ASCIIon Ruby 4.0.4 under C locale - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
Build revision: 4.0.5-1
4.0.5
Ruby 4.0.5 portable binaries
Released by Ruby: 2026-05-20
What's Changed
- CVE-2026-46727: Use-after-free in pthread-based getaddrinfo timeout handler
- Bug #22065:
make rdocfails withinvalid byte sequence in US-ASCIIon Ruby 4.0.4 under C locale - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
4.0.4-2
Ruby 4.0.4 portable binaries
Released by Ruby: 2026-05-11
What's Changed
- Bug #21955:
Fiber#transfer: machine stack not released when fiber terminates, causingFiberError: can't set a guard page- Ruby - Ruby Issue Tracking System - Bug #21964: Fiber stack acquire can expand unnecessarily - Ruby - Ruby Issue Tracking System
- Bug #21971: Fix regexp performance regression for patterns starting with s/k - Ruby - Ruby Issue Tracking System
- Bug #21961: Marshal.load freeze option fail to freeze linked strings - Ruby - Ruby Issue Tracking System
- Bug #21959: rb_internal_thread_event_hooks_rw_lock is not reinitialized after fork causing deadlocks - Ruby - Ruby Issue Tracking System
- Bug #21954: NoMethodError instead of Gem::LoadError on gem activation problem in Ruby 4.0.2 - Ruby - Ruby Issue Tracking System
- Bug #21844: Inconsistent ArgumentError message for Data::define.new - Ruby - Ruby Issue Tracking System
- Bug #21992: Defining BasicObject#initialize causes segmentation fault - Ruby - Ruby Issue Tracking System
- Bug #22018: ISeq created via
RubyVM::InstructionSequence.compiledon't support coverage - Ruby - Ruby Issue Tracking System - Bug #21985: RubyVM::AST negative numbers do not include - in location - Ruby - Ruby Issue Tracking System
- Bug #21986: RubyVM::AST incorrect location for literals followed by modifier
if- Ruby - Ruby Issue Tracking System - Bug #21933: Ruby::Box: named capture local variable can become nil after non-matching lines - Ruby - Ruby Issue Tracking System
- Bug #21940: Ruby::Box:
$_returns stale value due to gvar_tbl caching - Ruby - Ruby Issue Tracking System - Bug #22004: parse.y doesn't executes loop body with
while true || truecondition - Ruby - Ruby Issue Tracking System - Bug #21952: Ruby::Box double free at process exit when
fiddle/importis required in multiple boxes - Ruby - Ruby Issue Tracking System - Bug #22003: .bundle extensions not built when doing out-of-source build - Ruby - Ruby Issue Tracking System
- Bug #22002: argument stack underflow (-1) - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
Build revision: 4.0.4-2
4.0.4
Ruby 4.0.4 portable binaries
Released by Ruby: 2026-05-11
What's Changed
- Bug #21955:
Fiber#transfer: machine stack not released when fiber terminates, causingFiberError: can't set a guard page- Ruby - Ruby Issue Tracking System - Bug #21964: Fiber stack acquire can expand unnecessarily - Ruby - Ruby Issue Tracking System
- Bug #21971: Fix regexp performance regression for patterns starting with s/k - Ruby - Ruby Issue Tracking System
- Bug #21961: Marshal.load freeze option fail to freeze linked strings - Ruby - Ruby Issue Tracking System
- Bug #21959: rb_internal_thread_event_hooks_rw_lock is not reinitialized after fork causing deadlocks - Ruby - Ruby Issue Tracking System
- Bug #21954: NoMethodError instead of Gem::LoadError on gem activation problem in Ruby 4.0.2 - Ruby - Ruby Issue Tracking System
- Bug #21844: Inconsistent ArgumentError message for Data::define.new - Ruby - Ruby Issue Tracking System
- Bug #21992: Defining BasicObject#initialize causes segmentation fault - Ruby - Ruby Issue Tracking System
- Bug #22018: ISeq created via
RubyVM::InstructionSequence.compiledon't support coverage - Ruby - Ruby Issue Tracking System - Bug #21985: RubyVM::AST negative numbers do not include - in location - Ruby - Ruby Issue Tracking System
- Bug #21986: RubyVM::AST incorrect location for literals followed by modifier
if- Ruby - Ruby Issue Tracking System - Bug #21933: Ruby::Box: named capture local variable can become nil after non-matching lines - Ruby - Ruby Issue Tracking System
- Bug #21940: Ruby::Box:
$_returns stale value due to gvar_tbl caching - Ruby - Ruby Issue Tracking System - Bug #22004: parse.y doesn't executes loop body with
while true || truecondition - Ruby - Ruby Issue Tracking System - Bug #21952: Ruby::Box double free at process exit when
fiddle/importis required in multiple boxes - Ruby - Ruby Issue Tracking System - Bug #22003: .bundle extensions not built when doing out-of-source build - Ruby - Ruby Issue Tracking System
- Bug #22002: argument stack underflow (-1) - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
4.0.3-3
Ruby 4.0.3 portable binaries
Released by Ruby: 2026-04-21
What's Changed
Full Changelog
Build revision: 4.0.3-3
4.0.3
Ruby 4.0.3 portable binaries
Released by Ruby: 2026-04-21
What's Changed
Full Changelog
4.0.2-3
Ruby 4.0.2 portable binaries
Released by Ruby: 2026-03-16
What's Changed
- Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure - Ruby - Ruby Issue Tracking System
- Bug #21832: segfault with argument forwarding, when combined with splat & positional arg - Ruby - Ruby Issue Tracking System
- Bug #21723:
binding.irbraises a LoadError underbundle execwhen Gemfile containspath:orgit:- Ruby - Ruby Issue Tracking System - Bug #21847: Backport
syntax_suggest2.0.3 to supported branches - Ruby - Ruby Issue Tracking System - Bug #21866: Backport Fix for integer overflow checks in enumerator - Ruby - Ruby Issue Tracking System
- Bug #21865: Crash on signal raise - Ruby - Ruby Issue Tracking System
- Bug #21842: Encoding of rb_interned_str - Ruby - Ruby Issue Tracking System
- Bug #21838: Rails seeing degradation (20% slowdown) related to Revision 079ef92b "Implement global allocatable slots and empty pages" (from Sep 5 2024) - Ruby - Ruby Issue Tracking System
- Bug #21873:
UnboundMethod#==returns false for methods from included/extended modules - Ruby - Ruby Issue Tracking System - ZJIT: Avoid runtime exceptions from RubyVM::ZJIT.stats_string by k0kubun · Pull Request #16139
- Bug #21931: GC Crash in
String#%(backport 726205b354d1068147719fb42e1de743f1838ef1) - Ruby - Ruby Issue Tracking System - Bug #21944: "Cannot allocate memory" with M:N threads or Ractors on a low RAM Linux machine - Ruby - Ruby Issue Tracking System
- Bug #21946:
and?predicate confused for leadingandkeyword - Ruby - Ruby Issue Tracking System - Bug #21927: Prism: misleading error message for forwarding in lambda argument - Ruby - Ruby Issue Tracking System
- Bug #21925: Prism misparses standalone "in" pattern matching in "case/in" - Ruby - Ruby Issue Tracking System
- Bug #21828: An incorrect warning message related to
benchmarkis shown when usingbenchmark-ips- Ruby - Ruby Issue Tracking System - Bug #21917: Unable to build 4.0.1 on AIX 7.2 - Ruby - Ruby Issue Tracking System
- Bug #21945: Ripper lexes newline between identifier and
and?as ignored newline - Ruby - Ruby Issue Tracking System - Bug #21947:
Timeout.timeoutdoesn't useTimeout::ExitExceptionwhen Fiber scheduler is in use. - Ruby - Ruby Issue Tracking System - Bug #21926: Thread#value on popen3 wait thread hangs in finalizer - Ruby - Ruby Issue Tracking System
- Bug #21880: The ultra_safe mode of pstore bundled with Ruby 4.0 is broken. - Ruby - Ruby Issue Tracking System
- Bug #21097:
x = a rescue b in canddef f = a rescue b in cparsed differently between parse.y and prism - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
Build revision: 4.0.2-3
4.0.2
Ruby 4.0.2 portable binaries
Released by Ruby: 2026-03-16
What's Changed
- Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure - Ruby - Ruby Issue Tracking System
- Bug #21832: segfault with argument forwarding, when combined with splat & positional arg - Ruby - Ruby Issue Tracking System
- Bug #21723:
binding.irbraises a LoadError underbundle execwhen Gemfile containspath:orgit:- Ruby - Ruby Issue Tracking System - Bug #21847: Backport
syntax_suggest2.0.3 to supported branches - Ruby - Ruby Issue Tracking System - Bug #21866: Backport Fix for integer overflow checks in enumerator - Ruby - Ruby Issue Tracking System
- Bug #21865: Crash on signal raise - Ruby - Ruby Issue Tracking System
- Bug #21842: Encoding of rb_interned_str - Ruby - Ruby Issue Tracking System
- Bug #21838: Rails seeing degradation (20% slowdown) related to Revision 079ef92b "Implement global allocatable slots and empty pages" (from Sep 5 2024) - Ruby - Ruby Issue Tracking System
- Bug #21873:
UnboundMethod#==returns false for methods from included/extended modules - Ruby - Ruby Issue Tracking System - ZJIT: Avoid runtime exceptions from RubyVM::ZJIT.stats_string by k0kubun · Pull Request #16139
- Bug #21931: GC Crash in
String#%(backport 726205b354d1068147719fb42e1de743f1838ef1) - Ruby - Ruby Issue Tracking System - Bug #21944: "Cannot allocate memory" with M:N threads or Ractors on a low RAM Linux machine - Ruby - Ruby Issue Tracking System
- Bug #21946:
and?predicate confused for leadingandkeyword - Ruby - Ruby Issue Tracking System - Bug #21927: Prism: misleading error message for forwarding in lambda argument - Ruby - Ruby Issue Tracking System
- Bug #21925: Prism misparses standalone "in" pattern matching in "case/in" - Ruby - Ruby Issue Tracking System
- Bug #21828: An incorrect warning message related to
benchmarkis shown when usingbenchmark-ips- Ruby - Ruby Issue Tracking System - Bug #21917: Unable to build 4.0.1 on AIX 7.2 - Ruby - Ruby Issue Tracking System
- Bug #21945: Ripper lexes newline between identifier and
and?as ignored newline - Ruby - Ruby Issue Tracking System - Bug #21947:
Timeout.timeoutdoesn't useTimeout::ExitExceptionwhen Fiber scheduler is in use. - Ruby - Ruby Issue Tracking System - Bug #21926: Thread#value on popen3 wait thread hangs in finalizer - Ruby - Ruby Issue Tracking System
- Bug #21880: The ultra_safe mode of pstore bundled with Ruby 4.0 is broken. - Ruby - Ruby Issue Tracking System
- Bug #21097:
x = a rescue b in canddef f = a rescue b in cparsed differently between parse.y and prism - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
4.0.1-3
Ruby 4.0.1 portable binaries
Released by Ruby: 2026-01-13
What's Changed
- Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0) - Ruby - Ruby Issue Tracking System
- Bug #21828: An incorrect warning message related to
benchmarkis shown when usingbenchmark-ips- Ruby - Ruby Issue Tracking System - Bug #21811: Fix underflow in Array#pack - Ruby - Ruby Issue Tracking System
- Bug #21814: 0.pow(2,-9999999999999999990) should be zero - Ruby - Ruby Issue Tracking System
- Bug #21819: A Data object should be frozen even if it has no members - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
Build revision: 4.0.1-3
4.0.1
Ruby 4.0.1 portable binaries
Released by Ruby: 2026-01-13
What's Changed
- Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0) - Ruby - Ruby Issue Tracking System
- Bug #21828: An incorrect warning message related to
benchmarkis shown when usingbenchmark-ips- Ruby - Ruby Issue Tracking System - Bug #21811: Fix underflow in Array#pack - Ruby - Ruby Issue Tracking System
- Bug #21814: 0.pow(2,-9999999999999999990) should be zero - Ruby - Ruby Issue Tracking System
- Bug #21819: A Data object should be frozen even if it has no members - Ruby - Ruby Issue Tracking System
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.