This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix PathTools dynamic linking for Perl 5.6
[perl5.git] / dist / PathTools / Changes
1 Revision history for Perl distribution PathTools.
2
3 3.68
4 - avoid warning from pre-5.8 code for detecting tainted values
5 - make taint.t detect that a pre-5.8 Perl supports tainting
6 - avoid a dynamic linking problem on Perl 5.6
7
8 3.67 - Mon Feb 27 09:33:04 EST 2017
9 - Add security usage note to File::Spec::no_upwards
10
11 3.66 - Sat Nov 19 10:30:19 MST 2016
12 - white space change so can compile under C++11
13
14 3.65 - Mon, 25 Jul 2016 23:15:33 -0700
15 - (perl #127384)(CVE-2016-1238)
16
17 3.64 - Tue May 24 10:00:19 MST 2016
18 - just minor pod changes to silence Pod::Checker
19
20 3.62 - Mon Jan 11 08:39:19 EST 2016
21 - ensure File::Spec::canonpath() preserves taint (CVE-2015-8607)
22
23 3.61 - Sun Dec 20 12:00:00 EST 2015 (bleadperl only release)
24 - improve performance of cwd on Win32 miniperl
25
26 3.60 - Wed Nov 18 21:28:01 EST 2015
27 - add File::Spec::AmigaOS -- and actually ship it, this time
28
29 3.59 - Fri Nov 13 18:38:01 EST 2015
30 - no changes since 5.58_01
31
32 3.58_01 - Mon Nov  9 17:35:28 EST 2015 - TRIAL RELEASE
33 - add File::Spec::AmigaOS
34 - fix INSTALLDIRS on post-5.10 perls
35
36 3.56_02 - Thu Jul 16 11:28:57 EDT 2015 - TRIAL RELEASE
37 - fix $VERSION in loaded modules
38
39 3.56_01 - Sat Jul 11 18:07:28 EDT 2015 - TRIAL RELEASE
40 - CPAN release of the PathTools included in perl v5.22.0
41 - support for z/OS sysplexed systems
42 - long-deprecated "fixpath" and "eliminate_macros" VMS functions removed
43 - avoid turning leading // into / on cygwin
44 - Force barename base to be a directory in File::Spec::VMS:abs2rel
45 - Revise Unix syntax detection File::Spec::VMS::abs2rel
46 - compiles on Android now
47 - fewer compiler warnings
48 - eliminate some runtime perl warnings, too
49
50 3.47 - Fri May 23 18:52:00 2014
51 - Improved Android support.
52 - File::Spec::Unix->tmpdir: Always return an absolute path
53 - File::Spec now has an XS version for performance.
54 - QNX and VMS portability
55 - tmpdir is updated when the environment changes.
56
57 3.40 - Wed Jan 16 07:30:00 2013
58 - Stop inadvertently skipping Spec.t on VMS. (Craig Berry)
59 - Rethink EFS in File::Spec::VMS. (Craig Berry)
60 - File::Spec::UNIX->abs2rel() gets it wrong with ".." components
61   [perl #111510] (Volker Schatz)
62 - Add C define to remove taint support from perl (Steffen Mueller)
63 - Remove "register" declarations as they are no longer
64   useful (Karl Williamson)
65 - Add test for fast_abs_path in LF dir
66   [perl #115962] (Father Chrysostomos)
67 - Cwd::fast_abs_path's untaint should allow for multiline
68   directories (Joel Berger)
69
70 3.39_01 - Tue Dec 20 08:30:00 2011
71 - [perl #51562] Problem & "solution" for building 5.10.0 with
72   win32+mingw+dmake (kmx)
73 - Fix various compiler warnings from XS code (Zefram)
74 - Fix typos (spelling errors) (Peter J. Acklam)
75 - Remove Mac OS classic only tests from Cwd's Spec.t
76   and special case code from Cwd's cwd.t (Nicholas Clark)
77 - Convert File::Spec's remaining tests to Test::More from Test
78   (Nicholas Clark)
79 - dist/Cwd/lib/File/Spec/Win32.pm: Fix broken link (Karl Williamson)
80 - In Cwd::_win32_cwd() avoid a string eval when checking if we're
81   miniperl (Nicholas Clark)
82 - Add PERL_NO_GET_CONTEXT to Cwd (Nicholas Clark)
83 - In Cwd.xs on VMS, don't compile bsd_realpath() at all (Nicholas Clark)
84 - Merge the implementation of Cwd::{fastcwd,getcwd} using
85   ALIAS (Nicholas Clark)
86 - In Cwd.xs, swap to defaulting to disabled prototypes (Nicholas Clark)
87 - Remove duplicate $VERSION handling code, made redundant
88   in 3.28_01 (Nicholas Clark)
89 - In Cwd.xs, tidy the conditional code related to symlinks
90   (Nicholas Clark)
91 - Keep verbatim pod within 80 cols (Father Chrysostomos)
92 - [RT #36079] Convert ` to ' in docs (Jim Keenan)
93 - [rt.cpan.org #45885] File::Spec: Don’t use tainted tmpdir
94   in 5.6 (Father Chrysostomos)
95
96 3.33 - Mon Sep 20 18:00:00 2010
97 - No functional changes since the previous release.
98 - Fixes POD links
99   (part of core change2a6dc37471bea77f0c24fd1fe90c598a270c9968,
100    Florian Ragwitz)
101
102 3.32 - Sun Sep 19 18:00:00 2010
103
104 - Promote to stable release.
105
106 3.31_03 - Fri Sep 17 20:00:00 2010
107
108 - Colon delimiter and escaped delimiters for File::Spec::VMS
109   This is core change 61196b433b2b (Craig A. Berry)
110
111 3.31_02 - Fri Jul 23 20:00:00 2010
112
113 - Add TODO test for File::Spec->rel2abs() when under a symlink.
114 - Make catpath return an empty directory rather than the current
115   directory if the directory name is empty.  This allows catpath
116   to play nice with non-rooted logical names, as in
117         catpath('sys$login:', '', 'login.com');
118   (Craig A. Berry)
119 - Fix abs2rel bug in handling a Unix-style input.
120   (Craig A. Berry)
121 - Assorted clarification and simplification of the documentation.
122   (Craig A. Berry)
123
124 3.31 - Sun Nov  1 15:15:00 2009
125
126 - Do not pack a Build.PL to avoid a circular dependency involving
127   ExtUtils::CBuilder (PathTools RT #50749)
128
129 3.30_02 - Tue Sep 29 08:17:00 2009
130
131 - Remove more special logic required for core perl.
132
133 3.30_01 - Mon Sep 21 14:39:00 2009
134
135 - Merge changes from core perl.
136   (Mostly changes regarding the lib->ext migration)
137
138 3.30 - Sun May 10 10:55:00 2009
139
140 - Promote to stable release.
141
142 3.29_01 - Thu May  7 20:22:00 2009
143
144 - Minor fixes for QNX6. [Sean Boudreau]
145
146 - Update to support VMS in Unix compatible mode and/or file names using
147   extended character sets. (RT #42154) [John Malmberg]
148
149 - VMS support for Unix and extended file specifications in File::Spec
150   (RT #42153) [John Malmberg]
151
152 3.29 - Wed Oct 29 20:48:11 2008
153
154 - Promote to stable release.
155
156 3.28_03 - Mon Oct 27 22:12:11 2008
157
158 - In Cwd.pm, pass the un-munged $VERSION to XSLoader/DynaLoader,
159   otherwise development releases fail tests on Win32.
160
161 3.28_02 - Mon Oct 27 20:13:11 2008
162
163  - Fixed some issues on QNX/NTO related to paths with double
164    slashes. [Matt Kraai & Nicholas Clark]
165
166 3.28_01 - Fri Jul 25 21:18:11 2008
167
168  - Fixed and clarified the behavior of splitpath() with a $no_file
169    argument on VMS.  [Craig A. Berry, Peter Edwards]
170
171  - Removed some function prototypes and other Perl::Critic violations.
172
173  - canonpath() and catdir() and catfile() on Win32 now make an
174    explicit (and unnecessary) copy of their arguments right away,
175    because apparently if we don't, we sabotage all of Win32dom. [RT
176    #33675]
177
178  - The Makefile.PL now has 'use 5.005;' to explicitly show what
179    minimum version of perl we support. [Spotted by Alexandr Ciornii]
180
181 3.2701 - Mon Feb 11 21:43:51 2008
182
183  - Fixed an edge case for Win32 catdir('C:', 'foo') and catfile('C:',
184    'foo.txt') (which the caller's not really supposed to do, that's
185    what catpath() is for) that changed between versions.  Now we're
186    back to the old behavior, which was to return C:\foo and C:\foo.txt .
187    [Audrey Tang]
188
189 3.27 - Wed Jan 16 20:20:49 2008
190
191  - If strlcpy() and strlcat() aren't available on the user's system,
192    we now use ppport.h to provide them, so our C code works. [Steve
193    Peters]
194
195  - Upgraded to a newer version of ppport.h [Steve Peters]
196
197 3.26 - Sun Jan 13 21:59:20 2008
198
199  - case_tolerant() on Cygwin will now avoid a painful death when
200    Cygwin::mount_flags() isn't defined, as is the case for perl <
201    5.10.  It will now just return 1, which is what it always did
202    before it got so smart. [Spotted by Emanuele Zeppieri]
203
204  - abs_path() on Unix(ish) platforms has been upgraded to a much later
205    version of the underlying C code from BSD. [Michael Schwern]
206
207 3.2501 - Mon Dec 24 20:33:02 2007
208
209  - Reimplemented abs_path() on VMS to use
210    VMS::Filespec::vms_realpath() when it's available. [John E. Malmberg]
211
212  - tmpdir() on Cygwin now also looks in $ENV{TMP} and $ENV{TEMP}.
213
214  - case_tolerant() on Cygwin and Win32 now take an optional path
215    argument, defaulting to the C drive, to check for case tolerance,
216    because this fact can vary on different volumes.
217
218  - File::Spec on Unix now uses Cwd::getcwd() rather than Cwd::cwd() to
219    get the current directory because I guess someone on p5p thought it
220    was more appropriate.
221
222  - Added a large set of File::Spec tests for the Cygwin platform.
223
224  - abs_path() now behaves correctly with symbolic links on VMS.
225
226  - Someone fixed a couple of mysterious edge cases in VMS' canonpath()
227    and splitdir().
228
229 3.25_01 - Sat Oct 13 21:13:57 2007
230
231  - Major fixes on Win32, including a rewrite of catdir(), catfile(),
232    and canonpath() in terms of a single body of code. [Heinrich Tegethoff]
233
234  - For Win32 and Cygwin, case-tolerance can vary depending on the
235    volume under scrutiny.  When Win32API::File is available, it will
236    be employed to determine case-sensitivity of the given filesystem
237    (C: by default), otherwise we still return the default of 1. [Reini
238    Urban]
239
240  - On Cygwin, we added $ENV{'TMP'} and $ENV{'TEMP'} to the list of
241    possible places to look for tmpdir() return values. [Reini Urban]
242
243  - Added lots more tests for Cygwin. [Reini Urban]
244
245  - canonpath() with no arguments and canonpath(undef) now consistently
246    return undef on all platforms. [Spotted by Peter John Edwards]
247
248  - Fixed splitdir('') and splitdir(undef) and splitdir() to return an
249    empty list on VMS and MacOS, like it does on other platforms.
250    [Craig A. Berry]
251
252  - All .pm files now have the same $VERSION number, rather than a
253    hodgepodge of various numbers.
254
255 3.25 - Mon May 21 21:07:26 2007
256
257  - Added a workaround for auto-vivication-of-function-args Perl bug
258    (triggered by OS/2-specific code). [Ilya Zakharevich]
259
260  - Sync with a bleadperl change: miniperl can no longer use Win32::*
261    functions because it cannot load Win32.dll. [Jan Dubois]
262
263  - We only need to load ppport.h when building outside the core, so we
264    avoid using it when in the core.
265  
266 3.24 - Sun Nov 19 22:52:49 2006
267
268  - Fixed a bug in the $ENV{PWD}-updating of Cwd::chdir() when a
269    dirhandle is passed in. [Steve Peters]
270
271  - Add perl 5.005 to the list of requirements in the
272    Build.PL/Makefile.PL/META.yml.
273
274  - Add ExtUtils::CBuilder to the list of build_requires in Build.PL.
275
276  - Improved performance of canonpath() on Unix-ish platforms - on my
277    OS X laptop it looks like it's about twice as fast. [Ruslan Zakirov]
278
279 3.23 - Wed Oct 11 12:11:25 2006
280
281  - Yet more Win32 fixes (sigh... seems like I'm fighting a neverending
282    waterbed...).  This time, fixed file_name_is_absolute() to know
283    what it's doing when the path includes a volume but a relative
284    path, like C:foo.txt .  This bug had impact in rel2abs() on Win32
285    too.
286
287 3.22 - Mon Oct  9 21:50:52 2006
288
289  - Fixed the t/crossplatform.t test on Win32 (and possibly other
290    volume-aware platforms) now that rel2abs() always adds a drive
291    letter. [Reported by several parties]
292
293 3.21 - Wed Oct  4 21:16:43 2006
294
295  - Added a bunch of X<> tags to the File::Spec docs to help
296    podindex. [Gabor Szabo]
297
298  - On Win32, abs2rel('C:\one\two\t\foo', 't\bar') should return
299    '..\foo' when the cwd is 'C:\one\two', but it wasn't noticing that
300    the two relevant volumes were the same so it would return the full
301    path 'C:\one\two\t\foo'.  This is fixed. [Spotted by Alexandr
302    Ciornii]
303
304  - On Win32, rel2abs() now always adds a volume (drive letter) if the
305    given path doesn't have a volume (drive letter or UNC volume).
306    Previously it could return a value that didn't have a volume if the
307    input was a semi-absolute path like /foo/bar instead of a
308    fully-absolute path like C:/foo/bar .
309
310 3.19  Tue Jul 11 22:40:26 CDT 2006
311
312  - When abs2rel() is called with two relative paths
313    (e.g. abs2rel('foo/bar/baz', 'foo/bar')) the resolution algorithm
314    needlessly called cwd() (twice!) to turn both arguments into
315    absolute paths.  Now it avoids the cwd() calls with a workaround,
316    making a big efficiency win when abs2rel() is called
317    repeatedly. [Brendan O'Dea]
318
319  - Added a build-time dependency on ExtUtils::Install version 1.39
320    when on Windows.  This is necessary because version 1.39 knows how
321    to replace an in-use Cwd shared library, but previous versions
322    don't. [Suggested by Adam Kennedy]
323
324  - Fixed File::Spec::Win32->canonpath('foo/../bar'), which was
325    returning \bar, and now properly returns just bar. [Spotted by
326    Heinrich Tegethoff]
327
328 3.18  Thu Apr 27 22:01:38 CDT 2006
329
330  - Fixed some problems on VMS in which a directory called "0" would be
331    treated as a second-class citizen. [Peter (Stig) Edwards]
332
333  - Added a couple of regression tests to make sure abs2rel('/foo/bar',
334    '/') works as expected.  [Chia-liang Kao]
335
336  - Added a couple of regression tests to make sure catdir('/',
337    'foo/bar') works as expected.  [Mark Grimes]
338
339 3.17  Fri Mar  3 16:52:30 CST 2006
340
341  - The Cygwin version of Cwd::cwd() will croak if given any arguments
342    (which can happen if, for example, it's called as Cwd->cwd).  Since
343    that croaking is bad, we now wrap the original cwd() in a
344    subroutine that ignores its arguments.  We could skip this wrapping
345    if a future version of perl changes cygwin.c's cwd() to not barf
346    when fed an argument. [Jerry D. Hedden]
347
348 3.16  Mon Jan 30 20:48:41 CST 2006
349
350  - Updated to version 3.06 of ppport.h, which provides backward
351    compatibility XS layers for older perl versions.
352
353  - Clarify in the docs for File::Spec's abs2rel() and rel2abs()
354    methods that the cwd() function it discusses is
355    Cwd::cwd(). [Spotted by Steven Lembark]
356
357  - Apparently the version of File::Path that ships with perl 5.8.5
358    (and perhaps others) calls Cwd::getcwd() with an argument (perhaps
359    as a method?), which causes it to die with a prototyping error.
360    We've eliminated the prototype by using the "(...)" arglist, since
361    "PROTOTYPE: DISABLE" for the function didn't seem to work. [Spotted
362    by Eamon Daly and others]
363
364 3.15  Tue Dec 27 14:17:39 CST 2005
365
366  - The Cwd::getcwd() function on *nix is now a direct pass-through to
367    the underlying getcwd() C library function when possible.  This is
368    safer and faster than the previous implementation, which just did
369    abs_path('.').  The pure-perl version has been kept for cases in
370    which the XS version can't load, such as when running under
371    miniperl. [Suggested by Nick Ing-Simmons]
372
373  - When Cwd searches for a 'pwd' executable in the $PATH, we now stop
374    after we find the first one rather than continuing the search.  We
375    also avoid the $PATH search altogether when a 'pwd' was already
376    found in a well-known and well-trusted location like /bin or
377    /usr/bin. [Suggested by Nick Ing-Simmons]
378
379  - On Win32 abs2rel($path, $base) was failing whenever $base is the
380    root of a volume (such as C:\ or \\share\dir).  This has been
381    fixed. [Reported by Bryan Daimler]
382
383  - In abs2rel() on VMS, we've fixed handling of directory trees so
384    that the test $file = File::Spec::VMS->abs2rel('[t1.t2.t3]file',
385    '[t1.t2.t3]') returns 'file' instead of an empty string. [John
386    E. Malmberg]
387
388  - In canonpath() on VMS, '[]' was totally optimized away instead of
389    just returning '[]'.  Now it's fixed. [John E. Malmberg]
390
391 3.14  Thu Nov 17 18:08:44 CST 2005
392
393  - canonpath() has some logic in it that avoids collapsing a
394    //double/slash at the beginning of a pathname on platforms where
395    that means something special.  It used to check the value of $^O
396    rather than the classname it was called as, which meant that
397    calling File::Spec::Cygwin->canonpath() didn't act like cygwin
398    unless you were actually *on* cygwin.  Now it does.
399
400  - Fixed a major bug on Cygwin in which catdir() could sometimes
401    create things that look like //network/paths in cases when it
402    shouldn't (e.g. catdir("/", "foo", "bar")).
403
404 3.13  Tue Nov 15 23:50:37 CST 2005
405
406  - Calling tmpdir() on Win32 had the unintended side-effect of storing
407    some undef values in %INC for the TMPDIR, TEMP, and TMP entries if
408    they didn't exist already.  This is probably a bug in perl itself
409    (submitted as #37441 on rt.perl.org), which we're now working
410    around. [Thomas L. Shinnick]
411
412  - Integrated a change from bleadperl - a certain #ifdef in Cwd.xs
413    needs to apply to WIN32 but not WinCE. [Vadim Konovalov]
414
415  - abs2rel() used to return the empty string when its two arguments
416    were identical, which made no sense.  Now it returns
417    curdir(). [Spotted by David Golden]
418
419  - The Unix and Win32 implementations of abs2rel() have been unified.
420
421 3.12  Mon Oct  3 22:09:12 CDT 2005
422
423  - Fixed a testing error on OS/2 in which a drive letter for the root
424    directory was confusing things. [Ilya Zakharevich]
425
426  - Integrated a patch from bleadperl for fixing path() on
427    Win32. [Gisle Aas]
428
429 3.11  Sat Aug 27 20:12:55 CDT 2005
430
431  - Fixed a couple of typos in the documentation for
432    File::Spec::Mac. [Piotr Fusik]
433
434 3.10  Thu Aug 25 22:24:57 CDT 2005
435
436  - eliminate_macros() and fixpath() in File::Spec::VMS are now
437    deprecated, since they are MakeMaker-specific and now live inside
438    MakeMaker. [Michael Schwern]
439
440  - canonpath() on Win32 now collapses foo/.. (or foo\..) sections
441    correctly, rather than doing the "misguided" work it was previously
442    doing.  Note that canonpath() on Unix still does NOT collapse these
443    sections, as doing so would be incorrect.  [Michael Schwern]
444
445 3.09  Tue Jun 14 20:36:50 CDT 2005
446
447  - Added some block delimiters (brackets) in the Perl_getcwd_sv() XS
448    function, which were necessary to separate the variable
449    declarations from the statements when HAS_GETCWD is not
450    defined. [Yves]
451
452  - Apparently the _NT_cwd() routine is never defined externally like I
453    thought it was, so I simplified the code around it.
454
455  - When cwd() is implemented using the _backtick_pwd() function, it
456    sometimes could create accidental undef entries in %ENV under perl
457    5.6, because local($hash{key}) is somewhat broken.  This is now
458    fixed with an appropriate workaround. [Neil Watkiss]
459
460 3.08  Sat May 28 10:10:29 CDT 2005
461
462  - Fixed a test failure with fast_abs_path() on Windows - it was
463    sensitive to the rootdir() change from version 3.07. [Steve Hay]
464
465 3.07  Fri May  6 07:46:45 CDT 2005
466
467  - Fixed a bug in which the special perl variable $^O would become
468    tainted under certain versions of perl. [Michael Schwern]
469
470  - File::Spec->rootdir() was returning / on Win32.  Now it returns \ .
471    [Michael Schwern]
472
473  - We now avoid modifying @_ in tmpdir() when it's not strictly
474    necessary, which reportedly provides a modest performance
475    boost. [Richard Soderberg]
476
477  - Made a couple of slight changes to the Win32 code so that it works
478    (or works better) on Symbian OS phones.  [Jarkko Hietaniemi]
479
480 3.06  Wed Apr 13 20:47:26 CDT 2005
481  
482  (No changes in functionality)
483
484  - Added a note to the canonpath() docs about why it doesn't collapse
485    foo/../bar sections.
486
487  - The internal-only function bsd_realpath() in the XS file now uses
488    normal arg syntax instead of K&R syntax. [Nicholas Clark]
489
490 3.05  Mon Feb 28 07:22:58 CST 2005
491
492  - Fixed a bug in fast_abs_path() on Win32 in which forward- and
493    backward-slashes were confusing things. [demerphq]
494
495  - Failure to load the XS code in Cwd is no longer a fatal error
496    (though failure to compile it is still a fatal error in the build
497    process).  This lets Cwd work under miniperl in the core. [Rafael
498    Garcia-Suarez]
499
500  - In the t/cwd.t test, don't enforce loading from blib/ if we're
501    testing in the perl core. [Rafael Garcia-Suarez]
502
503 3.04  Sun Feb  6 17:27:38 CST 2005
504
505  - For perls older than 5.006, the HAS_GETCWD symbol is not available,
506    because it wasn't checked for in older Configure scripts when perl
507    was built.  We therefore just ask the user whether the getcwd() C
508    function is defined on their platform when their perl is old.
509    Maybe in the future we'll try to automate this. [Reported by
510    several parties]
511
512  - Remove lib/ppport.h from the distribution, so that MakeMaker
513    doesn't accidentally pick it up and install it as a lib
514    file. [Jerry Hedden]
515
516  - Fixed a testing error on VMS that occurred when a user had
517    read-access to the root of the current volume. [Craig A. Berry]
518
519 3.03  Fri Jan 21 21:44:05 CST 2005
520
521  - Fixed a testing error if the first file we find in the root
522    directory is a symlink. [Blair Zajac]
523
524  - Added a test to make sure Cwd.pm is loaded from blib/ during
525    testing, which seems to be an issue in some people's environments
526    and makes it awfully hard to debug things on my end.
527
528  - Skip the _perl_abs_path() tests on Cygwin - they don't usually
529    pass, and this function isn't used there anyway, so I decided not
530    to push it.  Let 'em use `cwd`.
531
532 3.02  Sun Jan  9 19:29:52 CST 2005
533
534  - Fixed a bug in which Cwd::abs_path() called on a file in the root
535    directory returned strange results. [Bob Luckin]
536
537  - Straightened out the licensing details for the portion of the Cwd
538    module that comes from BSD sources. [Hugo van der Sanden]
539
540  - Removed the prototype from _perl_abs_path() and the XS version of
541    abs_path(), since all they seemed to be doing was causing people
542    grief, and since some platforms didn't have them anyway.
543
544  - Fixed a testing bug in which sometimes the wrong version of Cwd
545    (the version already installed on the user's machine) would get
546    loaded instead of the one we're building & installing.
547
548  - Sometimes getdcwd() returns a lower-case drive letter, so don't
549    require an upper-case letter in t/win32.t. [Jan Dubois]
550
551  - Fixed a memory leak in getdcwd() on win32. [Steve Hay]
552
553  - Added a copy of ppport.h to the distribution to aid compilation on
554    older versions of perl. [Suggested by Charlie Root]
555
556  - Don't bother looking for a 'pwd' executable on MSWin32 - there
557    won't be one, and looking for it can be extremely slow when lots of
558    disks are mounted. [Several people, including Andrew Burke]
559
560  - Eliminated a multi-argument form of open() that was causing a
561    syntax error on older versions of perl. [Fixed by Michael Schwern]
562
563  - The bug-fix changes for revision 0.90 of File::Spec somehow were
564    lost when I merged it into the PathTools distribution.  They're
565    restored now. [Craig A. Berry]
566
567  - File::Spec->canonpath() will now reduce paths like '[d1.-]foo.dat'
568    down to '[000000]foo.dat' instead of '[]foo.dat' or 'foo.dat'.
569    This is in better accordance with the native filename syntax
570    parser. [Craig A. Berry]
571
572  - In order to remove a recursive dependency (PathTools -> Test-Simple
573    -> Test-Harness -> PathTools), we now include a copy of Test::More in
574    the distribution.  It is only used for testing, it won't be installed
575    with the rest of the stuff.
576
577  - Removed some 5.6-isms from Cwd in order to get it to build with
578    older perls like 5.005.
579
580  - abs_path() on Windows was trampling on $ENV{PWD} - fixed. [Spotted
581    by Neil MacMullen]
582
583  - Added licensing/copyright statements to the POD in each .pm
584    file. [Spotted by Radoslaw Zielinski]
585
586 3.01  Mon Sep  6 22:28:06 CDT 2004
587
588  - Removed an unnecessary and confusing dependency on File::Spec from
589    the Makefile.PL and the Build.PL.
590
591  - Added a 'NAME' entry to the Makefile.PL, because otherwise it won't
592    even begin to work. [Reported by many]
593
594 3.00  Thu Sep  2 22:15:07 CDT 2004
595
596  - Merged Cwd and File::Spec into a single PathTools distribution.
597    This was done because the two modules use each other fairly
598    extensively, and extracting the common stuff into another
599    distribution was deemed nigh-impossible.  The code in revision 3.00
600    of PathTools should be equivalent to the code in Cwd 2.21 and
601    File::Spec 0.90.
602
603 ==================================================================
604 Prior to revision 3.00, Cwd and File::Spec were maintained as two
605 separate distributions.  The revision history for Cwd is shown here.
606 The revision history for File::Spec is further below.
607 ==================================================================
608
609 Cwd 2.21  Tue Aug 31 22:50:14 CDT 2004
610
611  - Removed "NO_META" from the Makefile.PL, since I'm not building the
612    distribution with MakeMaker anyway.  [Rohan Carly]
613
614  - Only test _perl_abs_path() on platforms where it's expected to work
615    (platforms with '/' as the directory separator). [Craig A. Berry]
616
617 Cwd 2.20  Thu Jul 22 08:23:53 CDT 2004
618
619  - On some implementations of perl on Win32, a memory leak (or worse?)
620    occurred when calling getdcwd().  This has been fixed. [PodMaster]
621
622  - Added tests for getdcwd() on Win32.
623
624  - Fixed a problem in the pure-perl implementation _perl_abs_path()
625    that caused a fatal error when run on plain files. [Nicholas Clark]
626    To exercise the appropriate test code on platforms that wouldn't
627    otherwise use _perl_abs_path(), run the tests with $ENV{PERL_CORE}
628    or $ENV{TEST_PERL_CWD_CODE} set.
629
630 Cwd 2.19  Thu Jul 15 08:32:18 CDT 2004
631
632  - The abs_path($arg) fix from 2.18 didn't work for VMS, now it's
633    fixed there. [Craig Berry]
634
635 Cwd 2.18  Thu Jun 24 08:22:57 CDT 2004
636
637  - Fixed a problem in which abs_path($arg) on some platforms could
638    only be called on directories, and died when called on files.  This
639    was a problem in the pure-perl implementation _perl_abs_path().
640
641  - Fixed fast_abs_path($arg) in the same way as abs_path($arg) above.
642
643  - On Win32, a function getdcwd($vol) has been added, which gets the
644    current working directory of the specified drive/volume.
645    [Steve Hay]
646
647  - Fixed a problem on perl 5.6.2 when built with the MULTIPLICITY
648    compile-time flags. [Yitzchak Scott-Thoennes]
649
650  - When looking for a `pwd` system command, we no longer assume the
651    path separator is ':'.
652
653  - On platforms where cwd() is implemented internally (like Win32),
654    don't look for a `pwd` command externally.  This can greatly speed
655    up load time.  [Stefan Scherer]
656
657  - The pure-perl version of abs_path() now has the same prototype as
658    the XS version (;$).
659
660 Cwd 2.17  Wed Mar 10 07:55:36 CST 2004
661
662  - The change in 2.16 created a testing failure when tested from
663    within a path that contains symlinks (for instance, /tmp ->
664    /private/tmp).
665
666 Cwd 2.16  Sat Mar  6 17:56:31 CST 2004
667
668  - For VMS compatibility (and to conform to Cwd's documented
669    interface), in the regression tests we now compare output results
670    to an absolute path. [Craig A. Berry]
671
672 Cwd 2.15  Fri Jan 16 08:09:44 CST 2004
673
674  - Fixed a problem on static perl builds - while creating
675    Makefile.aperl, it was loading a mismatched version of Cwd from
676    blib/ . [Reported by Blair Zajac]
677
678 Cwd 2.14  Thu Jan  8 18:51:08 CST 2004
679
680  - We now use File::Spec->canonpath() and properly-escaped regular
681    expressions when comparing paths in the regression tests.  This
682    fixes some testing failures in 2.13 on non-Unix platforms.  No
683    changes were made in the actual Cwd module code. [Steve Hay]
684
685 Cwd 2.13  Fri Jan  2 22:29:42 CST 2004
686
687  - Changed a '//' comment to a '/* */' comment in the XS code, so that
688    it'll compile properly under ANSI C rules. [Jarkko Hietaniemi]
689
690  - Fixed a 1-character buffer overrun problem in the C code. [The BSD
691    people]
692
693 Cwd 2.12  Fri Dec 19 17:04:52 CST 2003
694
695  - Fixed a bug on Cygwin - the output of realpath() should have been
696    tainted, but wasn't.  [Reported by Tom Wyant]
697
698 Cwd 2.10  Mon Dec 15 07:50:12 CST 2003
699
700  (Note that this release was mistakenly packaged as version 2.11, even
701  though it had an internal $VERSION variable of 2.10.  Not sure how
702  THAT happened...)
703
704  - There was a dependency in the Makefile.PL on Module::Build, which
705    isn't necessary.  I've removed it.
706
707 Cwd 2.09  Thu Dec 11 20:30:58 CST 2003
708
709  - The module should now build & install using version 5.6 of perl.
710
711  - We now note a build-time dependency on version 0.19 of
712    Module::Build, which is necessary because we don't use the standard
713    lib/-based file layout.  No version of Module::Build is required if
714    you use the Makefile.PL, just if you use the Build.PL .
715
716  - Removed some gratuitous uses of 5.6-isms like our(), with the aim
717    of backporting this module to perl 5.005.
718
719  - Simplified all code that autoloads Carp.pm and calls
720    carp()/croak().
721
722  - Removed some redundant OS/2 code at the suggestion of Michael
723    Schwern and Ilya Zakharevich.
724
725  - Make sure the correct version of Cwd.pm is loaded in the regression
726    tests. [Sam Vilain]
727
728 Cwd 2.08  Wed Oct 15 20:56 CDT 2003
729
730   - Code extracted from perl 5.8.1 and packaged as a separate CPAN
731     release by Ken Williams.
732
733 ==================================================================
734 Prior to revision 3.00, Cwd and File::Spec were maintained as two
735 separate distributions.  The revision history for File::Spec is shown
736 here.  The revision history for Cwd is above.
737 ==================================================================
738
739 File::Spec 0.90  Tue Aug 31 22:34:50 CDT 2004
740
741  - On VMS, directories use vmspath() and files use vmsify(), so
742    rel2abs() has to use some 'educated guessing' when dealing with
743    paths containing slashes.  [Craig A. Berry]
744
745 File::Spec 0.89  Sun Aug 29 19:02:32 CDT 2004
746
747  - Fixed some pathological cases on VMS which broke canonpath() and
748    splitdir().  [Richard Levitte and Craig A. Berry]
749
750  - Fixed rel2abs() on VMS when passed a unix-style relative
751    path. [Craig A. Berry]
752
753 File::Spec 0.88  Thu Jul 22 23:14:32 CDT 2004
754
755  - rel2abs() on Win32 will now use the new Cwd::getdcwd() function, so
756    that things like rel2abs('D:foo.txt') work properly when the
757    current drive isn't 'D'. This requires Cwd version 2.18.  
758    [Steve Hay]
759
760  - Got rid of a redundant double-backslash in a character
761    class. [Alexander Farber]
762
763  - Added much markup to pod for enhanced readability. [Andy Lester]
764
765 File::Spec 0.87  Fri Dec 19 08:03:28 CST 2003
766
767  - With a one-line change in the tests, backported to perl 5.004.
768    [Issue reported by Barry Kemble]
769
770 File::Spec 0.86  Fri Sep 26 10:07:39 CDT 2003
771
772  - This is the version released with perl 5.8.1.  It is identical to
773    the code in the File::Spec beta 0.85_03.
774
775 File::Spec 0.85_03  Mon Sep 15 09:35:53 CDT 2003
776
777  - On VMS, if catpath() receives volume specifiers in both its first
778    two arguments, it will now use the volume in the first argument
779    only.  Previously it returned a non-syntactical result which
780    included both volumes.  This change is the same in spirit to the
781    catpath() MacOS change from version 0.85_02.
782
783  - Fixed an abs2rel() bug on VMS - previously
784    abs2rel('[t1.t2.t3]file','[t1.t2]') returned '[t3]file', now it
785    properly returns '[.t3]file'.
786
787 File::Spec 0.85_02  Fri Sep 12 17:11:13 CDT 2003
788
789  - abs2rel() now behaves more consistently across platforms with the
790    notion of a volume.  If the volumes of the first and second
791    argument (the second argument may be implicit) do not agree, we do
792    not attempt to reconcile the paths, and simply return the first
793    argument.  Previously the volume of the second argument was
794    (usually) ignored, resulting in sometimes-garbage output.
795
796  - catpath() on MacOS now looks for a volume element (i.e. "Macintosh HD:")
797    in its first argument, and then its second argument.  The first
798    volume found will be used, and if none is found, none will be used.
799
800  - Fixed a problem in abs2rel() on Win32 in which the volume of the
801    current working directory would get added to the second argument if
802    none was specified.  This might have been somewhat helpful, but it
803    was contrary to the documented behavior.  For example,
804    abs2rel('C:/foo/bar', '/foo') used to return 'bar', now it returns
805    'C:/foo/bar' because there's no guarantee /foo is actually C:/foo .
806
807  - catdir('/', '../') on OS2 previously erroneously returned '//..',
808    and now it returns '/'.
809
810 File::Spec 0.85_01  Thu Sep 11 16:18:54 CDT 2003
811
812  Working toward 0.86, the version that will be released with perl 5.8.1.
813
814  - The t/rel2abs2rel.t test now is a little friendlier about emitting
815    its diagnostic debugging output. [Jarkko Hietaniemi]
816
817  - We now only require() Cwd when it's needed, on demand. [Michael
818    Schwern, Tels]
819
820  - Fixed some POD errors and redundancies in OS2.pm and Cygwin.pm.
821    [Michael Schwern]
822
823  - The internal method cwd() has been renamed to _cwd(), since it was
824    never meant for public use. [Michael Schwern]
825
826  - Several methods in File::Spec::Unix that just return constant
827    strings have been sped up.  catdir() has also been sped up there.
828    [Tels]
829
830  - Several canonpath() and catdir() bugs on Win32 have been fixed, and
831    tests added for them:
832       catdir('/', '../')   -> '\\'     (was '\..')
833       catdir('/', '..\\')  -> '\\      (was '')
834       canonpath('\\../')   -> '\\'     (was '')
835       canonpath('\\..\\')  -> '\\'     (was '')
836       canonpath('/../')    -> '\\'     (was '\..')
837       canonpath('/..\\')   -> '\\'     (was '')
838       catdir('\\', 'foo')  -> '\foo'   (was '\\foo')
839
840  - catpath($volume, $dirs, $file) on Mac OS now ignores any volume
841    that might be part of $dirs, enabling catpath($volume,
842    catdir(rootdir(), 'foo'), '') to work portably across platforms.
843
844 File::Spec 0.85  Tue Jul 22 11:31 CDT 2003
845
846  A bug-fix release relative to 0.84.  I've forked development into a
847  "stable" branch (this one) and a more aggressive branch (as yet
848  unreleased), with an eye toward getting the stable features in perl
849  5.8.1.
850
851  - File::Spec::Mac->case_tolerant() returned 0 when it should have
852    returned 1.
853
854  - Many cases in File::Spec::Win32->abs2rel() were broken, because of
855    the way in which volumes were/weren't ignored.  Unfortunately, part
856    of the regression tests were broken too.  Now, if the $path
857    argument to abs2rel() is on a different volume than the $base
858    argument, the result will be an absolute path rather than the
859    broken relative path previous versions returned.
860
861  - Fixed a problem in File::Spec::Win32->canonpath, which was turning
862    \../foo into "foo" rather than \foo
863
864  - Greatly simplified the code in File::Spec::Unix->splitdir().
865
866 File::Spec 0.84_01  Fri Jul 11 16:14:29 CDT 2003
867
868  No actual code changes, just changes in other distribution files
869
870  - Dependencies are now listed explicitly in the Makefile.PL and
871    Build.PL scripts, as well as in the META.yml file.
872
873  - The t/abs2rel2abs.t test should now be more friendly about skipping
874    on platforms where it can't run properly.
875
876 File::Spec 0.84  Wed Jul  9 22:21:23 CDT 2003
877
878  I (Ken)'ve taken the changes from bleadperl and created a new CPAN release
879  from them, since they're pretty important changes.  The highlights,
880  from what I can tell, are listed here.
881
882  - A huge number of changes to File::Spec::Mac in order to bring it in
883    line with the other platforms.  This work was mostly/completely
884    done by Thomas Wegner.
885
886  - The Epoc and Cygwin platforms are now supported.
887
888  - Lots of generically-applicable documentation has been taken from
889    File::Spec::Unix and put in File::Spec.
890
891  - A Build.PL has been provided for people who wish to install via
892    Module::Build.
893
894  - Some spurious warnings and errors in the tests have been
895    eliminated. [Michael Schwern]
896
897  - canonpath() on File::Spec::Unix now honors a //node-name at the
898    beginning of a path.
899
900  - Cwd.pm wasn't being loaded properly on MacOS. [Chris Nandor]
901
902  - Various POD fixups
903
904  - Several testing patches for the Epoc and Cygwin platforms [Tels]
905
906  - When running under taint mode and perl >= 5.8, all the tmpdir()
907    implementations now avoid returning a tainted path.
908
909  - File::Spec::OS2 now implements canonpath(), splitpath(),
910    splitdir(), catpath(), abs2rel(), and rel2abs() directly rather
911    than inheriting them from File::Spec::Unix.
912
913  - Added 'SYS:/temp' and 'C:/temp' to the list of possible tmpdir()s
914    on Win32.
915
916  - catfile() on Win32 and VMS will now automatically call canonpath()
917    on its final argument.
918
919  - canonpath() on Win32 now does a much more extensive cleanup of the
920    path.
921
922  - abs2rel() on Win32 now defaults to using cwd() as the base of
923    relativity when no base is given.
924
925  - abs2rel() on Win32 now explicitly ignores any volume component in
926    the $path argument.
927
928  - canonpath() on VMS now does []foo ==> foo, and foo.000000] ==> foo].
929    It also fixes a bug in multiple [000000.foo ==> [foo translations.
930
931  - tmpdir() on VMS now uses 'sys$scratch:' instead of 'sys$scratch'.
932
933  - abs2rel() on VMS now uses '000000' in both the path and the base.
934
935 File::Spec 0.82 Wed Jun 28 11:24:05 EDT 2000
936    - Mac.pm: file_name_is_absolute( '' ) now returns TRUE on all platforms
937    - Spec.pm: unbreak C<$VERSION = '0.xx'> to be C<$VERSION = 0.xx>, so
938      underscores can be used when I want to update CPAN without anyone
939      needing to update the perl repository.
940    - abs2rel, rel2abs doc tweaks
941    - VMS.pm: get $path =~ /\s/ checks from perl repository.
942    - Makefile.PL: added INSTALLDIRS => 'perl', since these are std. modules.
943    - Remove vestigial context prototypes from &rel2abs until some future
944      arrives where method prototypes are honored.