Hi--

Wooh! It's been a long time since the last release of Facets. Too long in fact
1.7's tiny made it all the way up to 191 before I tagged it 1.8! Facets continues
to mature: new methods have been added, as well as a few classes. As always thanks
to everyone who has contributed, both directly and indirectly.

Here's a summary of the change log.

  * significant improvements to command.rb thanks to Tyler Rick
  * added tests to elementwise and tap
  * fixed test for elementwise and op_tilde_self
  * added enumerable/map_send
  * added thread_map and thread_map_send thanks to greg
  * added operator "~@" for enumerable/elementwise
  * added more/consoleutils.rb
  * added string/cleave
  * added capitalize_all thanks to Richard Laugesen
  * cartesian_product is an alias of enumerable/cart
  * added array pad thanks to Richard Laugesen
  * added kernel/tap
  * converted facet/ requires to facets/core or facets/more as needed
  * further improvements to arguments.rb (looking good!)
  * improved symbol/self/generate
  * bug fix kernel/autoreload arguments needed to be in opposite order
  * add to_xoxo
  * removed bad character codes in multiplier.rb
  * used yaml to allow json.rb to work for all objects in general
  * improvements to functor (note: is to_a and to_proc okay?)
  * add test to string/bytes.rb
  * bug fix to nilclass/op_cmp
  * fixed enumerable/op_pow to use enumerable/cart
  * added array/op_div
  * adjustments to xmlbuilder and htmlbuilder dur to buildingblock changes
  * improved buildingblock.rb
  * simplified interface of arguments.rb (still a little more to do)
  * improvements/simplifications to Dir.multiglob
  * fixed misspelling of behavior.rb (was bahvior.rb)
  * removed #own from base list in facets.rb (really need a standard for "singleton class")
  * fixed bug in aspects.rb that would not handle args of wrapped method
  * Symbol#to_s optimization, had to remove freeze
  * updates to fileutils/stage (stage worth keeping?)
  * fix bug in kernel/ask, returns more than one character
  * cleanup of enumerbale/graph (no effective change)
  * new super fast enumerable/cart by Thomas Hafner (replaces #cross)
  * improved multiglob rountines (accept '+' and '-' prefixes)
  * fixed bug in attr_tester, thanks Dov!
  * added weekdays to times.rb thanks to Ryan Platte and Dave Hoover
  * improvements to dictionary.rb (no longer a subclass of Hash) thanks Jan!
  * improvements to ann.rb and ann_attr.rb. works, yea!
  * fixed bug in string/singular.rb
  * changed enumerable/cross into enumerable/cart and cartesian_product
  * moved enumerable/cross to enumerable/cart (cartesian_product)
  * added buildingblock.rb, replaced builderobject.rb
  * adjust require for "yored" files
  * HtmlBuilder and XMLBuilder are now based on BuildingBlock
  * ostuct adjustment, use #instance_delegate to get underneth the open access
  * module/include_as is now based on module/namespace (thanks Pit!)
  * fixed enumerable/partition_by
  * further updates to project info file (need to stop versioning this)
  * deprecated (yored) builderobject.rb (poor implementation)
  * added hash/insert; like store but only if key isn't already present
  * added module/include_and_extend
  * facets.rb now references facets/sys.rb
  * added facets/automatic -- very cool, albiet expiremental way to load core methods automatically!
  * added module/module_method; like module_function but makes method public
  * added module/include_function_module; attempts to properly include one function_module into another
  * kernel/yaml convenience method for YAML::load
  * added kernel/supress; supress errors while executing a block (nice DHH!)
  * added symbol/chomp, like string#chomp
  * added proc/to_h; converts an assignment proc into a hash
  * proc/bind; bind a proc to an object, returning a method
  * added module/prepend; provides dyanamic method wraps for modules, and static wraps for classes
  * added module/new; use a module as if it were a class
  * added module/alias_accessor
  * renamed #superior to #super_at
  * kernel/instance_class; yet anouther meta_class name, but a more sensicle name this one
  * added kernel/populate; populates an object's inst. vars from a hash or assingment block
  * added kernel/daemonize; yet another thanks to DHH!
  * added enumerable/injecting; like inject but automatically returns the memo from the block
  * added kernel/object_send, a true public-only send method
  * added kernel/silence_stream; output to null device; thanks DHH!
  * added kernel/instance_values, thanks DHH!
  * added Config::inspect for rbconfig
  * added hash/pairs_at (aking to values_at)
  * added _why's metaid methods (meta_class, meta_eval, etc.)
  * added kernel/enable_warnings to complement silence_warinings
  * added integer/to_roman
  * added logical operators for hash (and/or)
  * array/to_path convert ans array to a path string
  * array/index takes a block
  * added fileutils/compress; very simple convenience methods for archiving folders
  * added fileutils/stage adn staged, a means of transfering files accoring to preset rules
  * had to remove taskable.rb for now (implementation won't work as toplevel include)
  * added kernel/ask, simply command to get console input
  * moved deprecated #facet_require to yore lib
  * deprecated (yored) kernel/own, yet another term for the singleton class
  * renamed quaclass to qua_class
  * added populate.rb, mixin for classes that need on a basic initializer
  * added version_number.rb (a specialized tuple)
  * added uploadutils.rb
  * added Joel VanderWerf's great script.rb script
  * added Austin's minitar.rb --it's just too damn useful! (not in rdocs though)
  * added htmlfilter.rb very nice html escape class
  * added dependency.rb, allows methods to have dependent execution (like rake tasks)
  * added arguments.rb this is for parsing console command arguments
  * add new version of annotations: ann.rb and ann_attr.rb
  * memoize should now work at toplevel
  * removed dataobject.rb (was never used)
  * doc change to methodfilter.rb (maybe deprecat in future)
  * deprecated (yored!) module/inject; what a silly method
  * added File::yaml? to roughly detect if a file is a yaml file
  * deprecated kernel/require_facet (no longer needed)
  * moved old module/namespace implementation to yore
  * moved plugin.rb to ratchets/library project
  * proper credit for multiton goes to Ara T. Howard!!!! Also improvements.
  * remove library.rb (move to ratchets/library project)
  * improved time/stamp
  * reimplemented proc/to_method for more sensible behavior
  * reimplemented module/namespace, very clever thanks to pit captain
  * added module_load and module_require, e.g. load into and require into
  * reimplemented instance_exec, should be much improved
  * doc updates to inflect.rb
  * updates to Hash op_add, reverse_merge, and rekey
  * each_slice is now just an alias via enumerator & fixes to partition_by
  * modified all.rb (not recommended!) to require facets/sys
  * modifications to project information file (should this be versioned?)
  * created yore lib to store deprecated features (good idea!)
  * modified PROJECT info file
  * added module class/module_load and _require
  * remove facet/ redirect lib from darcs repository
  * kernel/returning is a stub for kernel/with
  * added proc/update as alias for #call per Tim Pease use of Proc as Observable
  * added behavior.rb by Nobuyoshi Nakada (plan to improve)
  * rewrote taskable.rb using classes to represent tasks; it is much improved
  * openobject.rb doc updates
  * major update to functor which is now a subclass of Proc (should be faster)
  * improvements to dictionary.rb to go along with additions of first and last
  * small improvements to command.rb
  * removed uses of __class__ for object_class and solidified usaged of #as in basicobject.rb
  * deprecated ostruct shadow methods (i.e __table__) in favor of #instance methods
  * added test to module/alias_method_chain
  * imporvements to instance_exec thanks to Mauricio Fernandez
  * improvements to kernel/send_as
  * improvements to kernel/as
  * fixed syntax in hash/op_add.rb
  * imporvements to hash/partition_by thanks to Gregory of Laurel
  * added Mauricio Fernandez to authors
  * added addtional work library lore
  * moved a number of "in the works" libs to ToadCode project
  * removed predicate.rb, an expiremental logic system, and moved to ToadCode
  * Added plugin.rb, an indirect require mechinism, ie. a plugin system
  * remove one.rb and moved to ToadCode project, this was just silly/fun library
  * Added library.rb which is a library ledger system (used to be roll.rb)
  * added kernel/with which instance_eval's a block on with's subject
  * rekey is an improved version of normalize_keys (ie. the basis of symbolize_keys)
  * multiglob is like glob but handles a list of patterns
  * proper access to openstruct's underlying table
  * doc fixes and losening toplevel constraint to Object in taskable
  * made OpenObject #update and #merge public; added to_hash
  * removed unorder_store and store_only; added first/last to dictionary
  * continued improvements to command.rb
    added some new callbacks such as option_missing;
    also handles method_missing properly now
  * added string/rewrite
  * test fixes to module/include_as
  * documentation fix for class_extension
  * minor edit to supermethod (also finish #superior removal)
  * cleanup kernel/set_with code
  * update kernel/metaclass can now take a block
  * added hash#+ and hash#- (op_add and op_sub)
  * added cache to enumerable/every
  * removed kernel/superior (silly name)
  * add more/autovivify.rb expiremental lib.
  * update/fix to command.rb to not use Kernel methods as subcommands.
  * update Work on annotation.rb to improve support for :self.
  * deprecate enumerable/permute.rb (replaced by permutation) and minor test fix to linkedlist.rb
  * added linkedlist.rb (thanks Kirk Haines!)
  * added enumerable/sum (thanks to Gavin Kistner)
  * added array/each_combo and combos (Eunumerable.combinations will be deprecated eventually)
  * rename changed enumerable/permute to permutation
  * update annotation.rb, fixed :self key
  * added pathname/op_div
  * deprecated hash/each.rb
  * removed hash/each.rb, this variation of Hash#each is too "dangerous" in practice
  * update module/self/op_add.rb: fixed inclusion order
  * deprecated annotation.rb, replaced with ann.rb
  * added module/self/op_add.rb and op_sub.rb - traits like features
  * minor improvemtns to module/clone_using and integrate
  * openobject.rb (added NilClass#to_openobject)
  * enumerable/each_slice.rb [replace]
    Ruby already has #each_slice if you require 'enumerator'. And for 1.9,
    I believe, this will be present automatically. So Facets' each_slice 
    has been replaced with a simple redirection to require 'enumerator'.
    Ruby's version is slightly different in that it won't check arity if
    a slice count is not given. For this, use enumerable/each_by.
  * array/delete_at.rb [removed]
    Ruby's Array class already has a #delete_at method,
    although this is another method at odds with Hash.
    Use #delete_values_at instead.
  * moved File.bitbucket to File.null (but bitbucket was so "fun"! ;)
  * added nilclass/to_path
  * added kernel/load_local
  * added kernel/callee
  * added enumerable/eachn, integer/each and integer/of
  * re-added array/delete_values_at
  * added filetest/self/root
  * added cache.rb
  * moved Dir.bitbucket to File.bitbucket
  * removed task file in favor of sake based util/
  * added main_as_module
  * added doublemetaphone thanks to Lawrence Philps.
  * added symbol/to_s which caches the result for speed up
  * additions and adjusments related to hash/delete_at
  * added Dir.bitbucket
  * update to array/op_fetch to include op_store
  * added filesystem.rb
  * updates to enumerable each_slice
  * updated names of meta files
  * added trace to command.rb
