diff options
-rw-r--r-- | doc/NEWS-2.0.0 | 3 | ||||
-rw-r--r-- | doc/NEWS-2.2.0 | 6 | ||||
-rw-r--r-- | doc/NEWS-2.3.0 | 70 | ||||
-rw-r--r-- | doc/NEWS-2.4.0 | 52 | ||||
-rw-r--r-- | doc/NEWS-2.7.0 | 3 |
5 files changed, 56 insertions, 78 deletions
diff --git a/doc/NEWS-2.0.0 b/doc/NEWS-2.0.0 index 414789dcd1..712d3a693b 100644 --- a/doc/NEWS-2.0.0 +++ b/doc/NEWS-2.0.0 @@ -116,8 +116,7 @@ with all sufficient information, see the ChangeLog file. corresponding method in the prepending module. * added Module.prepended and Module.prepend_features, similar to included and append_features. - * added Module#refine, which extends a class or module locally. - [experimental] + * added Module#refine, which extends a class or module locally. [experimental] * extended method: * Module#define_method accepts a UnboundMethod from a Module. * Module#const_get accepts a qualified constant string, e.g. diff --git a/doc/NEWS-2.2.0 b/doc/NEWS-2.2.0 index 4a029a90f2..98e252ec77 100644 --- a/doc/NEWS-2.2.0 +++ b/doc/NEWS-2.2.0 @@ -250,8 +250,7 @@ with all sufficient information, see the ChangeLog file. * Logger::Application is extracted to logger-application gem. It's unmaintain code. * ObjectSpace (after requiring "objspace") - * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE). - [Bug #8984] + * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE). [Bug #8984] * Prime * incompatible changes: @@ -353,8 +352,7 @@ with all sufficient information, see the ChangeLog file. * VM * Use frozen string literals for Hash#[] and Hash#[]= * Fast keyword arguments passing [Feature #10440] - * Allow to receive huge splatted array by a rest argument - [Feature #10440] + * Allow to receive huge splatted array by a rest argument [Feature #10440] * Process * Process creation methods, such as spawn(), uses vfork() system call. diff --git a/doc/NEWS-2.3.0 b/doc/NEWS-2.3.0 index 489aba4a89..065515257e 100644 --- a/doc/NEWS-2.3.0 +++ b/doc/NEWS-2.3.0 @@ -16,20 +16,19 @@ with all sufficient information, see the ChangeLog file or Redmine * frozen-string-literal pragma: - * new pragma, frozen-string-literal has been experimentally introduced. - [Feature #8976] + * new pragma, frozen-string-literal has been experimentally introduced. [Feature #8976] * besides, --enable/--disable=frozen-string-literal options also have been introduced. [Feature #8976] * command line options --debug or --debug=frozen-string-literal enable additional debugging mode which shows created location with at frozen - object error (RuntimeError). - [Feature #11725] + object error (RuntimeError). [Feature #11725] * safe navigation operator: * new method call syntax, `object&.foo', method #foo is called on - `object' if it is not nil. - this is similar to `try!' in Active Support, except: + `object' if it is not nil. [Feature #11537] + + This is similar to `try!' in Active Support, except: * method name is syntactically required obj.try! {} # valid obj&. {} # syntax error @@ -38,7 +37,6 @@ with all sufficient information, see the ChangeLog file or Redmine obj&.foo(bar()) # bar() is conditionally evaluated * attribute assignment is valid obj&.attr += 1 - [Feature #11537] * the did_you_mean gem: @@ -53,15 +51,13 @@ with all sufficient information, see the ChangeLog file or Redmine * indented here document: * new string literal, here document starts with `<<~`. - refer doc/syntax/literals.rdoc for more details. - [Feature #9098] + refer doc/syntax/literals.rdoc for more details. [Feature #9098] === Core classes updates (outstanding ones only) * ARGF - * ARGF.read_nonblock supports `exception: false' like IO#read_nonblock. - [Feature #11358] + * ARGF.read_nonblock supports `exception: false' like IO#read_nonblock. [Feature #11358] * Array @@ -78,8 +74,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Enumerable - * Enumerable#grep_v is added as inverse version of Enumerable#grep. - [Feature #11049] + * Enumerable#grep_v is added as inverse version of Enumerable#grep. [Feature #11049] * Enumerable#chunk_while [Feature #10769] * Enumerator::Lazy @@ -105,8 +100,7 @@ with all sufficient information, see the ChangeLog file or Redmine this affect only files opened as binary. [Feature #11218] * new option parameter `flags' is added. - this parameter is bitwise-ORed to oflags generated by normal mode argument. - [Feature #11253] + this parameter is bitwise-ORed to oflags generated by normal mode argument. [Feature #11253] * IO#advise no longer raises Errno::ENOSYS in cases where it was detected at build time but not available at runtime. [Feature #11806] @@ -125,8 +119,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Numeric * Numeric#positive? and Numeric#negative? are added, which return - true when the receiver is positive and negative respectively. - [Feature #11151] + true when the receiver is positive and negative respectively. [Feature #11151] * Proc @@ -152,11 +145,9 @@ with all sufficient information, see the ChangeLog file or Redmine * String - * String#+@ and String#-@ are added to get mutable/frozen strings. - [Feature #11782] + * String#+@ and String#-@ are added to get mutable/frozen strings. [Feature #11782] - * String.new now accepts new option parameter `encoding'. - [Feature #11785] + * String.new now accepts new option parameter `encoding'. [Feature #11785] * Struct * Struct#dig [Feature #11688] @@ -233,12 +224,10 @@ with all sufficient information, see the ChangeLog file or Redmine * OpenSSL * OpenSSL::SSL::SSLSocket#accept_nonblock and - OpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`. - [Feature #10532] + OpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`. [Feature #10532] * Pathname - * Pathname#descend and Pathname#ascend supported blockless form. - [Feature #11052] + * Pathname#descend and Pathname#ascend supported blockless form. [Feature #11052] * Socket * Socket#connect_nonblock, Socket#accept_nonblock, @@ -246,8 +235,7 @@ with all sufficient information, see the ChangeLog file or Redmine BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock, BasicSocket#sendmsg_nonblock all support `exception: false` to return :wait_readable or :wait_writable symbols instead of raising - IO::WaitReadable or IO::WaitWritable exceptions - [Feature #10532] [Feature #11229] + IO::WaitReadable or IO::WaitWritable exceptions [Feature #10532] [Feature #11229] * BasicSocket#recv and BasicSocket#recv_nonblock allow an output String buffer argument like IO#read and IO#read_nonblock to reduce GC overhead [Feature #11242] @@ -255,8 +243,7 @@ with all sufficient information, see the ChangeLog file or Redmine * StringIO * In read-only mode, StringIO#set_encoding no longer sets the encoding of its buffer string. Setting the encoding of the string directly - without StringIO#set_encoding may cause unpredictable behavior now. - [Bug #11827] + without StringIO#set_encoding may cause unpredictable behavior now. [Bug #11827] * timeout * Object#timeout is now warned as deprecated when called. @@ -297,8 +284,7 @@ with all sufficient information, see the ChangeLog file or Redmine * default value of Net::HTTP#open_timeout is now 60 (was nil). * Net::Telnet - * Net::Telnet is extracted to net-telnet gem. It's unmaintain code. - [Feature #11083] + * Net::Telnet is extracted to net-telnet gem. It's unmaintain code. [Feature #11083] * Psych * Updated to Psych 2.0.17 @@ -330,8 +316,7 @@ with all sufficient information, see the ChangeLog file or Redmine class is already defined but its superclass does not match the given superclass, as well as definitions in ruby level. -* rb_timespec_now() is added to fetch current datetime as struct timespec. - [Feature #11558] +* rb_timespec_now() is added to fetch current datetime as struct timespec. [Feature #11558] * rb_time_timespec_new() is added to create a time object with epoch, nanosecond, and UTC/localtime/time offset arguments. [Feature #11558] @@ -354,11 +339,9 @@ with all sufficient information, see the ChangeLog file or Redmine === Implementation improvements -* Optimize Proc#call to eliminate method frame construction. - [Feature #11569] +* Optimize Proc#call to eliminate method frame construction. [Feature #11569] -* Reconsidering method entry data structure. - [Bug #11278] +* Reconsidering method entry data structure. [Bug #11278] * Introducing new table data structure for ID keys tables used by method table and so on. New table structure is simple and fast @@ -367,13 +350,11 @@ with all sufficient information, see the ChangeLog file or Redmine * Machine code level tuning for object allocation and method calling code. r52099, r52254 -* RubyVM::InstructionSequence is extended for future improvement. - [Feature #11788] +* RubyVM::InstructionSequence is extended for future improvement. [Feature #11788] * Case dispatch is now optimized for all special constant literals including nil, true, and false. Previously, only literal strings, - symbols, integers and floats compiled to optimized case dispatch. - [Feature #11769] + symbols, integers and floats compiled to optimized case dispatch. [Feature #11769] * Instance variables on non-pure Ruby classes (T_DATA, T_FILE, etc..) is less expensive to store than before. [Feature #11170] @@ -382,8 +363,7 @@ with all sufficient information, see the ChangeLog file or Redmine constant-time. Previously, Struct elements beyond the first 10 elements used a linear scan. [Feature #10585] -* The Set class got several speed up. - [Misc #10754], [r52591] +* The Set class got several speed up. [Misc #10754], [r52591] * Socket and I/O-related improvements @@ -397,8 +377,8 @@ with all sufficient information, see the ChangeLog file or Redmine addition to reducing expensive exceptions. [Feature #11044] * (Linux-only) waiting on a single FD anywhere in the stdlib no longer - uses select(2), making it immune to slowdowns with high-numbered FDs. - [Feature #11081] [Feature #11377] + uses select(2), making it immune to slowdowns with high-numbered + FDs. [Feature #11081] [Feature #11377] * CGI.escapeHTML is optimized with C extension. https://github.com/ruby/ruby/pull/1164 diff --git a/doc/NEWS-2.4.0 b/doc/NEWS-2.4.0 index 28e855cde1..8a02f03809 100644 --- a/doc/NEWS-2.4.0 +++ b/doc/NEWS-2.4.0 @@ -14,16 +14,13 @@ with all sufficient information, see the ChangeLog file or Redmine === Language changes -* Multiple assignment in conditional expression is now allowed. - [Feature #10617] +* Multiple assignment in conditional expression is now allowed. [Feature #10617] * Refinements is enabled at method by Symbol#to_proc. [Feature #9451] -* Refinements is enabled with Kernel#send and BasicObject#__send__. - [Feature #11476] +* Refinements is enabled with Kernel#send and BasicObject#__send__. [Feature #11476] -* Rescue modifier now applicable to method arguments. - [Feature #12686] +* Rescue modifier now applicable to method arguments. [Feature #12686] * Toplevel return is now allowed. [Feature #4840] @@ -32,17 +29,21 @@ with all sufficient information, see the ChangeLog file or Redmine * Array * Array#concat [Feature #12333] + Now takes multiple arguments. * 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. * Array#pack [Feature #12754] + Now takes optional argument `buffer:' to reuse already allocated buffer. * Array#sum [Feature #12217] + This is different from Enumerable#sum in that Array#sum doesn't depend on the definition of each method. @@ -56,8 +57,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Enumerable - * Enumerable#chunk called without a block now return an Enumerator - [Feature #2172] + * Enumerable#chunk called without a block now return an Enumerator [Feature #2172] * Enumerable#sum [Feature #12217] * Enumerable#uniq [Feature #11090] @@ -95,6 +95,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Integer#round now takes an optional keyword argument, half option, and the default behavior is round-up now. [Bug #12548] [Bug #12958] + half option can be one of :even, :up, and :down. [Feature #12953] * IO @@ -104,8 +105,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Kernel - * Kernel#clone now takes an optional keyword argument, freeze flag. - [Feature #12300] + * Kernel#clone now takes an optional keyword argument, freeze flag. [Feature #12300] * MatchData @@ -138,6 +138,7 @@ with all sufficient information, see the ChangeLog file or Redmine for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences. * Regexp#match? [Feature #8110] + This returns bool and doesn't save backref. * Update to Onigmo 6.0.0. @@ -153,6 +154,7 @@ with all sufficient information, see the ChangeLog file or Redmine * String#casecmp? [Feature #12786] * String#concat, String#prepend [Feature #12333] + Now takes multiple arguments. * String#each_line, String#lines now takes an optional keyword argument, @@ -189,8 +191,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Thread - * Thread#report_on_exception and Thread.report_on_exception - [Feature #6647] + * Thread#report_on_exception and Thread.report_on_exception [Feature #6647] * TracePoint @@ -200,8 +201,7 @@ with all sufficient information, see the ChangeLog file or Redmine * New module named Warning is introduced. By default it has only one singleton method, named warn. This makes it possible for - 3rd-party libraries to control the way warnings are handled. - [Feature #12299] + 3rd-party libraries to control the way warnings are handled. [Feature #12299] === Stdlib updates (outstanding ones only) @@ -215,8 +215,7 @@ with all sufficient information, see the ChangeLog file or Redmine * IPAddr - * IPAddr#== and IPAddr#<=> no longer raise an exception if coercion fails. - [Bug #12799] + * IPAddr#== and IPAddr#<=> no longer raise an exception if coercion fails. [Bug #12799] * IRB @@ -256,8 +255,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Readline - * Readline.quoting_detection_proc and Readline.quoting_detection_proc= - [Feature #12659] + * Readline.quoting_detection_proc and Readline.quoting_detection_proc= [Feature #12659] * REXML @@ -267,8 +265,7 @@ with all sufficient information, see the ChangeLog file or Redmine * set - * New methods: Set#compare_by_identity and Set#compare_by_identity?. - [Feature #12210] + * New methods: Set#compare_by_identity and Set#compare_by_identity?. [Feature #12210] * WEBrick @@ -277,6 +274,7 @@ with all sufficient information, see the ChangeLog file or Redmine === Compatibility issues (excluding feature bug fixes) * Array#sum and Enumerable#sum are implemented. [Feature #12217] + Ruby itself has no compatibility problem because Ruby didn't have sum method for arrays before Ruby 2.4. However many third party gems, activesupport, facets, simple_stats, etc, @@ -286,6 +284,7 @@ with all sufficient information, see the ChangeLog file or Redmine be perfectly compatible with all of them. * Fixnum and Bignum are unified into Integer [Feature #12005] + Fixnum class and Bignum class is removed. Integer class is changed from abstract class to concrete class. For example, 0 is an instance of Integer: 0.class returns Integer. @@ -300,6 +299,7 @@ with all sufficient information, see the ChangeLog file or Redmine * String/Symbol#upcase/downcase/swapcase/capitalize(!) now work for all of Unicode, not only for ASCII. [Feature #10085] + No change is needed if the data is in ASCII anyway or if the limitation to ASCII was only tolerated while waiting for a more extensive implementation. A change (using the :ascii option) is needed in cases where Unicode data @@ -307,6 +307,7 @@ with all sufficient information, see the ChangeLog file or Redmine A good example of this are internationalized domain names. * TRUE / FALSE / NIL + These constants are now obsoleted. [Feature #12574] Use true / false / nil resp. instead. @@ -332,8 +333,7 @@ with all sufficient information, see the ChangeLog file or Redmine * Shellwords.shellwords (shellsplit) treats the backslash as escape character only when followed by one of the following characters: - $ ` " \ <newline> - [Bug #10055] + $ ` " \ <newline> [Bug #10055] * Time @@ -348,11 +348,13 @@ with all sufficient information, see the ChangeLog file or Redmine * Tk * Tk is removed from stdlib. [Feature #8539] + https://github.com/ruby/tk is the new upstream. * XMLRPC * XMLRPC is removed from stdlib, and bundled as gem. [Feature #12160][ruby-core:74239] + https://github.com/ruby/xmlrpc is the new upstream. * Zlib @@ -390,8 +392,8 @@ with all sufficient information, see the ChangeLog file or Redmine === Miscellaneous changes * ChangeLog is removed from the repository. + It is generated from commit messages in Subversion by `make dist`. Also note that now people should follow Git style commit message. - The template is written at - [Short (50 chars or less) summary of changes](https://git-scm.com/book/ch5-2.html). - [Feature #12283] + The template is written at {Short (50 chars or less) summary of + changes}[https://git-scm.com/book/ch5-2.html]. [Feature #12283] diff --git a/doc/NEWS-2.7.0 b/doc/NEWS-2.7.0 index 9dd34dc61b..85bd156795 100644 --- a/doc/NEWS-2.7.0 +++ b/doc/NEWS-2.7.0 @@ -238,8 +238,7 @@ sufficient information, see the ChangeLog file or Redmine as an endless range. * Access and setting of <code>$SAFE</code> will now always display a warning. - <code>$SAFE</code> will become a normal global variable in Ruby 3.0. - [Feature #16131] + <code>$SAFE</code> will become a normal global variable in Ruby 3.0. [Feature #16131] * <code>Object#{taint,untaint,trust,untrust}</code> and related functions in the C-API no longer have an effect (all objects are always considered untainted), and will now |