Facets 2.7 is most significant release of Facets since 2.4. Rather then trickle-release these changes over the course of the 2.6.x series, I made the decision to let 2.7 have them all at once. In so doing this release nearly completes the process of trimming down the MORE library to its essentials. Over 40 high-level libraries have been spun-off as separate gems and/or deprecated. No doubt this is a big change for Facets, and the transition may be a bit bumpy over the short-term, but I am certain that in the long-run everyone involved will be better served. To help, I have listed the effected libraries and the alternate gems available to take their place.
A few other changes have also been made in the release that may also effect your code. In particular you should note that #class_extension has been renamed to #class_extend (require 'facets/class_extend'). In addition we have added a few new core methods such as Exception#raised? and Symbol#thrown?.
Spun-Off Projects
These libraries have been deprecated from Facets entirely, but are available as separate gems (or soon will be).
LIBRARY GEM
------------------- -------------------------
overload.rb overload
binreadable.rb binaryio
downloader.rb downloader
xoxo.rb xoxo
bicrypt.rb bicrypt
typecast.rb typecast
association.rb association
syncarray.rb sync
synchash.rb sync
paramix.rb paramix
crypt.rb crypt3
lrucache.rb lrucache
net/smtp_tls.rb smtp_tls
advisable.rb advisable
buildable.rb buildable
memoizer.rb memoizer
harray.rb sparray
sparse_array.rb sparray
iteration.rb iteration
interval.rb stick
infinity.rb stick
pool.rb pool
linkedlist.rb linkedlist
semaphore.rb semaphore
pqueue.rb pqueue
censor.rb language
macther.rb language
basex.rb radix
minitar.rb archive-tar-minitar, folio
Spun-Off But Still Available
These libraries have been spun-off into stand-alone gems, but remain available via Facets too. Ultimately some of these will be removed from Facets too (in particular the ansi libraries).
LIBRARY GEM
------------------- -------------------------
ansicode.rb ansi
progressbar.rb ansi
logger.rb ansi
tracepoint.rb tracepoint
dictionary.rb dictionary
recorder.rb recorder
ostructable.rb ostructable, openhash
openobject.rb openhash
opencollection.rb openhash
opencascade.rb openhash
openhash.rb openhash
openmodule.rb openmodule
fileable.rb fileable
expirable.rb expirable
enumerablepass.rb enumargs
Deprecations Without Current Replacement
The libraries have been deprecated but do not yet have replacements. Separate gems for these are planned though.
* bbcode.rb
* ini.rb
* settings.rb
* xmlhash.rb
Deprecations Merged Into CORE
These libraries have been deprecated because their functionality was merged into the CORE library and/or made available in some another way.
* 1stclassmethod.rb #method! and #instance_method! are now part of CORE.
* elementor.rb #per has been added to CORE.
* elementwise.rb #ewise has been added to CORE.
* consoleutils.rb #ask is in CORE, for the rest see Ansi or Clio project.
* attr.rb Added Module#attr_setter to CORE, and separated the rest in MORE.
General Deprecations
These libraries have simply been deprecated because they were found lacking in some significant fashion.
* nilstatus.rb Poved rather useless, not to mention trivial.
* heap.rb Heap was just an alias for PQueue anyway. Use 'pqueue' instead.
* dependency.rb Other solutions exist that are much better (like Advisable).
* classmethods.rb #class_extend solution is more robust.
* ziputils.rb Have a look at Folio (gem install folio) for replacement.
* unheritable.rb Implementation is trivial and usefulness questionable.
* instantise.rb Replaced by instance_function.rb.
In addition to all this we've also taken some time to ensure Ruby Facets is more compatible with Ruby 1.9 --indeed, at this point, it should be very close to fully compatibility. In the process of doing this, btw, it has become clear that Ruby 1.9 picked up a good number of methods already supported by Facets (some with the same exact names and some with changed names). There's no way to know if Facets had any influence in these additions to 1.9, but at the very least we can be sure that Facets contributed to "airing the field" that led to their addition. That's a great thing, as it means Facets is directly contributing to Ruby's future. I hope that will continue.