Revision history for Capture-Tiny
0.49 2024-12-16 08:10:22-05:00 America/New_York (TRIAL RELEASE)
[Internal]
- Stringify '$]' for far future compatibility.
[Docs]
- Fixed docs about custom files for capture
0.48 2018-04-22 10:02:47+02:00 Europe/Oslo
- No changes from 0.47-TRIAL
0.47 2017-07-26 10:34:24-04:00 America/New_York (TRIAL RELEASE)
[Fixed]
- Appends PID to random file names for tee signalling to avoid
random name collision when used in multiple forked children.
0.46 2017-02-25 14:19:22-05:00 America/New_York
- No changes from 0.45-TRIAL
0.45 2017-02-23 13:22:43-05:00 America/New_York (TRIAL RELEASE)
[Internal]
- Avoid variable shadowing to improve debuggability.
0.44 2016-08-05 13:40:33-04:00 America/New_York
[Docs]
- Note that dropping privileges during a capture can lead to
temporary files not cleaned up.
0.42 2016-05-31 12:40:10-04:00 America/New_York
- No changes from 0.41
0.41 2016-05-23 11:58:15-04:00 America/New_York (TRIAL RELEASE)
[Fixed]
- Fixed some failing tests when STDIN is routed to /dev/null
0.40 2016-05-23 11:42:35-04:00 America/New_York
- No changes from 0.39
0.39 2016-05-02 10:21:48-04:00 America/New_York (TRIAL RELEASE)
[Fixed]
- Fix in 0.37 tickled a very obscure regular expressions bug in perl <
5.18; should now be fixed.
0.37 2016-05-02 07:08:31-04:00 America/New_York (TRIAL RELEASE)
[Fixed]
- Skip some tests if locale can't be determined.
0.36 2016-02-28 21:36:57-05:00 America/New_York
[Docs]
- Fixed typos.
0.34 2016-02-18 23:26:13-05:00 America/New_York
[Fixed]
- Removed spurious JSON::PP dependency added by a broken
Dist::Zilla plugin.
0.32 2016-02-18 10:12:02-05:00 America/New_York
[Docs]
- Changed internal formatting of documentation
[Changes]
- No functional changes from 0.31
0.31 2016-02-14 07:33:50-07:00 America/Mazatlan (TRIAL RELEASE)
[Fixed]
- Application of layers to handles during and after capture now attempts
to more accurately duplicate the original layers, including potential
duplicate layers. Because of the unusual ways that layers are ordered
and applied, exact duplication is not guaranteeed, but this should be
better that what Capture::Tiny did before.
- Avoids a hard crash on Windows with Perl < 5.20 if a fork occurs in a
capture block. Also documented the risks and lack of support for
forks in capture blocks.
0.30 2015-05-15 20:43:54-04:00 America/New_York
No changes from 0.29
0.29 2015-04-19 18:36:24+02:00 Europe/Berlin (TRIAL RELEASE)
Fixed:
- Fix double filehandle close error with tee on Windows
(which started warning during the perl 5.21.x series,
causing tests to fail)
0.28 2015-02-11 06:39:51-05:00 America/New_York
Tests:
- Removes test that optionally uses Inline::C to avoid spurious
test failures. Also Inline::C had become a fairly heavy
(if optional) dependency.
Docs:
- Clarify that PERL_CAPTURE_TINY_TIMEOUT is an internal control,
not a timeout of the code reference being captured.
0.27 2014-11-04 23:10:44-05:00 America/New_York
Prereqs:
- Make Inline::C recommended, not required
0.26 2014-11-04 06:55:15-05:00 America/New_York
Tests:
- Actually check for Inline::C in tests, not just Inline
0.25 2014-08-16 10:08:42-04:00 America/New_York
Prereqs:
- Amended recommended modules to list Inline::C rather than Inline
0.24 2014-02-06 17:15:37-05:00 America/New_York
Fixed:
- Closed security hole in use of semaphore file in /tmp;
now opens the semaphore file using O_CREAT|O_EXCL
0.23 2013-10-20 11:25:34 America/New_York
Fixed:
- minimum Perl prereq is back to 5.6 (but $diety help you if
you're still stuck on 5.6)
Documented:
- Added warning about using @_ in a capture block
0.22 2013-03-27 15:50:29 America/New_York
Documented:
- Issue tracker is now github
0.21 2012-11-14 19:04:49 America/New_York
Changed:
- Skips tee and leak tests for closed STDIN on Perl prior to
5.12 when PERL_UNICODE=D. Documented lack of support as
a known issue.
- Isolated tee subprocesses from effects of PERL_UNICODE as a
precaution (though this did not fix the above issue).
- Improved layer detection for handles proxied due to being closed
or tied.
0.20 2012-09-19 13:20:57 America/New_York
Fixed:
- Nested merged captures that include an external program call no longer
leak STDERR to the outer scope [rt.cpan.org #79376]
0.19 2012-08-06 20:26:34 America/New_York
Fixed:
- Work around rt.perl.org #114404 by forcing PerlIO layers back on
original handles [rt.cpan.org #78819]
0.18 2012-05-04 16:31:53 America/New_York
Added:
- When capture or tee are called in void context, Capture::Tiny
skips reading back from the capture handles if it can do so safely
0.17_52 2012-03-09 11:45:19 EST5EDT
Fixed:
- Tied STDIN is always localized before redirections to avoid tees
hanging on MSWin32
- Copying and reopening STDIN is necessary to avoid tees hanging on MSWin32.
0.17_51 2012-03-07 18:22:34 EST5EDT
Fixed:
- Avoids reopening STDIN while setting up a capture, which avoids
some problems with pathological tied filehandle implementations
such as in FCGI
Tested:
- Re-enabled tied STDIN testing for MSWin32 to see if changes above
avoid crashes seen historically
0.17 2012-02-22 08:07:41 EST5EDT
Fixed:
- Added a workaround for failing t/08-stdin-closed.t under blead
perl / 5.15.8 [rt.perl.org #111070]
Documented:
- Clarified some limitations; added a link to CPAN Testers Matrix;
removed redundant BUGS section; standardized terminology
Tested:
- Added a test using Inline::C to print to stdout and stderr in response
to rt.cpan.org #71701
0.16 2012-02-12 21:04:24 EST5EDT
Documented:
- Noted problems and workaround for FCGI's pathological tied STDIN
[rt.cpan.org #74681; thank you Karl Gaissmaier for testing the
workaround]
0.15 2011-12-23 11:10:47 EST5EDT
Fixed:
- Repeated captures from a custom filehandle would return undef instead
of the empty string (and would warn). This has been fixed.
[rt.cpan.org #73374 part two. Thank you to Philipp Herz for help
in reproducing this bug.]
Other:
- Commented out debugging code for slightly less runtime overhead
0.14 2011-12-22 10:14:09 EST5EDT
Added:
- Capturing with custom filehandles will return only newly appended
output instead of everything already in the file.
[rt.cpan.org #73374]
0.13 2011-12-02 13:39:00 EST5EDT
Fixed:
- Fixed t/18-custom-capture.t failures on Windows due to tempfile
removal problems in the testfile
0.12 2011-12-01 16:58:05 EST5EDT
Added:
- New functions capture_stdout, capture_stderr, tee_stdout, tee_stderr
[rt.cpan.org #60515]
- Capture functions also returns the return values from the executed
coderef [rt.cpan.org #61794, adapted from patch by Christian Walde]
- Capture functions take optional custom filehandles for capturing
via named files instead of anonymous ones [inspired by Christian Walde]
Fixed:
- Tied filehandles based on Tie::StdHandle can now use the ":utf8"
layer; removed remaining TODO tests; adds Scalar::Util as a dependency
Changed:
- When Time::HiRes::usleep is available, tee operations will
sleep during the busy-loop waiting for tee processes to be ready
[rt.cpan.org #67858]
0.11 2011-05-19 23:34:23 America/New_York
Fixed:
- Tests will not use Test::Differences version 0.60 or greater
0.10 2011-02-07 07:01:44 EST5EDT
Fixed:
- Setting PERL_CAPTURE_TINY_TIMEOUT to 0 will disable timeouts
0.09 2011-01-27 23:52:16 EST5EDT
Added:
- Added support for $ENV{PERL_CAPTURE_TINY_TIMEOUT} to control
the timeout period under 'tee'; tests set not to timeout to
avoid false FAIL reports on overloaded virtual machine smokers
Fixed:
- $@ set within a captured block is no longer lost when the capture
is completed; likewise, the initial value of $@ is not lost
during capture (when no subsequent error occurs) (RT #65139)
0.08 Sun Jun 20 19:13:19 EDT 2010
Fixed:
- Exceptions in captured coderef are caught, then handles are restored
before the exception is rethrown (RT #58208)
0.07 Sun Jan 24 00:18:45 EST 2010
Fixed:
- Changed test for $? preservation to be more portable
- Dropped support for Perl 5.8.0 specifically due to excessive bugs.
Tests will bail out. (5.6.X is still supported)
0.06 Thu May 7 06:54:53 EDT 2009
Fixed:
- On Win32, subprocesses now close themselves on EOF instead of being
killed with a signal
0.05_51 Tue Apr 21 07:00:38 EDT 2009
Added:
- Support for wide characters on handles opened to utf8
- Support for STDOUT, STDERR or STDIN opened to in-memory
files (open to scalar reference) or tied, albeit with some limitations
Testing:
- Verify that $? is preserved during capture { system(@cmd) };
0.05 Tue Mar 3 06:56:05 EST 2009
Fixed:
- On Win32, increased a delay waiting for buffers to flush to avoid losing
final output during tee()
0.04 Wed Feb 25 09:25:27 EST 2009
Added:
- Can capture/tee even if STDIN, STDOUT or STDERR are closed prior to
capture/tee block
- Generally, added more error handling
Fixed:
- Will timeout instead of hang if subprocesses fail to start
0.03 Fri Feb 20 13:03:08 EST 2009
Added:
- capture_merged() and tee_merged()
Fixed:
- Tests skip if not Win32 and no fork() (rather than Build.PL and
Makefile.PL failing); this allows capture() on odd platforms, even if
fork doesn't work
0.02 Tue Feb 17 17:24:35 EST 2009
Fixed:
- Bug recovering output when STDOUT is empty (reported by Vincent Pit)
- Removed Fatal.pm to avoid global action-at-a-distance
0.01 Fri Feb 13 23:15:19 EST 2009
Added:
- 'capture' and 'tee' functions
# vim: set ts=2 sts=2 sw=2 et tw=75: