The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Path::Class.

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]

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 <EDENC@cpan.org>]

 - Fixed the heading for the is_relative() POD section. [CUB <cub.uanic@gmail.com>]

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