summaryrefslogtreecommitdiff
path: root/trunk/doc/NEWS
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:02:05 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:02:05 +0000
commit0dc342de848a642ecce8db697b8fecd83a63e117 (patch)
tree2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/doc/NEWS
parentef70cf7138ab8034b5b806f466e4b484b24f0f88 (diff)
added tag v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/doc/NEWS')
-rw-r--r--trunk/doc/NEWS173
1 files changed, 173 insertions, 0 deletions
diff --git a/trunk/doc/NEWS b/trunk/doc/NEWS
new file mode 100644
index 0000000000..729354df2d
--- /dev/null
+++ b/trunk/doc/NEWS
@@ -0,0 +1,173 @@
+Changes for 1.9
+
+Incompatible (Severe)
+
+ * New syntax and semantics
+ o Block arguments are always local
+ o Block arguments
+ o New semantics for block arguments
+ o Block local variables
+ * Array
+ o Array#nitems was removed (use count {|i| !i.nil?})
+ o Array#choice was removed (use sample)
+ * String
+ o No longer an Enumerable
+ o ?c semantics
+ o "One-char-wide" semantics for String#[] and String#[]= [Ruby2]
+ o Encoding-awareness
+ * IO operations
+ o IO#getc
+
+Incompatible (Trivial)
+
+ * New syntax and semantics
+ o Method used for splat arguments: #to_splat
+ o defined? and local variables
+ * 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#[m,n] = nil places nil in the array.
+ * Hash
+ o Hash#to_s is equivalent to Hash#inspect
+ o Semantics for Hash#each and Hash#each_pair
+ o Hash#select
+ * Integer
+ o Integer(nil) raises TypeError
+ * Struct
+ o Struct#inspect
+ * 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?
+ * IO operations
+ o Non-blocking IO
+ 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
+ * Symbols: restriction on literal symbols
+ * Readline
+ o If Readline uses libedit, Readline::HISTORY[0] returns the first of the history.
+ * $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
+
+Compatible
+
+ * 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
+ * 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#map,collect_all called without a block returns
+ an enumerator.
+ * Regexp#match, String#match
+ o Regexp#match, String#match
+ * 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#_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?
+ o Range#min, Range#max
+ * Regexp
+ o Regexp#=== matches symbols
+ o Regexp.try_convert
+ * String
+ o String#clear
+ o String#ord
+ 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
+ * Memory Diet
+ * Object Compaction - Object, Array, String, Hash, Struct, Class, Module
+ * st_table compaction (inlining small tables)
+ * YARV