ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::TopLevel[ iI"NEWS/NEWS-2.3.0:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document: @parts[(S:RDoc::Markup::Heading: leveli: textI"NEWS for Ruby 2.3.0;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThis document is a list of user visible feature changes made between ;TI"#releases except for bug fixes.;T@ o; ;[ I"DNote that each entry is kept so brief that no reason behind or ;TI"Ireference information is supplied with. For a full list of changes ;TI"Hwith all sufficient information, see the ChangeLog file or Redmine ;TI"M(e.g. https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER);T@ S; ; i; I"$Changes since the 2.2.0 release;T@ S; ; i; I"Language changes;T@ o:RDoc::Markup::List: @type: BULLET: @items[ o:RDoc::Markup::ListItem: @label0;[o; ;[I""frozen-string-literal pragma:;T@ o;;;;[o;;0;[o; ;[I"Znew pragma, frozen-string-literal has been experimentally introduced. [Feature #8976];To;;0;[o; ;[I"Ibesides, --enable/--disable=frozen-string-literal options also have ;TI"%been introduced. [Feature #8976];To;;0;[o; ;[I"Jcommand line options --debug or --debug=frozen-string-literal enable ;TI"Kadditional debugging mode which shows created location with at frozen ;TI"2object error (RuntimeError). [Feature #11725];T@ o;;0;[o; ;[I"safe navigation operator:;T@ o;;;;[o;;0;[ o; ;[I"Enew method call syntax, `object&.foo', method #foo is called on ;TI"0`object' if it is not nil. [Feature #11537];T@ o; ;[I"9This is similar to `try!' in Active Support, except:;To;;;;[o;;0;[o; ;[I"*method name is syntactically required;To:RDoc::Markup::Verbatim;[I"obj.try! {} # valid ;TI" obj&. {} # syntax error ;T: @format0o;;0;[o; ;[I"4arguments are evaluated only if a call is made:;To;;[I"8obj.try!(:foo, bar()) # bar() is always evaluated ;TI"?obj&.foo(bar()) # bar() is conditionally evaluated ;T;0o;;0;[o; ;[I""attribute assignment is valid;To;;[I"obj&.attr += 1 ;T;0o;;0;[o; ;[I"the did_you_mean gem:;T@ o;;;;[o;;0;[o; ;[I"MWhen a NameError or NoMethodError occurs because of a typo in the name, ;TI"Lthe did_you_mean gem automatically suggests other names similar to the ;TI"method name.;T@ o;;[I""Yuki".starts_with?("Y") ;TI"K# => NoMethodError: undefined method `starts_with?' for "Yuki":String ;TI"%# Did you mean? start_with? ;T;0o;;0;[o; ;[I"indented here document:;T@ o;;;;[o;;0;[o; ;[I":new string literal, here document starts with `<<~`. ;TI"Erefer doc/syntax/literals.rdoc for more details. [Feature #9098];T@ S; ; i; I"1Core classes updates (outstanding ones only);T@ o;;;;[o;;0;[o; ;[I" ARGF;T@ o;;;;[o;;0;[o; ;[I"[ARGF.read_nonblock supports `exception: false' like IO#read_nonblock. [Feature #11358];T@ o;;0;[o; ;[I" Array;T@ o;;;;[o;;0;[o; ;[I")Array#bsearch_index [Feature #10730];To;;0;[o; ;[I"Array#dig [Feature #11643];T@ o;;0;[o; ;[I"Comparable;T@ o;;;;[o;;0;[o; ;[I"?Comparable#== no longer rescues exceptions [Feature #7688];T@ o;;0;[o; ;[I" Encoding;T@ o;;;;[o;;0;[o; ;[I"5new Encoding::IBM037 (alias ebcdic-cp-us; dummy);T@ o;;0;[o; ;[I"Enumerable;T@ o;;;;[o;;0;[o; ;[I"WEnumerable#grep_v is added as inverse version of Enumerable#grep. [Feature #11049];To;;0;[o; ;[I",Enumerable#chunk_while [Feature #10769];T@ o;;0;[o; ;[I"Enumerator::Lazy;T@ o;;;;[o;;0;[o; ;[I"-Enumerator::Lazy#grep_v [Feature #11773];T@ o;;0;[o; ;[I" File;T@ o;;;;[o;;0;[o; ;[I"!File.mkfifo [Feature #11536];To;;0;[o; ;[I"1Add File::TMPFILE corresponding to O_TMPFILE;T@ o;;0;[o; ;[I" Hash;T@ o;;;;[ o;;0;[o; ;[I"'Hash#fetch_values [Feature #10017];To;;0;[o; ;[I"Hash#dig [Feature #11643];To;;0;[o; ;[I"6Hash#<=, Hash#<, Hash#>=, Hash#> [Feature #10984];To;;0;[o; ;[I""Hash#to_proc [Feature #11653];T@ o;;0;[o; ;[I"IO;T@ o;;;;[o;;0;[o; ;[I"4new mode flag File::SHARE_DELETE is available. ;TI"Nthis flag means to permit deleting opened file on Windows, but currently ;TI"?this affect only files opened as binary. [Feature #11218];T@ o;;0;[o; ;[I",new option parameter `flags' is added. ;TI"athis parameter is bitwise-ORed to oflags generated by normal mode argument. [Feature #11253];T@ o;;0;[o; ;[I"DIO#advise no longer raises Errno::ENOSYS in cases where it was ;TI"Kdetected at build time but not available at runtime. [Feature #11806];T@ o;;0;[o; ;[I" Kernel;T@ o;;;;[o;;0;[o; ;[I"EKernel#loop, when stopped by a StopIteration exception, returns ;TI"Fwhat the enumerator has returned instead of nil. [Feature #11498];T@ o;;0;[o; ;[I" Module;To;;;;[o;;0;[o; ;[I"/Module#deprecate_constant [Feature #11398];T@ o;;0;[o; ;[I"NameError;To;;;;[o;;0;[o; ;[I"NNameError#receiver is added to take the receiver object. [Feature #10881];T@ o;;0;[o; ;[I" Numeric;T@ o;;;;[o;;0;[o; ;[I"ENumeric#positive? and Numeric#negative? are added, which return ;TI"Strue when the receiver is positive and negative respectively. [Feature #11151];T@ o;;0;[o; ;[I" Proc;T@ o;;;;[o;;0;[o; ;[I";Proc#call (and also #[], #===, #yield) are optimized. ;TI"EBacktrace doesn't show each method (show block lines directly). ;TI":TracePoint also ignores these calls. [Feature #11569];T@ o;;0;[o; ;[I"Queue (Thread::Queue);T@ o;;;;[o;;0;[o; ;[I"CQueue#close is added to notice a termination. [Feature #10600];T@ o;;0;[o; ;[I"?Regexp/String: Updated Unicode version from 7.0.0 to 8.0.0;T@ o;;0;[o; ;[I" RubyVM::InstructionSequence;To;;;;[o;;0;[o; ;[ I"Cadd the following methods as a primitive tool of iseq loader. ;TI"*See sample/iseq_loader.rb for usage. ;TI"DNote that loader does not have verifier so it is easy to cause ;TI">critical problem by loading modified/broken binary data. ;TI"BSee [Feature #11788] for more details. (experimental feature);To;;;;[o;;0;[o; ;[I"require method body, Proc, Method, or a block, and raise ;TI"?ArgumentError if no block is given directly. [Bug #11283];T@ o;;0;[o; ;[I"pack/unpack (Array/String);To;;;;[o;;0;[o; ;[I"Ij and J directives for pointer width integer type. [Feature #11215];T@ S; ; i; I"+Stdlib updates (outstanding ones only);T@ o;;;;[o;;0;[o; ;[I" Logger;T@ o;;;;[o;;0;[o; ;[I"PLogger#level= now supports symbol and string levels such as :debug, :info, ;TI">:warn, :error, :fatal (case insensitive) [Feature #11695];To;;0;[o; ;[I"DLogger#reopen is added to reopen a log device. [Feature #11696];T@ o;;0;[o; ;[I" io/wait;To;;;;[o;;0;[o; ;[I"DIO#wait_readable no longer checks FIONREAD, it may be used for ;TI".non-bytestream IO such as listen sockets.;T@ o;;0;[o; ;[I" Net::FTP;To;;;;[o;;0;[o; ;[I"Net::FTP#mlst is added.;To;;0;[o; ;[I"Net::FTP#mlsd is added.;T@ o;;0;[o; ;[I"nkf;To;;;;[o;;0;[o; ;[I"Merge nkf 2.1.4.;T@ o;;0;[o; ;[I"ObjectSpace (objspace);To;;;;[ o;;0;[o; ;[I"(ObjectSpace.count_symbols is added.;To;;0;[o; ;[I".ObjectSpace.count_imemo_objects is added.;To;;0;[o; ;[I",ObjectSpace.internal_class_of is added.;To;;0;[o; ;[I",ObjectSpace.internal_super_of is added.;T@ o;;0;[o; ;[I" OpenSSL;To;;;;[o;;0;[o; ;[I"1OpenSSL::SSL::SSLSocket#accept_nonblock and ;TI"[OpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`. [Feature #10532];T@ o;;0;[o; ;[I" Pathname;To;;;;[o;;0;[o; ;[I"TPathname#descend and Pathname#ascend supported blockless form. [Feature #11052];T@ o;;0;[o; ;[I" Socket;To;;;;[o;;0;[o; ;[ I"6Socket#connect_nonblock, Socket#accept_nonblock, ;TI"BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock, ;TI"KBasicSocket#sendmsg_nonblock all support `exception: false` to return ;TI"A:wait_readable or :wait_writable symbols instead of raising ;TI"VIO::WaitReadable or IO::WaitWritable exceptions [Feature #10532] [Feature #11229];To;;0;[o; ;[I"DBasicSocket#recv and BasicSocket#recv_nonblock allow an output ;TI"HString buffer argument like IO#read and IO#read_nonblock to reduce ;TI"!GC overhead [Feature #11242];T@ o;;0;[o; ;[I" StringIO;To;;;;[o;;0;[o; ;[I"JIn read-only mode, StringIO#set_encoding no longer sets the encoding ;TI"Hof its buffer string. Setting the encoding of the string directly ;TI"Uwithout StringIO#set_encoding may cause unpredictable behavior now. [Bug #11827];T@ o;;0;[o; ;[I" timeout;To;;;;[o;;0;[o; ;[I"Stdlib compatibility issues (excluding feature bug fixes);T@ o;;;;[o;;0;[o; ;[I"ext/coverage/coverage.c;To;;;;[o;;0;[o; ;[I"OCoverage.peek_result: new method to allow coverage to be captured without ;TI"2stopping the coverage tool. [Feature #10816];T@ o;;0;[o; ;[I" Fiddle;To;;;;[o;;0;[o; ;[I">Fiddle::Function#call releases the GVL. [Feature #11607];T@ o;;0;[o; ;[I"io-console;To;;;;[o;;0;[o; ;[I"HUpdate to io-console 0.4.5, and change the license to BSD 2-clause ;TI""Simplified" License.;T@ o;;0;[o; ;[I"lib/base64.rb;To;;;;[o;;0;[o; ;[I"CBase64.urlsafe_encode64: added a "padding" option to suppress ;TI"3the padding character ("="). [Feature #10740];To;;0;[o; ;[I"GBase64.urlsafe_decode64: now it accepts not only correctly-padded ;TI"5input but also unpadded input. [Feature #10740];T@ o;;0;[o; ;[I"lib/drb/drb.rb;To;;;;[o;;0;[o; ;[I"Cremoved unused argument. https://github.com/ruby/ruby/pull/515;T@ o;;0;[o; ;[I"lib/matrix.rb;To;;;;[o;;0;[o; ;[I"