diff options
Diffstat (limited to 'NEWS')
| -rw-r--r-- | NEWS | 255 |
1 files changed, 0 insertions, 255 deletions
@@ -1,255 +0,0 @@ -# -*- 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] - -=== 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 - * 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 - * Improvements - * Introduce incremental marking for major GC. [Feature #10137] - -* Kernel - * New methods: - * Kernel#itself - -* Process - * Extended method: - * Process execution methods such as Process.spawn opens the file in write - mode for redirect from [:out, :err]. - * Process creation methods, such as spawn(), uses vfork() system call. - vfork() is faster than fork() when the parent process uses huge memory. - -* Symbol - * Improvements - * Most symbols which are returned by String#to_sym and - String#intern are GC-able. - -* 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). - -* 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) - -* 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, 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. - -* 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) - -* Digest - * Digest::HMAC has been removed just as previously noticed. - -* Etc - * New methods: - * Etc.uname - * Etc.sysconf - * Etc.confstr - * IO#pathconf - -* Find, Pathname - * Extended methods: - * find method accepts "ignore_error" keyword argument. - -* Pathname - * Pathname#/ is aliased to Pathname#+. - * New methods: - * Pathname#birthtime - -=== 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. - -* 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. - -* 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()` now share middle of a string, - but not only the end of a string. 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 |
