forked from Perl-Toolchain-Gang/File-Temp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
402 lines (260 loc) · 14.1 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
{{$NEXT}}
0.2311 2020-10-03 04:04:15Z
- Fix new PERMS test so as to also pass on root (RT#133443)
0.2310 2020-09-26 17:37:56Z
- add AppVeyor CI
- Add PERMS options to create temp file with given file permissions
- remove remaining uses of indirect object syntax (#34, Nicolas R)
0.2309 2019-01-06 20:29:15Z
- fix longstanding pod formatting error (issue #19, RT#109526)
0.2308 2018-07-11 21:06:16Z
- remove File::Temp::Dir from the PAUSE index (it is not in its own
.pm file, so it is not 'use'able on its own)
0.2307 2018-06-24 19:40:29Z (TRIAL RELEASE)
- change EXLOCK default from true to false; addresses RT#123959.
Note that this option was always a no-op on non-BSD platforms;
changing the default to false makes behaviour more predictable and
consistent across platforms.
0.2306 2018-06-24 19:33:47Z
- switch from 'use vars' to 'our'
0.2305 2018-04-19 11:58:49Z (TRIAL RELEASE)
- documentation updates for what versions contain what features
(thanks, Brian Mowrey! RT#101518)
- fix bad use of skip() in tests (RT#95922)
- Fall back to CSIDL_LOCAL_APPDATA under taint on Windows (RT#60340)
- update distribution tooling
0.2304 2013-10-10 13:16:27Z
* List all detectable dependencies for completeness. (Test::More had
been unintentionally omitted in the last release and many core
dependencies had never been listed.)
0.2303 2013-10-09 13:57:21Z
* Remove compile test and associated dependencies
0.2302 2013-09-26 13:45:35Z
* Drop minimum Perl version back to 5.6 (erroneously bumped by dzil)
* Do not inherit from Exporter (requires Exporter 5.57) (thanks to
Olivier Mengué)
* 'use base ...' => 'use parent ...' as parent is lighter (thanks to
Olivier Mengué)
0.2301 2013-04-11 15:30:05Z
* dist.ini: Managed with Dist::Zilla now; generates Makefile.PL
to avoid circular dependency when using Build.PL
0.23 2013-03-14 Tim Jenness <[email protected]>
* Build.PL: Use Module::Build
* Temp.pm: internally holds absolute path for cleanup (Fixes RT #44924)
* t/rmtree.t: (new) Test temp dir removal explicitly.
* t/tempfile.t: Correctly tests directory removal from chdir.
* Temp.pm: Clean up temp directory on exit even if it is the
current directory. Patch supplied by Ed Avis and fixes RT #45246.
* Temp.pm: Defer unlinking tempfiles if initial unlink fails
instad of croaking; fixes problems on NFS (RT #82720)
* Temp.pm: Allow leading template to new() for consistency with
newdir()
* Temp.pm: Calling tempfile or tempdir as a class method now
produce a more useful fatal error message
* Temp.pm: new/newdir/tempfile/tempdir now all allow either
a leading template argument or a TEMPLATE option
* Temp.pm: Overload numify with refaddr() in same manner as IO::File
(closes RT #47397 from Kevin Ryde)
0.22 2009-06-28 Tim Jenness <[email protected]>
* t/fork.t: Fix portability problems in fork.t and remove left
over file (RT #41557)
0.21 2008-11-12 Tim Jenness <[email protected]>
* Temp.pm: Clean out $FILES_CREATED_BY_OBJECT when the destructor
runs. Otherwise memory does not get returned. Really bad idea for
daemons. (Thanks to Maxime Therreault RT #37621)
* Temp.pm: Integrate patches from bleadperl for cygwin. (thanks to
Jari Aalto RT #36376)
* t/seekable.t: seekable test was failing on perl 5.6.0 so we now
skip the specific test. (thanks to Zefram)
* Temp.pm: Remove the test on the parent directory to see if a file
can be written. This will be found out anyway as soon as the file open
is attempted. AFS systems may fail a -w test but still allow a file to
be created. (thanks to Christopher Ellison)
* Temp.pm: Put an eval around rmtree. Some versions of rmtree croak
if you attempt to remove a directory that you are inside. (debian bug
479317 and RT #35779).
* Temp.pm: Localize special variables in END blocks and destructors.
0.20 2007-12-20 Tim Jenness <[email protected]>
* t/lock.t: Fix logic problem with BEGIN block that was causing grief on some
systems (thanks to Steve Peters for patch).
0.19 2007-11-19 Tim Jenness <[email protected]>
* Temp.pm (tempfile): Add EXLOCK option which can be used to disable O_EXLOCK
* t/lock.t: Test ability to disable O_EXLOCK
* Temp.pm (newdir): Add object oriented interface to "tempdir". Use
File::Temp->newdir()
* 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
* 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
* 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)
* 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)
* 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)
* 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
0.18 2007-01-21 Tim Jenness <[email protected]>
* 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)
0.17 2006-08-18 Tim Jenness <[email protected]>
* 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).
* 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)
0.16 2005-02-22 Tim Jenness <[email protected]>
* Temp.pm: Remove spurious debug statement
0.15 2005-02-21 Tim Jenness <[email protected]>
* 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
0.14 2003-08-16 Tim Jenness <[email protected]>
* 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 <[email protected]>
0.13 2003-08-15 Tim Jenness <[email protected]>
* 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.
* Temp.pm: Synch with perl 5.8.0 v0.13 MacOS fixes (Chris Nandor)
0.12 2001-02-22 Tim Jenness <[email protected]>
* 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.
* Temp.pm:
-Add fix for CGI::Carp
[Thanks to John Labovitz <[email protected]>]
- Use error string to propogate reason rather than a carp
0.11 2000-11-24 Tim Jenness <[email protected]>
* 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.
* 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.
* Temp.pm (_gettemp): Dont use VMS::Stdio if we want the file
to remain after closing.
* Temp.pm (_can_do_level): cygwin patch
* Temp.pm: Add OPENTEMPFLAGS to support UNLINK=>0
More tweaks to VMS support (now uses VMS::Stdio)
0.09 2000-07-26 Tim Jenness <[email protected]>
* README: Update for V0.09
* t/security.t: OS/2 can not do the security tests.
* Temp.pm: Add Support for VMS and OS/2
0.08 2000-05-15 Tim Jenness <[email protected]>
* 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)
* 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
* 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%.
* 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
0.05 2000-03-14 Tim Jenness <[email protected]>
* Release v0.05 to CPAN