"Fossies" - the Fresh Open Source Software Archive

Member "ruby-2.6.5/doc/NEWS-1.9.3" (1 Oct 2019, 9998 Bytes) of package /linux/misc/ruby-2.6.5.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 # -*- rdoc -*-
    2 = NEWS for Ruby 1.9.3
    3 
    4 This document is a list of user visible feature changes made between
    5 releases except for bug fixes.
    6 
    7 Note that each entry is kept so brief that no reason behind or
    8 reference information is supplied with.  For a full list of changes
    9 with all sufficient information, see the ChangeLog file.
   10 
   11 == Changes since the 1.9.2 release
   12 === License
   13 
   14 * Ruby's License is changed from a dual license with GPLv2
   15   to a dual license with 2-clause BSDL.
   16 
   17 === Known platform dependent issues
   18 ==== OS X Lion
   19 
   20 * You have to configure ruby with '--with-gcc=gcc-4.2' if you're using
   21   Xcode 4.1, or, if you're using Xcode 4.2, you have to configure ruby
   22   with '--with-gcc=clang'.
   23 
   24 === C API updates
   25 
   26 * rb_scan_args() is enhanced with support for option hash argument
   27   extraction.
   28 
   29 * ruby_vm_at_exit() added.  This enables extension libs to hook a VM
   30   termination.
   31 
   32 * rb_reserved_fd_p() added.  If you want to close all file descriptors,
   33   check using this API.  [ruby-core:37759]
   34 
   35 === Library updates (outstanding ones only)
   36 
   37 * builtin classes
   38 
   39   * ARGF
   40     * new methods:
   41       * ARGF.print
   42       * ARGF.printf
   43       * ARGF.putc
   44       * ARGF.puts
   45       * ARGF.read_nonblock
   46       * ARGF.to_write_io
   47       * ARGF.write
   48 
   49   * Array
   50     * extended method:
   51       * Array#pack supports endian modifiers
   52 
   53   * Bignum
   54     * Multiplication algorithm for Bignums with a large number of digits over
   55       150 BDIGITs is changed in order to reduce its calculation time.
   56       Now such large Bignums are multiplied by using Toom-3 algorithm.
   57 
   58   * Encoding
   59     * new encodings:
   60       * CP950
   61       * CP951
   62       * UTF-16
   63       * UTF-32
   64     * change alias:
   65       * SJIS is Windows-31J
   66 
   67   * File
   68     * new constant:
   69       * File::NULL
   70         name of NULL device.
   71       * File::DIRECT
   72         name of O_DIRECT.
   73 
   74   * IO
   75     * extended method:
   76       * IO#putc supports multibyte characters
   77     * new methods:
   78       * IO#advise
   79       * IO.write(name, string, [offset] )
   80         Write `string` to file `name`.
   81         Opposite with File.read.
   82       * IO.binwrite(name, string, [offset] )
   83         binary version of IO.write.
   84 
   85   * Kernel
   86     * move #__id__ to BasicObject.
   87     * extended method:
   88       * Kernel#rand supports range argument
   89 
   90   * Module
   91     * new methods:
   92       * Module#private_constant
   93       * Module#public_constant
   94 
   95   * Random
   96     * extended method:
   97       * Random.rand supports range argument
   98 
   99   * String
  100     * extended method:
  101       * String#unpack supports endian modifiers
  102     * new method:
  103       * String#prepend
  104       * String#byteslice
  105 
  106   * Time
  107     * extended method:
  108       * Time#strftime supports %:z and %::z.
  109 
  110   * Process
  111     * Process#maxgroups and Process#maxgroups= now raise NotImplementedError if
  112       the platform don't support supplementary groups concept.
  113 
  114 * bigdecimal
  115 
  116   * BigDecimal#power and BigDecimal#** support non-integral exponent.
  117 
  118   * Kernel.BigDecimal and BigDecimal.new now accept instances of Integer,
  119     Rational, Float, and BigDecimal.  If you pass a Rational or a Float to
  120     them, you must specify the precision to produce the digits of a BigDecimal.
  121 
  122   * The behavior of BigDecimal#coerce with a Rational is changed.  It uses
  123     the precision of the receiver BigDecimal to produce the digits of a
  124     BigDecimal from the given Rational.
  125 
  126 * bigdecimal/util
  127 
  128   * BigDecimal#to_d and Integer#to_d are added.
  129 
  130   * Float#to_d accepts a precision.
  131 
  132   * Rational#to_d raises ArgumentError when passing zero or negative
  133     precision.
  134 
  135   * Rational#to_d
  136 
  137     * Zero and an implicit precision is deprecated.
  138       This feature is removed at the next release of bigdecimal.
  139 
  140     * A negative precision isn't supported.
  141       Be careful it is an incompatible change.
  142 
  143 * date
  144 
  145   * Accepts flonum explicitly with limitations.
  146     * If the given offset is flonum, DateTime assumes its precision is
  147       at most second.
  148 
  149       DateTime.new(2001,2,3,0,0,0,3.0/24) ==
  150       DateTime.new(2001,2,3,0,0,0,'+03:00')
  151         #=> true
  152 
  153     * If the given operand for -/+ is flonum, DateTime assumes its
  154       precision is at most nanosecond.
  155 
  156       DateTime.new(2001,2,3) + 0.5 == DateTime.new(2001,2,3,12)
  157         #=> true
  158 
  159     * Precision of offset is always at most second.
  160 
  161       Rational('0.5') == Rational('0.500001')  #=> false
  162       DateTime.new(2001,2,3,0,0,0,Rational('0.5')) ==
  163       DateTime.new(2001,2,3,0,0,0,Rational('0.500001'))
  164         #=> true
  165 
  166   * Ignores long offset and far reform day (with warning).
  167 
  168     * Now accepts only:
  169 
  170       -1<=offset<=1 (-24:00..+24:00)
  171       2298874<=start<=2426355 or -/+oo
  172         (proleptic Gregorian/Julian mean -/+oo)
  173 
  174   * A method strftime cannot produce huge output (same as Time's one).
  175 
  176     * Even though Date/DateTime can handle far dates, the following causes
  177       an exception.
  178 
  179       DateTime.new(1<<10000).strftime('%Y')  # Errno::ERANGE
  180 
  181   * Changed the format of inspect.
  182   * Changed the format of marshal (but, can load old dumps).
  183 
  184 * io/console
  185   * new methods:
  186     * IO#noecho {|io| }
  187     * IO#echo=
  188     * IO#echo?
  189     * IO#raw {|io| }
  190     * IO#raw!
  191     * IO#getch
  192     * IO#winsize
  193     * IO.console
  194 
  195 * json
  196   * updated to v1.5.4.
  197 
  198 * matrix
  199   * new classes:
  200     * Matrix::EigenvalueDecomposition
  201     * Matrix::LUPDecomposition
  202   * new methods:
  203     * Matrix#diagonal?
  204     * Matrix#eigen
  205     * Matrix#eigensystem
  206     * Matrix#hermitian?
  207     * Matrix#lower_triangular?
  208     * Matrix#lup
  209     * Matrix#lup_decomposition
  210     * Matrix#normal?
  211     * Matrix#orthogonal?
  212     * Matrix#permutation?
  213     * Matrix#round
  214     * Matrix#symmetric?
  215     * Matrix#unitary?
  216     * Matrix#upper_triangular?
  217     * Matrix#zero?
  218     * Vector#magnitude, #norm
  219     * Vector#normalize
  220   * extended methods:
  221     * Matrix#each and #each_with_index can iterate on a subset of the elements
  222     * Matrix#find_index returns [row, column] and can iterate on a subset
  223       of the elements
  224     * Matrix#** implements Numeric exponents (using the eigensystem)
  225     * Matrix.zero can build rectangular matrices
  226 
  227 * minitest
  228   * Minitest has been updated to version 2.2.2.
  229   * For full details, see https://github.com/seattlerb/minitest/blob/master/History.txt
  230 
  231 * net/http
  232   * SNI (Server Name Indication) supported for HTTPS.
  233 
  234   * Allow to configure to wait server returning '100 continue' response
  235     before sending HTTP request body. Set Net::HTTP#continue_timeout AND pass
  236     'expect' => '100-continue' to a extra HTTP header.
  237 
  238     For example, the following code sends HTTP header and waits for getting
  239     '100 continue' response before sending HTTP request body. When 0.5 [sec]
  240     timeout occurs or the server send '100 continue', the client sends HTTP
  241     request body.
  242       http.continue_timeout = 0.5
  243       http.request_post('/continue', 'body=BODY', 'expect' => '100-continue')
  244 
  245   * new method:
  246     * Net::HTTPRequest#set_form): Added to support
  247       both application/x-www-form-urlencoded and multipart/form-data.
  248 
  249 * objspace
  250   * new method:
  251     * ObjectSpace::memsize_of_all
  252 
  253 * openssl
  254   * PKey::RSA and PKey::DSA now use the generic X.509 encoding scheme
  255     (e.g. used in a X.509 certificate's Subject Public Key Info) when
  256     exporting public keys to DER or PEM. Backward compatibility is
  257     ensured by (already existing) fallbacks during creation.
  258   * OpenSSL::ASN1::Constructive#new and OpenSSL::ASN1::Primitive#new
  259     (and the constructors of their sub-classes) will no longer force
  260     tagging to be set to :EXPLICIT when tag and/or tag_class are passed
  261     as parameters. tagging must be set explicitly.
  262   * Support for infinite length encodings via infinite_length attribute.
  263   * OpenSSL::PKey.read( file | string [, pwd] ) allows to read arbitrary
  264     public/private keys in DER-/PEM-encoded form with an optional password
  265     for encrypted PEM encodings.
  266   * Add new method OpenSSL::X509::Name#hash_old as a wrapper of
  267     X509_NAME_hash_old() defined from OpenSSL 1.0.0. It returns OpenSSL 0.9.8
  268     compatible hash value.
  269 
  270 * optparse
  271   * support for bash/zsh completion.
  272 
  273 * Rake
  274   * Rake has been upgraded from 0.8.7 to 0.9.2.2.  For full release notes see
  275     https://github.com/jimweirich/rake/blob/master/CHANGES
  276 
  277 * RDoc
  278   * RDoc has been upgraded to version 3.9.4.  For full release notes see
  279     http://docs.seattlerb.org/rdoc/History_txt.html
  280 
  281 * rexml
  282   * Support Ruby native encoding mechanism and iconv dependency is dropped.
  283 
  284 * RubyGems
  285   * RubyGems has been upgraded to version 1.8.10. For full release notes see
  286     http://rubygems.rubyforge.org/rubygems-update/History_txt.html
  287 
  288 * stringio
  289   * extended method:
  290     * StringIO#set_encoding can get 2nd argument and optional hash.
  291 
  292 * test/unit
  293   * New arguments:
  294     * -j N, --jobs=N: Allow run N testcases at once.
  295     * --jobs-status: Show status of jobs when parallel running.
  296     * --no-retry: Don't retry testcases which failed when parallel running.
  297     * --ruby=RUBY: path to ruby for job(worker) process. optional.
  298     * --hide-skip: Hide skip messages. You'll see the number of skips at end of
  299       test result.
  300 
  301 * uri
  302   * new methods:
  303     * URI::Generic#hostname
  304     * URI::Generic#hostname=
  305 
  306 * webrick
  307   * new method:
  308     * WEBrick::HTTPRequest#continue for generating '100 continue' response.
  309   * new logging directive:
  310     * %{remote}p for remote (client) port number.
  311 
  312 * yaml
  313   * The default YAML engine is now Psych. You may downgrade to syck by setting
  314     YAML::ENGINE.yamler = 'syck'.
  315 
  316 * zlib
  317   * new methods:
  318     * Zlib.deflate
  319     * Zlib.inflate
  320 
  321 * FileUtils
  322   * extended method:
  323     * FileUtils#chmod supports symbolic mode argument.
  324 
  325 === Language changes
  326 
  327 * Regexps now support Unicode 6.0. (new characters and scripts)
  328 
  329 * [experimental] Regexps now support Age property.
  330   Unlike Perl, current implementation takes interpretation of the
  331   interpretation of UTS #18.
  332   http://www.unicode.org/reports/tr18/
  333 
  334 * Turning on/off indentation warnings with directives.
  335   ("# -*- warn-indent: true -*-" / "# -*- warn-indent: false -*-")
  336 
  337 === Compatibility issues (excluding feature bug fixes)
  338 
  339   * Rational#to_d
  340 
  341     See above.