зеркало из https://github.com/github/ruby.git
139 строки
3.3 KiB
Plaintext
139 строки
3.3 KiB
Plaintext
= 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
|
|
|
|
* Array
|
|
* Array#sort_by!
|
|
|
|
* IO
|
|
* IO.pipe can take a block.
|
|
|
|
* Process
|
|
* Process.spawn accepts [:child, FD] for a redirect target.
|
|
|
|
* 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)
|
|
|
|
* open3
|
|
|
|
* new methods:
|
|
* Open3.popen2
|
|
* Open3.popen2e
|
|
* Open3.capture3
|
|
* Open3.capture2
|
|
* Open3.capture2e
|
|
* Open3.pipeline_rw
|
|
* Open3.pipeline_r
|
|
* Open3.pipeline_w
|
|
* Open3.pipeline_start
|
|
* Open3.pipeline
|
|
|
|
* pty
|
|
|
|
* new methods:
|
|
* PTY.open
|
|
|
|
* openssl
|
|
|
|
* new methods:
|
|
* Buffering#read_nonblock
|
|
|
|
* socket
|
|
|
|
* incompatible changes:
|
|
* Socket#{recvfrom,recvfrom_nonblock,accept,accept_nonblock,sysaccept}
|
|
returns a sender address as AddrInfo object instead of a string.
|
|
* BasicSocket#getsockopt returns Socket::Option object instead of a string.
|
|
|
|
* new class:
|
|
* AddrInfo
|
|
* Socket::Option
|
|
* Socket::AncillaryData
|
|
|
|
* new methods:
|
|
* Socket.ip_address_list
|
|
* Socket.tcp
|
|
* Socket.tcp_server_loop
|
|
* Socket.tcp_server_sockets
|
|
* Socket.unix
|
|
* Socket.unix_server_loop
|
|
* Socket.unix_server_socket
|
|
* Socket.accept_loop
|
|
* Socket#ipv6only!
|
|
* BasicSocket#local_address
|
|
* BasicSocket#remote_address
|
|
* BasicSocket#sendmsg
|
|
* BasicSocket#sendmsg_nonblock
|
|
* BasicSocket#recvmsg
|
|
* BasicSocket#recvmsg_nonblock
|
|
|
|
* extended methods:
|
|
* Socket.new's 3rd argument is optional now.
|
|
* Socket.pair and UNIXSocket.pair can take a block.
|
|
* BasicSocket#send, UDPSocket#send, Socket.getnameinfo, Socket#bind, and
|
|
Socket#{connect,connect_nonblock} accepts an AddrInfo object as sockaddr.
|
|
* BasicSocket#getsockopt accepts a Socket::Option object.
|
|
|
|
* string/symbol as protocol/address family, socket type, protocol level,
|
|
socket option name and shutdown's how argument can be specified as a
|
|
string/symbol.
|
|
|
|
* pathname
|
|
* new method:
|
|
* realdirpath
|
|
* each_child
|
|
|
|
* Readline
|
|
* new method:
|
|
* Readline.set_screen_size
|
|
* Readline.get_screen_size
|
|
|
|
* extended methods:
|
|
* Readline.completion_proc= accepts nil.
|
|
nil means to use default completion proc.
|
|
|
|
=== Compatibility issues (excluding feature bug fixes)
|
|
|
|
* Enumerator#rewind
|
|
|
|
See above.
|