曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.かつては雑草やヨモギと共に雨や露を分かち合っていたが、今では松やヒノキと共に霜や雪に耐えている。曾与蒿藜同雨露,Once sharing rain and dew with weeds and wormwood, now enduring frost and snow with pines and cypresses.终随松柏到冰霜.曾与蒿藜同雨露한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.,终随松柏到冰霜.譖セ荳手珍阯懷酔髮ィ髴イ�檎サ磯囂譚セ譟丞芦蜀ー髴�曾与蒿藜同雨露,鏇句笌钂胯棞鍚岄洦闇诧紝缁堥殢鏉炬煆鍒板啺闇�终随松柏到冰霜.曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.曾与蒿藜同雨露,终随松柏到冰霜.
U:RDoc::TopLevel[ i I"NEWS-2.1.0:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[$S:RDoc::Markup::Heading:
leveli: textI"NEWS for Ruby 2.1.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"=with all sufficient information, see the ChangeLog file.;T@
S; ;
i;I"$Changes since the 2.0.0 release;T@
S; ;
i;I"Language changes;T@
o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"HNow the default values of keyword arguments can be omitted. Those ;TI"J"required keyword arguments" need giving explicitly at the call time.;T@
o;;0;[o;
;[I"GAdded suffixes for integer and float literals: 'r', 'i', and 'ri'.;To;;;;[o;;0;[o;
;[I"N"42r" and "3.14r" are evaluated as Rational(42, 1) and 3.14.rationalize, ;TI"Nrespectively. But exponential form with 'r' suffix like "6.022e+23r" is ;TI"+not accepted because it is misleading.;To;;0;[o;
;[I"M"42i" and "3.14i" are evaluated as Complex(0, 42) and Complex(0, 3.14), ;TI"respectively.;To;;0;[o;
;[I"Q"42ri" and "3.14ri" are evaluated as Complex(0, 42r) and Complex(0, 3.14r), ;TI"respectively.;T@
o;;0;[o;
;[I"@def-expr now returns the symbol of its name instead of nil.;T@
S; ;
i;I"1Core classes updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"
Array;To;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"AArray#to_h converts an array of key-value pairs into a Hash.;T@
o;;0;[o;
;[I"Binding;To;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"'Binding#local_variable_get(symbol);To;;0;[o;
;[I",Binding#local_variable_set(symbol, obj);To;;0;[o;
;[I",Binding#local_variable_defined?(symbol);T@
o;;0;[o;
;[I"Enumerable;To;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"DEnumerable#to_h converts a list of key-value pairs into a Hash.;T@
o;;0;[o;
;[I"Exception;To;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"KException#cause provides the previous exception which has been caught ;TI"(at where raising the new exception.;T@
o;;0;[o;
;[I"GC;To;;;;[o;;0;[o;
;[I"improvements:;To;;;;[o;;0;[o;
;[I"1introduced the generational GC a.k.a RGenGC.;To;;0;[o;
;[I"!added environment variables:;To;;;;[o;;0;[o;
;[I"RUBY_GC_HEAP_INIT_SLOTS;To;;0;[o;
;[I"RUBY_GC_HEAP_FREE_SLOTS;To;;0;[o;
;[I"RUBY_GC_HEAP_GROWTH_FACTOR;To;;0;[o;
;[I""RUBY_GC_HEAP_GROWTH_MAX_SLOTS;To;;0;[o;
;[I"RUBY_GC_MALLOC_LIMIT_MAX;To;;0;[o;
;[I"'RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR;To;;0;[o;
;[I"RUBY_GC_OLDMALLOC_LIMIT;To;;0;[o;
;[I" RUBY_GC_OLDMALLOC_LIMIT_MAX;To;;0;[o;
;[I"*RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR;To;;0;[o;
;[I"%obsoleted environment variables:;To;;;;[o;;0;[o;
;[I"8RUBY_FREE_MIN (Use RUBY_GC_HEAP_FREE_SLOTS instead);To;;0;[o;
;[I">RUBY_HEAP_MIN_SLOTS (Use RUBY_GC_HEAP_INIT_SLOTS instead);T@
o;;0;[o;
;[I"Integer;To;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"Fixnum#bit_length;To;;0;[o;
;[I"Bignum#bit_length;To;;0;[o;
;[I"#Bignum performance improvement;To;;;;[o;;0;[o;
;[I"Use GMP if available. ;TI".GMP is used only for several operations: ;TI"4multiplication, division, radix conversion, GCD;T@
o;;0;[o;
;[I"IO;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[ o;;0;[o;
;[I"8IO#seek supports SEEK_DATA and SEEK_HOLE as whence.;To;;0;[o;
;[I"OIO#seek accepts symbols (:CUR, :END, :SET, :DATA, :HOLE) for 2nd argument.;To;;0;[o;
;[I"KIO#read_nonblock accepts optional `exception: false` to return symbols;To;;0;[o;
;[I"LIO#write_nonblock accepts optional `exception: false` to return symbols;T@
o;;0;[o;
;[I"Kernel;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Kernel#singleton_method;T@
o;;0;[o;
;[I"Module;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"LModule#using, which activates refinements of the specified module only ;TI"/in the current class or module definition.;To;;0;[o;
;[I"OModule#singleton_class? returns true if the receiver is a singleton class ;TI"3or false if it is an ordinary class or module.;To;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"-Module#refine is no longer experimental.;To;;0;[o;
;[I">Module#include and Module#prepend are now public methods.;T@
o;;0;[o;
;[I"
Mutex;To;;;;[o;;0;[o;
;[I" misc;To;;;;[o;;0;[o;
;[I",Mutex#owned? is no longer experimental.;T@
o;;0;[o;
;[I"Numeric;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[
I"DNumeric#step allows the limit argument to be omitted, in which ;TI"Acase an infinite sequence of numbers is generated. Keyword ;TI"=arguments `to` and `by` are introduced for ease of use. ;TI"C`by` can be 0, in which case the same value will be generated ;TI"indefinitely.;T@
o;;0;[o;
;[I"Process;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"#alternative methods to $0/$0=:;To;;;;[o;;0;[o;
;[I"6Process.argv0() returns the original value of $0.;To;;0;[o;
;[I"HProcess.setproctitle() sets the process title without affecting $0.;To;;0;[o;
;[I"Process.clock_gettime;To;;0;[o;
;[I"Process.clock_getres;T@
o;;0;[o;
;[I"String;To;;;;[o;;0;[o;
;[I"@"literal".freeze is now optimized to return the same object;To;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"JString#scrub and String#scrub! verify and fix invalid byte sequence. ;TI"7If you want to use this function with older Ruby, ;TI"&consider to use string-scrub.gem.;T@
o;;0;[o;
;[I"Symbol;To;;;;[o;;0;[o;
;[I" All symbols are now frozen.;T@
o;;0;[o;
;[I"pack/unpack (Array/String);To;;;;[o;;0;[o;
;[I"FQ! and q! directives for long long type if platform has the type.;T@
o;;0;[o;
;[I"
toplevel;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"Lmain.using is no longer experimental. The method activates refinements ;TI"Cin the ancestors of the argument module to support refinement ;TI"#inheritance by Module#include.;T@
S; ;
i;I"DCore classes compatibility issues (excluding feature bug fixes);T@
o;;;;[
o;;0;[o;
;[I" Hash;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[ I"LHash#reject will return plain Hash object in the future versions, that ;TI"Kis the original object's subclass, instance variables, default value, ;TI"Kand taintedness will be no longer copied, so now warnings are emitted ;TI" when called with such Hash.;T@
o;;0;[o;
;[I"IO;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"Fopen ignore internal encoding if external encoding is ASCII-8BIT.;T@
o;;0;[o;
;[I"?Kernel#eval, Kernel#instance_eval, and Module#module_eval.;To;;;;[o;;0;[o;
;[
I"KCopies the scope information of the original environment, which means ;TI"Lthat private, protected, public, and module_function without arguments ;TI"<do not affect the environment outside the eval string. ;TI"NFor example, `class Foo; eval "private"; def foo; end; end' doesn't make ;TI"Foo#foo private.;T@
o;;0;[o;
;[I"*Kernel#untrusted?, untrust, and trust;To;;;;[o;;0;[o;
;[I"JThese methods are deprecated and their behavior is same as tainted?, ;TI"Ptaint, and untaint, respectively. If $VERBOSE is true, they show warnings.;T@
o;;0;[o;
;[I"Module#ancestors;To;;;;[o;;0;[o;
;[I"GThe ancestors of a singleton class now include singleton classes, ;TI"in particular itself.;T@
o;;0;[o;
;[I"<Module#define_method and Object#define_singleton_method;To;;;;[o;;0;[o;
;[I"ONow they return the symbols of the defined methods, not the methods/procs ;TI"themselves.;T@
o;;0;[o;
;[I"Numeric#quo;To;;;;[o;;0;[o;
;[I"LRaises TypeError instead of ArgumentError if the receiver doesn't have ;TI"to_r method.;T@
o;;0;[o;
;[I" Proc;To;;;;[o;;0;[o;
;[I"MReturning from lambda proc now always exits from the Proc, not from the ;TI"Omethod where the lambda is created. Returning from non-lambda proc exits ;TI"2from the method, same as the former behavior.;T@
o;
;[I"String;To:RDoc::Markup::Verbatim;[I"D* If invalid: :replace is specified for String#encode, replace
;TI"H invalid byte sequence even if the destination encoding equals to
;TI" the source encoding.
;T:@format0S; ;
i;I"+Stdlib updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"CGI::Util;To;;;;[o;;0;[o;
;[I"!All class methods modulized.;T@
o;;0;[o;
;[I"Digest;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"DDigest::Class.file takes optional arguments for its constructor;T@
o;;0;[o;
;[I"Matrix;To;;;;[o;;0;[o;
;[I" Added Vector#cross_product.;T@
o;;0;[o;
;[I"Net::SMTP;To;;;;[o;;0;[o;
;[I"7Added Net::SMTP#rset to implement the RSET command;T@
o;;0;[o;
;[I"
objspace;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I")ObjectSpace.trace_object_allocations;To;;0;[o;
;[I"/ObjectSpace.trace_object_allocations_start;To;;0;[o;
;[I".ObjectSpace.trace_object_allocations_stop;To;;0;[o;
;[I"/ObjectSpace.trace_object_allocations_clear;To;;0;[o;
;[I"&ObjectSpace.allocation_sourcefile;To;;0;[o;
;[I"&ObjectSpace.allocation_sourceline;To;;0;[o;
;[I"&ObjectSpace.allocation_class_path;To;;0;[o;
;[I"%ObjectSpace.allocation_method_id;To;;0;[o;
;[I"&ObjectSpace.allocation_generation;To;;0;[o;
;[I",ObjectSpace.reachable_objects_from_root;To;;0;[o;
;[I"ObjectSpace.dump;To;;0;[o;
;[I"ObjectSpace.dump_all;T@
o;;0;[o;
;[I"OpenSSL::BN;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"3OpenSSL::BN.new allows Fixnum/Bignum argument.;T@
o;;0;[o;
;[I"
open-uri;To;;;;[o;;0;[o;
;[I"DSupport multiple fields with same field name (like Set-Cookie).;T@
o;;0;[o;
;[I"
Pathname;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Pathname#write;To;;0;[o;
;[I"Pathname#binwrite;T@
o;;0;[o;
;[I" rake;To;;;;[o;;0;[
o;
;[I"OUpdated to 10.1.0. Major changes include removal of the class namespace, ;TI"NRake::DSL to hold the rake DSL methods and removal of support for legacy ;TI"rake features.;T@
o;
;[I"9For a complete list of changes since rake 0.9.6 see:;T@
o;
;[I"Fhttp://rake.rubyforge.org/doc/release_notes/rake-10_1_0_rdoc.html;T@
o;
;[I"Fhttp://rake.rubyforge.org/doc/release_notes/rake-10_0_3_rdoc.html;T@
o;;0;[o;
;[I"
RbConfig;To;;;;[o;;0;[o;
;[I"New constants:;To;;;;[o;;0;[o;
;[I">RbConfig::SIZEOF is added to provide the size of C types.;T@
o;;0;[o;
;[I" RDoc;To;;;;[o;;0;[o;
;[I"NUpdated to 4.1.0. Major enhancements include a modified default template;To;;0;[ o;
;[I"$and accessibility enhancements.;T@
o;
;[I"9For a list of minor enhancements and bug fixes see: ;TI"Dhttps://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc;T@
o;;0;[o;
;[I"Resolv;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Resolv::DNS.fetch_resource;To;;0;[o;
;[I"#One-shot multicast DNS support;To;;0;[o;
;[I"Support LOC resources;T@
o;;0;[o;
;[I"REXML::Parsers::SAX2Parser;To;;;;[o;;0;[o;
;[ I"PFixes wrong number of arguments of entitydecl event. Document of the event ;TI"Msays "an array of the entity declaration" but implementation passes two ;TI"Kor more arguments. It is an implementation bug but it breaks backward ;TI"compatibility.;T@
o;;0;[o;
;[I"!REXML::Parsers::StreamParser;To;;;;[o;;0;[o;
;[I"Supports "entity" event.;T@
o;;0;[o;
;[I"REXML::Text;To;;;;[o;;0;[o;
;[I"HREXML::Text#<< supports method chain like 'text << "XXX" << "YYY"'.;To;;0;[o;
;[I",REXML::Text#<< supports not "raw" mode.;T@
o;;0;[o;
;[I")Rinda::RingServer, Rinda::RingFinger;To;;;;[o;;0;[o;
;[I"FRinda now supports multicast sockets. See Rinda::RingServer and ;TI"#Rinda::RingFinger for details.;T@
o;;0;[o;
;[I"
RubyGems;To;;;;[o;;0;[
o;
;[I"5Updated to 2.2.0. Notable new features include:;T@
o;;;;[o;;0;[o;
;[I"JGemfile or gem.deps.rb support including Gem.file.lock (experimental);To;;0;[o;
;[I"HImproved, iterative resolver (compared to RubyGems 2.1 and earlier);To;;0;[o;
;[I"HSupport for a sharing a GEM_HOME across ruby platforms and versions;T@
o;
;[I"<For a complete list of enhancements and bug fixes see: ;TI"Ahttps://github.com/rubygems/rubygems/tree/master/History.txt;T@
o;;0;[o;
;[I"Set;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Set#intersect?;To;;0;[o;
;[I"Set#disjoint?;T@
o;;0;[o;
;[I"Socket;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Socket.getifaddrs;T@
o;;0;[o;
;[I"StringScanner;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I".StringScanner#[] supports named captures.;T@
o;;0;[o;
;[I"Syslog::Logger;To;;;;[o;;0;[o;
;[I"Added facility.;T@
o;;0;[o;
;[I"
Tempfile;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[I"Tempfile.create;T@
o;;0;[o;
;[I"Timeout;To;;;;[o;;0;[o;
;[I"IThe exception to terminate the given block can no longer be rescued ;TI"Ginside the block, by default, unless the exception class is given ;TI"explicitly.;T@
o;;0;[o;
;[I"
TSort;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[
o;;0;[o;
;[I"TSort.tsort;To;;0;[o;
;[I"TSort.tsort_each;To;;0;[o;
;[I"(TSort.strongly_connected_components;To;;0;[o;
;[I",TSort.each_strongly_connected_component;To;;0;[o;
;[I"1TSort.each_strongly_connected_component_from;T@
o;;0;[o;
;[I"WEBrick;To;;;;[o;;0;[o;
;[I"QThe body of a response may now be a StringIO or other IO-like that responds ;TI"to #readpartial and #read.;T@
o;;0;[o;
;[I"XMLRPC::Client;To;;;;[o;;0;[o;
;[I"New methods:;To;;;;[o;;0;[o;
;[
I"IXMLRPC::Client#http. It returns Net::HTTP for the client. Normally, ;TI"Nit is not needed. It is useful when you want to change minor HTTP client ;TI"Ioptions. You can change major HTTP client options by XMLRPC::Client ;TI"Gmethods. You should use XMLRPC::Client methods for changing major ;TI"8HTTP client options instead of XMLRPC::Client#http.;T@
S; ;
i;I">Stdlib compatibility issues (excluding feature bug fixes);T@
o;;;;[o;;0;[o;
;[I"Set;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I">Set#to_set now returns self instead of generating a copy.;T@
o;;0;[o;
;[I"URI;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I">URI.decode_www_form follows current WHATWG URL Standard. ;TI"BIt gets encoding argument to specify the character encoding. ;TI"IIt now allows loose percent encoded strings, but denies ;-separator.;To;;0;[o;
;[I">URI.encode_www_form follows current WHATWG URL Standard. ;TI"AIt gets encoding argument to convert before percent encode. ;TI"OUTF-16 strings aren't converted to UTF-8 before percent encode by default.;T@
o;;0;[o;
;[I"curses;To;;;;[o;;0;[o;
;[I"Removed. ;TI"'curses is now available as a gem. ;TI"6See https://rubygems.org/gems/curses for details.;T@
S; ;
i;I"3Built-in global variables compatibility issues;T@
o;;;;[o;;0;[o;
;[I"
$SAFE;To;;;;[o;;0;[o;
;[I"L$SAFE=4 is obsolete. If $SAFE is set to 4 or larger, an ArgumentError ;TI"is raised.;T@
S; ;
i;I"C API updates;T@
o;;;;[o;;0;[o;
;[I"Jrb_gc_set_params() is deprecated. This is only used in Ruby internal.;T@
o;;0;[o;
;[I"Grb_gc_count() added. This returns the number of times GC occurred.;T@
o;;0;[o;
;[I"Prb_gc_stat() added. This allows access to specific GC.stat() values from C ;TI"%without any allocation overhead.;T@
o;;0;[o;
;[I"Mrb_gc_latest_gc_info() added. This allows access to GC.latest_gc_info().;T@
o;;0;[o;
;[I"Srb_postponed_job_register() added. Takes a function callback which is invoked ;TI"Pwhen the VM is in a consistent state, i.e. to perform work from a C signal ;TI"
handler.;T@
o;;0;[o;
;[I"Srb_profile_frames() added. Provides low-cost access to the current ruby stack ;TI"for callstack profiling.;T@
o;;0;[o;
;[I"Mrb_tracepoint_new() supports new internal events accessible only from C:;To;;;;[o;;0;[o;
;[I"RUBY_INTERNAL_EVENT_NEWOBJ;To;;0;[o;
;[I" RUBY_INTERNAL_EVENT_FREEOBJ;To;;0;[o;
;[I"!RUBY_INTERNAL_EVENT_GC_START;To;;0;[o;
;[I"$RUBY_INTERNAL_EVENT_GC_END_MARK;To;;0;[o;
;[I"%RUBY_INTERNAL_EVENT_GC_END_SWEEP;To;;0;[o;
;[I"JNote that you *can not* specify "internal events" with normal events ;TI"A(such as RUBY_EVENT_CALL, RUBY_EVENT_RETURN) simultaneously.;T:
@file@:0@omit_headings_from_table_of_contents_below0