All Versions
Latest Version
Avg Release Cycle
133 days
Latest Release
2692 days ago

Changelog History
Page 3

  • v2.4.1 Changes

    April 03, 2008

    ๐Ÿš€ This release takes aim at improving compatability with ActiveSupport. It also reintroduces an improved paramix.rb.

    ๐Ÿ”„ Changes:

    • 4 Major Enhancements

      • A much improved paramix.rb has been returned to the library.
      • There a no longer capitialize module methods at all.
      • Use Module#[] and mixin_params[] instead.
      • Deprecated behavior.rb. It was not robust.
      • Added basex.rb, for working in any encoding base using any character set (base62 is the default).
    • 3 Minor Enhancements

      • Comparing to ActiveSupport, found 63 extension clashes, but most are due to 1.9 features. The rest should be compatible.
      • Reatomized a number of Kernel and String methods. Reatomization is nearly complete.
      • Continued work on reatomizing core extensions (nearly complete now).
  • v2.4.0 Changes

    March 24, 2008

    ๐Ÿš€ 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 for a while.

    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.

    ๐Ÿ”„ Changes:

    • โœจ Enhancements

      • 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.
      • camelcase and snakecase are core extensions. For specialized styles use String#style in style.rb.
      • Renamed ArgVector to CLI::Arguments
      • Moved one_nine.rb to ruby.rb
      • Moved test/test_one_nine.rb to test/test_ruby.rb.
      • Updated requires for "one_nine" to just "ruby" b/c of backports to 1.8.7.
      • Added warning to Rick Kilmers's unit system.
      • Moving Rich Kilmers's units system to it's own package.
      • Three are alternate unit systems available and Facets should work with any of them.
      • Will keep a fair amount of the Time extensions though.
      • Moved nil/status.rb to nilstatus.rb
      • Got rid of Method#curry and Method#partial since they just convert to Procs.
      • Made op_esc.rb a separate module rather thanan extension.
      • Deprecated with_reader, with_writer and with_accessor for attr_singleton_reader, &c.
      • Deprecated Hash#pairs_at. Use Hash#slice instead from core.
      • Fixed the namespaces of some extensions.
      • Added prime directory and files.
      • Removed all "prime" extension files.
      • Move mattr to module.
      • Fixed require bug in time methods.
      • Reverted memomize.rb back to original code --will come back to later.
      • Added stylizer.rb to replace stylize.rb
      • Array #recursively is not only called #traverse.
      • Added case/stylize methods to more/facets/string.
      • Renamed more/string/facets/titlecase to captialize_all.
      • Added uri and xoxo tests.
      • Progressive work on memoize and elementor.
      • Functor no longer privatizes =, == and =~.
      • Properly split conversion.rb.
      • Some string methods extracted from stylize.rb.
      • Moved random.rb to more/.
      • Renamed namespace.eb to methodspace.rb.
      • Moved autoreload to more/facets/kernel.
      • Removed old curry.rb.
      • Added cgi.rb with some standard extensions.
      • Deprecated paramix.rb.
      • Added xmlhash.rb and returned uri.rb extensions to the library.
      • Added #method_name to Date class.
      • Remove cut-bases AOP, now in it's own library.
      • Converted compare_on.rb to Paramtric Mixins.
      • Split fileutils up into individual methods.
      • Renamed console.rb to what it should be consoleutils.rb.
      • Update to command.rb integrating MasterCommand and Command into a single class.
      • Added options back into multiglob_r.
      • Improved cloneable.rb to be a true deep dup/clone mixin using Ken Bloom's suggestion.
      • Added tasksystem.rb.
      • Added enumerable/combinations.
      • Added openhash and tracepoint.
    • ๐Ÿ› Bug Fixes

      • Fixed bug with #peek in stackable.
      • Fixed bug in Kernel#object_hexid.
      • Fixed bug in multiglob_r so it will NOT follow symlinks.
      • Fixed test_keyize.rb.
    • Adminstrative Changes

      • This was a fairly large and fast-paced update, so unfortunately not all changes are listed this time.
      • Added ri generation to setup.rb.
      • Updated README and allowed doc/ to be included in package.
      • Finally completed removal of all embedded tests.
      • Organized all libs between core, more, class and mixin.
  • v2.3.0 Changes

    February 01, 2008

    ๐Ÿš€ Amoung other changes with this release, cloneable.rb is now a true deep ๐Ÿ‘ฏ dup/clone mixin; tracepoint.rb returns to the library.

    ๐Ÿ”„ Changes:

    • 4 Major Enhancements

      • Cloneable provides true deep cloning.
      • Moved hash_keyize.rb to CORE as hash/keyize.rb.
      • Added tracepoint.rb back to the library.
      • Added hash/collate.
    • ๐Ÿ›  3 Bug Fixes

      • Fixed multiglob_r bug, so it will NOT follow symlinks.
      • Added a couple of missing binding requires.
      • Fixed test_keyize.rb.
    • 6 Admistrative Changes

      • Reorganized library into smaller groups: core, more, class and mixin.
      • Remove admin/svn subdir.
      • Remove admin/log.
      • Add admin tasks.
      • Moved admin tasks to admin directory.
      • Added admin directory.
  • v2.2.1 Changes

    December 22, 2007

    ๐Ÿš€ This release get rid of the underlying methods subdir. All method redirects are now in core, to ensure there are no more name clashes.

    ๐Ÿ”„ Changes:

    • Method Renames

      • Moved string/format.rb to string/wrap.rb.
      • Updated String#brief.
      • Moved binding/cflow.rb to caller.rb.
      • Moved core hash/keyize to more.
    • Other Enhancements

      • Fixed up binding extensions.
    • Administrative Adjustments

      • Got rid of methods subdir. All method redirects are in core/.
      • Moved doc/wiki to apiwiki b/c of Rubyforge's wiki.
      • Removed doc/api dir.
      • Added wiki.
      • Renamed a couple test tasks.
      • Update per-module/class files.
      • Moved methods and groups task to trash.
      • Added test class/remove_descendents.rb.
      • Added all remaining per-method require libs from methods/ (will need to wrok through these over time).
      • Added trash work directory.
      • Adjust text according to per-method file changes.
      • All hash method, but the conversion methods, are now represented in core/facets/hash.
      • Added a few more Hash per-method files.
      • Add per-method libs for hash.
      • Updated facets/string.rb.
      • Renamed ROLLRC to facets.roll.
  • v2.2.0 Changes

    December 13, 2007

    ๐Ÿš€ This release provides improved rdocs and prepares facets for use with Ruby 1.9. It also adds Matthew Harris' duration.rb library. Bug thanks to Matthew!

    ๐Ÿ”„ Changes:

    • โž• Additions

      • Added Matthew Harris' Duration class.
      • Added Hash#slice and Hash#except (didn't we have this before?)
      • Added registerable.rb, updated history.
      • Added #include_as to facets/namespace.rb.
      • Added op.rb to string.rb.
      • Added String/op.rb with String#- method.
    • Method Renames and Reorganizations

      • The name Array#unzip didn't makes sense, it was renamed to #modulate (though #collate seems better?)
      • Renamed Enumerable#collate to #mash (Map hASH); #collate and #graph remain aliases for the time being.
      • Renamed accessor #attributes to #instance_attributes.
      • Renamed Enumerable #collate to #mash. (old name, along with graph, will be an alias for time being)
      • Divided enumerable/collect into split.rb and each.rb as well.
      • Moved mapsend.rb to thread.rb.
      • Updated mapsend.rb to focus on threads.
      • Moved continuation extensions to more lib.
    • ๐Ÿ—„ Deprecations

      • Deprecated Module#include_and_extend. Just use both silly.
      • More lib pp_s.rb has been removed. Use #pretty_inspect instead.
      • Removed continuation from core.
      • Removed pp_s.rb (use pretty_inspect) add continuation.rb.
      • Remove kernel/require_esc.rb.
    • Other Enhancements

      • integer/bitmask.rb has changed a bit --pun intended ;) Deprecated some methods and now use "~" instead of "-" to clear bits.
      • Split binding extensions up a bit more finely --eval.rb sprouted here.rb, self.rb and defined.rb.
      • Move Time#stamp out of conversion.rb and into time/ dir, and remove to_s alias.
      • Preliminary addition of Matthew Harris' excellent duration.rb lib (will integrate with times.rb better in future).
      • Minor edit to basicobject.rb in light of 1.9.
      • Minor adjustments to lazy.rb to fix warnings by Ruby 1.9.
      • Added if clauses to handle upcoming Ruby 1.9 gracefully. Facets should now be just about ready for use with 1.9.
    • ๐Ÿ“š Documentation Enhancements

      • A lot of rdoc updates to core extensions --as promised ;)
      • Just about every method now has at least a brief explinaiton and an example.
    • Administrative Adjustments

      • Moved task/config.yaml to meta/ per new Ratch.
      • Moved task/special to task/doc.
      • Updated todo list (in dev/).
      • Copied log/history.rd to CHANGES.
      • Removed log/history.rd and log/todo.rd
      • Fixed stylize.rb for use with 1.9 (fixed case statement).
      • Separated kernel/returning, now that #tap will be in 1.9.
      • Updated facets.rb for use with 1.9.
      • Separated time/stamp.rb.
      • Divided binding up into a few more pieces.
      • Fixed kernel/instance to play nice with 1.9.
      • Added test for string/op.rb.
      • Added test_collect.rb split-offs and test_mash inplace of test_collate.
      • Cleanup test headers.
      • Added 1.9 check in continuation/create.rb.
      • Add a couple new task for rdoc gen.
      • Added nbsp to quickopts task.
      • Work on website using siteparts.
  • v2.1.3 Changes

    November 28, 2007

    ๐Ÿš€ This release fixes four bugs --one being fairly serious, as it prevented require 'facets' from working at all.

    ๐Ÿ”„ Changes:

    • ๐Ÿ›  4 Bug Fixes

      • Fixed oddity in Enumerable/collate.
      • Fixed issue that prevented loading of facets.rb.
      • Array#to_h used flatten, but it needed to be flatten(1).
      • Move core/main.rb back to core/facets.rb as it conflicts with lib in more/.
  • v2.1.2 Changes

    November 22, 2007

    ๐Ÿ”„ Changes:

    • โž• Additions

      • Added Exception#details.
    • General Enhancements

      • Dir::multiglob no longer handels -/+ modifiers. Use FileList instead.
    • Administrative Adjustments

      • Fixed task/install script.
      • Improved task/changes.
  • v2.1.1 Changes

    November 16, 2007

    ๐Ÿ”„ Changes:

    • โž• Additions

      • Added kernel/ergo.rb.
      • Added pp_s.rb (Questionable addition, but we'll leave it for now.)
      • Added validation.rb. This is here for Nitro's sake --better techinques may replace it in the future.
      • Added Console::Logger to logger.rb (may be separated in future).
      • Added option arity to command.rb.
    • ๐Ÿ—„ Deprecations

      • Removed tracepoint.rb.
    • ๐Ÿ› Bug Fixes

      • Fixed bug in command.rb that clobbered options.
      • Fixed options bug in command.rb.
  • v2.1.0 Changes

    November 10, 2007

    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.

    ๐Ÿ”„ Changes:

    • โž• Additions

      • Added BiCrypt class for simple two-way encryption.
      • module/attr.rb now has attr_reader!, attr_writer! and attr_accessor!
      • All attr_xxx methods have coresponding alias_xxx methods.
      • Added UniversalOptions module.
      • Added "tester" attribues attr_xxx!. Also added alias_xxx for all attr_xxx methods.
    • โœจ Enhancements

      • command.rb has been completely rewritten. The API has changed completely!
      • There is no longer a Commmand::Optoins class. Use Console::Arguments instead.
      • Moved common alias methods from attr.rb to alias.rb.
      • MasterCommand now passes (args, opts), until 1.9 is main stream.
      • Cleaned up enumerable/permutation.rb
      • Added -q option to zip method in ZipUtils.
      • Ok. #p is back. This will in fact be in 1.9, so we're good.
    • ๐Ÿ› Bug Fixes

      • Fixed bug in Enumerable#cluster_by which returned nil instead of [].
      • Fixed minor bug in arguments.rb that prevented proper repeat parameters.
      • Fixed bug in to_console.
      • Fixed bug in enumerable/cluster_by (returned nil instead of []).
      • Fixed bug in Hash#- Thanks to Xavier Shay.
      • Fixed to_h in Command::Options
    • Admin Changes

      • Added dev/test
      • Renamed RELEASE to WHATSNEW
      • Added injecting test and cleaned up.
      • Added comment for potential future #is.
      • Added top-level log directory.
      • Remove #q reference from RELEASE.
      • Cleanup of test_initializer.rb.
  • v2.0.5 Changes

    November 07, 2007

    ๐Ÿš€ Minor release that fixes a couple of bugs and adds the last of adopted methods from Gavin Sinclair's Extensions project.

    Also, renamed #p to #q, because of multiple args problem. ๐Ÿ’Ž I don't know how Ruby 1.9 plans to handle multiple args. ๐Ÿ—„ Will deprecate for 1.9 anyway so doesn't matter much.

    ๐Ÿ”„ Changes:

    • โž• Additions

      • Added final methods Gavin Sinclair's Extensions project. (Noah Gibbs)
    • General Improvements

      • Made #alias_method_chain compatible with current ActiveSupport version.
      • Rename #p to #q, because of multiple args problem.
      • Allow Class#initializer to return the attribute names.
    • ๐Ÿ› Bug Fixes

      • Fixe return bug in hash/op.rb.
      • Fixe bug with Dictionary#initialize.
      • Fixe bug with Hash#-. (Xavier Shay)
    • Admin Adjustments

      • Fixed package name in icli.yaml.
      • Added name field to meta/icli.yaml.
      • Added meta/icli.yaml.
      • Added a RELEASE file to hold current release notes.
      • Added log task.
      • Added changelog file in doc/log/.