1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/NEWS
mame f8e2964065 * NEWS: add Array#max, #min, and the optimization. [Feature #12172]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-17 12:49:19 +00:00

69 lines
1.9 KiB
Text

# -*- rdoc -*-
= NEWS for Ruby 2.4.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.3.0 release
=== Language changes
=== Core classes updates (outstanding ones only)
* Array
* Array#max and Array#min. [Feature #12172]
This may cause a tiny incompatibility: if you redefine
Enumerable#max and call max to an Array, your redefinition will be
now ignored. You should also redefine Array#max.
* Dir
* Dir.empty?. [Feature #10121]
* String
* String.new(capacity: size) [Feature #12024]
* Symbol
* Symbol#match now returns MatchData. [Bug #11991]
* MatchData
* MatchData#named_captures [Feature #11999]
=== Stdlib updates (outstanding ones only)
* CSV
* Add a liberal_parsing option. [Feature #11839]
* optparse
* Add an into option. [Feature #11191]
=== Stdlib compatibility issues (excluding feature bug fixes)
=== Built-in global variables compatibility issues
=== C API updates
* ruby_show_version() will no longer exits the process, if
RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0. This will be the default in
the future.
=== Supported platform changes
=== Implementation improvements
* In some condition, `[x, y].max` and `[x, y].min` are optimized
so that a temporal array is not created. The concrete condition is
an implementation detail: currently, the array literal must have no
splat, must have at least one expression but literal, the length must
be <= 0x100, and Array#max and min must not be redefined. It will work
in most casual and real-life use case where it is written with intent
to `Math.max(x, y)`.