Ruby Facets v3.1.0 Release Notes

Release Date: 2016-05-10 // over 5 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 old except! behavior.
      • Add Array#standard_deviation.
      • Add Array#variance.
      • Add Array#average.
      • Add Numeric#delimit.
    • ๐Ÿ‘Œ 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.
    • ๐Ÿ› Bug Fixes

      • Fix Enumerable#key_by.
      • Fix Enumerable#sum to take initial value.

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).