diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-12 09:42:26 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-12 09:42:26 +0000 |
commit | cef2867e6653c0f607e38d20384d4305280cf598 (patch) | |
tree | 643c924047c110e50c100e2906fe4aa5f8088193 /doc/NEWS-1.9.1 | |
parent | 303c28d49b7a0990d597b753f9976a10d1e26a2f (diff) |
Add historical NEWS files for the record.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc/NEWS-1.9.1')
-rw-r--r-- | doc/NEWS-1.9.1 | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/doc/NEWS-1.9.1 b/doc/NEWS-1.9.1 new file mode 100644 index 0000000000..faf2607efe --- /dev/null +++ b/doc/NEWS-1.9.1 @@ -0,0 +1,204 @@ += NEWS + +This document is a list of user visible feature changes made between +releases except for bug fixes. + +Note that each entry is kept so brief that no reason behind or +reference information is supplied with. For a full list of changes +with all sufficient information, see the ChangeLog file. + +== Changes since the 1.8.7 release + +=== Compatibility issues + +* language core + + * New syntax and semantics + o Block arguments are always local + o Block arguments + o New semantics for block arguments + o Block local variables + o Method used for splat arguments: #to_splat + o defined? and local variables + +* builtin classes and objects + + * Kernel and Object + o Kernel#require + * Class and Module + o Class variables behavior + o Module#attr is an alias of attr_reader + o Module#instance_methods, #private_instance_methods, #public_instance_methods + o Extra subclassing check when binding UnboundMethods + * Exceptions + o Equality of exceptions + o SystemStackError + o SecurityError + o Removed Exception#to_str [Ruby2] + + * Array + o Array#nitems was removed (use count {|i| !i.nil?}) + o Array#choice was removed (use sample) + o Array#[m,n] = nil places nil in the array. + * Enumerable and Enumerator + o Enumerable#map,collect_all called without a block returns + an enumerator. + * File and Dir operations + o #to_path in File.path, File.chmod, File.lchmod, File.chown, File.lchown, File.utime, File.unlink... [Ruby2] + o Dir.[], Dir.glob + o Dir.exist? + * String + o No longer an Enumerable + o ?c semantics + o "One-char-wide" semantics for String#[] and String#[]= [Ruby2] + o Encoding-awareness + * Hash + o Hash#to_s is equivalent to Hash#inspect + o Semantics for Hash#each and Hash#each_pair + o Hash#select returns a hash + o Hash#key is the new name for #index which has been deprecated. + o Most of the changes in Hash apply to hash like interfaces such as + ENV and *DBM. + * Integer + o Integer(nil) raises TypeError + * IO operations + o IO#getc + o Non-blocking IO + o Kernel#open takes "t" for newline conversion + o Kernel#open takes encoding specified + o IO#initialize now accepts an IO argument + o StringIO#readpartial + o IO.try_convert + o Limit input in IO#gets, IO#readline, IO#readlines, IO#each_line, IO#lines, IO.foreach, IO.readlines, StringIO#gets, StringIO#readline, StringIO#each, StringIO#readlines + o IO#ungetc, StringIO#ungetc + o IO#internal_encoding, IO#external_encoding, IO#set_encoding + o IO.pipe takes encoding option + * Time + o New format in Time#to_s + o Timezone information preserved on Marshal.dump/load + * Struct + o Struct#inspect + * Symbols: restriction on literal symbols + * $SAFE and bound methods + * Deprecation + o VERSION and friends + o Kernel.to_a + o Kernel#getc + o Object#type + o Hash#index + o ENV.index + o Symbol#to_int + o Removed Array and Hash #indices, #indexes + o libraries: base64, mailread, getopts, parsearg, soap, wsdl + +* bundled libraries + + * Readline + o If Readline uses libedit, Readline::HISTORY[0] returns the first of the history. + +=== Language core changes + + * New syntax and semantics + o New literal hash syntax + o New syntax for lambdas + o .() and calling Procs without #call/#[] + o Mandatory arguments after optional arguments allowed + o Multiple splats allowed + o Arguments to #[] + o printf-style formatted strings (%) + o Newlines allowed before ternary colon + +=== Library updates + + * Kernel and Object + o BasicObject + o Object#=~ + o Kernel#instance_variable_defined? + o Kernel#define_singleton_method + o Kernel#singleton_methods, Kernel#methods + * Class and Module + o Module#const_defined?, #const_get and #method_defined? + o Module#class_variable_defined? + o #class_variable_{set,get} + o Class of singleton classes + * Binding#eval + * Blocks and Procs + o Arity of blocks without arguments + o proc is now a synonym of Proc.new + * Blocks and Procs + o Proc#yield + o Passing blocks to #[] + o Proc#lambda? + * Enumerable and Enumerator + o Enumerable#each_with_object [experimental] + o Enumerator#with_object + o Enumerator.new { ... } + * Regexp#match, String#match + o Regexp#match, String#match + * Encoding + * Encoding::Converter + * Fiber: coroutines/micro-threads + * Array + o Array#delete returns a deleted element rather than a given + object + o Array#to_s is equivalent to Array#inspect + o Array.try_convert + * Hash + o preserving item insertion order + o Hash#default_proc= + o Hash#_compare_by_identity and Hash#compare_by_identity? + o Hash.try_convert + * Numeric + o Numeric#upto, #downto, #times, #step + o Numeric#scalar?, Complex#scalar? + o Numeric#div + o Numeric#fdiv + * Range + o Range#cover? + o Range#include? iterates over elements and compares the + given value with each element unless the range is numeric. + Use Range#cover? for the old behavior, i.e. comparison + with boundary values. + o Range#min, Range#max + * Regexp + o Regexp#=== matches symbols + o Regexp.try_convert + * String + o String#clear + o String#ord + o String#getbyte, String#setbyte + o String#encoding + o String#force_encoding + o String#unpack with a block + o String#hash + o String.try_convert + o String.encoding, String#force_encoding, String#encode + * Symbol + o Zero-length symbols allowed + o Symbol#=== matches strings + o Symbol#intern + o Symbol#encoding + o Symbol methods similar to those in String + * Math + o Math#log and Math#log2 + * File and Dir operations + o New methods + * Process + o Process.daemon + * Readline + o Readline.vi_editing_mode? + o Readline.emacs_editing_mode? + o Readline::HISTORY.clear + * Misc. new methods + o public_send + o GC.count + o ObjectSpace.count_objects + o Method#hash, Proc#hash + o __callee__ + +=== Implementation changes + + * Memory Diet + * Object Compaction - Object, Array, String, Hash, Struct, Class, Module + * st_table compaction (inlining small tables) + * YARV |