Revision history for Capture-Tiny

0.50      2024-12-19 08:15:32-05:00 America/New_York

  - No changes from 0.49-TRIAL

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: