Revision history for Perl extension Path::Class. 0.35 Sun Sep 14 21:29:07 CDT 2014 - fce4b8e - Fixed a t/03-filesystem.t test error on Windows 0.34 Thu Aug 28 22:27:03 CDT 2014 - df23e17 - Add a new spew_lines() method - 3ffef39 - Don't convert file into directory in subsumes() - 9a01a71 - Updated POD for copy_to and move_to methods - 210a7ef - Stringify destination for copy_to method - 9f83723 - Stringify destination for move_to method - 5e2cb26, d5c7e62 - Add Continuous Integration with Travis CI - d372be1 - Change bugtracker to github's 0.33 Wed Dec 11 21:30:35 CST 2013 - New copy_to() and move_to() methods. [Robert Rothenberg & Ken Williams] - As advised in the utime() docs, pass undef as the time for touch(). - Do a better job cleaning up temp files in the tests. - Optimization: use parent.pm instead of base.pm. [Olivier Mengué] - Changed the docs to show that file() and dir() are exported by default. - Fixed spelling error in POD. [Salvatore Bonaccorso] 0.32 Mon Mar 18 20:53:00 CDT 2013 - Updated dependency on File::Spec to 3.26, fixing RT #83143. - Fixed bug with leading empty string in dir() - became unintentional UNC path on Cygwin. [David Golden and MITHUN@cpan.org] - Fixed "Unterminated C<...> sequence" in Pod. [Olaf Alders] 0.31 Tue Feb 5 11:51:59 CST 2013 - Optimization: stringify variables passed to canonpath [David Golden] - Optimization: Use internal guts when constructing Dirs from Dirs, instead of concatenating and splitting them again with File::Spec. [David Golden] - Fix grammar error in docs. [Karen Etheridge] - Implement a 'split' parameter for the slurp() method [suggested by Yanick Champoux] - In docs, replace unicode MINUS SIGN with ascii HYPHEN-MINUS [Randy Stauner] 0.29 Mon Dec 17 23:55:07 CST 2012 - Add components() method, which returns directory names (and filename, if this is a File object) as a list. - Fix a test failure on non-Unix platforms, the 07-recurseprune.t test was written in a Unix-specific way. 0.28 Sat Dec 15 21:40:17 CST 2012 - Fix test failures when run as root - they were relying on permissions failures, but permissions never fail as root. [Spotted by AAR and Chris Williams] - Add links in docs to the other modules we rely on & talk about in the docs. Makes for easier viewing through search.cpan.org / MetaCPAN. [David Precious] - Fixed some misleading variable names in docs. [RT#81795] [Pau Amma] 0.27 Sat Dec 8 19:24:15 CST 2012 - Added pruning support in dir->recurse(). If recurse callback returns $item->PRUNE, no children of this item will be analyzed. [Marcin Kasperski] - Documented 'basename' method for directories. [Fabrice Gabolde] - Added traverse_if() function, which allows one to filter children before processing them. [Marcin Kasperski] - Added tempdir() function. [cho45] 0.26 Thu Jun 14 21:52:38 CDT 2012 - resolve() now includes the name of the non-existent file in the error message. [Karen Etheridge] - new shortcut opena(), to open a file for appending. [Karen Etheridge] - new spew() method that does the inverse of the slurp() method. [Aran Deltac] - Fixed a typo in a class name in the docs for Path::Class::Entity. [Toby Inkster] 0.25 Wed Feb 15 20:55:30 CST 2012 - resolve() now croak()s instead of die()s on non-existent file. [Danijel Tašov] - Added a traverse() method for directories, based on the fmap_cont() method of Forest::Tree::Pure. It's an alternative to ->recurse, which allows for more control over how the recursion happens. [Jesse Luehrs] - Fixed a grammar error in the docs. [Shlomi Fish] - Moved from Google Code (SVN) to GitHub (Git). 0.24 Sat May 28 20:52:39 CDT 2011 - Added a tempfile() method for Dir objects, which provides an interface to File::Temp. [RT#60485] - Fixed a non-helpful fatal error message when calling resolve() on a path that doesn't exist. Now dies with the proper "No such file or directory" message & exit status. [GRAF] 0.23 - Sun Dec 26 13:35:53 CST 2010 - Fixed a bunch of problems with the distribution (e.g. in META.yml) that I introduced in the switch to Dist::Zilla. No code changes from 0.22. 0.22 - Sat Dec 25 22:59:20 CST 2010 - Added a basename() method for directory objects. [CLKAO, jloverso, THEPLER, ZUMMO] 0.21 - Tue Aug 17 19:13:13 CDT 2010 - Don't test the 'iomode' option under 5.6, because layers aren't supported yet. - Fixes to spelling errors in the docmuentatino. [Ansgar Burchardt and Debian patchers] 0.19 - Sun Jun 6 20:50:27 CDT 2010 - slurp() now accepts an 'iomode' option to control how the file is opened. [Graham Barr] - In the openr() and openw() file methods, we now croak() instead of die() so that the error messages are more useful. [Ian Sillitoe] - Allow subclassing, by adding dir_class() and file_class() static methods, allowing them to be overridden. [Matt Trout & John LoVerso & Michael Schwern] - Fixed a testing failure that could occur whenever testing in a directory path that contains symlinks (e.g. /tmp on Mac OS X). - Added a 'no_hidden' parameter for children() [EDENC ] - Fixed the heading for the is_relative() POD section. [CUB ] 0.18 - Sun Dec 20 10:11:02 CST 2009 - Similar to the next() bug for files/directories named "0" or "0.0" in the previous release, the children() and recurse() methods have now been fixed in the same way. [spotted by ARTHAS, MSISK] 0.17 - Sun Jun 14 21:42:16 2009 - dir(undef) now returns undef rather than the rootdir, because undef was probably a mistake by the caller, and the rootdir is too scary a default. [Suggested by John Goulah] - Temporary files during testing are now created in the system temp directory, rather than somewhere in t/ . See RT #31382. [Suggested by Alex Page] - Added is_relative() as the obvious complement to the existing is_absolute() method. - Added a resolve() method to clean up paths much more thoroughly than cleanup(), e.g. resolving symlinks, collapsing foo/../bar sections, etc. [Suggested by David Garamond] - Fixed a problem in which a file/directory called "0" or "0.0" would end a loop prematurely when using the idiom 'while($x = $dir->next) {...}'. See http://rt.cpan.org/Ticket/Display.html?id=29374 [Spotted by Daniel Lo] - Fixed an exists($array[$i]) that prevented compatibility with perl 5.005. - Moved the repository from my personal CVS repo to Google Code. 0.16 - Sun Dec 24 20:29:40 2006 - Added a $dir->contains($thing) method that indicates whether $dir actually contains $thing on the filesystem. - Fixed a typo in the synopsis for Path::Class::Dir - 'MacOS' should have been 'Mac' in the example for foreign_dir(). [Chris Dolan] - subsumes() was not respecting the 'foreign'-ness of its arguments, now it does. [Chia-liang Kao] - Added a couple of TODO tests (currently failing) for translating MacOS paths to Unix (http://rt.cpan.org/Ticket/Display.html?id=16613) 0.15 Thu Dec 15 20:11:38 CST 2005 - Fixed an important edge case in subsumes() - subsumes('/', '/foo') (and its equivalent on other platforms) was returning false, but should have been true. [Reported by Chia-liang Kao] 0.14 Thu Nov 17 22:16:13 CST 2005 - Silence a warning caused by $dir1->subsumes($dir2) when $dir2 subsumes $dir1. [Chia-liang Kao] - Work around a File::Spec->abs2rel bug when its two arguments are the same. It returns an empty string rather than curdir(), so in Path::Class, dir()->absolute->relative returned '/' rather than '.' (or their equivalent on non-unix platforms. [Spotted by David Golden] 0.13 Mon Aug 22 22:36:15 CDT 2005 - Added a recurse() method to Path::Class::Dir, which provides a nice alternative to using File::Find. - Added a children() method to Path::Class::Dir, which returns the entries of a directory as Path::Class objects. - Added touch() to Path::Class::File. 0.12 Tue Jun 28 16:27:38 EDT 2005 - You can now chomp while you slurp. [Suggested by Smylers] - Added some notes about how to use Path::Class in a cross-platform way. - Added a remove() method for both files and directories. - Added a subsumes() method to Path::Class::Dir. - We now require File::Spec version 0.87 (previously we required 0.86), because it fixes a few important bugs. - Fixed some VMS testing bugs. [Abe Timmerman] - Corrected a couple typos in the documentation for Path::Class::File where it mistakenly listed the package as Path::Class::Dir. [Ron Savage] 0.11 Mon May 16 20:06:38 CDT 2005 - Fixed a documentation bug in Path::Class::File - open() calls IO::File->new(), not IO::File->open(). [Smylers] - Improved the semantics for dir_list() in a scalar context. It now has a much higher DWIM coefficient. [Suggested by Smylers] - Added the stat() and lstat() methods to the Path::Class::Dir class; previously they were only in the Path::Class::File class. [Suggested by Smylers] - We now require at least version 0.87 of File::Spec, rather than 0.86, because 0.87 fixed some bugs and idiosyncracies in how Windows path names are handled. [Chris Dolan] 0.10 Wed Apr 6 17:04:45 CDT 2005 - Fixed a bug in relative() that would ignore the optional argument if the given file/dir was already specified as relative. - Fixed a typo in the documentation - I wrote Path::Class::mkdir() and Path::Class::rmtree() where I meant File::Path::mkdir() and File::Path::rmtree(). 0.09 Tue Apr 5 20:42:20 CDT 2005 - Added the dir_list() method, which gives the user direct access to the list of directories that makes up a Path::Class::Dir object (NEEDS DOCUMENTATION). [Suggested by Smylers] - Documented the behavior of $dir->next() when the directory doesn't exist or is unreadable (it dies). [Smylers] - Fixed a bug that could result in extra backslashes between the volume and path (such as C:\\Foo\Bar). [Smylers] - Added the is_dir() method, which is a simple way to tell the difference between a file and a directory. [Suggested by Smylers] 0.08 Tue Dec 28 08:26:56 CST 2004 - Fixed a typo in the module name in the docs. [Chris Dolan] - Added a copyright statement to the docs, for some reason it was missing. [Spotted by Chris Dolan] 0.07 Wed Jun 30 15:31:35 CDT 2004 - Fixed a bug in dir("foo/")->parent and file("foo/bar")->dir. [Spotted by Sterling Hanenkamp] 0.06 Fri Mar 26 22:20:32 CST 2004 - Added documentation for $dir->next(), which was for some reason missing. - Simplified a little internal code in $dir->next(). - Added the slurp(), openr(), and openw() methods to Path::Class::File. 0.05 Mon Jan 19 22:36:29 CST 2004 - Added a parent() method to Path::Class::File, which helps in those cases where the distinction between a file and a directory isn't significant. [Paul Hoffman] - Added a basename() method to Path::Class::File. [Richard Evans] 0.04 Thu Jan 1 22:47:18 CST 2004 - Added several useful methods for interacting with the filesystem, such as $file->open(), or $dir->mkpath(). - file() and dir() are now exported by default when loading Path::Class. [Michael Schwern] - Fixed a problem that happened when interacting with the File::Spec that comes with perl 5.6.0. Names weren't being stringified properly. [Michael Schwern] - Fixed a test failure on Win32 (from line 71 of t/01-basic.t). [reported by Murat Ünalan] - Rewrote general description of Path::Class in the documentation [suggested by Joshua Keroes] 0.03 Wed Jul 9 09:32:52 CDT 2003 - D'oh! Forgot to add the t/02-foreign.t test to the MANIFEST. - The way I was faking out File::Spec to pretend it's on a Unix system during testing wasn't working. [Reported by DH] 0.02 Tue Jul 8 14:51:24 CDT 2003 - Added the capability to work with paths from other systems, see 'foreign' in the docs. - Now depends on File::Spec::Mac 1.3, since 1.2 was pretty broken. - relative() and absolute() methods can now take an optional argument to use as the base of relativity. 0.01 Wed Mar 12 18:17:04 CST 2003 - original version; created by h2xs 1.21 with options -XA -n Path::Class