diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-10 14:54:03 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-10 14:54:03 +0000 |
commit | a4f423f18bd60312c7e6e503c60e368c064abbd1 (patch) | |
tree | 6af8b06e3d889fe64a4a738897d4eccf4c98dbe2 /NEWS | |
parent | 431812bd62be5f204f7ad8acbf6d61981ab47ee4 (diff) |
* docs/NEWS-1.9.3: moved from NEWS.
* docs/ChangeLog-1.9.3: merged ChangeLog for 1.9.3.
* NEWS: NEWS for 1.9.4 that describes changes since 1.9.3
* ChangeLog: new ChangeLog for 1.9.4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 282 |
1 files changed, 1 insertions, 281 deletions
@@ -8,291 +8,11 @@ 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. +== Changes since the 1.9.3 release === 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 - - * Bignum - * Multiplication algorithm for Bignums with a large number of digits over - 150 BDIGITs is changed in order to reduce its calculation time. - Now such large Bignums are multiplied by using Toom-3 algorithm. - - * Encoding - * new encodings: - * CP950 - * CP951 - * UTF-16 - * UTF-32 - * change alias: - * SJIS is Windows-31J - - * File - * new constant: - * File::NULL - name of NULL device. - * File::DIRECT - name of O_DIRECT. - - * IO - * extended method: - * IO#putc supports multibyte characters - * new methods: - * IO#advise - * IO.write(name, string, [offset] ) - Write `string` to file `name`. - Opposite with File.read. - * IO.binwrite(name, string, [offset] ) - binary version of IO.write. - - * Kernel - * move #__id__ to BasicObject. - * extended method: - * Kernel#rand supports range argument - - * Module - * new methods: - * Module#private_constant - * Module#public_constant - - * Random - * extended method: - * Random.rand supports range argument - - * 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. - -* bigdecimal - * Kernel.BigDecimal and BigDecimal.new now accept instances of Integer, - Rational, and Float. If you pass a Rational or a Float to them, you must - specify the precision to produce the digits of a BigDecimal. - - * The behavior of BigDecimal#coerce with a Rational is changed. It uses - the precision of the receiver BigDecimal to produce the digits of a - BigDecimal from the given Rational. - -* date - - * Accepts flonum explicitly with limitations. - * If the given offset is flonum, DateTime assumes its precision is - at most second. - - DateTime.new(2001,2,3,0,0,0,3.0/24) == - DateTime.new(2001,2,3,0,0,0,'+03:00') - #=> true - - * If the given operand for -/+ is flonum, DateTime assumes its - precision is at most nanosecond. - - DateTime.new(2001,2,3) + 0.5 == DateTime.new(2001,2,3,12) - #=> true - - * Precision of offset is always at most second. - - Rational('0.5') == Rational('0.500001') #=> false - DateTime.new(2001,2,3,0,0,0,Rational('0.5')) == - DateTime.new(2001,2,3,0,0,0,Rational('0.500001')) - #=> true - - * Ignores long offset and far reform day (with warning). - - * Now accepts only: - - -1<=offset<=1 (-24:00..+24:00) - 2298874<=start<=2426355 or -/+oo - (proleptic Gregorian/Julian mean -/+oo) - - * A method strftime cannot produce huge output (same as Time's one). - - * Even though Date/DateTime can handle far dates, the following gives - an empty string: - - DateTime.new(1<<10000).strftime('%Y') #=> "" - - * Changed the format of inspect. - * Changed the format of marshal (but, can load old dumps). - -* io/console - * new methods: - * IO#noecho {|io| } - * IO#echo= - * IO#echo? - * IO#raw {|io| } - * IO#raw! - * IO#getch - * IO#winsize - * IO.console - -* matrix - * new classes: - * Matrix::EigenvalueDecomposition - * Matrix::LUPDecomposition - * new methods: - * Matrix#diagonal? - * Matrix#eigen - * Matrix#eigensystem - * Matrix#hermitian? - * Matrix#lower_triangular? - * Matrix#lup - * Matrix#lup_decomposition - * Matrix#normal? - * Matrix#orthogonal? - * Matrix#permutation? - * Matrix#round - * Matrix#symmetric? - * Matrix#unitary? - * Matrix#upper_triangular? - * Matrix#zero? - * Vector#magnitude, #norm - * Vector#normalize - * extended methods: - * Matrix#each and #each_with_index can iterate on a subset of the elements - * Matrix#find_index returns [row, column] and can iterate on a subset - of the elements - * Matrix#** implements Numeric exponents (using the eigensystem) - * Matrix.zero can build rectangular matrices - -* 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') - - * new method: - * Net::HTTPRequest#set_form): Added to support - both application/x-www-form-urlencoded and multipart/form-data. - -* 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. - * OpenSSL::PKey.read( file | string [, pwd] ) allows to read arbitrary - public/private keys in DER-/PEM-encoded form with an optional password - for encrypted PEM encodings. - * Add new method OpenSSL::X509::Name#hash_old as a wrapper of - X509_NAME_hash_old() defined from OpenSSL 1.0.0. It returns OpenSSL 0.9.8 - compatible hash value. - -* optparse - * support for bash/zsh completion. - -* Rake - * Rake has been upgraded from 0.8.7 to 0.9.2.1. For full release notes see - https://github.com/jimweirich/rake/blob/master/CHANGES - -* RDoc - * RDoc has been upgraded from 2.5.8 to 3.8. For full release notes see - http://docs.seattlerb.org/rdoc/History_txt.html - -* rexml - * Support Ruby native encoding mechanism and iconv dependency is dropped. - -* RubyGems - * RubyGems has been upgraded to version 1.8.5.1. 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. - * --hide-skip: Hide skip messages. You'll see the number of skips at end of - test result. - -* 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) None |