Ruby Facets v3.1.0 Release Notes

Release Date: 2016-05-10 // about 8 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).