NEWS for Ruby 3.0.0

This document is a list of user visible feature changes since the 2.7.0 release, except for bug fixes.

Note that each entry is kept to a minimum, see links for details.

Language changes

Command line options

--help option

When the environment variable RUBY_PAGER or PAGER is present and has a non-empty value, and the standard input and output are tty, the --help option shows the help message via the pager designated by the value. [Feature #16754]

--backtrace-limit option

The --backtrace-limit option limits the maximum length of a backtrace. [Feature #8661]

Core classes updates

Outstanding ones only.

Stdlib updates

Outstanding ones only.

Compatibility issues

Excluding feature bug fixes.

Stdlib compatibility issues

C API updates

Implementation improvements

JIT

Static analysis

RBS

TypeProf

# test.rb
def foo(x)
  if x > 10
    x.to_s
  else
    nil
  end
end

foo(42)
$ typeprof test.rb
# Classes
class Object
  def foo : (Integer) -> String?
end

Miscellaneous changes