This document is a list of user visible feature changes since the 3.0.0 release, except for bug fixes.
Note that each entry is kept to a minimum, see links for details.
Outstanding ones only.
-
Enumerable
- Enumerable#compact is added. [Feature #17312]
-
Enumerator::Lazy
- Enumerator::Lazy#compact is added. [Feature #17312]
-
Module
- Module#prepend now modifies the ancestor chain if the receiver already includes the argument. Module#prepend still does not modify the ancestor chain if the receiver has already prepended the argument. [Bug #17423]
-
Struct
- Passing only keyword arguments to Struct#initialize is warned. You need to use a Hash literal to set a Hash to a first member. [Feature #16806]
Outstanding ones only.
Excluding feature bug fixes.
ERB#initialize
warnssafe_level
and later arguments even without -w. [Feature #14256]
RubyVM::MJIT
is renamed toRubyVM::JIT
.