diff options
Diffstat (limited to 'NEWS')
| -rw-r--r-- | NEWS | 196 |
1 files changed, 0 insertions, 196 deletions
@@ -1,196 +0,0 @@ -# -*- rd -*- -= 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.3 release - -=== C API updates -* NUM2SHORT() and NUM2USHORT() added. They are similar to NUM2INT, but short. - -=== Library updates (outstanding ones only) - -* builtin classes - - * Enumerable - * added method: - * added Enumerable#lazy method for lazy enumeration. - - * ENV - * aliased method: - * ENV.to_h is a new alias for ENV.to_hash - - * Hash - * added method: - * added Hash#to_h as explicit conversion method, like Array#to_a. - * extended method: - * Hash#default_proc= can be passed nil to clear the default proc. - - * Kernel - * added method: - * added Kernel#Hash conversion method like Array() or Float(). - * extended method: - * Kernel#warn accepts multiple args in like puts. - * Kernel#caller accepts second optional argument `n' which specify - required caller size. - * incompatible changes: - * system() and exec() closes non-standard file descriptors - (The default of :close_others option is changed to true by default.) - * respond_to? against a protected method now returns false unless - the second argument is true. - * __callee__ has returned to the original behavior, and now - returns the called name but not the original name in an - aliased method. - - * LoadError - * added method: - * added LoadError#path method to return the file name that could not be - loaded. - - * Module - * added method: - * added Module#prepend which is similar to Module#include, - however a method in the prepended module overrides the - corresponding method in the prepending module. - * extended method: - * Module#define_method accepts a UnboundMethod from a Module. - - * NilClass - * added method: - * added nil.to_h which returns {} - - * Signal - * incompatible changes: - * Signal.trap raises ArgumentError when :SEGV, :BUS, :ILL, :FPE, :VTALRM - are specified. - - * Struct - * added method: - * added Struct#to_h returning values with keys corresponding to the - instance variable names. - - * Time - * change return value: - * Time#to_s returned encoding defaults to US-ASCII but automatically - transcodes to Encoding.default_internal if it is set. - - * Fiber - * incompatible changes: - * Fiber#resume cannot resume a fiber which invokes "Fiber#transfer". - -* net/http - * new features: - * Proxies are now automatically detected from the http_proxy environment - variable. See Net::HTTP::new for details. - * gzip and deflate compression are now requested for all requests by - default. See Net::HTTP for details. - * SSL sessions are now reused across connections for a single instance. - This speeds up connection by using a previously negotiated session. - * new methods: - * Net::HTTP#local_host - * Net::HTTP#local_host= - * Net::HTTP#local_port - * Net::HTTP#local_port= - * extended method: - * Net::HTTP#connect uses local_host and local_port if specified. - -* net/imap - * new methods: - * Net::IMAP.default_port - * Net::IMAP.default_imap_port - * Net::IMAP.default_tls_port - * Net::IMAP.default_ssl_port - * Net::IMAP.default_imaps_port - -* ostruct - * new methods: - * OpenStruct#to_h converts the struct to a hash. - -* pathname - * extended method: - * Pathname#find returns an enumerator if no block is given. - -* resolv - * new methods: - * Resolv::DNS#timeouts= - * Resolv::DNS::Config#timeouts= - -* shellwords - * Shellwords#shellescape() now stringifies the given object using to_s. - * Shellwords#shelljoin() accepts non-string objects in the given - array, each of which is stringified using to_s. - -* syslog - * Added Syslog::Logger which provides a Logger API atop Syslog. - * Syslog::Priority, Syslog::Level, Syslog::Option and Syslog::Macros - are introduced for easy detection of available constants on a - running system. - -* lib/tmpdir.rb - * incompatible changes: - * Dir.mktmpdir uses FileUtils.remove_entry instead of - FileUtils.remove_entry_secure. This means that applications should not - change the permission of the created temporary directory to make - accessible from other users. - -* zlib - * Added streaming support for Zlib::Inflate and Zlib::Deflate. This allows - processing of a stream without the use of large amounts of memory. - * Added support for the new deflate strategies Zlib::RLE and Zlib::FIXED. - * Zlib streams are now processed without the GVL. This allows gzip, zlib and - deflate streams to be processed in parallel. - -* openssl - * Consistently raise an error when trying to encode nil values. All instances - of OpenSSL::ASN1::Primitive now raise TypeError when calling to_der on an - instance whose value is nil. All instances of OpenSSL::ASN1::Constructive - raise NoMethodError in the same case. Constructing such values is still - permitted. - * TLS 1.1 & 1.2 support by setting OpenSSL::SSL::SSLContext#ssl_version to - :TLSv1_2, :TLSv1_2_server, :TLSv1_2_client or :TLSv1_1, :TLSv1_1_server - :TLSv1_1_client. The version being effectively used can be queried - with OpenSSL::SSL#ssl_version. Furthermore, it is also possible to - blacklist the new TLS versions with OpenSSL::SSL:OP_NO_TLSv1_1 and - OpenSSL::SSL::OP_NO_TLSv1_2. - * Added OpenSSL::SSL::SSLContext#renegotiation_cb. A user-defined callback - may be set which gets called whenever a new handshake is negotiated. This - also allows to programmatically decline (client) renegotiation attempts. - * Support for "0/n" splitting of records as BEAST mitigation via - OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. - * OpenSSL requires passwords for decrypting PEM-encoded files to be at least - four characters long. This led to awkward situations where an export with - a password with fewer than four characters was possible, but accessing the - file afterwards failed. OpenSSL::PKey::RSA, OpenSSL::PKey::DSA and - OpenSSL::PKey::EC therefore now enforce the same check when exporting a - private key to PEM with a password - it has to be at least four characters - long. - -=== Language changes - - * Added %i and %I for symbol list creation (similar to %w and %W). - -=== Compatibility issues (excluding feature bug fixes) - - * Signal.trap - - See above. - - * Merge Onigmo. - https://github.com/k-takata/Onigmo - - * The :close_others option is true by default for system() and exec(). - Also, the close-on-exec flag is set by default for all new file descriptors. - This means file descriptors doesn't inherit to spawned process unless - explicitly requested such as system(..., fd=>fd). - - * Kernel#respond_to? against a protected method now returns false - unless the second argument is true. - - * Dir.mktmpdir in lib/tmpdir.rb - - See above. |
