mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	- Remove doc/NEWS when we have doc/NEWS-1.9.1.
- Add NEWS for keeping changes since 1.9.1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									cef2867e66
								
							
						
					
					
						commit
						1757d80076
					
				
					 2 changed files with 51 additions and 177 deletions
				
			
		
							
								
								
									
										51
									
								
								NEWS
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								NEWS
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,51 @@
 | 
			
		|||
= 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.9.1 release
 | 
			
		||||
 | 
			
		||||
=== Library updates (outstanding ones only)
 | 
			
		||||
 | 
			
		||||
* builtin classes
 | 
			
		||||
 | 
			
		||||
  * Enumerator#rewind
 | 
			
		||||
 | 
			
		||||
    Now calls the "rewind" method of the enclosed object if defined.
 | 
			
		||||
 | 
			
		||||
* rss
 | 
			
		||||
 | 
			
		||||
  * 0.2.4 -> 0.2.5
 | 
			
		||||
 | 
			
		||||
  * RSS::Maker.make
 | 
			
		||||
    * raise an exception not returns nil for invalid feed making.
 | 
			
		||||
    * requires block.
 | 
			
		||||
 | 
			
		||||
  * RSS::Maker.[]
 | 
			
		||||
    * new method to return maker class.
 | 
			
		||||
 | 
			
		||||
* REXML
 | 
			
		||||
 | 
			
		||||
  * REXML::Document.entity_expansion_limit=
 | 
			
		||||
 | 
			
		||||
    New method to set the entity expansion limit. By default the limit is
 | 
			
		||||
    set to 10000.  See the following URL for details.
 | 
			
		||||
 | 
			
		||||
    http://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/
 | 
			
		||||
 | 
			
		||||
* logger
 | 
			
		||||
 | 
			
		||||
  * imported upstream version (logger/1.2.7)
 | 
			
		||||
    * do not raise an exception even if log writing failed.
 | 
			
		||||
    * do not raise ShiftingError if an aged file already exists.
 | 
			
		||||
      (no ShiftingError will be raised from 1.2.7, just warn() instead)
 | 
			
		||||
 | 
			
		||||
=== Compatibility issues (excluding feature bug fixes)
 | 
			
		||||
 | 
			
		||||
  * Enumerator#rewind
 | 
			
		||||
 | 
			
		||||
    See above.
 | 
			
		||||
							
								
								
									
										177
									
								
								doc/NEWS
									
										
									
									
									
								
							
							
						
						
									
										177
									
								
								doc/NEWS
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,177 +0,0 @@
 | 
			
		|||
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 "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
 | 
			
		||||
    * 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
 | 
			
		||||
    * 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#_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#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#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
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue