mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
b219a56c07
server returning '100 continue' response befor sending HTTP request body. See NEWS for more detail. See #3622. Original patch is made by Eric Hodel <drbrain@segment7.net>. * test/net/http/test_http.rb: test it. * NEWS: Add new feature. On my env (Ubuntu 11.04 64bit), 9510 tests, 2203824 assertions, 0 failures, 0 errors, 29 skips -> 9514 tests, 2203836 assertions, 0 failures, 0 errors, 29 skips git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
192 lines
5.2 KiB
Text
192 lines
5.2 KiB
Text
# -*- 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.2 release
|
|
=== License
|
|
|
|
* Ruby's License is changed from a dual license with GPLv2
|
|
to a dual license with 2-clause BSDL.
|
|
|
|
=== C API updates
|
|
|
|
* rb_scan_args() is enhanced with support for option hash argument
|
|
extraction.
|
|
|
|
* ruby_vm_at_exit() added. This enables extension libs to hook a VM
|
|
termination.
|
|
|
|
=== Library updates (outstanding ones only)
|
|
|
|
* builtin classes
|
|
|
|
* ARGF
|
|
* new methods:
|
|
* ARGF.print
|
|
* ARGF.printf
|
|
* ARGF.putc
|
|
* ARGF.puts
|
|
* ARGF.read_nonblock
|
|
* ARGF.to_write_io
|
|
* ARGF.write
|
|
|
|
* Array
|
|
* extended method:
|
|
* Array#pack supports endian modifiers
|
|
|
|
* Encoding
|
|
* new encodings:
|
|
* CP950
|
|
* CP951
|
|
* UTF-16
|
|
* UTF-32
|
|
* change alias:
|
|
* SJIS is Windows-31J
|
|
|
|
* File
|
|
* new constant:
|
|
* File::NULL
|
|
name of NULL device.
|
|
|
|
* IO
|
|
* extended method:
|
|
* IO#putc supports multibyte characters
|
|
* new method:
|
|
* IO#advise
|
|
|
|
* Kernel
|
|
* Kernel#respond_to? now returns false for protected methods.
|
|
* move #__id__ to BasicObject.
|
|
|
|
* Module
|
|
* new methods:
|
|
* Module#private_constant
|
|
* Module#public_constant
|
|
|
|
* String
|
|
* extended method:
|
|
* String#unpack supports endian modifiers
|
|
* new method:
|
|
* String#prepend
|
|
* String#byteslice
|
|
|
|
* Time
|
|
* extended method:
|
|
* Time#strftime supports %:z and %::z.
|
|
|
|
* Process
|
|
* Process#maxgroups and Process#maxgroups= now raise NotImplementedError if
|
|
the platform don't support supplementary groups concept.
|
|
|
|
* io/console
|
|
* new methods:
|
|
* IO#noecho {|io| }
|
|
* IO#echo=
|
|
* IO#echo?
|
|
* IO#raw {|io| }
|
|
* IO#raw!
|
|
* IO#getch
|
|
* IO#winsize
|
|
* IO.console
|
|
|
|
* net/http
|
|
* SNI (Server Name Indication) supported for HTTPS.
|
|
|
|
* Allow to configure to wait server returning '100 continue' response
|
|
before sending HTTP request body. Set Net::HTTP#continue_timeout AND pass
|
|
'expect' => '100-continue' to a extra HTTP header.
|
|
|
|
For example, the following code sends HTTP header and waits for getting
|
|
'100 continue' response before sending HTTP request body. When 0.5 [sec]
|
|
timeout occurs or the server send '100 continue', the client sends HTTP
|
|
request body.
|
|
http.continue_timeout = 0.5
|
|
http.request_post('/continue', 'body=BODY', 'expect' => '100-continue')
|
|
|
|
* openssl
|
|
* PKey::RSA and PKey::DSA now use the generic X.509 encoding scheme
|
|
(e.g. used in a X.509 certificate's Subject Public Key Info) when
|
|
exporting public keys to DER or PEM. Backward compatibility is
|
|
ensured by (already existing) fallbacks during creation.
|
|
* OpenSSL::ASN1::Constructive#new and OpenSSL::ASN1::Primitive#new
|
|
(and the constructors of their sub-classes) will no longer force
|
|
tagging to be set to :EXPLICIT when tag and/or tag_class are passed
|
|
as parameters. tagging must be set explicitly.
|
|
* Support for infinite length encodings via infinite_length attribute.
|
|
|
|
* optparse
|
|
* support for bash/zsh completion.
|
|
|
|
* RDoc
|
|
* RDoc has been upgraded to RDoc 3.6.1. For full release notes see
|
|
http://docs.seattlerb.org/rdoc/History_txt.html
|
|
|
|
* rexml
|
|
* [incompatible] support Ruby native encoding mechanism
|
|
and iconv dependency is dropped. This means encoding
|
|
methods (Document#encoding, XMLDecl#encoding,
|
|
Output#encoding and Source#encoding) return an Encoding
|
|
object instead of an encoding name.
|
|
|
|
* Rubygems
|
|
* Rubygems has been upgraded to rubygems 1.5.0. For full release notes see
|
|
http://rubygems.rubyforge.org/rubygems-update/History_txt.html
|
|
|
|
* stringio
|
|
* extended method:
|
|
* StringIO#set_encoding can get 2nd argument and optional hash.
|
|
|
|
* test/unit
|
|
* New arguments:
|
|
* -j N, --jobs=N: Allow run N testcases at once.
|
|
* --jobs-status: Show status of jobs when parallel running.
|
|
* --no-retry: Don't retry testcases which failed when parallel running.
|
|
* --ruby=RUBY: path to ruby for job(worker) process. optional.
|
|
|
|
* uri
|
|
* new methods:
|
|
* URI::Generic#hostname
|
|
* URI::Generic#hostname=
|
|
|
|
* webrick
|
|
* new method:
|
|
* WEBrick::HTTPRequest#continue for generating '100 continue' response.
|
|
* new logging directive:
|
|
* %{remote}p for remote (client) port number.
|
|
|
|
* yaml
|
|
* The default YAML engine is now Psych. You may downgrade to syck by setting
|
|
YAML::ENGINE.yamler = 'syck'.
|
|
|
|
* zlib
|
|
* new methods:
|
|
* Zlib.deflate
|
|
* Zlib.inflate
|
|
|
|
* FileUtils
|
|
* extended method:
|
|
* FileUtils#chmod supports symbolic mode argument.
|
|
|
|
=== Language changes
|
|
|
|
* Regexps now support Unicode 6.0. (new characters and scripts)
|
|
|
|
* [experimental] Regexps now support Age property.
|
|
Unlike Perl, current implementation takes interpretation of the
|
|
interpretation of UTS #18.
|
|
http://www.unicode.org/reports/tr18/
|
|
|
|
* Turning on/off indentation warnings with directives.
|
|
("# -*- warn-indent: true -*-" / "# -*- warn-indent: false -*-")
|
|
|
|
=== Compatibility issues (excluding feature bug fixes)
|
|
|
|
* Kernel#respond_to?
|
|
|
|
See above.
|