Revision history for Capture-Tiny
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