mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			127 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# -*- 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
 | 
						|
 | 
						|
=== Core classes updates (outstanding ones only)
 | 
						|
 | 
						|
* Enumerable
 | 
						|
  * Extended methods:
 | 
						|
    * min, min_by, max and max_by supports optional argument to return
 | 
						|
      multiple elements.
 | 
						|
 | 
						|
* File
 | 
						|
  * new class File::Statfs to hold filesystem information. (experimental)
 | 
						|
 | 
						|
* IO
 | 
						|
  * New methods
 | 
						|
    * IO#statfs returns filesystem information as File::Statfs. (experimental)
 | 
						|
 | 
						|
* Symbol
 | 
						|
  * New methods
 | 
						|
    * Symbol.find(str) returns whether given string is defined as symbol or not.
 | 
						|
  * 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).
 | 
						|
 | 
						|
=== Core classes compatibility issues (excluding feature bug fixes)
 | 
						|
 | 
						|
* 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.
 | 
						|
* 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.
 | 
						|
 | 
						|
=== Stdlib updates (outstanding ones only)
 | 
						|
 | 
						|
* Find, Pathname
 | 
						|
  * Extended methods:
 | 
						|
    * find method accepts "ignore_error" keyword argument.
 | 
						|
 | 
						|
=== Stdlib compatibility issues (excluding feature bug fixes)
 | 
						|
 | 
						|
=== 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.
 | 
						|
 | 
						|
* 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.
 | 
						|
 | 
						|
* struct RSymbol added. This represents a dynamic symbol as object in
 | 
						|
  Ruby's heaps.
 | 
						|
 | 
						|
* 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.
 |