mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 f8e2964065
			
		
	
	
		f8e2964065
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # -*- rdoc -*-
 | |
| 
 | |
| = NEWS for Ruby 2.4.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 or Redmine
 | |
| (e.g. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>)
 | |
| 
 | |
| == Changes since the 2.3.0 release
 | |
| 
 | |
| === Language changes
 | |
| 
 | |
| === Core classes updates (outstanding ones only)
 | |
| 
 | |
| * Array
 | |
|   * Array#max and Array#min.  [Feature #12172]
 | |
|     This may cause a tiny incompatibility: if you redefine
 | |
|     Enumerable#max and call max to an Array, your redefinition will be
 | |
|     now ignored.  You should also redefine Array#max.
 | |
| 
 | |
| * Dir
 | |
| 
 | |
|   * Dir.empty?.  [Feature #10121]
 | |
| 
 | |
| * String
 | |
| 
 | |
|   * String.new(capacity: size) [Feature #12024]
 | |
| 
 | |
| * Symbol
 | |
| 
 | |
|   * Symbol#match now returns MatchData.  [Bug #11991]
 | |
| 
 | |
| * MatchData
 | |
| 
 | |
|   * MatchData#named_captures [Feature #11999]
 | |
| 
 | |
| === Stdlib updates (outstanding ones only)
 | |
| 
 | |
| * CSV
 | |
|   * Add a liberal_parsing option. [Feature #11839]
 | |
| 
 | |
| * optparse
 | |
|   * Add an into option. [Feature #11191]
 | |
| 
 | |
| === Stdlib compatibility issues (excluding feature bug fixes)
 | |
| 
 | |
| === Built-in global variables compatibility issues
 | |
| 
 | |
| === C API updates
 | |
| 
 | |
| * ruby_show_version() will no longer exits the process, if
 | |
|   RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0.  This will be the default in
 | |
|   the future.
 | |
| 
 | |
| === Supported platform changes
 | |
| 
 | |
| === Implementation improvements
 | |
| 
 | |
| * In some condition, `[x, y].max` and `[x, y].min` are optimized
 | |
|   so that a temporal array is not created.  The concrete condition is
 | |
|   an implementation detail: currently, the array literal must have no
 | |
|   splat, must have at least one expression but literal, the length must
 | |
|   be <= 0x100, and Array#max and min must not be redefined.  It will work
 | |
|   in most casual and real-life use case where it is written with intent
 | |
|   to `Math.max(x, y)`.
 |