Repository URL to install this package:
|
Version:
2.2.2-1 ▾
|
U:RDoc::TopLevel[ i I"NEWS-1.8.7:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[*S:RDoc::Markup::Heading:
leveli: textI"NEWS for Ruby 1.8.7;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 1.8.6 release;T@
S; ;
i;I"Configuration changes;T@
o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[ o;
;[I"default C flags;T@
o;
;[I"ESome C compiler flags may be added by default depending on your ;TI"Henvironment. Specify optflags=.. and warnflags=.. as necessary to ;TI"override them.;T@
o;;0;[
o;
;[I"vendor_ruby directory;T@
o;
;[I"BA new library directory named `vendor_ruby' is introduced in ;TI"Aaddition to `site_ruby'. The idea is to separate libraries ;TI"Ginstalled by the package system (`vendor') from manually (`site') ;TI"Hinstalled libraries preventing the former from getting overwritten ;TI"Hby the latter, while preserving the user option to override vendor ;TI"Glibraries with site libraries. (`site_ruby' takes precedence over ;TI"`vendor_ruby');T@
o;
;[I"JIf you are a package maintainer, make each library package configure ;TI"Gthe library passing the `--vendor' option to `extconf.rb' so that ;TI">the library files will get installed under `vendor_ruby'.;T@
o;
;[I"IYou can change the directory locations using configure options such ;TI"8as `--with-sitedir=DIR' and `--with-vendordir=DIR'.;T@
S; ;
i;I"Global constants;T@
o;;;;[o;;0;[o;
;[I"new constants;T@
o;;;;[o;;0;[o;
;[I"RUBY_COPYRIGHT;To;;0;[o;
;[I"RUBY_DESCRIPTION;T@
S; ;
i;I",Library updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"new library;T@
o;;;;[o;;0;[o;
;[I"securerandom;T@
o;;0;[o;
;[I"builtin classes;T@
o;;;;[o;;0;[o;
;[I"Array#flatten;To;;0;[ o;
;[I"Array#flatten!;T@
o;
;[I"GTakes an optional argument that determines the level of recursion ;TI"to flatten.;T@
o;;0;[o;
;[I"Array#eql?;To;;0;[o;
;[I"Array#hash;To;;0;[o;
;[I"
Array#==;To;;0;[ o;
;[I"Array#<=>;T@
o;
;[I"$Handle recursive data properly.;T@
o;;0;[o;
;[I"Array#index;To;;0;[ o;
;[I"Array#rindex;T@
o;
;[I"/Use a given block if no argument is given.;T@
o;;0;[o;
;[I"Array#collect!;To;;0;[o;
;[I"Array#map!;To;;0;[o;
;[I"Array#each;To;;0;[o;
;[I"Array#each_index;To;;0;[o;
;[I"Array#reverse_each;To;;0;[o;
;[I"Array#reject;To;;0;[o;
;[I"Array#reject!;To;;0;[o;
;[I"Array#delete_if;To;;0;[o;
;[I"Array#select;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;
;[I"GNote that #map and #collect still return an array unlike Ruby 1.9 ;TI"to keep compatibility.;T@
o;;0;[o;
;[I"Array#pop;To;;0;[ o;
;[I"Array#shift;T@
o;
;[I"DTake an optional argument specifying the number of elements to ;TI"remove.;T@
o;;0;[o;
;[I"Array#choice;To;;0;[o;
;[I"Array#combination;To;;0;[o;
;[I"Array#cycle;To;;0;[o;
;[I"Array#drop;To;;0;[o;
;[I"Array#drop_while;To;;0;[o;
;[I"Array#permutation;To;;0;[o;
;[I"Array#product;To;;0;[o;
;[I"Array#shuffle;To;;0;[o;
;[I"Array#shuffle!;To;;0;[o;
;[I"Array#take,;To;;0;[ o;
;[I"Array#take_while;T@
o;
;[I"New methods.;T@
o;;0;[ o;
;[I"Binding#eval;T@
o;
;[I"New method.;T@
o;;0;[o;
;[I"
Dir#each;To;;0;[ o;
;[I"Dir#foreach;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[ o;
;[I"Enumerable::Enumerator;T@
o;
;[I"INew class for various enumeration defined by the enumerator library.;T@
o;;0;[o;
;[I"Enumerable#each_slice;To;;0;[o;
;[I"Enumerable#each_cons;To;;0;[o;
;[I"Object#to_enum;To;;0;[ o;
;[I"Object#enum_for;T@
o;
;[I"KNew methods for various enumeration defined by the enumerator library.;T@
o;;0;[o;
;[I"Enumerable#count;To;;0;[o;
;[I"Enumerable#cycle;To;;0;[o;
;[I"Enumerable#drop;To;;0;[o;
;[I"Enumerable#drop_while;To;;0;[o;
;[I"Enumerable#find_index;To;;0;[o;
;[I"Enumerable#first;To;;0;[o;
;[I"Enumerable#group_by;To;;0;[o;
;[I"Enumerable#max_by;To;;0;[o;
;[I"Enumerable#min_by;To;;0;[o;
;[I"Enumerable#minmax;To;;0;[o;
;[I"Enumerable#minmax_by;To;;0;[o;
;[I"Enumerable#none?;To;;0;[o;
;[I"Enumerable#one?;To;;0;[o;
;[I"Enumerable#take;To;;0;[ o;
;[I"Enumerable#take_while;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"Enumerable#find;To;;0;[o;
;[I"Enumerable#find_all;To;;0;[o;
;[I"Enumerable#partition;To;;0;[o;
;[I"Enumerable#reject;To;;0;[o;
;[I"Enumerable#select;To;;0;[o;
;[I"Enumerable#sort_by;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;
;[I"GNote that #map and #collect still return an array unlike Ruby 1.9 ;TI"to keep compatibility.;T@
o;;0;[ o;
;[I"Enumerable#inject;T@
o;
;[I"2Accepts a binary operator instead of a block.;T@
o;;0;[ o;
;[I"Enumerable#reduce;T@
o;
;[I"New alias to #inject.;T@
o;;0;[ o;
;[I"Enumerable#to_a;T@
o;
;[I"8Can take optional arguments and pass them to #each.;T@
o;;0;[o;
;[I"Hash#eql?;To;;0;[o;
;[I"Hash#hash;To;;0;[ o;
;[I"Hash#==;T@
o;
;[I"$Handle recursive data properly.;T@
o;;0;[o;
;[I"Hash#delete_if;To;;0;[o;
;[I"Hash#each;To;;0;[o;
;[I"Hash#each_key;To;;0;[o;
;[I"Hash#each_pair;To;;0;[o;
;[I"Hash#each_value;To;;0;[o;
;[I"Hash#reject!;To;;0;[o;
;[I"Hash#select;To;;0;[o;
;[I"ENV.delete_if;To;;0;[o;
;[I"
ENV.each;To;;0;[o;
;[I"ENV.each_key;To;;0;[o;
;[I"ENV.each_pair;To;;0;[o;
;[I"ENV.each_value;To;;0;[o;
;[I"ENV.reject!;To;;0;[ o;
;[I"ENV.select;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"GC.stress;To;;0;[ o;
;[I"GC.stress=;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"Integer#ord;To;;0;[o;
;[I"Integer#odd?;To;;0;[o;
;[I"Integer#even?;To;;0;[ o;
;[I"Integer#pred;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"Integer#downto;To;;0;[o;
;[I"Integer#times;To;;0;[ o;
;[I"Integer#upto;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"IO#each;To;;0;[o;
;[I"IO#each_line;To;;0;[o;
;[I"IO#each_byte;To;;0;[o;
;[I"IO.foreach;To;;0;[o;
;[I"ARGF.each;To;;0;[o;
;[I"ARGF.each_line;To;;0;[ o;
;[I"ARGF.each_byte;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"
IO#bytes;To;;0;[o;
;[I"
IO#chars;To;;0;[o;
;[I"IO#each_char;To;;0;[o;
;[I"IO#getbyte;To;;0;[o;
;[I"
IO#lines;To;;0;[o;
;[I"IO#readbyte;To;;0;[o;
;[I"ARGF.bytes;To;;0;[o;
;[I"ARGF.chars;To;;0;[o;
;[I"ARGF.each_char;To;;0;[o;
;[I"ARGF.getbyte;To;;0;[o;
;[I"ARGF.lines;To;;0;[ o;
;[I"ARGF.readbyte;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"Method#name;To;;0;[o;
;[I"Method#owner;To;;0;[o;
;[I"Method#receiver;To;;0;[o;
;[I"UnboundMethod#name;To;;0;[ o;
;[I"UnboundMethod#owner;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"Module#class_exec;To;;0;[ o;
;[I"Module#module_exec;T@
o;
;[I"New methods.;T@
o;;0;[ o;
;[I"Numeric#step;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"Object#instance_exec;To;;0;[ o;
;[I"Object#tap;T@
o;
;[I"New methods.;T@
o;;0;[ o;
;[I"ObjectSpace.each_object;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"Process.exec implemented.;T@
o;;0;[o;
;[I"Range#each;To;;0;[ o;
;[I"Range#step;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"/Regexp.union accepts an array of patterns.;T@
o;;0;[ o;
;[I"String#bytes;T@
o;
;[I"New method;T@
o;;0;[ o;
;[I"String#bytesize;T@
o;
;[I"ENew method, returning the size in bytes. (alias length and size);T@
o;;0;[o;
;[I"String#chars;To;;0;[o;
;[I"String#each_char;To;;0;[o;
;[I"String#lines;To;;0;[o;
;[I"String#partition;To;;0;[o;
;[I"String#rpartition;To;;0;[o;
;[I"String#start_with?;To;;0;[ o;
;[I"String#end_with?;T@
o;
;[I"ENew methods. These are $KCODE aware unlike #index, #rindex and ;TI"#include?.;T@
o;;0;[o;
;[I"String#each_byte;To;;0;[o;
;[I"String#each;To;;0;[o;
;[I"String#each_line;To;;0;[ o;
;[I"String#gsub(pattern);T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[ o;
;[I"String#upto;T@
o;
;[I"GAn optional second argument is added to specify if the last value ;TI"should be included.;T@
o;;0;[ o;
;[I"StopIteration;T@
o;
;[I"HNew exception class that causes Kernel#loop to stop iteration when ;TI"raised.;T@
o;;0;[o;
;[I"Struct#each;To;;0;[ o;
;[I"Struct#each_pair;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[ o;
;[I"Symbol#to_proc;T@
o;
;[I"New method.;T@
o;;0;[ o;
;[I"__method__;T@
o;
;[I"HNew global function that returns the name of the current method as ;TI"a Symbol.;T@
o;;0;[o;
;[I"enumerator;T@
o;;;;[o;;0;[o;
;[I"AEnumerator is now a built-in module. The #next and #rewind ;TI"Fmethods are implemented using the "generator" library. Use with ;TI"/care and be aware of the performance loss.;T@
o;;0;[o;
;[I"ipaddr;T@
o;;;;[o;;0;[o;
;[I"New methods;To;;;;[o;;0;[o;
;[I"IPAddr#<=>;To;;0;[ o;
;[I"IPAddr#succ;T@
o;
;[I"CIPAddr objects are now comparable and enumerable having these ;TI"Cmethods. This also means that it is possible to have a Range ;TI"'object between two IPAddr objects.;T@
o;;0;[ o;
;[I"IPAddr#to_range;T@
o;
;[I"EA new method to create a Range object for the (network) address.;T@
o;;0;[o;
;[I"Type coercion support;To;;;;[ o;;0;[o;
;[I"
IPAddr#&;To;;0;[o;
;[I"
IPAddr#|;To;;0;[o;
;[I"IPAddr#==;To;;0;[ o;
;[I"IPAddr#include?;T@
o;
;[I"CThese methods now accept a string or an integer instead of an ;TI"#IPAddr object as the argument.;T@
o;;0;[o;
;[I"
net/smtp;T@
o;;;;[o;;0;[o;
;[I"Support SSL/TLS.;T@
o;;0;[o;
;[I"openssl;T@
o;;;;[ o;;0;[o;
;[I"New classes;To;;;;[
o;;0;[o;
;[I"OpenSSL::PKey::EC;To;;0;[o;
;[I"OpenSSL::PKey::EC::Group;To;;0;[o;
;[I"OpenSSL::PKey::EC::Point;To;;0;[o;
;[I"OpenSSL::PKey::PKCS5;To;;0;[o;
;[I"OpenSSL::SSL::Session;T@
o;;0;[o;
;[I"Documentation!;T@
o;;0;[o;
;[I"-Various new methods (see documentation).;T@
o;;0;[o;
;[I"IRemove redundant module namespace in Cipher, Digest, PKCS7, PKCS12. ;TI"JCompatibility classes are provided which will be removed in Ruby 1.9.;T@
o;;0;[o;
;[I"shellwords;T@
o;;;;[o;;0;[o;
;[I"6Add methods for escaping shell-unsafe characters:;To;;;;[ o;;0;[o;
;[I"Shellwords.join;To;;0;[o;
;[I"Shellwords.escape;To;;0;[o;
;[I"Array#shelljoin;To;;0;[o;
;[I"String#shellescape;T@
o;;0;[o;
;[I"Add shorthand methods:;To;;;;[o;;0;[o;
;[I"(Shellwords.split (alias shellwords);To;;0;[o;
;[I"String#shellsplit;T@
o;;0;[o;
;[I"
stringio;T@
o;;;;[o;;0;[o;
;[I"StringIO#getbyte;To;;0;[ o;
;[I"StringIO#readbyte;T@
o;
;[I"6New methods. (aliases for compatibility with 1.9);T@
o;;0;[o;
;[I"StringIO#each_char;To;;0;[ o;
;[I"StringIO#chars;T@
o;
;[I"New methods.;T@
o;;0;[o;
;[I"StringIO#each;To;;0;[o;
;[I"StringIO#each_line;To;;0;[ o;
;[I"StringIO#each_byte;T@
o;
;[I"/Return an enumerator if no block is given.;T@
o;;0;[o;
;[I"
tempfile;T@
o;;;;[o;;0;[o;
;[I"@Tempfile.open and Tempfile.new now accept a suffix for the ;TI"Gtemporary file to be created. To specify a suffix, pass an array ;TI"1of [basename, suffix] as the first argument.;T@
o:RDoc::Markup::Verbatim;[I"8Tempfile.open(['image', 'jpg']) { |tempfile| ... }
;T:@format0o;;0;[o;
;[I"tmpdir;T@
o;;;;[o;;0;[o;
;[I"New method:;T@
o;;;;[o;;0;[o;
;[I"Dir.mktmpdir;T@
o;;0;[o;
;[I"uri;T@
o;;;;[o;;0;[o;
;[I"added LDAPS scheme.;To;;0;[o;
;[I"Change for RFC3986:;To;;;;[o;;0;[o;
;[I"FTP;To;;;;[o;;0;[o;
;[I"0URI('ftp://example.com/foo').path #=> 'foo';To;;0;[o;
;[I"4URI('ftp://example.com/%2Ffoo').path #=> '/foo';To;;0;[o;
;[I"eURI::FTP.build([nil, 'example.com', nil, '/foo', 'i').to_s #=> 'ftp://example.com/%2Ffoo;type=i';To;;0;[o;
;[I"URI merge;To;;;;[
o;;0;[o;
;[I"GURI('http://a/b/c/d;p?q').merge('?y') == URI('http://a/b/c/d;p?y');To;;0;[o;
;[I"AURI('http://a/b/c/d;p?q').merge('/./g') == URI('http://a/g');To;;0;[o;
;[I"BURI('http://a/b/c/d;p?q').merge('/../g') == URI('http://a/g');To;;0;[o;
;[I"GURI('http://a/b/c/d;p?q').merge('../../../g') == URI('http://a/g');To;;0;[o;
;[I"JURI('http://a/b/c/d;p?q').merge('../../../../g') == URI('http://a/g');T@
o;;0;[o;
;[I"rss;T@
o;;;;[o;;0;[o;
;[I"0.1.6 -> 0.2.4;T@
o;;0;[o;
;[I"Fix image module URI;T@
o;;0;[o;
;[I"Atom support;T@
o;;0;[o;
;[I"ITunes module support;T@
o;;0;[o;
;[I"Slash module support;T@
o;;0;[o;
;[I")content:encoded with RSS 2.0 support;T@
S; ;
i;I"Interpreter Implementation;T@
o;;;;[o;;0;[ o;
;[I"-passing a block to a Proc [experimental];T@
o;
;[I"GThis implementation in current shape is known to be buggy/broken, ;TI"?especially with nested block invocation. Take this as an ;TI"experimental feature.;T@
o;;0;[ o;
;[I"stack trace;T@
o;
;[I"BOn non-SystemStackError exception, full stack trace is shown.;T@
S; ;
i;I"7Compatibility issues (excluding feature bug fixes);T@
o;;;;[o;;0;[o;
;[ I"HString#slice! had some unintentional bugs and they have been fixed ;TI"Jbecause either they disagreed with documentation or their respective ;TI":behavior of #slice. Unfortunately, this causes some ;TI">incompatibilities in the following (somewhat rare) cases.;T@
o;;;;[o;;0;[o;
;[I"G#slice! no longer expands the array when an out-of-boundary value ;TI"is given.;T@
o;;[I"# Ruby 1.8.6
;TI"a = [1,2]
;TI"a.slice!(4,0) #=> nil
;TI"'a #=> [1,2,nil,nil]
;TI"
;TI"# Ruby 1.8.7
;TI"a = [1,2]
;TI"a.slice!(4,0) #=> nil
;TI"a #=> [1,2]
;T;0o;;0;[o;
;[I"B#slice! no longer raises an exception but returns nil when a ;TI"Cnegative length or out-of-boundary negative position is given.;T@
o;;[I"# Ruby 1.8.6
;TI"a = [1,2]
;TI"-a.slice!(1,-1) #=> (raises IndexError)
;TI"-a.slice!(-5,1) #=> (raises IndexError)
;TI"
;TI"# Ruby 1.8.7
;TI"a = [1,2]
;TI"a.slice!(1,-1) #=> nil
;TI"a.slice!(-5,1) #=> nil
;T;0o;;0;[
o;
;[I"HString#to_i, String#hex and String#oct no longer accept a sequence ;TI"/of underscores (`__') as part of a number.;T@
o;;[I"# Ruby 1.8.6
;TI"'1__0'.to_i #=> 10
;TI"#'1__0'.to_i(2) #=> 2 # 0b10
;TI""'1__0'.oct #=> 8 # 010
;TI"#'1__0'.hex #=> 16 # 0x10
;TI"
;TI"# Ruby 1.8.7
;TI"'1__0'.to_i #=> 1
;TI"'1__0'.to_i(2) #=> 1
;TI"'1__0'.oct #=> 1
;TI"'1__0'.hex #=> 1
;T;0o;
;[I"JThe old behavior was inconsistent with Ruby syntax and considered as ;TI"a bug.;T@
o;;0;[o;
;[I" date;T@
o;;;;[o;;0;[ o;
;[I"Date.parse;T@
o;
;[ I"G'##.##.##' (where each '#' is a digit) is now taken as 'YY.MM.DD' ;TI"Ginstead of 'MM.DD.YY'. While the change may confuse you, you can ;TI"Calways use Date.strptime() when you know what you are dealing ;TI"
with.;T@
o;;0;[o;
;[I"
REXML;T@
o;;;;[o;;0;[o;
;[I",REXML::Document.entity_expansion_limit=;T@
o;
;[I"KNew method to set the entity expansion limit. By default the limit is ;TI"6set to 10000. See the following URL for details.;T@
o;
;[I"Lhttp://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/;T@
o;;0;[o;
;[I"
stringio;T@
o;;;;[o;;0;[ o;
;[I"StringIO#each_byte;T@
o;
;[I"BThe return value changed from nil to self. This is what the ;TI"4document says and the same as each_line() does.;T@
o;;0;[o;
;[I"
tempfile;T@
o;;;;[o;;0;[o;
;[I"HThe file name format has changed. No dots are included by default ;TI"Gin temporary file names any more. See above for how to specify a ;TI"suffix.;T@
o;;0;[o;
;[I"uri;T@
o;;;;[o;;0;[o;
;[I"See above for details.;T@
S; ;
i;I"$Changes since the 1.8.5 release;T@
S; ;
i;I"&New platforms/build tools support;T@
o;;;;[o;;0;[o;
;[I"IA64 HP-UX;T@
o;;0;[o;
;[I"Visual C++ 8 SP1;T@
o;;0;[o;
;[I"autoconf 2.6x;T@
S; ;
i;I"Global constants;T@
o;;;;[o;;0;[ o;
;[I"RUBY_PATCHLEVEL;T@
o;
;[I"!New constant since 1.8.5-p1.;T@
S; ;
i;I",Library updates (outstanding ones only);T@
o;;;;[
o;;0;[o;
;[I"builtin classes;T@
o;;;;[o;;0;[o;
;[I"2New method: Kernel#instance_variable_defined?;T@
o;;0;[o;
;[I"/New method: Module#class_variable_defined?;T@
o;;0;[o;
;[I"ENew feature: Dir::glob() can now take an array of glob patterns.;T@
o;;0;[o;
;[I" date;T@
o;;;;[o;;0;[o;
;[I""Updated based on date2 4.0.3.;T@
o;;0;[o;
;[I"digest;T@
o;;;;[o;;0;[o;
;[I"&New internal APIs for C and Ruby.;T@
o;;0;[o;
;[I"Support for autoloading.;T@
o;;[ I"require 'digest'
;TI"
;TI"# autoloads digest/md5
;TI"'md = Digest::MD5.digest("string")
;T;0o;;0;[o;
;[I"#New digest class methods: file;T@
o;;0;[o;
;[I">New digest instance methods: clone, reset, new, inspect, ;TI"9digest_length (alias size or length), block_length();T@
o;;0;[o;
;[I"%New library: digest/bubblebabble;T@
o;;0;[o;
;[I"New function: Digest(name);T@
o;;0;[o;
;[I"fileutils;T@
o;;;;[o;;0;[o;
;[I"9New option for FileUtils.cp_r(): :remove_destination;T@
o;;0;[o;
;[I"nkf;T@
o;;;;[o;;0;[o;
;[I"+Updated based on nkf as of 2007-01-28.;T@
o;;0;[o;
;[I"thread;T@
o;;;;[o;;0;[o;
;[I"FReplaced with much faster mutex implementation in C. The former ;TI"Cimplementation, which is slow but considered to be stable, is ;TI">available with a configure option `--disable-fastthread'.;T@
o;;0;[o;
;[I"tk;T@
o;;;;[o;;0;[o;
;[I"8Updated Tile extension support based on Tile 0.7.8.;T@
o;;0;[o;
;[I"DSupport --without-X11 configure option for non-X11 versions of ;TI"Tcl/Tk (e.g. Tcl/Tk Aqua).;T@
o;;0;[o;
;[I"HNew sample script: irbtkw.rbw -- IRB on Ruby/Tk. It has no trouble ;TI"%about STDIN blocking on Windows.;T@
o;;0;[o;
;[I"webrick;T@
o;;;;[o;;0;[o;
;[I"4New method: WEBrick::Cookie.parse_set_cookies();T@
S; ;
i;I"7Compatibility issues (excluding feature bug fixes);T@
o;;;;[
o;;0;[o;
;[I"builtin classes;T@
o;;;;[o;;0;[o;
;[I"HString#intern now raises SecurityError when $SAFE level is greater ;TI"than zero.;T@
o;;0;[o;
;[I" date;T@
o;;;;[o;;0;[o;
;[ I"ETime#to_date and Time#to_datetime are added as private methods. ;TI"FThey cause name conflict error in ActiveSupport 1.4.1 and prior, ;TI"Ewhich comes with Rails 1.2.2 and prior. Updating ActiveSupport ;TI";and/or Rails to the latest versions fixes the problem.;T@
o;;0;[o;
;[I"digest;T@
o;;;;[o;;0;[o;
;[I"DThe constructor does no longer take an initial string to feed. ;TI"0The following examples show how to migrate:;T@
o;;[I"# Before
;TI"$md = Digest::MD5.new("string")
;TI"&# After (works with any version)
;TI"+md = Digest::MD5.new.update("string")
;TI"
;TI"# Before
;TI".hd = Digest::MD5.new("string").hexdigest
;TI"&# After (works with any version)
;TI"*hd = Digest::MD5.hexdigest("string")
;T;0o;;0;[o;
;[I"Digest::Base#==;T@
o;;;;[o;;0;[ o;
;[I"self == string;T@
o;
;[I"FAutomatic detection between binary digest values and hexadecimal ;TI"Bdigest values has been dropped. It is always assumed that a ;TI"6hexadecimal digest value is given for comparison.;T@
o;;0;[ o;
;[I"self == md;T@
o;
;[I"EDigest objects are compared by the resulting digest values, not ;TI" by the exact vector states.;T@
o;;0;[o;
;[I"fileutils;T@
o;;;;[o;;0;[o;
;[I"8A minor implementation change breaks Rake <=0.7.1. ;TI"8Updating Rake to 0.7.2 or higher fixes the problem.;T@
o;;0;[o;
;[I"tk;T@
o;;;;[o;;0;[o;
;[I"CTk::X_Scrollable (Y_Scrollable) is renamed to Tk::XScrollable ;TI"H(YScrollable). Tk::X_Scrollable (Y_Scrollable) is still available, ;TI"but it is an alias name.;T:
@file@:0@omit_headings_from_table_of_contents_below0