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, 2007Major 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/.