Blame Changes

Packit a89ea5
0.2306    2018-06-24 19:33:47Z
Packit a89ea5
          - switch from 'use vars' to 'our'
Packit a89ea5
Packit a89ea5
0.2305    2018-04-19 11:58:49Z (TRIAL RELEASE)
Packit a89ea5
          - documentation updates for what versions contain what features
Packit a89ea5
            (thanks, Brian Mowrey! RT#101518)
Packit a89ea5
          - fix bad use of skip() in tests (RT#95922)
Packit a89ea5
          - Fall back to CSIDL_LOCAL_APPDATA under taint on Windows (RT#60340)
Packit a89ea5
          - update distribution tooling
Packit a89ea5
Packit a89ea5
0.2304    2013-10-10 13:16:27Z
Packit a89ea5
Packit a89ea5
        * List all detectable dependencies for completeness. (Test::More had
Packit a89ea5
          been unintentionally omitted in the last release and many core
Packit a89ea5
          dependencies had never been listed.)
Packit a89ea5
Packit a89ea5
0.2303    2013-10-09 13:57:21Z
Packit a89ea5
Packit a89ea5
        * Remove compile test and associated dependencies
Packit a89ea5
Packit a89ea5
0.2302    2013-09-26 13:45:35Z
Packit a89ea5
Packit a89ea5
        * Drop minimum Perl version back to 5.6 (erroneously bumped by dzil)
Packit a89ea5
        * Do not inherit from Exporter (requires Exporter 5.57) (thanks to
Packit a89ea5
          Olivier Mengué)
Packit a89ea5
        * 'use base ...' => 'use parent ...' as parent is lighter (thanks to
Packit a89ea5
          Olivier Mengué)
Packit a89ea5
Packit a89ea5
0.2301    2013-04-11 15:30:05Z
Packit a89ea5
Packit a89ea5
        * dist.ini: Managed with Dist::Zilla now; generates Makefile.PL
Packit a89ea5
          to avoid circular dependency when using Build.PL
Packit a89ea5
Packit a89ea5
0.23      2013-03-14 Tim Jenness <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Build.PL: Use Module::Build
Packit a89ea5
Packit a89ea5
	* Temp.pm: internally holds absolute path for cleanup (Fixes RT #44924)
Packit a89ea5
Packit a89ea5
	* t/rmtree.t: (new) Test temp dir removal explicitly.
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Correctly tests directory removal from chdir.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Clean up temp directory on exit even if it is the
Packit a89ea5
	current directory. Patch supplied by Ed Avis and fixes RT #45246.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Defer unlinking tempfiles if initial unlink fails
Packit a89ea5
	instad of croaking; fixes problems on NFS (RT #82720)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Allow leading template to new() for consistency with
Packit a89ea5
	newdir()
Packit a89ea5
Packit a89ea5
	* Temp.pm: Calling tempfile or tempdir as a class method now
Packit a89ea5
	produce a more useful fatal error message
Packit a89ea5
Packit a89ea5
	* Temp.pm: new/newdir/tempfile/tempdir now all allow either
Packit a89ea5
	a leading template argument or a TEMPLATE option
Packit a89ea5
Packit a89ea5
        * Temp.pm: Overload numify with refaddr() in same manner as IO::File
Packit a89ea5
          (closes RT #47397 from Kevin Ryde)
Packit a89ea5
Packit a89ea5
0.22      2009-06-28  Tim Jenness <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* t/fork.t: Fix portability problems in fork.t and remove left
Packit a89ea5
	over file (RT #41557)
Packit a89ea5
Packit a89ea5
0.21      2008-11-12  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm: Clean out $FILES_CREATED_BY_OBJECT when the destructor
Packit a89ea5
	runs. Otherwise memory does not get returned. Really bad idea for 
Packit a89ea5
	daemons. (Thanks to Maxime Therreault RT #37621)
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Integrate patches from bleadperl for cygwin. (thanks to 
Packit a89ea5
	Jari Aalto RT #36376)
Packit a89ea5
Packit a89ea5
	* t/seekable.t: seekable test was failing on perl 5.6.0 so we now
Packit a89ea5
	skip the specific test. (thanks to Zefram)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Remove the test on the parent directory to see if a file
Packit a89ea5
	can be written. This will be found out anyway as soon as the file open
Packit a89ea5
	is attempted. AFS systems may fail a -w test but still allow a file to
Packit a89ea5
	be created. (thanks to Christopher Ellison)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Put an eval around rmtree. Some versions of rmtree croak
Packit a89ea5
	if you attempt to remove a directory that you are inside. (debian bug
Packit a89ea5
	479317 and RT #35779).
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Localize special variables in END blocks and destructors.
Packit a89ea5
	
Packit a89ea5
0.20      2007-12-20  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
	
Packit a89ea5
	* t/lock.t: Fix logic problem with BEGIN block that was causing grief on some
Packit a89ea5
	systems (thanks to Steve Peters for patch).
Packit a89ea5
Packit a89ea5
0.19      2007-11-19  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm (tempfile): Add EXLOCK option which can be used to disable O_EXLOCK
Packit a89ea5
Packit a89ea5
	* t/lock.t: Test ability to disable O_EXLOCK
Packit a89ea5
	
Packit a89ea5
	* Temp.pm (newdir): Add object oriented interface to "tempdir". Use
Packit a89ea5
	File::Temp->newdir()
Packit a89ea5
Packit a89ea5
	* Temp.pm (tempdir): Add a note to the tempdir documentation to
Packit a89ea5
	clarify that the default is for the directory not to be temporary
Packit a89ea5
	and that use of an OO approach may be required (thanks to David
Packit a89ea5
	Golden's annotation on CPAN).
Packit a89ea5
	
Packit a89ea5
	* Temp.pm (_randchar): Remove _randchar function (no longer used) 
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add note  about File::Tempdir module
Packit a89ea5
	
Packit a89ea5
	* Temp.pm (new): Track pid used when file created and make sure
Packit a89ea5
	object destructor deletes the file only when the current pid
Packit a89ea5
	matches the original pid (RT#11067 again - thanks to Grousse)
Packit a89ea5
	Added new test (fork.t) to test this behaviour.
Packit a89ea5
Packit a89ea5
	* t/seekable.t: Add tests to verify fix for RT#22052
Packit a89ea5
	
Packit a89ea5
	* Temp.pm (_is_safe): Correct cluck message to match uid check
Packit a89ea5
	(thanks to Alexey Tourbin RT #14218)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add note on use of binmode to modify encoding. (prompted
Packit a89ea5
	by Wolfgang Husmann)
Packit a89ea5
	
Packit a89ea5
	* Temp.pm (tempfile): Add TMPDIR flag to simplify 
Packit a89ea5
	    tempdir(template, DIR => File::Spec->tmpdir) and to remove confusion
Packit a89ea5
	for tempdir interface. (thanks to Brendan O'Dea - debian bug #351373)
Packit a89ea5
Packit a89ea5
	* META.yml: Update to v1.0 spec YAML spec. (thanks to Alexandr Ciornii RT# 23524)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Localize $@ when using eval to prevent leakage (prompted by Zefram)
Packit a89ea5
	
Packit a89ea5
	* Makefile.PL: Support LICENSE in newer ExtUtils::MakeMaker implementations
Packit a89ea5
	(thanks to Alexandr Ciornii RT #23524)
Packit a89ea5
Packit a89ea5
	* t/seekable.t: Skip seek test on older IO::Seekable versions.
Packit a89ea5
	(thanks to Sebastien Aperghis-Tramoni RT #23524)
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Allow XXX replacement to run on perl 5.005 and 5.004.
Packit a89ea5
	(thanks to Sebastien Aperghis-Tramoni RT #23524)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Fix range of random character determination such that the last character
Packit a89ea5
	in the list (_) will appear occassionally. (Thanks to Peter Dintelmann perl RT# 41345)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Clarify error message when parent directory does not exist (thanks to
Packit a89ea5
	Peter Dintelmann perl RT # 41346)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Carp::Heavy does not exist on older perls (eg 5.005) so wrap the require
Packit a89ea5
	in an eval (Thanks to Sebastien Aperghis-Tramoni, Jesse Vincent, Slaven Rezic
Packit a89ea5
	and Robin Barker RT #26841)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Replace "new File::Temp" with "File::Temp->new" at the behest of H. Merijn 
Packit a89ea5
	Brand
Packit a89ea5
	
Packit a89ea5
0.18      2007-01-21 Tim Jenness <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm: Provide "cmp" overloading so File::Temp object can
Packit a89ea5
	be compared to filename directly. (Rafael Garcia-Suarez)
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Remove umask control (was not thread-safe)
Packit a89ea5
	(thanks to Peter Dintelmann, Gisle Aas)
Packit a89ea5
Packit a89ea5
	* t/cmp.t: New test file
Packit a89ea5
Packit a89ea5
	* Temp.pm: Export SEEK_* constants (Matt Lawrence RT #22052)
Packit a89ea5
	
Packit a89ea5
0.17      2006-08-18  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm: Also inherit from IO::Seekable so that seek and tell
Packit a89ea5
	methods can work on filehandles (thanks to Rick Myers and Toby Corkindale).
Packit a89ea5
Packit a89ea5
	* t/seekable.t: Add test script from Rick Myers.
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Add note about forking and resetting the random number generator
Packit a89ea5
	to prevent multiple clashes of temp file names. (pointed out by Brent Cowgill)
Packit a89ea5
Packit a89ea5
	* Temp.pm: pre-emptively load Carp::Heavy. If we don't when we run out of file
Packit a89ea5
	handles and attempt to call croak() we get an error message telling
Packit a89ea5
	us that Carp::Heavy won't load rather than an error telling us we
Packit a89ea5
	have run out of file handles. (pointed out by bjoern_at_hoehrmann.de RT #14151)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Remove eg. from comments and replace with e.g. In pod
Packit a89ea5
	replace "e.g." with "for example". (David Landgren)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Correct synopsis concerning the arguments to the
Packit a89ea5
	File::Temp constructor (Peter Valdemar Moerch).
Packit a89ea5
Packit a89ea5
	* Temp.pm: Update documentation to note that croak() will be
Packit a89ea5
	called by tempfile() and File::Temp->new if a problem occurs (thanks to Steve
Packit a89ea5
	Hay for pointing this out).
Packit a89ea5
Packit a89ea5
	* Temp.pm: Sebastien Aperghis-Tramoni indicates that File::Temp
Packit a89ea5
	works with perl 5.004 so change the minimum perl version. (RT #14149)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Use effective uid rather than real uid (Alexey Tourbin RT #14218)
Packit a89ea5
Packit a89ea5
0.16      2005-02-22  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm: Remove spurious debug statement
Packit a89ea5
Packit a89ea5
0.15      2005-02-21  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Temp.pm (unlink_on_destroy): Add post-object creation method to
Packit a89ea5
	control whether the temp file will be unlinked when the object
Packit a89ea5
	goes out of scope.
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Increase maximum number of tries before aborting.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add $KEEP_ALL to allow the temporary files to be
Packit a89ea5
	retained whilst debugging (suggestion from Ed Avis [and others]).
Packit a89ea5
Packit a89ea5
	* Temp.pm: Temp files should have been opened O_NOFOLLOW rather
Packit a89ea5
	than O_FOLLOW! (thanks to Marc Tardif)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add cleanup() function so that temp files that would be
Packit a89ea5
	removed by an END block can be removed by a daemon. (RT wishlist
Packit a89ea5
	item #6928 by Robert Rothenberg)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Force chmod on file before unlinking it. This can be a
Packit a89ea5
	problem on windows (see RT bug #6935). tempdir() has been fixed by
Packit a89ea5
	Slaven's earlier patch to change the rmtree arguments.
Packit a89ea5
Packit a89ea5
	* Temp.pm (top_system_uid): Add interix patch from Todd Vierling
Packit a89ea5
Packit a89ea5
	* Temp.pm (_gettemp): Pod patch from Steven Lembark clarifying the
Packit a89ea5
	error message associated with two few XXXXs
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add note on forking and make sure that END blocks only
Packit a89ea5
	remove temporary files created by the current process ID (prompted
Packit a89ea5
	by Daniel Macks in RT bug #11067)
Packit a89ea5
Packit a89ea5
	* Temp.pm (cmpstat): Roman Vasicek reported problems with the _
Packit a89ea5
	filehandle. Play it safe and remove that handle. (see RT bug #8822)
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Add test for write proteceted temp file (thanks to
Packit a89ea5
	Slaven Rezic)
Packit a89ea5
Packit a89ea5
	* Temp.pm (_can_do_level): Change argument to rmtree to make it
Packit a89ea5
	attempt to remove write-protected files on cleanup (thanks to
Packit a89ea5
	Slaven Rezic)
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add note on binmode usage
Packit a89ea5
	
Packit a89ea5
0.14      2003-08-16  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* t/object.t: Add test of OO interface and switch to Test::More
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add object-oriented interface.
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: mpeix fixes from Ken Hirsch <hirschk@labcorp.com>
Packit a89ea5
Packit a89ea5
0.13      2003-08-15  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
	
Packit a89ea5
	* Temp.pm: Integrate doc fixes from bleadperl (Slaven Rezic and
Packit a89ea5
	Jeffrey Friedl)
Packit a89ea5
Packit a89ea5
	* Makefile.PL: Add INSTALLDIRS switch on perl version so that the
Packit a89ea5
	module installs into the correct place for perl 5.6.1 and newer.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Synch with perl 5.8.0 v0.13 MacOS fixes (Chris Nandor)
Packit a89ea5
Packit a89ea5
0.12      2001-02-22  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* t/posix.t: The unlink0 tests now skip on failure
Packit a89ea5
Packit a89ea5
	* t/mktemp.t: The unlink0 tests now skip on failure
Packit a89ea5
Packit a89ea5
	* Temp.pm (tmpfile): tmpfile returns undef on failure rather than
Packit a89ea5
	croaking.
Packit a89ea5
Packit a89ea5
	* Temp.pm: 
Packit a89ea5
	      -Add fix for CGI::Carp 
Packit a89ea5
                  [Thanks to John Labovitz <johnl@valiha.inside.sealabs.com>]
Packit a89ea5
              - Use error string to propogate reason rather than a carp
Packit a89ea5
Packit a89ea5
0.11      2000-11-24  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Add a test to make sure the file is present after
Packit a89ea5
	close and another to use tempfile in a scalar context.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Fix bug on NT with O_TEMPORARY causing the file to be
Packit a89ea5
	removed before the program exits. 
Packit a89ea5
Packit a89ea5
	* Temp.pm: Incorporate fixes up to bleedperl 7825. Cross platform
Packit a89ea5
	fixes.
Packit a89ea5
Packit a89ea5
	* t/security.t: Incorporate fixes from bleedperl 7825 - adds more
Packit a89ea5
	cross platform support and more skips on the basis that this is
Packit a89ea5
	not testing your system security, just the module.
Packit a89ea5
Packit a89ea5
	* Temp.pm (_gettemp): Dont use VMS::Stdio if we want the file
Packit a89ea5
	to remain after closing.
Packit a89ea5
Packit a89ea5
	* Temp.pm (_can_do_level): cygwin patch
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add OPENTEMPFLAGS to support UNLINK=>0
Packit a89ea5
		More tweaks to VMS support (now uses VMS::Stdio)
Packit a89ea5
Packit a89ea5
0.09      2000-07-26  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* README: Update for V0.09
Packit a89ea5
Packit a89ea5
	* t/security.t: OS/2 can not do the security tests.
Packit a89ea5
Packit a89ea5
	* Temp.pm: Add Support for VMS and OS/2 
Packit a89ea5
Packit a89ea5
0.08      2000-05-15  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* t/mktemp.t: Skip the test for unlink0 if it fails since in most
Packit a89ea5
	cases this indicates an NFS problem.
Packit a89ea5
Packit a89ea5
	* Temp.pm (_can_do_level): Add check to make sure an OS can handle 
Packit a89ea5
	the required safe level
Packit a89ea5
	(safe_level): Check the level can be supported before allowing it
Packit a89ea5
	to change 
Packit a89ea5
	(END): Change order of cleanup so that files are removed ahead of
Packit a89ea5
	temp dirs (since files may be in the temp dirs) 
Packit a89ea5
Packit a89ea5
	* Temp.pm: Reorganize END block 
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Correct tests for new position of END{} block
Packit a89ea5
Packit a89ea5
	* t/security.t: Correct tests for new position of END{} block
Packit a89ea5
Packit a89ea5
	* t/posix.t: add # to print output
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Add # to print output
Packit a89ea5
Packit a89ea5
	* t/mktemp.t: Add # to print output
Packit a89ea5
Packit a89ea5
	* t/security.t: Add # to print output
Packit a89ea5
Packit a89ea5
	* Temp.pm: Calculate OPENFLAGS outside of subroutine. This
Packit a89ea5
	improves speed of the commands by nearly a factor of 3.
Packit a89ea5
	(_replace_XX): Inline the character replacement code rather than
Packit a89ea5
	using _randchar subroutine. Improves performance by an additional 8%.
Packit a89ea5
Packit a89ea5
	* t/posix.t: Add explicit autoflush on filehandle
Packit a89ea5
Packit a89ea5
	* t/mktemp.t: Add explicit autoflush on filehandle
Packit a89ea5
Packit a89ea5
	* Temp.pm: (unlink0): Disallow HIGH and MEDIUM tests if running
Packit a89ea5
	perl 5.005 or earlier.
Packit a89ea5
Packit a89ea5
	* t/security.t: Specify perl version to allow for tests
Packit a89ea5
Packit a89ea5
        * Add support for perl 5.005 (remove 'our' and auto-vivifying file 
Packit a89ea5
	handles). VERSION NUMBER NOW 0.07
Packit a89ea5
Packit a89ea5
	* README: Update in preparation for V0.06 
Packit a89ea5
Packit a89ea5
	* Temp.pm (_deferred_unlink): Add new internal routine to centralise the
Packit a89ea5
	configuring of END blocks. This also fixes a bug where only the
Packit a89ea5
	first file was being unlinked in the END block (due to scoping).
Packit a89ea5
Packit a89ea5
	(_can_unlink_opened_file): Rename from _can_unlink. Will now
Packit a89ea5
	return false if running on Windows.
Packit a89ea5
Packit a89ea5
	(_is_verysafe): If _PC_CHOWN_RESTRICTED is not available assume
Packit a89ea5
	that "chown giveaway" is possible anyway.
Packit a89ea5
Packit a89ea5
	(unlink0): If can not unlink an open file, simply defer removal
Packit a89ea5
	until later.
Packit a89ea5
Packit a89ea5
	(_gettemp): Add O_NOINHERIT and O_TEMPORARY flags to sysopen if
Packit a89ea5
	they are available (Thanks to Tom Christiansen for this)
Packit a89ea5
Packit a89ea5
	* t/mktemp.t: Add test
Packit a89ea5
Packit a89ea5
	* t/posix.t: Add test
Packit a89ea5
Packit a89ea5
	* t/security.t: Add test
Packit a89ea5
Packit a89ea5
	* t/tempfile.t: Add test
Packit a89ea5
Packit a89ea5
0.05      2000-03-14  Tim Jenness  <tjenness@cpan.org>
Packit a89ea5
Packit a89ea5
	* Release v0.05 to CPAN