Ruby Facets v3.1.0 Release Notes
Release Date: 2016-05-10 // almost 9 years ago-
๐ More or less a minor release, but there are some backward incompatabilites such as
Hash#except!
which no longer returns the rejected entries (use ๐Hash#remove!
for old behavior).Special thanks to Scott Parrish for all his help getting Facets in tip-top shape.
๐ Changes:
๐ New Features
- Add
Hash#remove!
for oldexcept!
behavior. - Add
Array#standard_deviation
. - Add
Array#variance
. - Add
Array#average
. - Add
Numeric#delimit
.
- Add
๐ Improved Features
- Change
Hash#except!
to not return rejected entries. - Improve definition of Character Set in
String.random
. - Add one to denominator of
String#similarity
score. - Enhanced download methods.
- Improvements on compatability with ActiveSupport.
- Enumerable#from and #thru return empty set when index is out of bounds.
- Change
๐ Bug Fixes
- Fix
Enumerable#key_by
. - Fix
Enumerable#sum
to take initial value.
- Fix
Previous changes from v3.0.0
-
๐ This major release has been a long time in coming --too long in fact. As with ๐ any "Point Oh" release, please expect a few hiccups and report them so we can ๐ get a solid 3.1 release out as soon as possible.
๐ This release is tailored for Ruby 2.0 and above. Ruby 1.9.x and older is no ๐ longer supported. If you still need to use Facets with Ruby 1.9.x or older then the excellent Backports project can be used to fill in the gaps.
๐ Changes:
๐ New Features
- Add Array#arrange
- Add Array#intersection
- Add Array#missing
- Add Array#uniqe_permutation
- Add Dir.lookup method
- Add Enumerator::Lazy#squeeze
- Add Hash#fetch_nested
- Add Hash#deep_rekey and Hash#deep_rekey!
- Add Kernel#instance_extract
- Add Math#EC for Euler's constant
- Add Module#alias_class_method
- Add Pathname#chdir
- Add Pathname#readline
- Add Proc.wrap (may become
Kernel#Proc()
) - Add Range#- and Range#+
- Add Regexp#to_proc
- Add String#each_match as alias for #mscan
- Add Time.current
๐ Improved Features
- Enumerable#sum argument is initial value.
- Generalize Enumerable#sum to duck-type on
#+
. - Hash#collate can take multiple arguments.
- Hash#collate no longer flattens automatically.
- Time#past? and #future? use Time.current.
- Better ActiveSupport compatibility.
๐ Renamed Features
- Rename Object#replace to Object#instance_replace.
- Rename Range#to_r to Range#to_rng, since #to_r is now for Rational.
- Rename Kernel#eigen to #meta.
๐ Bug Fixes
- Fix Platform#inspect.
๐ Deprecated Features Now in Ruby
- Deprecate Array#combination (now in Ruby).
- Deprecate Array#index (now in Ruby).
- Deprecate Array#permutation (now in Ruby).
- Deprecate Array#product (now in Ruby).
- Deprecate Array#rotate (now in Ruby).
- Deprecate Array#rotate! (now in Ruby).
- Deprecate Array#select! (now in Ruby).
- Deprecate Binding#eval (now in Ruby).
- Deprecate Float#round_at (now in Ruby as #round).
- Deprecate Hash#select! (now in Ruby).
- Deprecate Integer#even? (now in Ruby).
- Deprecate Integer#odd? (now in Ruby).
- Deprecate Kernel#callee (now in Ruby).
- Deprecate Kernel#method (now in Ruby).
- Deprecate Kernel#source_location (now in Ruby).
- Deprecate NilClass#to_f (now in Ruby).
- Deprecate NilClass#to_h (now in Ruby).
- Deprecate Numeric#round_at (now in Ruby as #round).
- Deprecate Proc#curry (now in Ruby).
- Deprecate String#bytes (now in Ruby).
- Deprecate String#each_char (now in Ruby).
- Deprecate String#end_with (now in Ruby).
- Deprecate String#lines (now in Ruby).
- Deprecate String#start_with (now in Ruby).
- Deprecate Symbol#to_proc (now in Ruby).
- Deprecate UnboundMethod#name (now in Ruby).