mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
5da52d1210
from Subversion. This behavior is tentative and not discussed well. The point of discussion will be just the length of commit hash, and I thought we should include this kind of change in 2.7.0-preview1 release even before the length is fixed yet. Let's discuss that afterwards and fix it later as needed. Naruse suggested that length=10 is very unlikely to cause conflict, and thus it's used by email notification and rubyci now. This behavior is in favor of that for now.
144 lines
3.9 KiB
Text
144 lines
3.9 KiB
Text
# -*- rdoc -*-
|
|
|
|
= 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. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>)
|
|
|
|
== Changes since the 2.6.0 release
|
|
|
|
=== Language changes
|
|
|
|
* Introduce pattern matching [Feature #14912]
|
|
|
|
* Method reference operator, <code>.:</code> is introduced as an
|
|
experimental feature. [Feature #12125] [Feature #13581]
|
|
|
|
* Proc.new and proc with no block in a method called with a block is warned
|
|
now.
|
|
|
|
* lambda with no block in a method called with a block errs.
|
|
|
|
* Non-Symbol keys in a keyword arguments hash was prohibited at 2.6.0, but
|
|
now allowed again. [Bug #15658]
|
|
|
|
* Numbered parameter as the default block parameter is introduced as an
|
|
experimental feature. [Feature #4475]
|
|
|
|
* A beginless range is experimentally introduced. It might not be as useful
|
|
as an endless range, but would be good for DSL purpose.
|
|
|
|
ary[..3] # identical to ary[0..3]
|
|
where(sales: ..100)
|
|
|
|
* Setting <code>$;</code> to non-nil value is warned now. Use of it in
|
|
String#split is warned too.
|
|
|
|
=== Core classes updates (outstanding ones only)
|
|
|
|
Enumerable::
|
|
|
|
New method::
|
|
|
|
* Added Enumerable#tally. [Feature #11076]
|
|
|
|
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::
|
|
|
|
* Upgrade to Bundler 2.1.0.pre.1
|
|
Bundled from https://github.com/bundler/bundler/commit/a53709556b95a914e874b22ed2116a46b0528852
|
|
|
|
CSV::
|
|
|
|
* Upgrade to 3.0.9.
|
|
See https://github.com/ruby/csv/blob/master/NEWS.md.
|
|
|
|
Date::
|
|
|
|
* Date.jisx0301, Date#jisx0301, and Date.parse provisionally support the
|
|
new Japanese era as an informal extension, until the new JIS X 0301 is
|
|
issued. [Feature #15742]
|
|
|
|
ERB::
|
|
|
|
* Prohibit marshaling ERB instance.
|
|
|
|
Net::IMAP::
|
|
|
|
* Add Server Name Indication (SNI) support. [Feature #15594]
|
|
|
|
RSS::
|
|
|
|
* Upgrade to RSS 0.2.8.
|
|
See https://github.com/ruby/rss/blob/master/NEWS.md.
|
|
|
|
RubyGems::
|
|
|
|
* Upgrade to RubyGems 3.1.0.pre1
|
|
Bundled from https://github.com/rubygems/rubygems/commit/97b264f0fa248c864b6ee9a23d3ff1cdd217dddb
|
|
|
|
=== 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 considered 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
|
|
|
|
GC::
|
|
|
|
* New `GC.compact` method for compacting the heap.
|
|
This function compacts live objects in the heap so that fewer pages may
|
|
be used, and the heap may be more CoW friendly. [Feature #15626]
|
|
|
|
Details on the algorithm and caveats can be found here:
|
|
https://bugs.ruby-lang.org/issues/15626
|
|
|
|
=== Miscellaneous changes
|
|
|
|
* Require compilers to support C99 [Misc #15347]
|
|
|
|
* Details of our dialect: https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99
|
|
|
|
* Upstream repository is changed from Subversion to Git.
|
|
|
|
* RUBY_REVISION class is changed from Integer to String.
|
|
|
|
* RUBY_DESCRIPTION includes Git revision instead of Subversion's one.
|