Skip to content

Ruby all versions changelog

Ruby 3.3

Ruby 3.3.0

  • Internals Introduced Prism parser as a default gem, replacing Ripper
  • Internals Lrama replaces Bison as parser generator
  • Internals Major YJIT performance improvements and introduction of RJIT, a pure-Ruby JIT compiler
  • Internals Introduction of M:N thread scheduler for efficient thread management
  • Internals Several performance improvements in the Garbage Collector
  • Internals Enhancements in IRB including advanced irb:rdbg integration and pager support

Ruby 3.2

Ruby 3.2.2

Ruby 3.2.1

Ruby 3.2.0

  • Internals WASI based WebAssembly support
  • Internals Production-ready YJIT
  • Internals Regexp improvements against ReDoS
  • Internals IRB improvements (SyntaxSuggest, ErrorHighlight)
  • Internals Bundler 2.4 now uses PubGrub resolver instead of Molinillo

Ruby 3.1

Ruby 3.1.4

Ruby 3.1.3

Ruby 3.1.2

Ruby 3.1.1

Ruby 3.1.0

  • Internals YJIT: New experimental in-process JIT compiler (experimental)
  • Added debug gem: A new debugger
  • Added error_highlight: Fine-grained error location in backtrace
  • Added IRB Autocomplete and Documentation Display
  • Updated Values in Hash literals and keyword arguments can be omitted.
  • Updated Updates in RBS / TypeProf

Ruby 3.0

Ruby 3.0.6

Ruby 3.0.5

Ruby 3.0.4

Ruby 3.0.3

Ruby 3.0.2

Ruby 3.0.1

Ruby 3.0.0

  • Internals MJIT improvements
  • Added Ractor - Actor-model like concurrent abstraction (experimental)
  • Added Fiber Scheduler for light-weight concurrency (experimental)
  • Added RBS - a language to describe the structure of Ruby classes
  • Added TypeProf - type analysis tool, generates RBS type signatures (experimental)
  • Added Hash#except
  • Updated Keyword arguments are separated from other arguments
  • Updated Rightward assignment statement
  • Updated Reversed (again) order of backtrace (experimental)
  • Updated Endless method definition def square(x) = x * x

Ruby 2.7

Ruby 2.7.8

Ruby 2.7.7

Ruby 2.7.6

Ruby 2.7.5

Ruby 2.7.4

Ruby 2.7.3

Ruby 2.7.2

Ruby 2.7.1

Ruby 2.7.0

  • Added Pattern Matching (experimental)
  • Updated REPL improvements
  • Updated Separation of positional and keyword arguments
  • Updated Argument forwarding
  • Internals Compaction GC

Ruby 2.6

Ruby 2.6.10

Ruby 2.6.9

Ruby 2.6.8

Ruby 2.6.7

Ruby 2.6.6

Ruby 2.6.5

Ruby 2.6.4

Ruby 2.6.3

Ruby 2.6.2

Ruby 2.6.1

Ruby 2.6.0

  • Added endless ranges (1..)
  • Added Enumerable#chain
  • Added function composition operators <<, >> to Proc
  • Updated #then alias for #yield_self
  • Internals JIT compiler --jit
  • Internals Bundler is installed as a default gem

Ruby 2.5

Ruby 2.5.9

Ruby 2.5.8

Ruby 2.5.7

Ruby 2.5.6

Ruby 2.5.5

Ruby 2.5.4

Ruby 2.5.3

Ruby 2.5.2

Ruby 2.5.1

Ruby 2.5.0

  • Added yield_self
  • Added rescue in blocks
  • Added Hash#slice and Hash#transform_keys
  • Added ERB#result_with_hash
  • Updated New Array aliases - #prepend (#unshift) and #append (#push)
  • Updated Pattern argument on Enumerable methods
  • Updated Keyword arguments on Struct.new
  • Updated Removed Top-level constant lookup
  • Updated Reverse order of backtrace (oldest call first) (experimental)

Ruby 2.4

Ruby 2.4.10

Ruby 2.4.9

Ruby 2.4.8

Ruby 2.4.7

Ruby 2.4.6

Ruby 2.4.5

Ruby 2.4.4

Ruby 2.4.3

Ruby 2.4.2

Ruby 2.4.1

Ruby 2.4.0

  • Added Enumerable#sum
  • Added Integer#digits
  • Added Regexp#match?, Regexp#named_captures
  • Updated New constructor Logger.new(STDOUT, level:, progname:)
  • Updated Float: #round, #ceil, #floor, and #truncate now accept a precision
  • Removed Removed Fixnum and Bignum classes (unified to Integer)

Ruby 2.3

Ruby 2.3.8

Ruby 2.3.7

Ruby 2.3.6

Ruby 2.3.5

Ruby 2.3.4

Ruby 2.3.3

Ruby 2.3.2

Ruby 2.3.1

Ruby 2.3.0

  • Added Safe navigation operator &.
  • Added Frozen string literals
  • Added Array#dig
  • Added Hash#fetch_values, Hash#to_proc, Hash#dig
  • Added 'Did you mean?'

Ruby 2.2


Ruby 2.1


Ruby 2.0


(Last updated on 2024-01-09 19:06:25 +0100)