NEWS for Ruby 2.7.0

This document is a list of user visible feature changes made between releases except for bug fixes.

Note that each entry is kept so brief that no reason behind or reference information is supplied with. For a full list of changes with all sufficient information, see the ChangeLog file or Redmine (e.g. https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER)

Changes since the 2.6.0 release

Language changes

Core classes updates (outstanding ones only)

Enumerable
New method
Enumerator
New method
  • Added Enumerator::Yielder#to_proc so that a Yielder object can be directly passed to another method as a block argument. [Feature #15618]

Regexp/String
  • Update Unicode version and Emoji version from 11.0.0 to 12.0.0. [Feature #15321]

  • Update Unicode version to 12.1.0, adding support for U+32FF SQUARE ERA NAME REIWA. [Feature #15195]

Stdlib updates (outstanding ones only)

Bundler
CSV
Date
ERB
  • Prohibit marshaling ERB instance.

Net::IMAP
  • Add Server Name Indication (SNI) support. [Feature #15594]

RSS
RubyGems

Compatibility issues (excluding feature bug fixes)

Stdlib compatibility issues (excluding feature bug fixes)

profile.rb, Profiler__
  • Removed from standard library. No one maintains it from Ruby 2.0.0.

C API updates

Implementation improvements

JIT
  • JIT-ed code is recompiled to less-optimized code when an optimization assumption is invalidated.

  • Method inlining is performed when a method is considered as pure. This optimization is still experimental and many methods are NOT considred as pure yet.

  • Default value of --jit-max-cache is changed from 1,000 to 100

  • Default value of --jit-min-calls is changed from 5 to 10,000

Miscellaneous changes