What changed in Ruby from 3 to 4

4 releases numbered after 3.4.10 up to and including 4.0.6, stable releases only. 3.4.10 and 4.0.6 are the newest stable releases of 3 and 4 we track; this page follows them as new ones ship.

3 changes across 4 releases

Fixed 1

4.0.5

  • Fix build system regression from Ruby 4.0.4
Security 2

4.0.5

  • Fix use-after-free in pthread-based getaddrinfo timeout handler (CVE-2026-46727)

4.0.3

  • Fix CVE-2026-41316 in ERB 6.0.1.1

2 releases in the range carry no categorized changes yet: 4.0.64.0.4. Their original notes, where the vendor published any, are below.

Original release notes, newest first

The list above is our reading of these notes; the originals from Ruby are here, one fold per release.

4.0.6Ruby 4.0.6 Released

Ruby 4.0.6 has been released. This is a routine update that includes bugfixes. Please see the GitHub releases for further details. Release Schedule We intend to release the latest stable Ruby version…

View originalPermalink

4.0.5Ruby 4.0.5 Released

Ruby 4.0.5 has been released. This release only contains a security fix for CVE-2026-46727: Use-after-free in pthread-based getaddrinfo timeout handler and a build system regression in Ruby 4.0.4 unde…

View originalPermalink

4.0.4Ruby 4.0.4 Released

Ruby 4.0.4 has been released. This is a routine update that includes bugfixes. Please see the GitHub Releases for further details. Release Schedule We intend to release the latest stable Ruby version…

View originalPermalink

4.0.3Ruby 4.0.3 Released

Ruby 4.0.3 has been released. This release only contains ERB 6.0.1.1, which fixes CVE-2026-41316 . If your application calls Marshal.load on untrusted data AND has both erb and activesupport loaded, p…

View originalPermalink