2007-11-19 Tim Jenness <tjenness@cpan.org>
----- Release V0.19 CPAN -----
* Temp.pm (tempfile): Add EXLOCK option which can be used to disable O_EXLOCK
* t/lock.t: Test ability to disable O_EXLOCK
2007-11-16 Tim Jenness <tjenness@cpan.org>
* Temp.pm (newdir): Add object oriented interface to "tempdir". Use
File::Temp->newdir()
2007-11-15 Tim Jenness <tjenness@cpan.org>
* Temp.pm (tempdir): Add a note to the tempdir documentation to
clarify that the default is for the directory not to be temporary
and that use of an OO approach may be required (thanks to David
Golden's annotation on CPAN).
* Temp.pm (_randchar): Remove _randchar function (no longer used)
* Temp.pm: Add note about File::Tempdir module
2007-11-14 Tim Jenness <tjenness@cpan.org>
* Temp.pm (new): Track pid used when file created and make sure
object destructor deletes the file only when the current pid
matches the original pid (RT#11067 again - thanks to Grousse)
Added new test (fork.t) to test this behaviour.
* t/seekable.t: Add tests to verify fix for RT#22052
2007-11-01 Tim Jenness <tjenness@cpan.org>
* Temp.pm (_is_safe): Correct cluck message to match uid check
(thanks to Alexey Tourbin RT #14218)
* Temp.pm: Add note on use of binmode to modify encoding. (prompted
by Wolfgang Husmann)
2007-10-31 Tim Jenness <tjenness@cpan.org>
* Temp.pm (tempfile): Add TMPDIR flag to simplify
tempdir(template, DIR => File::Spec->tmpdir) and to remove confusion
for tempdir interface. (thanks to Brendan O'Dea - debian bug #351373)
* META.yml: Update to v1.0 spec YAML spec. (thanks to Alexandr Ciornii RT# 23524)
* Temp.pm: Localize $@ when using eval to prevent leakage (prompted by Zefram)
* Makefile.PL: Support LICENSE in newer ExtUtils::MakeMaker implementations
(thanks to Alexandr Ciornii RT #23524)
2007-10-31 Tim Jenness <tjenness@cpan.org>
* t/seekable.t: Skip seek test on older IO::Seekable versions.
(thanks to Sebastien Aperghis-Tramoni RT #23524)
* Temp.pm: Allow XXX replacement to run on perl 5.005 and 5.004.
(thanks to Sebastien Aperghis-Tramoni RT #23524)
2007-10-29 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Fix range of random character determination such that the last character
in the list (_) will appear occassionally. (Thanks to Peter Dintelmann perl RT# 41345)
* Temp.pm: Clarify error message when parent directory does not exist (thanks to
Peter Dintelmann perl RT # 41346)
* Temp.pm: Carp::Heavy does not exist on older perls (eg 5.005) so wrap the require
in an eval (Thanks to Sebastien Aperghis-Tramoni, Jesse Vincent, Slaven Rezic
and Robin Barker RT #26841)
* Temp.pm: Replace "new File::Temp" with "File::Temp->new" at the behest of H. Merijn
Brand
2007-01-21 Tim Jenness <tjenness@cpan.org>
--- RELEASE 0.18 CPAN ---
* Temp.pm: Provide "cmp" overloading so File::Temp object can
be compared to filename directly. (Rafael Garcia-Suarez)
* Temp.pm: Remove umask control (was not thread-safe)
(thanks to Peter Dintelmann, Gisle Aas)
* t/cmp.t: New test file
* Temp.pm: Export SEEK_* constants (Matt Lawrence RT #22052)
2006-08-18 Tim Jenness <tjenness@cpan.org>
--- RELEASE 0.17 CPAN ----
* Temp.pm: Also inherit from IO::Seekable so that seek and tell
methods can work on filehandles (thanks to Rick Myers and Toby Corkindale).
* t/seekable.t: Add test script from Rick Myers.
* Temp.pm: Add note about forking and resetting the random number generator
to prevent multiple clashes of temp file names. (pointed out by Brent Cowgill)
* Temp.pm: pre-emptively load Carp::Heavy. If we don't when we run out of file
handles and attempt to call croak() we get an error message telling
us that Carp::Heavy won't load rather than an error telling us we
have run out of file handles. (pointed out by bjoern_at_hoehrmann.de RT #14151)
* Temp.pm: Remove eg. from comments and replace with e.g. In pod
replace "e.g." with "for example". (David Landgren)
* Temp.pm: Correct synopsis concerning the arguments to the
File::Temp constructor (Peter Valdemar Moerch).
* Temp.pm: Update documentation to note that croak() will be
called by tempfile() and File::Temp->new if a problem occurs (thanks to Steve
Hay for pointing this out).
2005-09-01 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Sebastien Aperghis-Tramoni indicates that File::Temp
works with perl 5.004 so change the minimum perl version. (RT #14149)
* Temp.pm: Use effective uid rather than real uid (Alexey Tourbin RT #14218)
2005-02-22 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.16 ---
* Temp.pm: Remove spurious debug statement
2005-02-21 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.15 ---
* Temp.pm (unlink_on_destroy): Add post-object creation method to
control whether the temp file will be unlinked when the object
goes out of scope.
* Temp.pm: Increase maximum number of tries before aborting.
* Temp.pm: Add $KEEP_ALL to allow the temporary files to be
retained whilst debugging (suggestion from Ed Avis [and others]).
* Temp.pm: Temp files should have been opened O_NOFOLLOW rather
than O_FOLLOW! (thanks to Marc Tardif)
* Temp.pm: Add cleanup() function so that temp files that would be
removed by an END block can be removed by a daemon. (RT wishlist
item #6928 by Robert Rothenberg)
* Temp.pm: Force chmod on file before unlinking it. This can be a
problem on windows (see RT bug #6935). tempdir() has been fixed by
Slaven's earlier patch to change the rmtree arguments.
* Temp.pm (top_system_uid): Add interix patch from Todd Vierling
* Temp.pm (_gettemp): Pod patch from Steven Lembark clarifying the
error message associated with two few XXXXs
* Temp.pm: Add note on forking and make sure that END blocks only
remove temporary files created by the current process ID (prompted
by Daniel Macks in RT bug #11067)
* Temp.pm (cmpstat): Roman Vasicek reported problems with the _
filehandle. Play it safe and remove that handle. (see RT bug #8822)
* t/tempfile.t: Add test for write proteceted temp file (thanks to
Slaven Rezic)
* Temp.pm (_can_do_level): Change argument to rmtree to make it
attempt to remove write-protected files on cleanup (thanks to
Slaven Rezic)
* Temp.pm: Add note on binmode usage
2003-08-16 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.14 ---
* t/object.t: Add test of OO interface and switch to Test::More
* Temp.pm: Add object-oriented interface.
* Temp.pm: mpeix fixes from Ken Hirsch <hirschk@labcorp.com>
2003-08-15 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.13 ---
* Temp.pm: Integrate doc fixes from bleadperl (Slaven Rezic and
Jeffrey Friedl)
* Makefile.PL: Add INSTALLDIRS switch on perl version so that the
module installs into the correct place for perl 5.6.1 and newer.
2002-08-28 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Synch with perl 5.8.0 v0.13 MacOS fixes (Chris Nandor)
2001-02-22 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.12 ---
* t/posix.t: The unlink0 tests now skip on failure
* t/mktemp.t: The unlink0 tests now skip on failure
* Temp.pm (tmpfile): tmpfile returns undef on failure rather than
croaking.
2001-02-21 Tim Jenness <tjenness@cpan.org>
* Temp.pm:
-Add fix for CGI::Carp
[Thanks to John Labovitz <johnl@valiha.inside.sealabs.com>]
- Use error string to propogate reason rather than a carp
2000-11-24 Tim Jenness <tjenness@cpan.org>
--- RELEASE V0.11 ----
* t/tempfile.t: Add a test to make sure the file is present after
close and another to use tempfile in a scalar context.
* Temp.pm: Fix bug on NT with O_TEMPORARY causing the file to be
removed before the program exits.
---- RELEASE V0.10 ----
* Temp.pm: Incorporate fixes up to bleedperl 7825. Cross platform
fixes.
* t/security.t: Incorporate fixes from bleedperl 7825 - adds more
cross platform support and more skips on the basis that this is
not testing your system security, just the module.
2000-08-16 Tim Jenness <tjenness@cpan.org>
* Temp.pm (_gettemp): Dont use VMS::Stdio if we want the file
to remain after closing.
2000-08-15 Tim Jenness <tjenness@cpan.org>
* Temp.pm (_can_do_level): cygwin patch
2000-08-14 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Add OPENTEMPFLAGS to support UNLINK=>0
More tweaks to VMS support (now uses VMS::Stdio)
2000-07-26 Tim Jenness <tjenness@cpan.org>
* Release V0.09 to CPAN
* README: Update for V0.09
2000-07-25 Tim Jenness <tjenness@cpan.org>
* t/security.t: OS/2 can not do the security tests.
* Temp.pm: Add Support for VMS and OS/2
2000-05-15 Tim Jenness <tjenness@cpan.org>
* Release V0.08 to CPAN
* t/mktemp.t: Skip the test for unlink0 if it fails since in most
cases this indicates an NFS problem.
* Temp.pm (_can_do_level): Add check to make sure an OS can handle
the required safe level
(safe_level): Check the level can be supported before allowing it
to change
(END): Change order of cleanup so that files are removed ahead of
temp dirs (since files may be in the temp dirs)
2000-05-08 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Reorganize END block
* t/tempfile.t: Correct tests for new position of END{} block
* t/security.t: Correct tests for new position of END{} block
* t/posix.t: add # to print output
* t/tempfile.t: Add # to print output
* t/mktemp.t: Add # to print output
* t/security.t: Add # to print output
2000-04-28 Tim Jenness <tjenness@cpan.org>
* Temp.pm: Calculate OPENFLAGS outside of subroutine. This
improves speed of the commands by nearly a factor of 3.
(_replace_XX): Inline the character replacement code rather than
using _randchar subroutine. Improves performance by an additional 8%.
2000-04-27 Tim Jenness <tjenness@cpan.org>
* t/posix.t: Add explicit autoflush on filehandle
* t/mktemp.t: Add explicit autoflush on filehandle
* Temp.pm: (unlink0): Disallow HIGH and MEDIUM tests if running
perl 5.005 or earlier.
* t/security.t: Specify perl version to allow for tests
* Add support for perl 5.005 (remove 'our' and auto-vivifying file
handles). VERSION NUMBER NOW 0.07
* README: Update in preparation for V0.06
* Temp.pm (_deferred_unlink): Add new internal routine to centralise the
configuring of END blocks. This also fixes a bug where only the
first file was being unlinked in the END block (due to scoping).
(_can_unlink_opened_file): Rename from _can_unlink. Will now
return false if running on Windows.
(_is_verysafe): If _PC_CHOWN_RESTRICTED is not available assume
that "chown giveaway" is possible anyway.
(unlink0): If can not unlink an open file, simply defer removal
until later.
(_gettemp): Add O_NOINHERIT and O_TEMPORARY flags to sysopen if
they are available (Thanks to Tom Christiansen for this)
* t/mktemp.t: Add test
* t/posix.t: Add test
* t/security.t: Add test
* t/tempfile.t: Add test
2000-03-14 Tim Jenness <tjenness@cpan.org>
* Release v0.05 to CPAN