U:RDoc::TopLevel[ iI"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::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"=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"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"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