summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/NEWS-2.6.0218
-rw-r--r--doc/NEWS-2.7.0174
2 files changed, 196 insertions, 196 deletions
diff --git a/doc/NEWS-2.6.0 b/doc/NEWS-2.6.0
index 2303a5bd41..6e70696de2 100644
--- a/doc/NEWS-2.6.0
+++ b/doc/NEWS-2.6.0
@@ -50,24 +50,24 @@ sufficient information, see the ChangeLog file or Redmine
=== Core classes updates (outstanding ones only)
-Array::
+[Array]
- New methods::
+ [New methods]
* Added Array#union and Array#difference instance methods. [Feature #14097]
- Modified method::
+ [Modified method]
* Array#to_h now accepts a block that maps elements to new key/value pairs. [Feature #15143]
- Aliased methods::
+ [Aliased methods]
* Array#filter is a new alias for Array#select. [Feature #13784]
* Array#filter! is a new alias for Array#select!. [Feature #13784]
-Binding::
+[Binding]
- New method::
+ [New method]
* Added Binding#source_location. [Feature #14230]
@@ -79,97 +79,97 @@ Binding::
binding's source location [Bug #4352]. So, users should use this
newly-introduced method instead of Kernel#eval.
-Dir::
+[Dir]
- New methods::
+ [New methods]
* Added Dir#each_child and Dir#children instance methods. [Feature #13969]
-Enumerable::
+[Enumerable]
- New method::
+ [New method]
* Enumerable#chain returns an enumerator object that iterates over the
elements of the receiver and then those of each argument
in sequence. [Feature #15144]
- Modified method::
+ [Modified method]
* Enumerable#to_h now accepts a block that maps elements to new key/value pairs. [Feature #15143]
- Aliased method::
+ [Aliased method]
* Enumerable#filter is a new alias for Enumerable#select. [Feature #13784]
-Enumerator::ArithmeticSequence::
+[Enumerator::ArithmeticSequence]
* This is a new class to represent a generator of an arithmetic sequence,
that is a number sequence defined by a common difference. It can be used
for representing what is similar to Python's slice. You can get an
instance of this class from Numeric#step and Range#step.
-Enumerator::Chain::
+[Enumerator::Chain]
* This is a new class to represent a chain of enumerables that works as a
single enumerator, generated by such methods as Enumerable#chain and
Enumerator#+.
-Enumerator::Lazy::
+[Enumerator::Lazy]
- Aliased method::
+ [Aliased method]
* Enumerator::Lazy#filter is a new alias for
Enumerator::Lazy#select. [Feature #13784]
-Enumerator::
+[Enumerator]
- New methods::
+ [New methods]
* Enumerator#+ returns an enumerator object that iterates over the
elements of the receiver and then those of the other operand. [Feature #15144]
-ENV::
+[ENV]
- Modified method::
+ [Modified method]
* ENV.to_h now accepts a block that maps names and values to new keys and values. [Feature #15143]
-Exception::
+[Exception]
- New options::
+ [New options]
* Exception#full_message takes +:highlight+ and +:order+
options. [Bug #14324]
-Hash::
+[Hash]
- Modified methods::
+ [Modified methods]
* Hash#merge, Hash#merge!, and Hash#update now accept multiple
arguments. [Feature #15111]
* Hash#to_h now accepts a block that maps keys and values to new keys and values. [Feature #15143]
- Aliased methods::
+ [Aliased methods]
* Hash#filter is a new alias for Hash#select. [Feature #13784]
* Hash#filter! is a new alias for Hash#select!. [Feature #13784]
-IO::
+[IO]
- New option::
+ [New option]
* Added new mode character <code>'x'</code> to open files for exclusive
access. [Feature #11258]
-Kernel::
+[Kernel]
- Aliased method::
+ [Aliased method]
* Kernel#then is a new alias for Kernel#yield_self. [Feature #14594]
- New options::
+ [New options]
* Kernel#Complex, Kernel#Float, Kernel#Integer, and
Kernel#Rational take an +:exception+ option to specify the way of
@@ -178,98 +178,98 @@ Kernel::
* Kernel#system takes an +:exception+ option to raise an exception
on failure. [Feature #14386]
- Incompatible changes::
+ [Incompatible changes]
* Kernel#system and Kernel#exec do not close non-standard file descriptors
(the default of the +:close_others+ option is changed to +false+,
but we still set the +FD_CLOEXEC+ flag on descriptors we
create). [Misc #14907]
-KeyError::
+[KeyError]
- New options::
+ [New options]
* KeyError.new accepts +:receiver+ and +:key+ options to set receiver and
key in Ruby code. [Feature #14313]
-Method::
+[Method]
- New methods::
+ [New methods]
* Added Method#<< and Method#>> for Proc composition. [Feature #6284]
-Module::
+[Module]
- Modified methods::
+ [Modified methods]
* Module#method_defined?, Module#private_method_defined?, and
Module#protected_method_defined? now accept the second
parameter as optional. If it is +true+ (the default value), it checks
ancestor modules/classes, or checks only the class itself. [Feature #14944]
-NameError::
+[NameError]
- New option::
+ [New option]
* NameError.new accepts a +:receiver+ option to set receiver in Ruby
code. [Feature #14313]
-NilClass::
+[NilClass]
- New method::
+ [New method]
* NilClass#=~ is added for compatibility. [Feature #15231]
-NoMethodError::
+[NoMethodError]
- New option::
+ [New option]
* NoMethodError.new accepts a +:receiver+ option to set receiver in Ruby
code. [Feature #14313]
-Numeric::
+[Numeric]
- Incompatible changes::
+ [Incompatible changes]
* Numeric#step now returns an instance of the Enumerator::ArithmeticSequence
class rather than one of the Enumerator class.
-OpenStruct::
+[OpenStruct]
- Modified method::
+ [Modified method]
* OpenStruct#to_h now accepts a block that maps keys and values to new keys and values. [Feature #15143]
-Proc::
+[Proc]
- New methods::
+ [New methods]
* Added Proc#<< and Proc#>> for Proc composition. [Feature #6284]
- Incompatible changes::
+ [Incompatible changes]
* Proc#call doesn't change <code>$SAFE</code> any more. [Feature #14250]
-Random::
+[Random]
- New method::
+ [New method]
* Added Random.bytes. [Feature #4938]
-Range::
+[Range]
- New method::
+ [New method]
* Added Range#% instance method. [Feature #14697]
- Incompatible changes::
+ [Incompatible changes]
* Range#=== now uses the +#cover?+ instead of the +#include?+ method. [Feature #14575]
* Range#cover? now accepts a Range object. [Feature #14473]
* Range#step now returns an instance of the Enumerator::ArithmeticSequence
class rather than one of the Enumerator class.
-Regexp/String::
+[Regexp/String]
* Update Unicode version from 10.0.0 to 11.0.0. [Feature #14802]
@@ -278,9 +278,9 @@ Regexp/String::
* Update Emoji version from 5.0 to 11.0.0 [Feature #14802]
-RubyVM::AbstractSyntaxTree::
+[RubyVM::AbstractSyntaxTree]
- New methods::
+ [New methods]
* RubyVM::AbstractSyntaxTree.parse parses a given string and returns AST
nodes. [experimental]
@@ -291,46 +291,46 @@ RubyVM::AbstractSyntaxTree::
* RubyVM::AbstractSyntaxTree.of returns AST nodes of the given proc or
method. [experimental]
-RubyVM::
+[RubyVM]
- New method::
+ [New method]
* RubyVM.resolve_feature_path identifies the file that will be loaded by
"require(feature)". [experimental] [Feature #15230]
-String::
+[String]
* String#crypt is now deprecated. [Feature #14915]
- New features::
+ [New features]
* String#split yields each substring to the block if given. [Feature #4780]
-Struct::
+[Struct]
- Modified method::
+ [Modified method]
* Struct#to_h now accepts a block that maps keys and values to new keys and values. [Feature #15143]
- Aliased method::
+ [Aliased method]
* Struct#filter is a new alias for Struct#select. [Feature #13784]
-Time::
+[Time]
- New features::
+ [New features]
* Time.new and Time#getlocal accept a timezone object as well as
a UTC offset string. Time#+, Time#-, and Time#succ also preserve
the timezone. [Feature #14850]
-TracePoint::
+[TracePoint]
- New features::
+ [New features]
* "script_compiled" event is supported. [Feature #15287]
- New methods::
+ [New methods]
* TracePoint#parameters [Feature #14694]
@@ -338,23 +338,23 @@ TracePoint::
* TracePoint#eval_script [Feature #15287]
- Modified method::
+ [Modified method]
* TracePoint#enable accepts new keywords "target:" and
"target_line:". [Feature #15289]
=== Stdlib updates (outstanding ones only)
-BigDecimal::
+[BigDecimal]
Update to version 1.4.0. This version includes several compatibility
issues, see Compatibility issues section below for details.
- Modified method::
+ [Modified method]
* BigDecimal() accepts the new keyword "exception:" similar to Float().
- Note for the differences among recent versions::
+ [Note for the differences among recent versions]
You should want to know the differences among recent versions of bigdecimal.
Please select the suitable version of bigdecimal according to the following
@@ -371,13 +371,13 @@ BigDecimal::
* 2.0.0 will be released soon after releasing Ruby 2.6.0. This version
will not have the BigDecimal.new method.
-Bundler::
+[Bundler]
* Add Bundler to Standard Library. [Feature #12733]
* Use 1.17.2, the latest stable version.
-Coverage::
+[Coverage]
A oneshot_lines mode is added. [Feature #15022]
@@ -386,7 +386,7 @@ Coverage::
A hook for each line is fired at most once, and after it is fired
the hook flag is removed, i.e., it runs with zero overhead.
- New options::
+ [New options]
* Add +:oneshot_lines+ keyword argument to Coverage.start.
@@ -394,20 +394,20 @@ Coverage::
If +clear+ is true, it clears the counters to zero.
If +stop+ is true, it disables coverage measurement.
- New methods::
+ [New methods]
* Coverage.line_stub, which is a simple helper function that
creates the "stub" of line coverage from a given source code.
-CSV::
+[CSV]
* Upgrade to 3.0.2. This includes performance improvements especially
for writing. Writing is about 2 times faster.
See https://github.com/ruby/csv/blob/master/NEWS.md.
-ERB::
+[ERB]
- New options::
+ [New options]
* Add +:trim_mode+ and +:eoutvar+ keyword arguments to ERB.new.
Now non-keyword arguments other than the first one are softly deprecated
@@ -416,15 +416,15 @@ ERB::
* erb command's <tt>-S</tt> option is deprecated, and will be removed
in the next version.
-FileUtils::
+[FileUtils]
- New methods::
+ [New methods]
* FileUtils#cp_lr. [Feature #4189]
-Matrix::
+[Matrix]
- New methods::
+ [New methods]
* Matrix#antisymmetric?, Matrix#skew_symmetric?
@@ -436,30 +436,30 @@ Matrix::
* Vector#[]=
-Net::
+[Net]
- New options::
+ [New options]
* Add +:write_timeout+ keyword argument to Net::HTTP.new. [Feature #13396]
- New methods::
+ [New methods]
* Add Net::HTTP#write_timeout and Net::HTTP#write_timeout=. [Feature #13396]
- New constant::
+ [New constant]
* Add Net::HTTPClientException to deprecate Net::HTTPServerException,
whose name is misleading. [Bug #14688]
-NKF::
+[NKF]
* Upgrade to nkf v2.1.5
-Psych::
+[Psych]
* Upgrade to Psych 3.1.0
-RDoc::
+[RDoc]
* Become about 2 times faster.
@@ -478,12 +478,12 @@ RDoc::
* Fix many parsing bugs.
-REXML::
+[REXML]
* Upgrade to REXML 3.1.9.
See https://github.com/ruby/rexml/blob/master/NEWS.md.
- Improved some XPath implementations::
+ [Improved some XPath implementations]
* <code>concat()</code> function: Stringify all arguments before concatenating.
@@ -493,7 +493,7 @@ REXML::
* Support <code>"*:#{ELEMENT_NAME}"</code> syntax in XPath 2.0.
- Fixed some XPath implementations::
+ [Fixed some XPath implementations]
* <code>"//#{ELEMENT_NAME}[#{POSITION}]"</code> case
@@ -517,14 +517,14 @@ REXML::
* <code>"name(#{NODE_SET})"</code> case
-RSS::
+[RSS]
- New options::
+ [New options]
* RSS::Parser.parse now accepts options as Hash. +:validate+ ,
+:ignore_unknown_element+ , +:parser_class+ options are available.
-RubyGems::
+[RubyGems]
* Upgrade to RubyGems 3.0.1
@@ -532,32 +532,32 @@ RubyGems::
* https://blog.rubygems.org/2018/12/23/3.0.1-released.html
-Set::
+[Set]
- Aliased method::
+ [Aliased method]
* Set#filter! is a new alias for Set#select!. [Feature #13784]
-URI::
+[URI]
- New constant::
+ [New constant]
* Add URI::File to handle the file URI scheme. [Feature #14035]
=== Compatibility issues (excluding feature bug fixes)
-Dir::
+[Dir]
* Dir.glob with <code>'\0'</code>-separated pattern list will be deprecated,
and is now warned. [Feature #14643]
-File::
+[File]
* File.read, File.binread, File.write, File.binwrite, File.foreach, and
File.readlines do not invoke external commands even if the path starts
with the pipe character <code>'|'</code>. [Feature #14245]
-Object::
+[Object]
* Object#=~ is deprecated. [Feature #15231]
@@ -580,7 +580,7 @@ Object::
* thwait
* tracer
-BigDecimal::
+[BigDecimal]
* The following methods are removed.
@@ -595,7 +595,7 @@ BigDecimal::
* BigDecimal.new will be removed in version 2.0.
-Pathname::
+[Pathname]
* Pathname#read, Pathname#binread, Pathname#write, Pathname#binwrite,
Pathname#each_line and Pathname#readlines do not invoke external
@@ -650,12 +650,12 @@ Pathname::
in their names. This eliminates the burden of each teeny upgrade on the
platform that users need to rebuild every extension library.
- Before::
+ [Before]
* libruby.2.6.0.dylib
* libruby.2.6.dylib -> libruby.2.6.0.dylib
* libruby.dylib -> libruby.2.6.0.dylib
- After::
+ [After]
* libruby.2.6.dylib
* libruby.dylib -> libruby.2.6.dylib
diff --git a/doc/NEWS-2.7.0 b/doc/NEWS-2.7.0
index 85bd156795..3e6b98c1fd 100644
--- a/doc/NEWS-2.7.0
+++ b/doc/NEWS-2.7.0
@@ -280,17 +280,17 @@ See also Warning in {Core classes updates}[#label-Core+classes+updates+-28outsta
=== Core classes updates (outstanding ones only)
-Array::
+[Array]
- New methods::
+ [New methods]
* Added Array#intersection. [Feature #16155]
* Added Array#minmax, with a faster implementation than Enumerable#minmax. [Bug #15929]
-Comparable::
+[Comparable]
- Modified method::
+ [Modified method]
* Comparable#clamp now accepts a Range argument. [Feature #14784]
@@ -302,29 +302,29 @@ Comparable::
3.clamp(..2) #=> 2
-Complex::
+[Complex]
- New method::
+ [New method]
* Added Complex#<=>.
So <code>0 <=> 0i</code> will not raise NoMethodError. [Bug #15857]
-Dir::
+[Dir]
- Modified methods::
+ [Modified methods]
* Dir.glob and Dir.[] no longer allow NUL-separated glob pattern.
Use Array instead. [Feature #14643]
-Encoding::
+[Encoding]
- New encoding::
+ [New encoding]
* Added new encoding CESU-8. [Feature #15931]
-Enumerable::
+[Enumerable]
- New methods::
+ [New methods]
* Added Enumerable#filter_map. [Feature #15323]
@@ -334,9 +334,9 @@ Enumerable::
["A", "B", "C", "B", "A"].tally #=> {"A"=>2, "B"=>2, "C"=>1}
-Enumerator::
+[Enumerator]
- New methods::
+ [New methods]
* Added Enumerator.produce to generate an Enumerator from any custom
data transformation. [Feature #14781]
@@ -357,34 +357,34 @@ Enumerator::
can be directly passed to another method as a block
argument. [Feature #15618]
-Fiber::
+[Fiber]
- New method::
+ [New method]
* Added Fiber#raise that behaves like Fiber#resume but raises an
exception on the resumed fiber. [Feature #10344]
-File::
+[File]
- Modified method::
+ [Modified method]
* File.extname now returns a dot string for names ending with a dot on
non-Windows platforms. [Bug #15267]
File.extname("foo.") #=> "."
-FrozenError::
+[FrozenError]
- New method::
+ [New method]
* Added FrozenError#receiver to return the frozen object on which
modification was attempted. To set this object when raising
FrozenError in Ruby code, FrozenError.new accepts a +:receiver+
option. [Feature #15751]
-GC::
+[GC]
- New method::
+ [New method]
* Added GC.compact method for compacting the heap.
This function compacts live objects in the heap so that fewer pages may
@@ -393,16 +393,16 @@ GC::
Details on the algorithm and caveats can be found here:
https://bugs.ruby-lang.org/issues/15626
-IO::
+[IO]
- New method::
+ [New method]
* Added IO#set_encoding_by_bom to check the BOM and set the external
encoding. [Bug #15210]
-Integer::
+[Integer]
- Modified method::
+ [Modified method]
* Integer#[] now supports range operations. [Feature #8842]
@@ -411,15 +411,15 @@ Integer::
0b01001100[2...6] #=> 0b0011
# ^^^^
-Method::
+[Method]
- Modified method::
+ [Modified method]
* Method#inspect shows more information. [Feature #14145]
-Module::
+[Module]
- New methods::
+ [New methods]
* Added Module#const_source_location to retrieve the location where a
constant is defined. [Feature #10771]
@@ -429,7 +429,7 @@ Module::
all arguments to another method in a way that can be backwards
compatible with older Ruby versions. [Bug #16154]
- Modified methods::
+ [Modified methods]
* Module#autoload? now takes an +inherit+ optional argument, like
Module#const_defined?. [Feature #15777]
@@ -438,53 +438,53 @@ Module::
always the same for a given Module. This change is
experimental. [Feature #16150]
-NilClass / TrueClass / FalseClass::
+[NilClass / TrueClass / FalseClass]
- Modified methods::
+ [Modified methods]
* NilClass#to_s, TrueClass#to_s, and FalseClass#to_s now always return a
frozen String. The returned String is always the same for each of these
values. This change is experimental. [Feature #16150]
-ObjectSpace::WeakMap::
+[ObjectSpace::WeakMap]
- Modified method::
+ [Modified method]
* ObjectSpace::WeakMap#[]= now accepts special objects as either key or
values. [Feature #16035]
-Proc::
+[Proc]
- New method::
+ [New method]
* Added Proc#ruby2_keywords for marking the proc as passing keyword
arguments through a regular argument splat, useful when delegating
all arguments to another method or proc in a way that can be backwards
compatible with older Ruby versions. [Feature #16404]
-Range::
+[Range]
- New method::
+ [New method]
* Added Range#minmax, with a faster implementation than Enumerable#minmax.
It returns a maximum that now corresponds to Range#max. [Bug #15807]
- Modified method::
+ [Modified method]
* Range#=== now uses Range#cover? for String arguments, too (in Ruby 2.6, it was
changed from Range#include? for all types except strings). [Bug #15449]
-RubyVM::
+[RubyVM]
- Removed method::
+ [Removed method]
* +RubyVM.resolve_feature_path+ moved to
<code>$LOAD_PATH.resolve_feature_path</code>. [Feature #15903] [Feature #15230]
-String::
+[String]
- Unicode::
+ [Unicode]
* Update Unicode version and Emoji version from 11.0.0 to
12.0.0. [Feature #15321]
@@ -494,28 +494,28 @@ String::
* Update Unicode Emoji version to 12.1. [Feature #16272]
-Symbol::
+[Symbol]
- New methods::
+ [New methods]
* Added Symbol#start_with? and Symbol#end_with? methods. [Feature #16348]
-Time::
+[Time]
- New methods::
+ [New methods]
* Added Time#ceil method. [Feature #15772]
* Added Time#floor method. [Feature #15653]
- Modified method::
+ [Modified method]
* Time#inspect is separated from Time#to_s and it shows
the time's sub second. [Feature #15958]
-UnboundMethod::
+[UnboundMethod]
- New method::
+ [New method]
* Added UnboundMethod#bind_call method. [Feature #15955]
@@ -541,51 +541,51 @@ UnboundMethod::
p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2
p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2
-Warning::
+[Warning]
- New methods::
+ [New methods]
* Added Warning.[] and Warning.[]= to manage emitting/suppressing
some categories of warnings. [Feature #16345] [Feature #16420]
-$LOAD_PATH::
+[$LOAD_PATH]
- New method::
+ [New method]
* Added <code>$LOAD_PATH.resolve_feature_path</code>. [Feature #15903] [Feature #15230]
=== Stdlib updates (outstanding ones only)
-Bundler::
+[Bundler]
* Upgrade to Bundler 2.1.2.
See https://github.com/bundler/bundler/releases/tag/v2.1.2
-CGI::
+[CGI]
* CGI.escapeHTML becomes 2~5x faster when there is at least one escaped character.
See https://github.com/ruby/ruby/pull/2226
-CSV::
+[CSV]
* Upgrade to 3.1.2.
See https://github.com/ruby/csv/blob/master/NEWS.md.
-Date::
+[Date]
* Date.jisx0301, Date#jisx0301, and Date.parse support the new Japanese
era. [Feature #15742]
-Delegator::
+[Delegator]
* Object#DelegateClass accepts a block and module_evals it in the context
of the returned class, similar to Class.new and Struct.new.
-ERB::
+[ERB]
* Prohibit marshaling ERB instance.
-IRB::
+[IRB]
* Introduce syntax highlighting inspired by the Pry gem to Binding#irb
source lines, REPL input, and inspect output of some core-class objects.
@@ -596,25 +596,25 @@ IRB::
* Enable auto indent and save/load history by default.
-JSON::
+[JSON]
* Upgrade to 2.3.0.
-Net::FTP::
+[Net::FTP]
* Add Net::FTP#features to check available features, and Net::FTP#option to
enable/disable each of them. [Feature #15964]
-Net::HTTP::
+[Net::HTTP]
* Add +ipaddr+ optional parameter to Net::HTTP#start to replace the address for
the TCP/IP connection. [Feature #5180]
-Net::IMAP::
+[Net::IMAP]
* Add Server Name Indication (SNI) support. [Feature #15594]
-open-uri::
+[open-uri]
* Warn open-uri's "open" method at Kernel.
Use URI.open instead. [Misc #15893]
@@ -622,7 +622,7 @@ open-uri::
* The default charset of "text/*" media type is UTF-8 instead of
ISO-8859-1. [Bug #15933]
-OptionParser::
+[OptionParser]
* Now show "Did you mean?" for unknown options. [Feature #16256]
@@ -643,38 +643,38 @@ OptionParser::
Did you mean? baz
bar
-Pathname::
+[Pathname]
* Pathname.glob now delegates 3 arguments to Dir.glob
to accept +base+ keyword. [Feature #14405]
-Racc::
+[Racc]
* Merge 1.4.15 from upstream repository and added cli of racc.
-Reline::
+[Reline]
* New stdlib that is compatible with the readline stdlib but is
implemented in pure Ruby. It also provides a multiline editing mode.
-REXML::
+[REXML]
* Upgrade to 3.2.3.
See https://github.com/ruby/rexml/blob/master/NEWS.md.
-RSS::
+[RSS]
* Upgrade to RSS 0.2.8.
See https://github.com/ruby/rss/blob/master/NEWS.md.
-RubyGems::
+[RubyGems]
* Upgrade to RubyGems 3.1.2.
* https://github.com/rubygems/rubygems/releases/tag/v3.1.0
* https://github.com/rubygems/rubygems/releases/tag/v3.1.1
* https://github.com/rubygems/rubygems/releases/tag/v3.1.2
-StringScanner::
+[StringScanner]
* Upgrade to 1.0.3.
See https://github.com/ruby/strscan/blob/master/NEWS.md.
@@ -690,10 +690,10 @@ StringScanner::
* ThreadsWait (thwait gem)
* E2MM (e2mmap gem)
-Proc::
+[Proc]
* The Proc#to_s format was changed. [Feature #16101]
-Range::
+[Range]
* Range#minmax used to iterate on the range to determine the maximum.
It now uses the same algorithm as Range#max. In rare cases (e.g.
ranges of Floats or Strings), this may yield different results. [Bug #15807]
@@ -723,14 +723,14 @@ Range::
* yaml
* The <tt>did_you_mean</tt> gem has been promoted up to a default gem from a bundled gem
-pathname::
+[pathname]
* Kernel#Pathname when called with a Pathname argument now returns
the argument instead of creating a new Pathname. This is more
similar to other Kernel methods, but can break code that modifies
the return value and expects the argument not to be modified.
-profile.rb, Profiler__::
+[profile.rb, Profiler__]
* Removed from standard library. It was unmaintained since Ruby 2.0.0.
@@ -750,7 +750,7 @@ profile.rb, Profiler__::
=== Implementation improvements
-Fiber::
+[Fiber]
* Allow selecting different coroutine implementations by using
+--with-coroutine=+, e.g.
@@ -764,23 +764,23 @@ Fiber::
performance improvement was measured in micro-benchmarks.
https://github.com/ruby/ruby/pull/2224
-File::
+[File]
* File.realpath now uses realpath(3) on many platforms, which can
significantly improve performance. [Feature #15797]
-Hash::
+[Hash]
* Change data structure of small Hash objects. [Feature #15602]
-Monitor::
+[Monitor]
* Monitor class is written in C-extension. [Feature #16255]
-Thread::
+[Thread]
* VM stack memory allocation is now combined with native thread stack,
improving thread allocation performance and reducing allocation related
failures. Around 10x performance improvement was measured in micro-benchmarks.
-JIT::
+[JIT]
* JIT-ed code is recompiled to less-optimized code when an optimization assumption is invalidated.
@@ -791,13 +791,13 @@ JIT::
* The default value of +--jit-min-calls+ is changed from 5 to 10,000.
-RubyVM::
+[RubyVM]
* Per-call-site method cache, which has been there since around 1.9, was
improved: cache hit rate raised from 89% to 94%.
See https://github.com/ruby/ruby/pull/2583
-RubyVM::InstructionSequence::
+[RubyVM::InstructionSequence]
* RubyVM::InstructionSequence#to_binary method generates compiled binary.
The binary size is reduced. [Feature #16163]