0.1.3 - Wed Nov 12 18:50:49 IST 2008 - Refactoring: converted _movenext() from pseudo-conditionals to polymorphism by making it a method of ->_current(). - Refactoring: extracted the _next_traverse_to() method. - Bug fix (with possible correctness/SECURITY implications): - now correctly handling files and directories whose filenames are false in Perl - most notable "0". 0.1.2 - Sun Oct 26 12:57:55 IST 2008 - Corrected the README. - Now checking for inodes that are 0, when checking for cyclical trees, as a fix for stat() calls on systems that do not support them. This should fix Win32 test failures (and bad behaviour in general) like the following: - http://nntp.x.perl.org/group/perl.cpan.testers/2479582 0.1.1 - Wed Oct 22 12:30:56 IST 2008 - Potential Security Fix!!! No longer passing a filename directly to the format in <<printf (STDERR)>> when warning on a loop. - Bug fix - the check for a loop was broken. - New Feature - Added the ->next_obj() and ->item_obj() methods to return a File::Find::Object::Result object instead of a plain path. - Refactoring: - No longer passing $current explicitly from one method to another (hello EEK!). Instead, we reference $self->_current() - Remmed out the DESTROY method as it was empty. - Revamped the _action handling - an array instead of a hash. - Created _top and _non_top methods delegated by _is_top using _top_it() - _current_idx() was eliminated - now it's just $#dir_stack. - Created a _copy methods to create flat copies of array references. - Extracted many methods. - Switched Build.PL to inc/Test/Run/Builder.pm - that gives us: - ./Build runtest - ./Build distruntest - ./Build tags 0.1.0 - Wed Mar 5 20:46:27 IST 2008 - Now handling directories that cannot be opendir()'ed in a graceful manner - just not traversing them further. 0.0.9 - Fri Feb 22 20:04:03 IST 2008 - Now running canonpath() on the targets in the call to File::Find::Object->new. That way, trailing slashes are omitted in the results. - Allow File::Find::Object to properly accept paths to regular files as input paths. Fixes: http://rt.cpan.org/Public/Bug/Display.html?id=33453 Thanks to Sergey V Panteleev for reporting the bug. - TODO : check behavior on traversing non-existant paths. - Done. - Now skipping non-existant files. - Added a test for it in t/03traverse.t 0.0.8 - Tue Jul 31 16:23:34 IDT 2007 - added the empty PL_FILES key to the Makefile.PL to avoid running Build.PL on older versions of EU::MM. 0.0.7 - Fri Feb 2 19:03:29 IST 2007 - moved the tree script under the examples directory. - added the LICENSE section to the POD. - added t/pod.t and t/pod-coverage.t and made sure the module has full POD coverage. - added a Build.PL build script to generate a better META.yml file. - all of these are Kwalitee improvements. ( http://cpants.perl.org/dist/File-Find-Object ) - Added some links to the main POD documentation for similar modules and for the Perl Advent article. 0.0.6 - Tue Nov 28 15:49:23 IST 2006 - Added the following new interface methods: - set_traverse_to - get_traverse_to - get_current_node_files_list - prune - Some changes to the internals to accomodate for them. 0.0.5 - Sun Sep 3 23:22:36 IDT 2006 - Eliminated the F-F-O-internal isa F-F-O relationship. - Created accessors for everything - now based on Class::Accessor - F-F-O-internal is now named File::Find::Object::PathComponent - Some smaller refactorings. 0.0.4 - Wed Aug 23 00:31:39 IDT 2006 - Eliminated circular references. (Hopefully) - Still have an isa relationship between File::Find::Object and File::Find::Object::internal, which is what handles each recursed to directory. - Created some accessor functions instead of direct hash accesses. 0.0.3 - Fri Jul 14 14:25:42 IDT 2006 - Fixed some language problems in the POD. - Added the Changes file. - Changed the license to GPL/Artistic/Artistic-2.0 - Placed the .pm files inside lib. - Added the TreeCreate module under t/lib (with appropriate tests) to test the main module. - Made the default test order lexicographical, and predictable. In the process, eliminated keeping the directory handles, and possibly the fact that they are kept open. - Fixed a bug where circular references prevented the module from being destroyed.