The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Capture-Tiny

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