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