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