# Facets v2.4.1 released

**URL:** <https://www.ruby-forum.com/t/facets-v2-4-1-released/133802>\
**Category:** Ruby\
**Created:** [April 3, 2008, 8:15pm UTC](https://www.ruby-forum.com/t/facets-v2-4-1-released/133802 "2008-04-03T20:15:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [April 3, 2008, 8:15pm UTC](https://www.ruby-forum.com/t/facets-v2-4-1-released/133802/1 "2008-04-03T20:15:57Z")

</div>

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

[http://facets.rubyforge.org](http://facets.rubyforge.org)

= 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  
clashes.

(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  
Equateable().
- 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  
application”.
- Deprecated interface.rb. Perhaps a better approach but nonetheless  
extraneous.
- 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  
particular.
