Blame Changes

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