Facets v2.4.1 released

Facets is a single largest collection of core extension methods and
standard class additions available for the Ruby programming language.


= Release Notes

Facets 2.4 is a major step forward for Facets. It is perhaps the release
that 2.0 should have been, but of course it took the actual 2.0 release
to make 2.4 possible. Some annoyances you may have encountered in
updating your code to 2.0 are now fixed. And from 2.4 on, Facets will
now be settling down into simple refinement release cycles.

The main change under the hood is to bring everything up to the top
lib/facets/ directory. No longer are the libraries sorted by category. I
had done so for a long time to make it easier to track the various libs,
but in the end it was only making it more diffcult to deal with build
tools and packaging.

For the end-user, the largest change is a new emphisis on:

require ‘facets’

This is better than cherry-picking methods. It may seem counter-
intuitive, but it actually proves more advantantages to do this for the
sake of interoperability than the practice of cherry-picking. The reason
is simply because others may have cherry-picked different methods, and
those distinctions go unaccounted and untested.

Also with this release, to bolster the use of require ‘facets’, some
lack-luster extensions have been deprecated and namespace usage has been
improved. In addition, we are getting very close to full ActiveSupport,
and Ruby 1.9, interoperability. Expect this to be complete in the next
minor release or two.

= Previous Notes

(2.3.0) Amoung other changes with this release, cloneable.rb is now a
true deep dup/clone mixin; tracepoint.rb returns to the library.

(2.2.1) This release get rid of the underlying methods subdir. All
method redirects are now in core, to ensure there are no more name

(2.2.0) This release provides improved rdocs and prepares facets for use
with RUby 1.9. It also adds Matthew H.’ duration.rb library. Bug
thanks to Matthew!

(2.1.0) Major changes include a new and much-improved command.rb, a new
BiCrypt class for simple two-way crypotgraphy, as well as attr_reader!,
attr_writer! and attr_accessor! for flag attributes, plus alias_xxx
methods for all attr_xxx methods.

= Change History

== 2.4.1 / 2008-04-03

  • Comparing to ActiveSupport, found 63 extension clashes, but mos are
    due to 1.9 features and the rest should be compatible.
  • A much imporoved paramix.rb has been returned to the library; but
    please note it’s not quite finished yet.
  • Reatomized a number of Kernel and String methods. Reatomization is
    nearly complete.
  • Deprecated behavior.rb. It was not robust.
  • Added basex.rb, library for working in any encoding base using any
    character set (base62 is the default).

== 2.4.0 / 2008-03-24

  • String#to_re and String#to_rx have swapped default behaviors. #to_rx
    escapes, #to_re does not.
  • The Console namespace is being deprecated. command.rb and arguments.rb
    now use CLI naemspace.
  • #compare_on and #equate_on are now “mixin methods” Comparable() and
  • Enumerable#product, #combintations and #permutations have change to be
    Ruby 1.9 compatible.
  • thread.rb, map_send, et al, block is passed to send instead of
    yielding on result.
  • namespace.rb has been renamed to methodspace.rb.
  • Ruby 1.9 defined a new Proc#curry method, so Facets version has been
    made compatible.
  • The old curry method is now called #partial, as in “partial
  • Deprecated interface.rb. Perhaps a better approach but nonetheless
  • Deprecated paramix.rb. A better way is to use a capitialized methods.
    (Perhaps a lib for that?)
  • Brought back a few web related libs, htmlfilter.rb and cssfilter.rb in