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