ruby-changes:36927
From: kazu <ko1@a...>
Date: Thu, 25 Dec 2014 22:53:53 +0900 (JST)
Subject: [ruby-changes:36927] kazu:r49008 (trunk): old ChangeLog and NEWS move to doc
kazu 2014-12-25 22:53:36 +0900 (Thu, 25 Dec 2014) New Revision: 49008 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49008 Log: old ChangeLog and NEWS move to doc * doc/NEWS-2.2.0: moved from NEWS * doc/ChangeLog-2.2.0: moved ChangeLog older than created ruby_2_2 branch * NEWS: NEWS for 2.3.0 that describes changes since 2.2.0 * ChangeLog: ChangeLog since branch point of ruby_2_2 branch Added files: trunk/doc/ChangeLog-2.2.0 trunk/doc/NEWS-2.2.0 Modified files: trunk/ChangeLog trunk/NEWS Index: doc/NEWS-2.2.0 =================================================================== --- doc/NEWS-2.2.0 (revision 0) +++ doc/NEWS-2.2.0 (revision 49008) @@ -0,0 +1,356 @@ https://github.com/ruby/ruby/blob/trunk/doc/NEWS-2.2.0#L1 +# -*- rdoc -*- + += NEWS for Ruby 2.2.0 + +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 2.1.0 release + +=== Language changes + +* nil/true/false + * nil/true/false objects are frozen. [Feature #8923] + +* Hash literal + * Symbol key followed by a colon can be quoted. [Feature #4276] + +* default argument + fixed a very longstanding bug that an optional argument was not + accessible in its default value expression. [Bug #9593] + +=== Core classes updates (outstanding ones only) + +* Binding + * New methods: + * Binding#local_variables + * Binding#receiver + +* Dir + * New methods: + * Dir#fileno + +* Enumerable + * New methods: + * Enumerable#slice_after + * Enumerable#slice_when + * Extended methods: + * min, min_by, max and max_by supports optional argument to return + multiple elements. + +* Float + * New methods: + * Float#next_float + * Float#prev_float + +* File + * New methods: + * File.birthtime + * File#birthtime + +* File::Stat + * New methods: + * File::Stat#birthtime + +* GC + * GC.latest_gc_info returns :state to represent current GC status. + * Improvements + * Introduce incremental marking for major GC. [Feature #10137] + +* IO + * Improvements + * IO#nonblock_read and IO#nonblock_write for pipes on Windows are supported. + +* Kernel + * New methods: + * Kernel#itself + * Improvements + * Kernel#throw raises UncaughtThrowError, subclass of ArgumentError when + there is no corresponding catch block, instead of ArgumentError. + +* Process + * Extended method: + * Process execution methods such as Process.spawn opens the file in write + mode for redirect from [:out, :err]. + +* String + * New methods: + * String#unicode_normalize + * String#unicode_normalize! + * String#unicode_normalized? + +* Symbol + * Improvements + * Most symbols which are returned by String#to_sym and + String#intern are GC-able. + +* Method + * New methods: + * Method#curry([arity]) returns a curried Proc. + * Method#super_method returns a Method of superclass, which would be called + when super is used. + +=== Core classes compatibility issues (excluding feature bug fixes) + +* Enumerable + * Enumerable#slice_before's state management deprecated. + * Enumerable#chunk's state management deprecated. + +* GC + * incompatible changes: + * Rename GC.stat entries. [Feature #9924] + See https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing + +* IO + * incompatible changes: + * When flushing file IO with IO#flush, you cannot assume that the metadata + of the file is updated immediately. On some platforms (especially + Windows), it is delayed until the filesystem load is decreased. + Use IO#fsync if you want to guarantee updating metadata. + +* Math + * incompatible changes: + * Math.log now raises Math::DomainError instead of returning NaN if the + base is less than 0, and returns NaN instead of -infinity if both of + two arguments are 0. + * Math.atan2 now returns values like as expected by C99 if both two + arguments are infinity. + +* Proc + * incompatible changes: + * ArgumentError is no longer raised when lambda Proc is passed as a + block, and the number of yielded arguments does not match the formal + arguments of the lambda, if just an array is yielded and its length + matches. + +* Process + * Process execution methods such as Process.spawn opens the file in write + mode for redirect from [:out, :err]. + Before Ruby 2.2, it was opened in read mode. + +=== Stdlib updates (outstanding ones only) + +* Continuation + * callcc is obsolete. use Fiber instead. + +* Digest + + * Digest() should now be thread-safe. If you have a problem with + regard to on-demand loading under a multi-threaded environment, + preload "digest/*" modules on boot or use this method instead of + directly referencing Digest::*. + * Digest::HMAC has been removed just as previously noticed. + +* DL + * DL has been removed from stdlib. Please use Fiddle instead! + +* Etc + * New methods: + * Etc.uname + * Etc.sysconf + * Etc.confstr + * IO#pathconf + * Etc.nprocessors + +* Find, Pathname + * Extended methods: + * find method accepts "ignore_error" keyword argument. + +* Matrix + * New methods: + * Matrix#first_minor(row, column) returns the submatrix obtained + by deleting the specified row and column. + * Matrix#cofactor(row, column) returns the (row, column) cofactor + which is obtained by multiplying the first minor by (-1)**(row + column). + * Matrix#adjugate returns the adjugate of the matrix. + * hstack and vstack are new instance and class methods to stack matrices + horizontally and vertically. + * Matrix#laplace_expansion(row_or_column: num) returns the laplace_expansion + along the +num+ -th row or column. + * Vector.basis(size:, index:) returns the specified basis vector. + * Unary - and + added for Vector and Matrix. + * Vector#cross_product generalized to arbitrary dimensions. + * Vector#dot and #cross are aliases for #inner_product and #cross_product. + * Vector#angle_with returns the angle with its argument + * New instance and class method independent? to test linear independence. + +* Pathname + * Pathname#/ is aliased to Pathname#+. + * New methods: + * Pathname#birthtime + +* Rake + * Updated to Rake 10.4.0. For full release notes see: + + http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0 + +* RubyGems + * Updated to RubyGems 2.4.2. For full release notes see: + + http://docs.seattlerb.org/rubygems/History_txt.html#label-2.4.2+%2F+2014-10-01 + +* TSort + * TSort.tsort_each, TSort.each_strongly_connected_component and + TSort.each_strongly_connected_component_from returns an enumerator if + no block given. + +* XMLRPC + * Added new parser class named LibXMLStreamParser. + +=== Stdlib compatibility issues (excluding feature bug fixes) + +* lib/mathn.rb + * Show deprecated warning [Feature #10169] + +* ext/date/lib/date/format.rb + * Removed because it's empty file. + +* Digest + * Digest::HMAC has finally ceased to exist. Use OpenSSL::HMAC or an external gem instead. + +* time.rb + * Time.parse, Time.strptime, Time.rfc2822, Time.xmlschema may produce + fixed-offset Time objects. + It is happen when usual localtime doesn't preserve the offset from UTC. + * Time.httpdate produces always UTC Time object. + * Time.strptime raises ArgumentError when no date information. + +* lib/rational.rb + * Removed because it is deprecated from 2009. + +* lib/complex.rb + * Removed because it is deprecated from 2009. + +* lib/prettyprint.rb + * Removed PrettyPrint#first? + +* lib/minitest/*.rb + * Removed because it conflicts to minitest 5. [Feature #9711] + +* lib/test/**/*.rb + * Removed because it conflicts to minitest 5, and it was just an wrapper + of minitest 4. [Feature #9711] + +* lib/uri + * support RFC 3986. [Feature #2542] + +* GServer + * GServer is extracted to gserver gem. It's unmaintain code. + +* Logger + * Logger::Application is extracted to logger-application gem. It's unmaintain code. + +* ObjectSpace (after requiring "objspace") + * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE). + [Bug #8984] + +* Prime + * incompatible changes: + * Prime.prime? now returns false for negative numbers. This method + should not be used to know the number is composite or not. [Bug #7395] + +* Psych + * Removed Psych::EngineManager [Bug #8344] + +=== Built-in global variables compatibility issues + +=== C API updates + +* Deprecated APIs removed. [Feature #9502] + + Check_SafeStr -> SafeStringValue + rb_check_safe_str -> SafeStringValue + rb_quad_pack -> rb_integer_pack + rb_quad_unpack -> rb_integer_unpack + rb_read_check : access struct FILE internal. no replacement. + rb_struct_iv_get : internal function. no replacement. + struct rb_blocking_region_buffer : internal type. no replacement. + rb_thread_blocking_region_begin -> rb_thread_call_without_gvl family + rb_thread_blocking_region_end -> rb_thread_call_without_gvl family + TRAP_BEG -> rb_thread_call_without_gvl family + TRAP_END -> rb_thread_call_without_gvl family + rb_thread_select -> rb_thread_fd_select + struct rb_exec_arg : internal type. no replacement. + rb_exec : internal function. no replacement. + rb_exec_arg_addopt : internal function. no replacement. + rb_exec_arg_fixup : internal function. no replacement. + rb_exec_arg_init : internal function. no replacement. + rb_exec_err : internal function. no replacement. + rb_fork : internal function. no replacement. + rb_fork_err : internal function. no replacement. + rb_proc_exec_n : internal function. no replacement. + rb_run_exec_options : internal function. no replacement. + rb_run_exec_options_err : internal function. no replacement. + rb_thread_blocking_region -> rb_thread_call_without_gvl family + rb_thread_polling -> rb_thread_wait_for + rb_big2str0 : internal function. no replacement. + rb_big2ulong_pack -> rb_integer_pack + rb_gc_set_params : internal function. no replacement. + rb_io_mode_flags -> rb_io_modestr_fmode + rb_io_modenum_flags -> rb_io_oflags_fmode + +* struct RBignum is hidden. [Feature #6083] + Use rb_integer_pack and rb_integer_unpack instead. + +* struct RRational is hidden. [Feature #9513] + Use rb_rational_num and rb_rational_den instead. + +* rb_big_new and rb_big_resize takes a size_t instead of long. + +* rb_num2long returns a long instead of SIGNED_VALUE. + +* rb_num2ulong returns an unsigned long instead of VALUE. + +* st hash table uses power-of-two sizes for speed [Feature #9425]. + Lookups are 10-25% faster if using appropriate hash functions. + However, weaknesses in hash distribution can no longer be masked + by prime number-sized tables, so extensions may need to tweak + hash functions to ensure good distribution. + +* rb_sym2str() added. This is almost same as `rb_id2str(SYM2ID(sym))` + but not pinning a dynamic symbol. + +* rb_str_cat_cstr() added. This is same as `rb_str_cat2()`. + +* `rb_str_substr()` and `rb_str_subseq()` will share middle of a string, + but not only the end of a string, in the future. Therefore, result + strings may not be NUL-terminated, `StringValueCStr()` is needed + calling to obtain a NUL-terminated C string. + +* rb_tracepoint_new() supports new internal events accessible only from C: + * RUBY_INTERNAL_EVENT_GC_ENTER + * RUBY_INTERNAL_EVENT_GC_EXIT + r47528 + +* rb_hash_delete() now does not call the block given to the current method. + +* rb_extract_keywords() and rb_get_kwargs() exported. See README.EXT + for details. + +=== Build system updates + +* jemalloc is optionally supported via `./configure --with-jemalloc` + jemalloc may be suitable when system malloc is slow or prone + to fragmentation. [Feature #9113] + +=== Implementation changes + +* GC + * Most symbols which are returned by String#to_sym and + String#intern are GC-able [Feature #9634] + * Introduce incremental marking for major GC. [Feature #10137] + * Enable lazy sweep on GC caused by malloc(). + +* VM + * Use frozen string literals for Hash#[] and Hash#[]= + * Fast keyword arguments passing [Feature #10440] + * Allow to receive huge splatted array by a rest argument + [Feature #10440] + +* Process + * Process creation methods, such as spawn(), uses vfork() system call. + vfork() is faster than fork() when the parent process uses huge memory. Property changes on: doc/NEWS-2.2.0 ___________________________________________________________________ Added: svn:eol-style + LF Index: doc/ChangeLog-2.2.0 =================================================================== --- doc/ChangeLog-2.2.0 (revision 0) +++ doc/ChangeLog-2.2.0 (revision 49008) @@ -0,0 +1,12157 @@ https://github.com/ruby/ruby/blob/trunk/doc/ChangeLog-2.2.0#L1 +Thu Dec 25 16:01:19 2014 Nobuyoshi Nakada <nobu@r...> + + * file.c (rb_file_expand_path_internal): drop characters ignored + by filesystem on Mac OS X. + +Thu Dec 25 15:36:15 2014 Nobuyoshi Nakada <nobu@r...> + + * dir.c (replace_real_basename): get the real name and replace the + base name with it by getattrlist(2) if available. + suggested by Matthew Draper at [ruby-core:67116]. [Bug #10015] + + * dir.c (glob_helper): get the real name of the whole path, not + only the last name. + +Thu Dec 25 13:59:17 2014 Nobuyoshi Nakada <nobu@r...> + + * configure.in (NET_LUID): include also ifdef.h as a workaround of + a bug in mingw-w64 header. [ruby-core:67103] [Bug #10640] + +Thu Dec 25 12:47:44 2014 Nobuyoshi Nakada <nobu@r...> + + * parse.y (gettable_gen): warn possible reference to a local + variable defined in a past scope. + +Thu Dec 25 10:09:14 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/io/console/console.c (console_dev): id_console is not a + constant name, use rb_const_remove() to get rid of NameError. + +Thu Dec 25 09:18:55 2014 NAKAMURA Usaku <usa@r...> + + * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address): + set timeout for recvfrom because if client thread is crashed, it + waits infinity. + +Thu Dec 25 08:42:11 2014 Eric Wong <e@8...> + + * lib/uri/generic.rb (split_userinfo): fstring for 1-byte split + (set_port): reduce bytecode size + (check_path): reduce garbage via opt_str_freeze + (query=): ditto + (fragment=): ditto + [misc #10628] + * lib/uri/rfc3986_parser.rb (regexp): cache as attr + (initialize): setup and freeze regexp attr once + (split): reduce bytecode size, use opt_str_freeze + (parse): minor bytecode and garbage reduction + (default_regexp): rename for initialize + +Wed Dec 24 20:38:16 2014 Nobuyoshi Nakada <nobu@r...> + + * dir.c (glob_make_pattern): restrict searching case-insensitive + name from the filesystem to only last part, for the performance. + [ruby-core:63591] [Bug #10015] + +Wed Dec 24 18:21:27 2014 Koichi Sasada <ko1@a...> + + * gc.c: remove unused rb_objspace_t::rgengc::old_objects_at_gc_start. + +Wed Dec 24 13:25:22 2014 NARUSE, Yui <naruse@r...> + + * tool/redmine-backporter.rb: require view_changesets permission. + +Wed Dec 24 13:00:24 2014 Nobuyoshi Nakada <nobu@r...> + + * tool/downloader.rb (Downloader.download): fix the exception to + re-raise. initialize methods of subclasses of Exception may + have different parameters. [ruby-core:67086] [Bug #10639] + +Wed Dec 24 12:16:19 2014 Nobuyoshi Nakada <nobu@r...> + + * ruby.h (rb_data_type_t): revert r48647 and revise parent member. + [ruby-core:66969] [Bug #10621] + +Wed Dec 24 05:40:52 2014 NARUSE, Yui <naruse@r...> + + * tool/downloader.rb: use config.guess in gcc repo. + +Wed Dec 24 11:50:19 2014 Koichi Sasada <ko1@a...> + + * hash.c (rb_hash_delete): return Qnil if there are no corresponding + entry. [Bug #10623] + + * hash.c (rb_hash_delete_entry): try delete and return Qundef if there + are no corresponding entry. + + * internal.h: add rb_hash_delete_entry()'s declaration. + + * symbol.c: use rb_hash_delete_entry(). + + * thread.c: use rb_hash_delete_entry(). + + * ext/-test-/hash/delete.c: use rb_hash_delete_entry(). + +Wed Dec 24 09:35:11 2014 NAKAMURA Usaku <usa@r...> + + * ext/fiddle/extconf.rb: remove ffitarget.h generated by configure on + mswin, because it's not normal file (cygwin's symlink) and have + system attribute. + +Wed Dec 24 05:40:52 2014 NARUSE, Yui <naruse@r...> + + * tool/downloader.rb: support ruby 1.8. + +Wed Dec 24 02:44:06 2014 NARUSE, Yui <naruse@r...> + + * lib/net/http/response.rb (Net::HTTPResponse): require one or more + spaces [Bug #10591]. + by leriksen <leif.eriksen.au@g...> + https://github.com/ruby/ruby/pull/782 fix GH-782 + NOTE: graph.facebook.com returns without SP Reason-Phrase. + +Wed Dec 24 02:12:22 2014 Nobuyoshi Nakada <nobu@r...> + + * tool/make-snapshot (package): VCS#branch_list expects glob a + pattern string but not a regexp. based on the patch by Vit + Ondruch. in [ruby-core:67064]. [Bug #10636] + + * tool/vcs.rb (VCS::SVN#branch_list): strip newlines. + + * tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time + from toplevel log too. + + * tool/vcs.rb (VCS::GIT#branch_list): yield for each lines. + +Wed Dec 24 00:23:13 2014 NAKAMURA Usaku <usa@r...> + + * tool/extlibs.rb (do_extract): the pipe should be binmode. + +Wed Dec 24 00:21:44 2014 NAKAMURA Usaku <usa@r...> + + * Makefile.in, common.mk: move common-srcs to Makefile.in because + it breaks build on mswin. + +Wed Dec 24 00:04:45 2014 NAKAMURA Usaku <usa@r...> + + * lib/open-uri.rb (OpenURI.open_http): accept multiple certs path in + ssl_ca_certs. + + * tool/downloader.rb: use certs of rubygems for downloading gems. + +Tue Dec 23 22:39:11 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin. + +Tue Dec 23 22:04:38 2014 NARUSE, Yui <naruse@r...> + + * lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^ + on both rfc2396 and rfc3986. [Bug #10619] + +Tue Dec 23 16:03:35 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/win32/lib/win32/registry.rb (Win32::Registry::Error#initialize): + try en_US message if the default message cannot be encoded to + locale. [ruby-core:65295] [Bug #10300] + +Tue Dec 23 11:42:14 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge + data gradually not to exceed INT_MAX. workaround of OpenSSL API + limitation. [ruby-core:67043] [Bug #10633] + +Mon Dec 22 21:30:16 2014 Masaki Suketa <masaki.suketa@n...> + + * test/win32ole/test_win32ole_event.rb: some tests are + executed on standard Windows OS without ADO. + +Mon Dec 22 14:08:31 2014 Nobuyoshi Nakada <nobu@r...> + + * signal.c (received_signal): fix condition to define. + [ruby-core:67032] [Bug #10629] + +Sun Dec 21 10:51:51 2014 Masaki Suketa <masaki.suketa@n...> + + * test/win32ole/test_win32ole_event.rb: test_s_new_exception is + executed on standard Windows OS without ADO. + +Sun Dec 21 08:35:26 2014 Nobuyoshi Nakada <nobu@r...> + + * configure.in (jemalloc): fix option argument, should use + `$withval` but not `yes` always. [ruby-core:66994] [Bug #10625] + + * configure.in (jemalloc): defer adding the liner option to get + rid of linking contest against jemalloc, so that it works + without runtime dynamic load path. + +Sat Dec 20 17:49:03 2014 Tanaka Akira <akr@f...> + + * lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1. + [ruby-core:66943] [Bug #10616] Fixed by Alex Slynko. + +Sat Dec 20 11:22:58 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled + libffi if existing. + +Sat Dec 20 05:21:00 2014 Eric Wong <e@8...> + + * test/test_weakref.rb (test_repeated_object_leak): increase timeout + [Bug #10618] + +Fri Dec 19 22:33:13 2014 Tanaka Akira <akr@f...> + + * tool/update-deps: Use $(hdrdir) if possible. + +Fri Dec 19 22:10:00 2014 Kenta Murata <mrkn@c...> + + * ext/bigdecimal/depend: Fix depe (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/