зеркало из https://github.com/github/ruby.git
- 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:
Родитель
cef2867e66
Коммит
1757d80076
|
@ -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
|
|
Загрузка…
Ссылка в новой задаче