⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
ri
/
2.7.0
/
system
/
Edit File: page-NEWS-2_5_0.ri
U:RDoc::TopLevel[ i I"NEWS-2.5.0:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[%S:RDoc::Markup::Heading: leveli: textI"NEWS for Ruby 2.5.0;To:RDoc::Markup::BlankLine o: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. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>);T@ S; ; i;I"$Changes since the 2.4.0 release;T@ S; ; i;I"Language changes;T@ o:RDoc::Markup::List: @type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o; ;[I"=Top-level constant look-up is removed. [Feature #11547];T@ o;;0;[o; ;[I"Krescue/else/ensure are allowed inside do/end blocks. [Feature #12906];T@ o;;0;[o; ;[I"Grefinements take place in string interpolations. [Feature #13812];T@ S; ; i;I"1Core classes updates (outstanding ones only);T@ o;;;;[o;;0;[o; ;[I" Array;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"#Array#append [Feature #12746];To;;0;[o; ;[I"$Array#prepend [Feature #12746];T@ o;;0;[o; ;[I" Data;T@ o;;;;[o;;0;[o; ;[I"GIs deprecated. It was a base class for C extensions, and it's not ;TI"7necessary to expose in Ruby level. [Feature #3072];T@ o;;0;[o; ;[I"Exception;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"MException#full_message to retrieve a String expression of an exception, ;TI"Dformatted in the same way in which Ruby prints out an uncaught ;TI"0exception. [Feature #14141] [experimental];T@ o;;0;[o; ;[I"Dir;T@ o;;;;[o;;0;[o; ;[I"QDir.glob provides new optional keyword argument, +:base+ . [Feature #13056];To;;0;[o; ;[I"MDir.chdir (without block arg), Dir.open, Dir.new, Dir.mkdir, Dir.rmdir, ;TI"Dir.empty? releases GVL;T@ o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"#Dir.children [Feature #11302];To;;0;[o; ;[I"%Dir.each_child [Feature #11302];T@ o;;0;[o; ;[I"Enumerable;T@ o;;;;[o;;0;[o; ;[I"LEnumerable#any?, Enumerable#all?, Enumerable#none? and Enumerable#one? ;TI"0accept a pattern argument. [Feature #11286];T@ o;;0;[o; ;[I" File;T@ o;;;;[ o;;0;[o; ;[I"IFile.open accepts +:newline+ option to imply text mode. [Bug #13350];To;;0;[o; ;[I"7File#path raises an IOError for files opened with ;TI"6File::Constants::TMPFILE option. [Feature #13568];To;;0;[o; ;[I"KFile.stat, File.exist? and other <code>rb_stat()</code>-using methods ;TI"release GVL. [Bug #13941];To;;0;[o; ;[I"/File.rename releases GVL. [Feature #13951];To;;0;[o; ;[I"PFile::Stat#atime, File::Stat#mtime and File::Stat#ctime support fractional ;TI"@second timestamps on Windows 8 and later. [Feature #13726];To;;0;[o; ;[I"OFile::Stat#ino and File.identical? support ReFS 128bit ino on Windows 8.1 ;TI"!and later. [Feature #13731];To;;0;[o; ;[ I"OFile.readable?, File.readable_real?, File.writable?, File.writable_real?, ;TI"JFile.executable?, File.executable_real?, File.mkfifo, File.readlink, ;TI"HFile.truncate, File#truncate, File.chmod, File.lchmod, File.chown, ;TI"AFile.lchown, File.unlink, File.utime, File.lstat release GVL;T@ o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I"!File.lutime [Feature #4052];T@ o;;0;[o; ;[I" Hash;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"*Hash#transform_keys [Feature #13583];To;;0;[o; ;[I"+Hash#transform_keys! [Feature #13583];To;;0;[o; ;[I" Hash#slice [Feature #8499];T@ o;;0;[o; ;[I"IO;T@ o;;;;[o;;0;[o; ;[I"OIO.copy_stream tries copy offload with copy_file_range(2) [Feature #13867];T@ o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"IO#pread [Feature #4532];To;;0;[o; ;[I"IO#pwrite [Feature #4532];To;;0;[o; ;[I"9IO#write accepts multiple arguments [Feature #9323];T@ o;;0;[o; ;[I"IOError;T@ o;;;;[o;;0;[o; ;[I"AIO#close might raise an error with message "stream closed", ;TI"Mbut it is refined to "stream closed in another thread". The new message ;TI")is more clear for user. [Bug #13405];T@ o;;0;[o; ;[I"Integer;T@ o;;;;[o;;0;[o; ;[I"LInteger#round, Integer#floor, Integer#ceil and Integer#truncate always ;TI"$return an Integer. [Bug #13420];To;;0;[o; ;[I"AInteger#pow accepts modulo argument for calculating modular ;TI"7exponentiation. [Feature #12508] [Feature #11003];T@ o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"IInteger#allbits?, Integer#anybits?, Integer#nobits? [Feature #12753];To;;0;[o; ;[I"#Integer.sqrt [Feature #13219];T@ o;;0;[o; ;[I"Kernel;T@ o;;;;[o;;0;[o; ;[I"(Kernel#yield_self [Feature #6721];To;;0;[o; ;[I" Kernel#pp [Feature #14123];To;;0;[o; ;[I"2Kernel#warn(..., uplevel:n) [Feature #12882];T@ o;;0;[o; ;[I"Method;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"NMethod#=== that invokes Method#call, as same as Proc#=== [Feature #14142];T@ o;;0;[o; ;[I"Module;T@ o;;;;[o;;0;[o; ;[I"RModule#attr, Module#attr_accessor, Module#attr_reader and Module#attr_writer ;TI"$become public. [Feature #14132];To;;0;[o; ;[I"HModule#define_method, Module#alias_method, Module#undef_method and ;TI"9Module#remove_method become public. [Feature #14133];T@ o;;0;[o; ;[I"Numeric;T@ o;;;;[o;;0;[o; ;[I"ANumeric#step no longer hides errors from coerce method when ;TI"Ngiven a step value which cannot be compared with #> to 0. [Feature #7688];To;;0;[o; ;[I"JNumerical comparison operators (<,<=,>=,>) no longer hide exceptions ;TI"Nfrom #coerce method internally. Return nil in #coerce if the coercion is ;TI"!impossible. [Feature #7688];T@ o;;0;[o; ;[I"Process;T@ o;;;;[o;;0;[o; ;[I"TPrecision of Process.times is improved if getrusage(2) exists. [Feature #11952];T@ o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I";Process.last_status as an alias of $? [Feature #14043];T@ o;;0;[o; ;[I" Range;To;;;;[o;;0;[o; ;[I"JRange#initialize no longer hides exceptions when comparing begin and ;TI"Cend with #<=> and raise a "bad value for range" ArgumentError ;TI"Rbut instead lets the exception from the #<=> call go through. [Feature #7688];T@ o;;0;[o; ;[I"Regexp;T@ o;;;;[o;;0;[o; ;[I"EUpdate to Onigmo 6.1.3-669ac9997619954c298da971fcfacccf36909d05.;T@ o;;;;[o;;0;[o; ;[I"JSupport absence operator https://github.com/k-takata/Onigmo/issues/82;T@ o;;0;[o; ;[I"=Support new 5 emoji-related Unicode character properties;T@ o;;0;[o; ;[I" RubyVM::InstructionSequence;T@ o;;;;[o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I"+RubyVM::InstructionSequence#each_child;To;;0;[o; ;[I"-RubyVM::InstructionSequence#trace_points;T@ o;;0;[o; ;[I"String;T@ o;;;;[ o;;0;[o; ;[I"K<code>String#-@</code> deduplicates unfrozen strings. Already-frozen ;TI"Bstrings remain unchanged for compatibility. [Feature #13077];To;;0;[o; ;[I"Z<code>-"literal"</code> (<code>String#-@</code>) optimized to return the same object ;TI"J(same as <code>"literal".freeze</code> in Ruby 2.1+) [Feature #13295];To;;0;[o; ;[I"LString#casecmp and String#casecmp? return nil for non-string arguments ;TI"1instead of raising a TypeError. [Bug #13312];To;;0;[o; ;[I"9String#start_with? accepts a regexp [Feature #13712];T@ o;;0;[o; ;[I"New methods:;T@ o;;;;[ o;;0;[o; ;[I"AString#delete_prefix, String#delete_prefix! [Feature #12694];To;;0;[o; ;[I"AString#delete_suffix, String#delete_suffix! [Feature #13665];To;;0;[o; ;[I"BString#each_grapheme_cluster and String#grapheme_clusters to ;TI"1enumerate grapheme clusters [Feature #13780];To;;0;[o; ;[I"EString#undump to unescape String#dump'ed string [Feature #12275];T@ o;;0;[o; ;[I"Struct;T@ o;;;;[o;;0;[o; ;[I"HStruct.new takes `keyword_init: true` option to initialize members ;TI"-with keyword arguments. [Feature #11925];T@ o;;0;[o; ;[I"PRegexp/String: Update Unicode version from 9.0.0 to 10.0.0 [Feature #13685];T@ o;;0;[o; ;[I"Thread;T@ o;;;;[o;;0;[o; ;[I"BDescription set by Thread#name= is now visible on Windows 10.;T@ o;;0;[o; ;[I"New method:;To;;;;[o;;0;[o; ;[I"#Thread#fetch [Feature #13009];T@ o;;0;[o; ;[I"<The default of Thread.report_on_exception is now true, ;TI"Rshowing unhandled exceptions terminating threads on $stderr. [Feature #14143];T@ o;;0;[o; ;[I" Time;T@ o;;;;[o;;0;[o; ;[I"]Time.at receives 3rd argument which specifies the unit of 2nd argument. [Feature #13919];T@ o;;0;[o; ;[I" KeyError;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"'KeyError#receiver [Feature #12063];To;;0;[o; ;[I"'KeyError#key [Feature #12063];T@ o;;0;[o; ;[I"FrozenError;T@ o;;;;[o;;0;[o; ;[I"*New exception class. [Feature #13224];T@ S; ; i;I"+Stdlib updates (outstanding ones only);T@ o;;;;[o;;0;[o; ;[I"BigDecimal;T@ o;;;;[ o;;0;[o; ;[I"Update to BigDecimal 1.3.4;T@ o;;0;[o; ;[I"&The following features are added:;T@ o;;;;[o;;0;[o; ;[I"BigDecimal::VERSION;T@ o;;0;[o; ;[I"2The following features have been deprecated, ;TI"8and are planned to be removed in the version 1.4.0:;T@ o;;;;[o;;0;[o; ;[I"BigDecimal.new;T@ o;;0;[o; ;[I"BigDecimal.ver;T@ o;;0;[o; ;[I"?BigDecimal#clone and #dup now do not make a new instance, ;TI"%but returns the receiver itself.;T@ o;;0;[o; ;[I" Coverage;T@ o;;;;[o;;0;["o; ;[I"OSupport branch coverage and method coverage measurement. [Feature #13901] ;TI"KBranch coverage tells you which branches are executed, and which not. ;TI"IMethod coverage tells you which methods are invoked, and which not. ;TI"PBy running a test suite with this new feature, you can know which branches ;TI"Oand methods are executed by a test, and evaluate total coverage of a test ;TI"suite more strictly.;T@ o; ;[I"KYou can specify the measuring target by an option to `Coverage.start`:;T@ o:RDoc::Markup::Verbatim;[I"@Coverage.start(lines: true, branches: true, methods: true) ;T:@format0o; ;[I"LAfter some Ruby files are loaded, you can use `Coverage.result` to get ;TI"the coverage result:;T@ o;;[I"Coverage.result ;TI" #=> { "/path/to/file.rb"=> ;TI",# { :lines => [1, 2, 0, nil, ...], ;TI"# :branches => ;TI")# { [:if, 0, 2, 1, 6, 4] => ;TI"2# { [:then, 1, 3, 2, 3, 8] => 0, ;TI"1# [:else, 2, 5, 2, 5, 8] => 2 ;TI"# } ;TI"# }, ;TI"# :methods => { ;TI"0# [Object, :foo, 1, 0, 7, 3] => 2 ;TI"# } ;TI" # } ;TI"# } ;T;0o; ;[I"OThe result type of line coverage is not changed; it is just an array that ;TI"Jcontains numbers, which means the count that each line was executed, ;TI":or `nil`s, which means that the line is not relevant.;T@ o; ;[I"+The result type of branch coverage is:;T@ o;;[I"7{ (jump base) => { (jump target) => (counter) } } ;T;0o; ;[I"0where jump base and targets have the format;T@ o;;[I"K[type, unique-id, start lineno, start column, end lineno, end column] ;T;0o; ;[I"RFor example, `[:if, 0, 2, 1, 6, 4]` reads an `if` statement that ranges from ;TI"Rline 2 and column 1, to line 6 and column 4. `[:then, 1, 3, 2, 3, 8]` reads ;TI"Sa `then` clause that ranges from line 3 and column 2, to line 3 and column 8. ;TI"ONote that lineno starts from 1, and that columnno starts from 0. So, the ;TI"Rabove example shows a branch from the `if` to the `then` was never executed, ;TI"Aand a branch from the `if` to the `else` was executed twice.;T@ o; ;[I"+The result type of method coverage is:;T@ o;;[I"#{ (method key) => (counter) } ;T;0o; ;[I"$where method key has the format;T@ o;;[I"N[class, method-name, start lineno, start column, end lineno, end column] ;T;0o; ;[I"SFor example, `[Object, :foo, 1, 0, 7, 3]` reads `Object#foo` that ranges from ;TI"Pline 1 and column 0, to line 7 and column 3. The above example shows this ;TI"$`Object#foo` was invoked twice.;T@ o; ;[I"UNote: To keep compatibility, passing no option to `Coverage.start` will measure ;TI"Jonly line coverage, and `Coverage.result` will return the old format:;T@ o;;[I"Coverage.result ;TI"6#=> { "/path/to/file.rb"=> [1, 2, 0, nil, ...] } ;T;0o;;0;[o; ;[I"DRb;T@ o;;;;[o;;0;[o; ;[I"GACL::ACLEntry.new no longer suppresses IPAddr::InvalidPrefixError.;T@ o;;0;[o; ;[I"ERB;T@ o;;;;[o;;0;[o; ;[I"OAdd ERB#result_with_hash to render a template with local variables passed ;TI"(with a Hash object. [Feature #8631];T@ o;;0;[o; ;[I"ODefault template file encoding is changed from ASCII-8BIT to UTF-8 in erb ;TI"command. [Bug #14095];T@ o;;0;[o; ;[I"SCarriage returns are changed to be trimmed properly if trim_mode is specified ;TI"Wand used. Duplicated newlines will be removed on Windows. [Bug #5339] [Bug #11464];T@ o;;0;[o; ;[I"IPAddr;T@ o;;;;[o;;0;[o; ;[I"@IPAddr no longer accepts invalid address mask. [Bug #13399];To;;0;[o; ;[I"XIPAddr#ipv4_compat and IPAddr#ipv4_compat? are marked for deprecation. [Bug #13769];T@ o;;0;[o; ;[I"New methods:;T@ o;;;;[ o;;0;[o; ;[I"IPAddr#prefix;To;;0;[o; ;[I"IPAddr#loopback?;To;;0;[o; ;[I"%IPAddr#private? [Feature #11666];To;;0;[o; ;[I"(IPAddr#link_local? [Feature #10912];T@ o;;0;[o; ;[I"IRB;T@ o;;;;[o;;0;[o; ;[I"VPrint backtrace and error message in reverse order [Feature #8661] [experimental];To;;0;[o; ;[I"R`binding.irb` automatically requires irb and runs [Bug #13099] [experimental];To;;0;[o; ;[I"a`binding.irb` on its start shows source around the line where it was called [Feature #14124];T@ o;;0;[o; ;[I"Matrix;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"7Matrix.combine and Matrix#combine [Feature #10903];To;;0;[o; ;[I"9Matrix#hadamard_product and Matrix#entrywise_product;T@ o;;0;[o; ;[I"Net::HTTP;T@ o;;;;[ o;;0;[o; ;[I"?Net::HTTP.new supports no_proxy parameter [Feature #11195];To;;0;[o; ;[I"DNet::HTTP#min_version and Net::HTTP#max_version [Feature #9450];To;;0;[o; ;[I"!Add more HTTP status classes;To;;0;[o; ;[I"RNet::HTTP::STATUS_CODES is added as HTTP Status Code Repository [Misc #12935];To;;0;[o; ;[I"RNet::HTTP#proxy_user and Net::HTTP#proxy_pass reflect http_proxy environment ;TI"Rvariable if the system's environment variable is multiuser safe. [Bug #12921];T@ o;;0;[o; ;[I" open-uri;To;;;;[o;;0;[o; ;[I"DURI.open method defined as an alias to open-uri's Kernel.open. ;TI"9open-uri's Kernel.open will be deprecated in future.;T@ o;;0;[o; ;[I"OpenSSL;T@ o;;;;[o;;0;[o; ;[I"HUpdated Ruby/OpenSSL from version 2.0 to 2.1. Changes are noted in ;TI"7"Version 2.1.0" section in ext/openssl/History.md.;T@ o;;0;[o; ;[I" Pathname;T@ o;;;;[o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I""Pathname#glob [Feature #7360];T@ o;;0;[o; ;[I" Psych;T@ o;;;;[o;;0;[o; ;[I"Update to Psych 3.0.2.;T@ o;;;;[o;;0;[o; ;[I"3Convert fallback option to a keyword argument ;TI"+https://github.com/ruby/psych/pull/342;To;;0;[o; ;[I"PAdd :symbolize_names option to Psych.load, Psych.safe_load like JSON.parse ;TI"Shttps://github.com/ruby/psych/pull/333, https://github.com/ruby/psych/pull/337;To;;0;[o; ;[I"'Add Psych::Handler#event_location ;TI"+https://github.com/ruby/psych/pull/326;To;;0;[o; ;[I"'Make frozen string literal = true ;TI"+https://github.com/ruby/psych/pull/320;To;;0;[o; ;[I"8Preserve time zone offset when deserializing times ;TI"+https://github.com/ruby/psych/pull/316;To;;0;[o; ;[I"3Remove deprecated method aliases for syck gem ;TI"+https://github.com/ruby/psych/pull/312;T@ o;;0;[o; ;[I" RbConfig;T@ o;;;;[o;;0;[o; ;[I"ARbConfig::LIMITS is added to provide the limits of C types. ;TI"6This is available when rbconfig/sizeof is loaded.;T@ o;;0;[o; ;[I"Ripper;T@ o;;;;[o;;0;[o; ;[I"1Ripper::EXPR_BEG and so on for Ripper#state.;T@ o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I"@Ripper#state to tell the state of scanner. [Feature #13686];T@ o;;0;[o; ;[I" RDoc;T@ o;;;;[o;;0;[o; ;[I"Update to RDoc 6.0.1.;T@ o;;;;[ o;;0;[o; ;[I")Replace IRB based lexer with Ripper.;To;;;;[o;;0;[o; ;[I"*https://github.com/ruby/rdoc/pull/512;To;;0;[o; ;[I":This much improves the speed of generating documents.;To;;0;[o; ;[I"=It also facilitates supporting new syntax in the future.;To;;0;[o; ;[I"?Support many new syntaxes of Ruby from the past few years.;To;;0;[o; ;[I"(Use "frozen_string_literal: true". ;TI"YPerformance survey: https://gist.github.com/aycabta/abdfaa75ea8a6877eeb734e942e73800;To;;0;[o; ;[I"Support did_you_mean.;T@ o;;0;[o; ;[I" Rubygems;T@ o;;;;[o;;0;[o; ;[I"Update to Rubygems 2.7.3.;To;;;;[o;;0;[o; ;[I"<http://blog.rubygems.org/2017/11/28/2.7.3-released.html;To;;0;[o; ;[I"<http://blog.rubygems.org/2017/11/08/2.7.2-released.html;To;;0;[o; ;[I"<http://blog.rubygems.org/2017/11/03/2.7.1-released.html;To;;0;[o; ;[I"<http://blog.rubygems.org/2017/11/01/2.7.0-released.html;To;;0;[o; ;[I"=http://blog.rubygems.org/2017/10/09/2.6.14-released.html;To;;0;[o; ;[I"=http://blog.rubygems.org/2017/08/27/2.6.13-released.html;T@ o;;0;[o; ;[I"SecureRandom;T@ o;;;;[o;;0;[o; ;[I"New method:;T@ o;;;;[o;;0;[o; ;[I"SecureRandom.alphanumeric;T@ o;;0;[o; ;[I"Set;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"3Set#to_s as alias to #inspect [Feature #13676];To;;0;[o; ;[I"3Set#=== as alias to #include? [Feature #13801];To;;0;[o; ;[I"Set#reset [Feature #6589];T@ o;;0;[o; ;[I" StringIO;T@ o;;;;[o;;0;[o; ;[I".StringIO#write accepts multiple arguments;T@ o;;0;[o; ;[I"StringScanner;T@ o;;;;[o;;0;[o; ;[I"New methods:;T@ o;;;;[o;;0;[o; ;[I"XStringScanner#size, StringScanner#captures, StringScanner#values_at [Feature #836];T@ o;;0;[o; ;[I"URI;T@ o;;;;[o;;0;[o; ;[I"cRelative path operations no longer collapse consecutive slashes to a single slash. [Bug #8352];T@ o;;0;[o; ;[I"WEBrick;T@ o;;;;[ o;;0;[o; ;[I">Add Server Name Indication (SNI) support [Feature #13729];To;;0;[o; ;[I":support Proc objects as body responses [Feature #855];To;;0;[o; ;[I"+released as a RubyGem [Feature #13173];To;;0;[o; ;[I"=avoid unintended behavior from Kernel#open [Misc #14216];T@ o;;0;[o; ;[I" Zlib;T@ o;;;;[o;;0;[o; ;[I"6Zlib::GzipWriter#write accepts multiple arguments;T@ S; ; i;I"7Compatibility issues (excluding feature bug fixes);T@ o;;;;[ o;;0;[o; ;[I"Socket;T@ o;;;;[o;;0;[o; ;[I"ABasicSocket#read_nonblock and BasicSocket#write_nonblock no ;TI"Dlonger set the O_NONBLOCK file description flag as side effect ;TI"%(on Linux only) [Feature #13362];T@ o;;0;[o; ;[I"Random;T@ o;;;;[o;;0;[o; ;[I"BRandom.raw_seed renamed to become Random.urandom. It is now ;TI";applicable to non-seeding purposes due to [Bug #9569].;T@ o;;0;[o; ;[I"Socket;T@ o;;;;[o;;0;[o; ;[I"2Socket::Ifaddr#vhid is added [Feature #13803];T@ o;;0;[o; ;[I"FConditionVariable, Queue and SizedQueue reimplemented for speed. ;TI"5They no longer subclass Struct. [Feature #13552];T@ S; ; i;I">Stdlib compatibility issues (excluding feature bug fixes);T@ o;;;;[ o;;0;[o; ;[I"Gemification;T@ o;;;;[o;;0;[o; ;[I":Promote following standard libraries to default gems.;To;;;;[o;;0;[o; ;[I" cmath;To;;0;[o; ;[I"csv;To;;0;[o; ;[I" date;To;;0;[o; ;[I"dbm;To;;0;[o; ;[I"etc;To;;0;[o; ;[I" fcntl;To;;0;[o; ;[I"fiddle;To;;0;[o; ;[I"fileutils;To;;0;[o; ;[I" gdbm;To;;0;[o; ;[I"ipaddr;To;;0;[o; ;[I" scanf;To;;0;[o; ;[I" sdbm;To;;0;[o; ;[I" stringio;To;;0;[o; ;[I"strscan;To;;0;[o; ;[I"webrick;To;;0;[o; ;[I" zlib;T@ o;;0;[o; ;[I"Logger;T@ o;;;;[o;;0;[o; ;[I"@Logger.new("| command") had been working to open a command ;TI"Cunintentionally. It was prohibited, and now Logger#initialize ;TI"Ttreats a String argument only as a filename, as its specification. [Bug #14212];T@ o;;0;[o; ;[I"Net::HTTP;T@ o;;;;[o;;0;[o; ;[I"HNet::HTTP#start now passes :ENV to p_addr by default. [Bug #13351] ;TI"(To avoid this, pass nil explicitly.;T@ o;;0;[o; ;[I" mathn.rb;T@ o;;;;[o;;0;[o; ;[I"*Removed from stdlib. [Feature #10169];T@ o;;0;[o; ;[I" Rubygems;T@ o;;;;[o;;0;[o; ;[I"IRemoved "ubygems.rb" file from stdlib. It's needless since Ruby 1.9.;T@ S; ; i;I"Supported platform changes;T@ o;;;;[o;;0;[o; ;[I""Drop support of NaCl platform;T@ o;;;;[o;;0;[o; ;[I"Fhttps://bugs.chromium.org/p/chromium/issues/detail?id=239656#c160;T@ S; ; i;I" Implementation improvements;T@ o;;;;[o;;0;[o; ;[I"J(This might not be a "user visible feature change" but) Hash class's ;TI"5hash function is now SipHash13. [Feature #13017];T@ o;;0;[o; ;[I"KSecureRandom now prefers OS-provided sources than OpenSSL. [Bug #9569];T@ o;;0;[o; ;[I">Mutex rewritten to be smaller and faster [Feature #13517];T@ o;;0;[o; ;[I"HPerformance of block passing using block parameters is improved by ;TI"*lazy Proc allocation [Feature #14045];T@ o;;0;[o; ;[I"KDynamic instrumentation for TracePoint hooks instead of using "trace" ;TI"3instruction to avoid overhead [Feature #14104];T@ o;;0;[o; ;[I"EERB now generates code from a template twice as fast as Ruby 2.4;T@ S; ; i;I"Miscellaneous changes;T@ o;;;;[o;;0;[o; ;[I"PPrint backtrace and error message in reverse order if $stderr is unchanged ;TI".and a tty. [Feature #8661] [experimental];T@ o;;0;[o; ;[I"OPrint error message in bold/underlined text if $stderr is unchanged and a ;TI")tty. [Feature #14140] [experimental];T@ o;;0;[o; ;[ I"Econfigure option --with-ext now mandates its arguments. So for ;TI"Cinstance if you run ./configure --with-ext=openssl,+ then the ;TI"Gopenssl library is guaranteed compiled, otherwise the build fails ;TI"abnormally.;T@ o; ;[I"ENote however to always add the ",+" at the end of the argument. ;TI"?Otherwise nothing but openssl are built. [Feature #13302];T: @file@:0@omit_headings_from_table_of_contents_below0
Simpan