Blame Changes

Packit a6a12c
Revision history for Test-Harness
Packit a6a12c
Packit a6a12c
3.42    19-03-2018
Packit a6a12c
        - Enable rulesfile.t to run in core
Packit a6a12c
Packit a6a12c
3.41    27-02-2018
Packit a6a12c
        - Released 3.40_01 without code modifications
Packit a6a12c
Packit a6a12c
3.40_01 23-07-2017
Packit a6a12c
        - Return handle for pipes and sockets #58 (Erik Huelsmann)
Packit a6a12c
        - TAP v13 plan allows trailing whitespace (Steffen Schwigon)
Packit a6a12c
        - prove: add a --statefile=<path> option to customize the .prove file
Packit a6a12c
          (Ævar Arnfjörð Bjarmason)
Packit a6a12c
        - Avoid non-deterministic source handling, make a SourceHandler tie an
Packit a6a12c
          error. (Michael Schwern, Leon Timmermans)
Packit a6a12c
        - Fix and simplify MSWin32 colorization (Roy Ivy III)
Packit a6a12c
        - Fix file source handler to accept single extensions option (Tomoki Aonuma)
Packit a6a12c
        - Spelling fixes (Brian Wightman)
Packit a6a12c
Packit a6a12c
3.39    06-04-2017
Packit a6a12c
        - Make tests pass when PERL_USE_UNSAFE_INC=0
Packit a6a12c
Packit a6a12c
3.38    13-03-2017
Packit a6a12c
        - Released 3.37_01 without changes
Packit a6a12c
Packit a6a12c
3.37_01
Packit a6a12c
        - Set PERL_USE_UNSAFE_INC when running tests using Test::Harness (Leon Timmermans)
Packit a6a12c
        - Avoid loading optional modules from . in prove
Packit a6a12c
Packit a6a12c
3.36    30-12-2015
Packit a6a12c
        - Accept YAML with trailing whitespace in header (Maik Hentsche)
Packit a6a12c
        - Stop bundling Test::More for testing
Packit a6a12c
Packit a6a12c
3.35    2015-01-14
Packit a6a12c
        - Fix prove --version to actually print the version (Leon Timmermans, #101216)
Packit a6a12c
        - Add --version to usage message (Leon Timmermans, #101215)
Packit a6a12c
Packit a6a12c
3.34    2014-11-02
Packit a6a12c
        - Enable printing CPU times spent per test (Jarkko Hietaniemi)
Packit a6a12c
Packit a6a12c
3.33    2014-08-16
Packit a6a12c
        - Various documentation fixes (Leon Timmermans, Justin Cook)
Packit a6a12c
Packit a6a12c
3.32    2014-06-11
Packit a6a12c
        - Remove harness_class from argument hash in T::H::E (Leon Timmermans)
Packit a6a12c
Packit a6a12c
3.31    2014-06-07
Packit a6a12c
        - Implement external rulesfile for TAP::Harness (David Golden)
Packit a6a12c
        - Add harness_class argument to TAP::Harness::Env (Leon Timmermans)
Packit a6a12c
        - Make prove respect environmental variables #28 (Leon Timmermans)
Packit a6a12c
Packit a6a12c
3.30    2013-11-12
Packit a6a12c
        - Fix missing parent prereq in META.{yml,json} and NotBuild.PL
Packit a6a12c
          (Dagfinn Ilmari Mannsåker, #89650)
Packit a6a12c
        - Respect PERL5LIB in tainting source handler test (Dagfinn Ilmari Mannsåker, 
Packit a6a12c
          Leon Timmermans)
Packit a6a12c
        - Use base instead of parent:
Packit a6a12c
Packit a6a12c
          This dist is used for testing all other modules, so it should avoid
Packit a6a12c
          having any non-core prerequisites.  Having parent as a prereq leads to a
Packit a6a12c
          circular dependency of parent -> Test::More -> Test::Harness. (Graham Knop)
Packit a6a12c
        - Various POD fixes (Nathan Gary Glenn)
Packit a6a12c
        - Don't localize all of %ENV in harness.t (Craig Berry)
Packit a6a12c
        - Give TAP::Harness::Beyond a unique NAME (Leon Timmermans)
Packit a6a12c
Packit a6a12c
3.29    2013-08-10
Packit a6a12c
        - Get rid of use vars in favor of our in all modules (Leon Timmermans)
Packit a6a12c
          and tests (Karen Etheridge)
Packit a6a12c
        - Added use warnings to all modules (Leon Timmermans) and tests (Karen
Packit a6a12c
          Etheridge)
Packit a6a12c
        - Use parent instead of @ISA in all modules (Leon Timmermans) and
Packit a6a12c
          tests (Karen Etheridge)
Packit a6a12c
        - Fix failing test on VMS (Craig Berry)
Packit a6a12c
        - Improve error message on loading failure (Leon Timmermans, #77730)
Packit a6a12c
        - Use Text::ParseWords, deprecate TAP::Parser::Utils
Packit a6a12c
Packit a6a12c
3.28    2013-05-02
Packit a6a12c
        - Bugfix: Fix taint failures on Windows (Jan Dubois)
Packit a6a12c
Packit a6a12c
3.27    2013-04-30
Packit a6a12c
        - Dramatically reduce memory usage (Nick Clark, RT #84939)
Packit a6a12c
        - Store test_num (in Grammar.pm) as a number instead of a string.
Packit a6a12c
          Reduces memory usage (Nick Clark, RT #84939)
Packit a6a12c
        - PERL5LIB is always propogated to a test's @INC, even with taint more
Packit a6a12c
          (Schwern, RT #84377)
Packit a6a12c
        - restore "always add -w to switches" behavior
Packit a6a12c
Packit a6a12c
3.26    2013-01-16
Packit a6a12c
        - Renamed env.opts.t to env_opts.t (for VMS)
Packit a6a12c
        - Skipped some TAP::Formatter::HTML tests due to this bug: #82738
Packit a6a12c
Packit a6a12c
3.26    2012-06-05
Packit a6a12c
        - Rereleased to fix CPAN permission problem. No functional change.
Packit a6a12c
Packit a6a12c
3.24    2012-06-03
Packit a6a12c
        - RT #74393: corrected typo in M::B integration docs.
Packit a6a12c
        - RT #63473: fix typo.
Packit a6a12c
        - RT #49732: Attempt to load File::Glob::Windows to get correct
Packit a6a12c
          glob semantics on Win32.
Packit a6a12c
        - RT #47890: Don't use Win32::GetShortPathName.
Packit a6a12c
        - RT #64404: Ignore textness ('-T') of script when reading shebang.
Packit a6a12c
        - Handle the case where we don't know the wait status of the
Packit a6a12c
          test more gracefully.
Packit a6a12c
        - Make the test summary 'ok' line overrideable so that it can be
Packit a6a12c
          changed to a plugin to make the output of prove idempotent.
Packit a6a12c
        - Stop adding '-w' to perl switches by default
Packit a6a12c
        - Apply upstream patch:
Packit a6a12c
Packit a6a12c
            http://perl5.git.perl.org/perl.git/commit \
Packit a6a12c
              /6359c64336d99060952232e7e300bd3c31afead8
Packit a6a12c
Packit a6a12c
          In testargs.t in Test::Harness, don't run a world-writable file.
Packit a6a12c
Packit a6a12c
          The test writes a file, then changes the mode, then executes it. The file needs
Packit a6a12c
          to be +x to be executable (on many platforms). The file will need to be +w to
Packit a6a12c
          be deletable on some platforms. But setting the file world writable just before
Packit a6a12c
          running it feels like a bad idea, given that the file's name is as predictable
Packit a6a12c
          as process IDs, as there's a race condition to break into the account running
Packit a6a12c
          perl's tests.
Packit a6a12c
Packit a6a12c
Packit a6a12c
3.23    2011-02-20
Packit a6a12c
        - Merge in changes from core. Thanks BinGOs.
Packit a6a12c
        - Made SourceHandler understand that an executable binary file
Packit a6a12c
          is probably an executable.
Packit a6a12c
        - Added workaround for Getopt::Long 2.25 handling of
Packit a6a12c
          multivalue options. Fixes test failure on stock perl 5.6.2.
Packit a6a12c
Packit a6a12c
3.22    2010-08-14
Packit a6a12c
        - Allow TAP::Parser to recognize a nested BAIL_OUT directive.
Packit a6a12c
        - Add brief HOWTO for creating and running pgTAP tests to
Packit a6a12c
          TAP::Parser::SourceHandler::pgTAP.
Packit a6a12c
        - Fix trailing plan + embedded YAML + TAP 13 case. Thanks to
Packit a6a12c
          Steffen Schwigon. #54518.
Packit a6a12c
        - Numerous spelling fixes. Thanks to Ville Skyttä.
Packit a6a12c
        - Add new option --tapversion for prove to set the default
Packit a6a12c
          assumed TAP version. Thanks to Steffen Schwigon.
Packit a6a12c
        - Fixed tests to run successfully under Devel::Cover. Thanks to
Packit a6a12c
          Phillipe Bruhat.
Packit a6a12c
        - Fixed injection of test args to work with general executables
Packit a6a12c
          as well as Perl scripts (#59186).
Packit a6a12c
        - Allow multiple --ext=.foo arguments to prove, to allow running
Packit a6a12c
          different types of tests in the same prove run.
Packit a6a12c
        - App::Prove::extension() is now App::Prove::extensions(), and
Packit a6a12c
          returns an arrayref of extensions, rather than a single scalar.
Packit a6a12c
          The same change has been made to App::Prove::State::extension().
Packit a6a12c
        - Preserve old semantics for test scripts with a shebang line
Packit a6a12c
          by favouring Perl as the intepreter for any file with a
Packit a6a12c
          shebang (#59457).
Packit a6a12c
        - Add --trap (summary on Ctrl-C) option to prove (#59427).
Packit a6a12c
        - Removed TAP::Parser::SourceHandler::pgTAP. Find it in its own
Packit a6a12c
          distribution on CPAN.
Packit a6a12c
        - Source options to prove can now be specified so as to be passed to
Packit a6a12c
          the source as a hash reference, eg:
Packit a6a12c
Packit a6a12c
              prove --source XYZ --xyz-option pset=foo=bar
Packit a6a12c
Packit a6a12c
          Ths "pset" option will be passed as a hash reference with the key
Packit a6a12c
          "foo" and the value "bar".
Packit a6a12c
Packit a6a12c
3.21    2010-01-30
Packit a6a12c
        - Add test to ensure we're not depending on a module we no
Packit a6a12c
          longer ship.
Packit a6a12c
        - Fix up skip counts for Windows case - tests were failing
Packit a6a12c
          on Windows.
Packit a6a12c
Packit a6a12c
3.20    2010-01-22
Packit a6a12c
        - Remove references / dependency on TAP::Parser::Source::Perl
Packit a6a12c
Packit a6a12c
3.19    2010-01-20
Packit a6a12c
        - Avoid depending on Module::Build. The resulting circular
Packit a6a12c
          dependency made it impossible to install Test::Harness and/or
Packit a6a12c
          Module::Build in some cases.
Packit a6a12c
Packit a6a12c
3.18    2010-01-19
Packit a6a12c
        - Handle the case where the filename of the perl executable
Packit a6a12c
          contains space. Thanks to kmx.
Packit a6a12c
        - Various documentation fixes.
Packit a6a12c
Packit a6a12c
3.17_04 2010-01-04
Packit a6a12c
        - Fix failures due to unknown location of Perl in t/source_handler.t.
Packit a6a12c
        - Use EUMM style shebang magic to produce an executable 'psql'
Packit a6a12c
          for t/source_handler.t.
Packit a6a12c
Packit a6a12c
3.17_03 2009-11-19
Packit a6a12c
        - Fix failures due to over-strict assertions in t/source.t.
Packit a6a12c
Packit a6a12c
3.17_02 2009-11-17
Packit a6a12c
        - Merge in Steve's missing changes. Oops.
Packit a6a12c
Packit a6a12c
3.17_01 2009-11-17
Packit a6a12c
        - Re-engineered source handling API to allow users to configure how
Packit a6a12c
          TAP is sourced by the parser.  Introduced a new 'sources' param to
Packit a6a12c
          TAP::Harness, and new options to prove, eg:
Packit a6a12c
Packit a6a12c
              prove --source XYZ --xyz-option foo=bar
Packit a6a12c
Packit a6a12c
          The new TAP::Parser::SourceHandler API makes it much easier to
Packit a6a12c
          write plugins.  This breaks backwards compatibility for plugins &
Packit a6a12c
          extenstions that rely on the following APIs:
Packit a6a12c
Packit a6a12c
              TAP::Parser::Source
Packit a6a12c
              TAP::Parser::SourceFactory
Packit a6a12c
              TAP::Parser::IteratorFactory
Packit a6a12c
              TAP::Parser, specifically:
Packit a6a12c
                new: 'source' & 'tap' params
Packit a6a12c
                source_class
Packit a6a12c
                perl_source_class
Packit a6a12c
                iterator_factory_class
Packit a6a12c
                make_source
Packit a6a12c
                make_perl_source
Packit a6a12c
                make_iterator
Packit a6a12c
Packit a6a12c
          Please see the TAP::Parser docs for more details.
Packit a6a12c
          [Steve Purkis & David Wheeler]
Packit a6a12c
        - Removed dependency on File::Spec [Schwern]
Packit a6a12c
        - Made it possible to pass different args to each test [Lee Johnson]
Packit a6a12c
        - Added HARNESS_SUBCLASS option to Test::Harness
Packit a6a12c
        - Added TAP::Parser::SourceHandler::File which lets you to stream TAP
Packit a6a12c
          from a text file (eg: *.tap).
Packit a6a12c
        - Added TAP::Parser::SourceHandler::pgTAP. All the source handlers are
Packit a6a12c
          new, but this is the only one to add major new functioality: the
Packit a6a12c
          ability to run pgTAP tests (http://pgtap.projects.postgresql.org/).
Packit a6a12c
Packit a6a12c
3.17    2009-05-05
Packit a6a12c
        - Changed the 'failures' so that it is overridden by verbosity rather
Packit a6a12c
          than the other way around.
Packit a6a12c
        - Added the 'comments' option, most useful when used in conjunction
Packit a6a12c
          with the 'failures' option.
Packit a6a12c
        - Deprecated support for Perls earlier than 5.6.0.
Packit a6a12c
        - Allow '-I lib' as well as '-Ilib' in $Test::Harness::Switches
Packit a6a12c
          (regression).
Packit a6a12c
        - Restore old skip parsing semantics for TAP < v13. Refs #39031.
Packit a6a12c
        - Numerous small documentation fixes.
Packit a6a12c
        - Remove support for fork-based parallel testing. Multiplexed
Packit a6a12c
          parallel testing remains.
Packit a6a12c
Packit a6a12c
3.16    2009-02-19
Packit a6a12c
        - Fix path splicing on platforms where the path separator
Packit a6a12c
          is not ':'.
Packit a6a12c
        - Fixes/skips for failing Win32 tests.
Packit a6a12c
        - Don't break with older CPAN::Reporter versions.
Packit a6a12c
Packit a6a12c
3.15    2009-02-17
Packit a6a12c
        - Refactor getter/setter generation into TAP::Object.
Packit a6a12c
        - The App::Prove::State::Result::Test now stores the parser object.
Packit a6a12c
        - After discussion with Andy, agreed to clean up the test output
Packit a6a12c
          somewhat.  t/foo.....ok becomes t/foo.t ... ok
Packit a6a12c
        - Make Bail out! die instead of exiting. Dies with the same
Packit a6a12c
          message as 2.64 for (belated) backwards compatibility.
Packit a6a12c
        - Alex Vaniver's patch to refactor TAP::Formatter::Console into
Packit a6a12c
          a new class, TAP::Formatter::File and a common base class: 
Packit a6a12c
          TAP::Formatter::Base.
Packit a6a12c
        - Fix a bug where PERL5LIB might be put in the wrong spot in @INC.
Packit a6a12c
          #40257
Packit a6a12c
        - Steve Purkis implemented a plugin mechanism for App::Prove.
Packit a6a12c
Packit a6a12c
3.14    2008-09-13
Packit a6a12c
        - Created a proper (ha!) API for prove state results and tests.
Packit a6a12c
        - Added --count and --nocount options to prove to control X/Y display
Packit a6a12c
          while running tests.
Packit a6a12c
        - Added 'fresh' state option to run test scripts that have been
Packit a6a12c
          touched since the test run.
Packit a6a12c
        - fixed bug where PERL5OPT was not properly split  
Packit a6a12c
        - fixed regex in _filtered_inc. Fixes #39248. Thanks Slaven.
Packit a6a12c
Packit a6a12c
3.13    2008-07-27
Packit a6a12c
        - fixed various closure related leaks
Packit a6a12c
        - made prove honour HARNESS_TIMER
Packit a6a12c
        - Applied patches supplied by Alex Vandiver
Packit a6a12c
          - add 'rules' switch to prove: allows parallel execution rules
Packit a6a12c
            to be specified on the command line.
Packit a6a12c
          - allow '**' (any path) wildcard in parallel rules
Packit a6a12c
          - fix bug report address
Packit a6a12c
          - make tprove_gtk example work again.
Packit a6a12c
Packit a6a12c
3.12    2008-06-22
Packit a6a12c
        - applied Steve Purkis' huge refactoring patch which adds
Packit a6a12c
          configurable factories for most of the major internal classes.
Packit a6a12c
        - applied David Wheeler's patch to allow exec to be a code
Packit a6a12c
          reference.
Packit a6a12c
        - made tests more robust in the presence of -MFoo in PERL5OPT.
Packit a6a12c
Packit a6a12c
3.11    2008-06-09
Packit a6a12c
        - applied Jim Keenan's patch that makes App::Prove::run return a
Packit a6a12c
          rather than exit (#33609)
Packit a6a12c
        - prove -r now recurses cwd rather than 't' by default (#33007)
Packit a6a12c
        - restored --ext switch to prove (#33848)
Packit a6a12c
        - added ignore_exit option to TAP::Parser and corresponding
Packit a6a12c
          interfaces to TAP::Harness and Test::Harness. Requested for
Packit a6a12c
          Parrot.
Packit a6a12c
        - Implemented rule based parallel scheduler.
Packit a6a12c
        - Moved filename -> display name mapping out of formatter. This
Packit a6a12c
          prevents the formatter's strip-extensions logic from stripping
Packit a6a12c
          extensions from supplied descriptions.
Packit a6a12c
        - Only strip extensions from test names if all tests have the
Packit a6a12c
          same extension. Previously we stripped extensions if all names
Packit a6a12c
          had /any/ extension making it impossible to distinguish tests
Packit a6a12c
          whose name differed only in the extension.
Packit a6a12c
        - Removed privacy test that made it impossible to subclass
Packit a6a12c
          TAP::Parser.
Packit a6a12c
        - Delayed initialisation of grammar making it easier to replace
Packit a6a12c
          the TAP::Parser stream after instantiation.
Packit a6a12c
        - Make it possible to supply import parameters to a replacement
Packit a6a12c
          harness with prove.
Packit a6a12c
        - Make it possible to replace either _grammar /or/ _stream
Packit a6a12c
          before reading from a TAP::Parser.
Packit a6a12c
Packit a6a12c
3.10    2008-02-26
Packit a6a12c
        - fix undefined value warnings with bleadperl.
Packit a6a12c
        - added pragma support.
Packit a6a12c
        - fault unknown TAP tokens under strict pragma.
Packit a6a12c
Packit a6a12c
3.09    2008-02-10
Packit a6a12c
        - support for HARNESS_PERL_SWITCHES containing things like 
Packit a6a12c
          '-e "system(shift)"'.
Packit a6a12c
        - set HARNESS_IS_VERBOSE during verbose testing.
Packit a6a12c
        - documentation fixes.
Packit a6a12c
Packit a6a12c
3.08    2008-02-08
Packit a6a12c
        - added support for 'out' option to
Packit a6a12c
          Test::Harness::execute_tests. See #32476. Thanks RENEEB.
Packit a6a12c
        - Fixed YAMLish handling of non-alphanumeric hash keys.
Packit a6a12c
        - Added --dry option to prove for 2.64 compatibility.
Packit a6a12c
Packit a6a12c
3.07    2008-01-13
Packit a6a12c
        - prove now supports HARNESS_PERL_SWITCHES.
Packit a6a12c
        - restored TEST_VERBOSE to prove.
Packit a6a12c
Packit a6a12c
3.06    2008-01-01
Packit a6a12c
        - Skip t/unicode.t if PERL_UNICODE set. Fixes #31731.
Packit a6a12c
          Thanks Lukas.
Packit a6a12c
        - App::Prove::State no longer complains about tests that
Packit a6a12c
          are deleted.
Packit a6a12c
        - --state=new and --state=old now consider the modification time
Packit a6a12c
          of test scripts.
Packit a6a12c
        - Made test suite core-compatible.
Packit a6a12c
Packit a6a12c
3.05    2007-12-09
Packit a6a12c
        - Skip unicode.t if Encode unavailable
Packit a6a12c
        - Support for .proverc files.
Packit a6a12c
        - Clarified prove documentation.
Packit a6a12c
Packit a6a12c
3.04    2007-12-02
Packit a6a12c
        - Fixed output leakage with really_quiet set.
Packit a6a12c
        - Progress reports for tests without plans now show
Packit a6a12c
          "143/?" instead of "143/0".
Packit a6a12c
        - Made TAP::Harness::runtests support aliases for test names.
Packit a6a12c
        - Made it possible to pass command line args to test programs
Packit a6a12c
          from prove, TAP::Harness, TAP::Parser.
Packit a6a12c
        - Added --state switch to prove.
Packit a6a12c
Packit a6a12c
3.03    2007-11-17
Packit a6a12c
        - Fixed some little bugs-waiting-to-happen inside
Packit a6a12c
          TAP::Parser::Grammar.
Packit a6a12c
        - Added parser_args callback to TAP::Harness.
Packit a6a12c
        - Made @INC propagation even more compatible with 2.64 so that
Packit a6a12c
          parrot still works *and* #30796 is fixed.
Packit a6a12c
Packit a6a12c
3.02    2007-11-15
Packit a6a12c
        - Process I/O now unbuffered, uses sysread, plays better with
Packit a6a12c
          select. Fixes #30740.
Packit a6a12c
        - Made Test::Harness @INC propagation more compatible with 2.64.
Packit a6a12c
          Was breaking Parrot's test suite.
Packit a6a12c
        - Added HARNESS_OPTIONS (#30676)
Packit a6a12c
Packit a6a12c
3.01    2007-11-12
Packit a6a12c
        - Fix for RHEL incpush.patch related failure.
Packit a6a12c
        - Output real time of test completion with --timer
Packit a6a12c
        - prove -b adds blib/auto to @INC
Packit a6a12c
        - made SKIP plan parsing even more liberal for pre-v13 TAP
Packit a6a12c
Packit a6a12c
3.00    2007-11-06
Packit a6a12c
        - Non-dev release. No changes since 2.99_09.
Packit a6a12c
Packit a6a12c
2.99_09 2007-11-05
Packit a6a12c
        - Implemented TODO-in-PLAN syntax for TAP version 12 and earlier.
Packit a6a12c
Packit a6a12c
2.99_08 2007-11-04
Packit a6a12c
        - Tiny changes. New version pushed to get some smoke coverage.
Packit a6a12c
Packit a6a12c
2.99_07 2007-11-01
Packit a6a12c
        - Fix for #21938: Unable to handle circular links
Packit a6a12c
        - Fix for #24926: prove -b and -l should use absolute paths
Packit a6a12c
        - Fixed prove switches. Big oops. How the hell did we miss that?
Packit a6a12c
        - Consolidated quiet, really_quiet, verbose into verbosity.
Packit a6a12c
        - Various VMS related fixes to tests
Packit a6a12c
Packit a6a12c
2.99_06 2007-10-30
Packit a6a12c
        - Added skip_all method to TAP::Parser.
Packit a6a12c
        - Display reason for skipped tests.
Packit a6a12c
        - make test now self tests.
Packit a6a12c
Packit a6a12c
2.99_05 2007-10-30
Packit a6a12c
        - Fix for occasional rogue -1 exit code on Windows.
Packit a6a12c
        - Fix for @INC handling under CPANPLUS.
Packit a6a12c
        - Added real time to prove --timer output
Packit a6a12c
        - Improved prove error message in case where 't' not found and
Packit a6a12c
          no tests named.
Packit a6a12c
Packit a6a12c
2.99_04 2007-10-11
Packit a6a12c
        - Fixed bug where 'All tests successful' would not be printed if bonus
Packit a6a12c
          tests are seen.
Packit a6a12c
        - Fixed bug where 'Result: FAIL' would be printed at the end of a test
Packit a6a12c
          run if there were unexpectedly succeeding tests.
Packit a6a12c
        - Added -M, -P switches to allow arbitrary modules to be loaded
Packit a6a12c
          by prove. We haven't yet defined what they'll do once they
Packit a6a12c
          load but it's a start...
Packit a6a12c
        - Added testing under simulated non-forking platforms.
Packit a6a12c
Packit a6a12c
2.99_03 2007-10-06
Packit a6a12c
        - Refactored all display specific code out of TAP::Harness.
Packit a6a12c
        - Relaxed strict parsing of skip plan for pre v13 TAP.
Packit a6a12c
        - Elapsed hi-res time is now displayed in integer milliseconds
Packit a6a12c
          instead of fractional seconds.
Packit a6a12c
        - prove stops running if any command-line switches are invalid.
Packit a6a12c
        - prove -v would try to print an undef.
Packit a6a12c
        - Added support for multiplexed and forked parallel tests. Use
Packit a6a12c
          prove -j 9 to run tests in parallel and prove -j 9 --fork to
Packit a6a12c
          fork. These features are experimental and currently
Packit a6a12c
          unavailable on Windows.
Packit a6a12c
        - Rationalized the management of the environment that we give to
Packit a6a12c
          test scripts (PERL5LIB, PERL5OPT, switches).
Packit a6a12c
        - Fixed handling of STDIN (we no longer close it) for test
Packit a6a12c
          scripts.
Packit a6a12c
        - Performance enhancements. Parser is now 30% - 40% faster.
Packit a6a12c
Packit a6a12c
2.99_02 2007-09-07
Packit a6a12c
        - Ensure prove (and App::Prove) sort any recursively
Packit a6a12c
          discovered tests
Packit a6a12c
        - It is now possible to register multiple callback handlers for
Packit a6a12c
          a particular event.
Packit a6a12c
        - Added before_runtests, after_runtests callbacks to
Packit a6a12c
          TAP::Harness.
Packit a6a12c
        - Moved logic of prove program into App::Prove.
Packit a6a12c
        - Added simple machine readable summary.
Packit a6a12c
        - Performance improvement: The processing pipeline within
Packit a6a12c
          TAP::Parser is now a closure which speeds up access to the
Packit a6a12c
          various attribtes it needs.
Packit a6a12c
        - Performance improvement: Test count spinner now updates
Packit a6a12c
          exponentially less frequently as the count increases which
Packit a6a12c
          saves a lot of I/O on big tests.
Packit a6a12c
        - More improvements in test coverage from Leif.
Packit a6a12c
        - Fixes to TAP spooling - now captures YAML blocks correctly.
Packit a6a12c
        - Fix YAMLish handling of empty arrays, hashes.
Packit a6a12c
        - Renamed TAP::Harness::Compatible to Test::Harness,
Packit a6a12c
          runtests to prove.
Packit a6a12c
        - Fixes to @INC handling. We didn't always pass the correct path
Packit a6a12c
          to subprocesses.
Packit a6a12c
        - We now observe any switches in HARNESS_PERL_SWITCHES.
Packit a6a12c
        - Changes to output formatting for greater compatibility with
Packit a6a12c
          Test::Harness 2.64.
Packit a6a12c
        - Added unicode test coverage and fixed a couple of
Packit a6a12c
          unicode issues.
Packit a6a12c
        - Additions to documentation.
Packit a6a12c
        - Added support for non-forking Perls. If forking isn't
Packit a6a12c
          available we fall back to open and disable stream merging.
Packit a6a12c
        - Added support for simulating non-forking Perls to improve our
Packit a6a12c
          test coverage.
Packit a6a12c
Packit a6a12c
========================================================================
Packit a6a12c
Version numbers below this point relate to TAP::Parser - which was the
Packit a6a12c
name of this version of Test::Harness during its development.
Packit a6a12c
========================================================================
Packit a6a12c
Packit a6a12c
0.54
Packit a6a12c
    - Optimized I/O for common case of 'runtests -l'
Packit a6a12c
    - Croak if supplied an empty (0 lines) Perl script.
Packit a6a12c
    - Made T::P::Result::YAML return literal input YAML correctly.
Packit a6a12c
    - Merged speed-ups from speedy branch.
Packit a6a12c
Packit a6a12c
0.53  18 August 2007
Packit a6a12c
    - Fixed a few docs nits.
Packit a6a12c
    - Added -V (--version) switch to runtests. Suggested by markjugg on
Packit a6a12c
      Perlmonks.
Packit a6a12c
    - Fixed failing t/030-grammer.t under 5.9.5. Exact cause still
Packit a6a12c
      unknown; something to do with localisation of $1 et all I think.
Packit a6a12c
    - Fixed use of three arg open in t/compat/test-harness-compat; was
Packit a6a12c
      failing on 5.6.2.
Packit a6a12c
    - Fixed runtests --exec option. T::H wasn't passing the exec option
Packit a6a12c
      to T::P.
Packit a6a12c
    - Merged Leif Eriksen's coverage enhancing changes to 
Packit a6a12c
      t/080-aggregator.t, t/030-grammar.t
Packit a6a12c
    - Made various changes so that we test cleanly on 5.0.5.
Packit a6a12c
    - Many more coverage enhancements by Leif.
Packit a6a12c
    - Applied Michael Peters' patch to add an EOF callback to
Packit a6a12c
      TAP::Parser.
Packit a6a12c
    - Added --reverse option to runtests to run tests in reverse order.
Packit a6a12c
    - Made runtests exit with non-zero status if the test run had
Packit a6a12c
      problems.
Packit a6a12c
    - Stopped TAP::Parser::Iterator::Process from trampling on STDIN.
Packit a6a12c
Packit a6a12c
0.52  14 July 2007
Packit a6a12c
    - Incorporate Schwern's investigations into TAP versions.
Packit a6a12c
      Unversioned TAP is now TAP v12. The lowest explicit version number
Packit a6a12c
      that can be specified is 13.
Packit a6a12c
    - Renumbered tests to eliminate gaps.
Packit a6a12c
    - Killed execrc.  The '--exec' switch to runtests handles all of this for
Packit a6a12c
      us.
Packit a6a12c
    - Refactored T::P::Iterator into
Packit a6a12c
      T::P::Iterator::(Array|Process|Stream) so that we have a
Packit a6a12c
      process specific iterator with which to experiment with
Packit a6a12c
      STDOUT/STDERR merging.
Packit a6a12c
    - Removed vestigial exit status handling from T::P::I::Stream.
Packit a6a12c
    - Removed unused pid interface from T::P::I::Process.
Packit a6a12c
    - Fixed infinite recursion in T::P::I::Stream and added regression
Packit a6a12c
      coverage for same.
Packit a6a12c
    - Added tests for T::P::I::Process.
Packit a6a12c
    - TAP::Harness now displays the first five TAP syntax errors and
Packit a6a12c
      explains how to pass the -p flag to runtests to see them all.
Packit a6a12c
    - Added merge option to TAP::Parser::Iterator::Process,
Packit a6a12c
      TAP::Parser::Source, TAP::Parser and TAP::Harness.
Packit a6a12c
    - Added --merge option to runtests to enable STDOUT/STDERR merging.
Packit a6a12c
      This behaviour used to be the default.
Packit a6a12c
    - Made T::P::I::Process use open3 for both merged and non-merged
Packit a6a12c
      streams so that it works on Windows.
Packit a6a12c
    - Implemented Eric Wilhelm's IO::Select based multiple stream
Packit a6a12c
      handler so that STDERR is piped to us even if stream merging is
Packit a6a12c
      turned off. This tends to reduce the temporal skew between the
Packit a6a12c
      two streams so that error messages appear closer to their
Packit a6a12c
      correct location.
Packit a6a12c
    - Altered the T::P::Grammar interface so that it gets a stream
Packit a6a12c
      rather than the next line from the stream in preparation for
Packit a6a12c
      making it handle YAML diagnostics.
Packit a6a12c
    - Implemented YAML syntax. Currently YAML may only follow a
Packit a6a12c
      test result. The first line of YAML is '---' and the last
Packit a6a12c
      line is '...'.
Packit a6a12c
    - Made grammar version-aware. Different grammars may now be selected
Packit a6a12c
      depending on the TAP version being parsed.
Packit a6a12c
    - Added formatter delegate mechanism for test results.
Packit a6a12c
    - Added prototype stream based YAML(ish) parser.
Packit a6a12c
    - Added more tests for T::P::YAMLish
Packit a6a12c
    - Altered T::P::Grammar to use T::P::YAMLish
Packit a6a12c
    - Removed T::P::YAML
Packit a6a12c
    - Added raw source capture to T::P::YAMLish
Packit a6a12c
    - Added support for double quoted hash keys
Packit a6a12c
    - Added TAP::Parser::YAMLish::Writer and renamed T::P::YAMLish as
Packit a6a12c
      T::P::YAMLish::Reader.
Packit a6a12c
    - Added extra TAP::Parser::YAMLish::Writer output options
Packit a6a12c
    - Inline YAML documents must now be indented by at least one space
Packit a6a12c
    - Fixed broken dependencies in bin/prove
Packit a6a12c
    - Make library paths absolute before running tests in case tests
Packit a6a12c
      chdir before loading modules.
Packit a6a12c
    - Added libs and switches handling to T::H::Compatible. This and the
Packit a6a12c
      previous change fix [24926]
Packit a6a12c
    - Added PERLLIB to libraries stripped in _default_inc [12030]
Packit a6a12c
    - Our version of prove now handles directories containing circular
Packit a6a12c
      links correctly [21938]
Packit a6a12c
    - Set TAP_VERSION env var in Parser [11595]
Packit a6a12c
    - Added setup, teardown hooks to T::P::I::Process to facilitate the
Packit a6a12c
      setup and cleanup of the test script's environment
Packit a6a12c
    - Any additional libs added to the command line are also added to
Packit a6a12c
      PERL5LIB for the duration of a test run so that any Perl children
Packit a6a12c
      of the test script inherit the same library paths.
Packit a6a12c
    - Fixed handling of single quoted hash keys in T::P::Y::Reader
Packit a6a12c
    - Made runtests return the TAP::Parser::Aggregator
Packit a6a12c
    - Fixed t/120-harness.t has failures if TAP::Harness::Color cannot
Packit a6a12c
      load optional modules [27125] - thanks DROLSKY
Packit a6a12c
    - Fixed parsing of \# in test description  
Packit a6a12c
0.51 12 March 2007
Packit a6a12c
    - 'execrc' file now allows 'regex' matches for tests.
Packit a6a12c
    - rename 'TAPx' --> 'TAP'
Packit a6a12c
    - Reimplemented the parse logic of TAP::Parser as a state machine.
Packit a6a12c
    - Removed various ad-hoc state variables from TAP::Parser and moved
Packit a6a12c
      their logic into the state machine.
Packit a6a12c
    - Removed now-unused is_first / is_last methods from Iterator and
Packit a6a12c
      simplified remaining logic to suit.
Packit a6a12c
    - Removed now-redundant t/140-varsource.t.
Packit a6a12c
    - Implemented TAP version syntax.
Packit a6a12c
    - Tidied TAP::Harness::Compatible documentation
Packit a6a12c
    - Removed redundant modules below TAP::Harness::Compatible
Packit a6a12c
    - Removed unused compatibility tests
Packit a6a12c
Packit a6a12c
0.50_07 5 March 2007
Packit a6a12c
    - Fixed bug where we erroneously checked the test number instead of number
Packit a6a12c
      of tests run to determine if we've run more tests than we planned.
Packit a6a12c
    - Add a --directives switch to 'runtests' which only shows test results
Packit a6a12c
      with directives (such as 'TODO' or 'SKIP').
Packit a6a12c
    - Removed some dead code from TAPx::Parser.
Packit a6a12c
    - Added color support for Windows using Win32::Console.
Packit a6a12c
    - Made Color::failure_output reset colors before printing
Packit a6a12c
      the trailing newline.
Packit a6a12c
    - Corrected some issues with the 'runtests' docs and removed some
Packit a6a12c
      performance notes which no longer seem accurate.
Packit a6a12c
    - Fixed bug whereby if tests without file extensions were included then
Packit a6a12c
      the spacing of the result leaders would be off.
Packit a6a12c
    - execrc file is now a YAML file.
Packit a6a12c
    - Removed white background on the test failures.  It was too garish for
Packit a6a12c
      me.  Just more proof that we need better ways of overriding color
Packit a6a12c
      support.
Packit a6a12c
    - Started work on TAPx::Harness::Compatible. Right now it's mainly just
Packit a6a12c
      a direct lift of Test::Harness to make sure the tests work.
Packit a6a12c
    - Commented out use Data::Dumper::Simple in T::Harness.pm - it's not
Packit a6a12c
      a core module.
Packit a6a12c
    - Added next_raw to TAPx::Parser::Iterator which skips any fixes for
Packit a6a12c
      quirky TAP that are implemented by next. Used to support
Packit a6a12c
      TAPx::Harness::Compatible::Iterator
Packit a6a12c
    - Applied our version number to all T::H::Compatible modules
Packit a6a12c
    - Removed T::H::C::Assert. It's documented as being private to
Packit a6a12c
      Test::Harness and we're not going to need it.
Packit a6a12c
    - Refactored runtests to call aggregate_tests to expose the
Packit a6a12c
      interface we need for the compatibility layer.
Packit a6a12c
    - Make it possible to pass an end time to summary so that it needn't
Packit a6a12c
      be called immediately after the tests complete.
Packit a6a12c
    - Moved callback handling into TAPx::Base and altered TAPx::Parser
Packit a6a12c
      to use it.
Packit a6a12c
    - Made TAPx::Harness into a subclass of TAPx::Base and implemented
Packit a6a12c
      made_parser callback.
Packit a6a12c
    - Moved the dispatch of callbacks out of run and into next so that
Packit a6a12c
      they're called when TAPx::Harness iterates through the results.
Packit a6a12c
    - Implemented PERL_TEST_HARNESS_DUMP_TAP which names a directory
Packit a6a12c
      into which the raw TAP of any tests run via TAPx::Harness will
Packit a6a12c
      be written.
Packit a6a12c
    - Rewrote the TAPx::Grammar->tokenize method to return a
Packit a6a12c
      TAPx::Parser::Result object.  Code is much cleaner now.
Packit a6a12c
    - Moved the official grammar from TAPx::Parser to TAPx::Parser::Grammar,
Packit a6a12c
      provided a link and updated the grammar.
Packit a6a12c
    - Fixed bug where a properly escaped '# TODO' line in a test description
Packit a6a12c
      would still be reported as a TODO test.
Packit a6a12c
    - Added patches/ExtUtils-MakeMaker-6.31.patch - a patch against EUMM
Packit a6a12c
      that makes test_harness use TAPx::Harness instead of Test::Harness
Packit a6a12c
      if PERL_EUMM_USE_TAPX is true and TAPx::Harness is installed. In
Packit a6a12c
      other words cause 'make test' for EUMM based models to use
Packit a6a12c
      TAPx::Harness.
Packit a6a12c
    - Added support for timer option to TAPx::Harness which causes the
Packit a6a12c
      elapsed time for each test to be displayed.
Packit a6a12c
    - Setup tapx-dev@hexten.net mailing list.
Packit a6a12c
    - Fixed accumulating @$exec bug in TAPx::Harness.
Packit a6a12c
    - Made runtests pass '--exec' option as an array.
Packit a6a12c
    - (#24679) TAPx::Harness now reports failure for tests that die
Packit a6a12c
      after completing all subtests.
Packit a6a12c
    - Added in_todo attribute on TAPx::Parser which is true while the
Packit a6a12c
      most recently seen test was a TODO.
Packit a6a12c
    - (#24728) TAPx::Harness now supresses diagnostics from failed
Packit a6a12c
      TODOs. Not sure if the semantics of this are correct yet.
Packit a6a12c
      
Packit a6a12c
0.50_06 18 January 2007
Packit a6a12c
    - Fixed doc typo in examples/README [rt.cpan.org #24409]
Packit a6a12c
    - Colored test output is now the default for 'runtests' unless
Packit a6a12c
      you're running under windows or -t STDOUT is false.
Packit a6a12c
      [rt.cpan.org #24310]
Packit a6a12c
    - Removed the .t extension from t/source_tests/*.t since those are
Packit a6a12c
      'test tests' which caused false negatives when running recursive
Packit a6a12c
      tests. [Adrian Howard]
Packit a6a12c
    - Somewhere along the way, the exit status started working again.
Packit a6a12c
      Go figure.
Packit a6a12c
    - Factored color output so that disabling it under Windows is
Packit a6a12c
      cleaner.
Packit a6a12c
    - Added explicit switch to :crlf layer after open3 under Windows.
Packit a6a12c
      open3 defaults to raw mode resulting in spurious \r characters input
Packit a6a12c
      parsed input.
Packit a6a12c
    - Made Iterator do an explicit wait for subprocess termination.
Packit a6a12c
      Needed to get process status correctly on Windows.
Packit a6a12c
    - Fixed bug which didn't allow t/010-regression.t to be run directly
Packit a6a12c
      via Perl unless you specified Perl's full path.
Packit a6a12c
    - Removed SIG{CHLD} handler (which we shouldn't need I think because
Packit a6a12c
      we explicitly waitpid) and made binmode ':crlf' conditional on
Packit a6a12c
      IS_WIN32. On Mac OS these two things combined to expose a problem
Packit a6a12c
      which meant that output from test scripts was sometimes lost.
Packit a6a12c
    - Made t/110-source.t use File::Spec->catfile to build path to
Packit a6a12c
      test script.
Packit a6a12c
    - Made Iterator::FH init is_first, is_last to 0 rather than undef
Packit a6a12c
      for consistency with array iterator.
Packit a6a12c
    - Added t/120-varsource.t to test is_first and is_last semantics
Packit a6a12c
      over files with small numbers of lines.
Packit a6a12c
    - Added check for valid callback keys.
Packit a6a12c
    - Added t/130-results.t for Result classes.
Packit a6a12c
Packit a6a12c
0.50_05 15 January 2007
Packit a6a12c
    - Removed debugging code accidentally left in bin/runtests.
Packit a6a12c
    - Removed 'local $/ = ...' from the iterator.  Hopefully that will fix the
Packit a6a12c
      line ending bug, but I don't know about the wstat problem.
Packit a6a12c
Packit a6a12c
0.50_04 14 January 2007
Packit a6a12c
    - BACKWARDS IMCOMPATIBLE:  Renamed all '::Results' classes to '::Result'
Packit a6a12c
      because they represent a single result.
Packit a6a12c
    - Fixed bug where piping would break verbose output.
Packit a6a12c
    - IPC::Open3::open3 now takes a @command list rather than a $command
Packit a6a12c
      string.  This should make it work under Windows.
Packit a6a12c
    - Added 'stdout_sterr' sample test back to regression tests.  IPC::Open3
Packit a6a12c
      appears to make it work.
Packit a6a12c
    - Bug fix:  don't print 'All tests successful' if no tests are run.
Packit a6a12c
    - Refactored 'runtests' to make it a bit easier to follow.
Packit a6a12c
    - Bug fix:  Junk and comments now allowed before a leading plan.
Packit a6a12c
    - HARNESS_ACTIVE and HARNESS_VERSION environment variables now set.
Packit a6a12c
    - Renamed 'problems' in TAPx::Parser and TAPx::Aggregator to
Packit a6a12c
      'has_problems'.
Packit a6a12c
Packit a6a12c
0.50_03 08 January 2007
Packit a6a12c
Packit a6a12c
    - Fixed bug where '-q' or '-Q' with colored tests weren't suppressing all
Packit a6a12c
      information.
Packit a6a12c
    - Fixed an annoying MANIFEST nit.
Packit a6a12c
    - Made '-h' for runtests now report help.  Using a new harness requires
Packit a6a12c
      the full --harness switch.
Packit a6a12c
    - Added 'problems' method to TAPx::Parser and TAPx::Parser::Aggregator.
Packit a6a12c
    - Deprecatd 'todo_failed' in favor of 'todo_passed'
Packit a6a12c
    - Add -I switch to runtests.
Packit a6a12c
    - Fixed runtests doc nit (smylers)
Packit a6a12c
    - Removed TAPx::Parser::Builder.
Packit a6a12c
    - A few more POD nits taken care of.
Packit a6a12c
    - Completely removed all traces of C<--merge> as IPC::Open3 seems to be
Packit a6a12c
      working.
Packit a6a12c
    - Moved the tprove* examples to examples/bin in hopes of them no longer
Packit a6a12c
      showing up in CPAN's docs.
Packit a6a12c
    - Made the 'unexpectedly succeeded' message clearer (Adam Kennedy)
Packit a6a12c
Packit a6a12c
0.50_02 06 January 2007
Packit a6a12c
    - Added some files I left out of the manifest (reported by Florian
Packit a6a12c
      Ragwitz).
Packit a6a12c
    - Added strict to Makefile.PL and changed @PROGRAM to @program (reported
Packit a6a12c
      Florian Ragwitz).
Packit a6a12c
Packit a6a12c
0.50_01 06 January 2007
Packit a6a12c
    - Added a new example which shows to how test Perl, Ruby, and URLs all at
Packit a6a12c
      the same time using 'execrc' files.
Packit a6a12c
    - Fixed the diagnostic format mangling bug.
Packit a6a12c
    - We no longer override Test::Builder to merge streams.  Instead, we go
Packit a6a12c
      ahead and use IPC::Open3.  It remains to be seen whether or not this is
Packit a6a12c
      a good idea.
Packit a6a12c
    - Fixed vms nit:  for failing tests, vms often has the 'not' on a line by
Packit a6a12c
      itself.
Packit a6a12c
    - Fixed bugs where unplanned tests were not reporting as a failure (test
Packit a6a12c
      number greater than tests planned).
Packit a6a12c
    - TAPx::Parser constructor can now take an 'exec' option to tell it what
Packit a6a12c
      to execute to create the stream (huge performance boost).
Packit a6a12c
    - Added TAPx::Parser::Source.  This allows us to run tests in just about
Packit a6a12c
      any programming language.
Packit a6a12c
    - Renamed the filename() method to source() in TAPx::Parser::Source::Perl.
Packit a6a12c
    - We now cache the @INC values found for TAPx::Parser::Source::Perl.
Packit a6a12c
    - Added two test harnesses, TAPx::Harness and TAPx::Harness::Color.
Packit a6a12c
    - Removed references to manual stream construction from TAPx::Parser
Packit a6a12c
      documentation.  Users should not (usually) need to worry about streams.
Packit a6a12c
    - Added bin/runtests utility.  This is very similar to 'prove'.
Packit a6a12c
    - Renumbered tests to make it easier to add new ones.
Packit a6a12c
    - Corrected some minor documentation nits.
Packit a6a12c
    - Makefile.PL is no longer auto-generated (it's built by hand).
Packit a6a12c
    - Fixed regression test bug where driving tests through the harness I'm
Packit a6a12c
      testing caused things to break.
Packit a6a12c
    - BUG:  exit() values are now broken.  I don't know how to capture them
Packit a6a12c
      with IPC::Open3.  However, since no one appears to be using them, this
Packit a6a12c
      might not be an issue.
Packit a6a12c
Packit a6a12c
0.41  12 December 2006
Packit a6a12c
    - Fixed (?) 10-regression.t test which failed on Windows.  Removed the
Packit a6a12c
      segfault test as it has no meaning on Windows.  Reported by PSINNOTT
Packit a6a12c
      <link@redbrick.dcu.ie> and fix recommended by Schwern based on his
Packit a6a12c
      Test::Harness experience.
Packit a6a12c
      http://rt.cpan.org/Ticket/Display.html?id=21624
Packit a6a12c
Packit a6a12c
0.40  05 December 2006
Packit a6a12c
    - Removed TAPx::Parser::Streamed and folded its functionality into
Packit a6a12c
      TAPx::Parser.
Packit a6a12c
    - Fixed bug where sometimes is_good_plan() would return a false positive
Packit a6a12c
      (exposed by refactoring).
Packit a6a12c
    - A number of tiny performance enhancements.
Packit a6a12c
Packit a6a12c
0.33  22 September 2006
Packit a6a12c
    - OK, I'm getting ticked off by some of the comments on Perl-QA so I
Packit a6a12c
      rushed this out the door and broke it :(  I'm backing out one test and
Packit a6a12c
      slowing down a bit.
Packit a6a12c
Packit a6a12c
0.32  22 September 2006
Packit a6a12c
    - Applied patch from Schwern which fixed the Builder package name (TAPx::
Packit a6a12c
      instead of TAPX:: -- stupid case-insensitive package names!).
Packit a6a12c
      [rt.cpan.org #21605]
Packit a6a12c
Packit a6a12c
0.31  21 September 2006
Packit a6a12c
    - Fixed bug where Carp::croak without parens could cause Perl to fail to
Packit a6a12c
      compile on some platforms. [Andreas J. Koenig]
Packit a6a12c
    - Eliminated the non-portable redirect of STDERR to STDOUT (2>&1) and
Packit a6a12c
      fixed the synchronization issue.  This involves overridding
Packit a6a12c
      Test::Builder::failure_output() in a very sneaky way.  I may have to
Packit a6a12c
      back this out.
Packit a6a12c
    - Renamed boolean methods to begin with 'is_'.  The methods they replace
Packit a6a12c
      are documented, deprecated, and will not be removed prior to version
Packit a6a12c
      1.00.
Packit a6a12c
Packit a6a12c
0.30  17 September 2006
Packit a6a12c
    - Fixed bug where no output would still claim to have a good plan.
Packit a6a12c
    - Fixed bug where no output would cause parser to die.
Packit a6a12c
    - Fixed bug where failing to specify a plan would be two parse errors
Packit a6a12c
      instead of one.
Packit a6a12c
    - Fixed bug where a correct plan count in an incorrect place would still
Packit a6a12c
      report as a 'good_plan'.
Packit a6a12c
    - Fixed bug where comments could accidently be misparsed as directives.
Packit a6a12c
    - Eliminated testing of internal structure of result objects.  The other
Packit a6a12c
      tests cover this.
Packit a6a12c
    - Allow hash marks in descriptions.  This was causing a problem because
Packit a6a12c
      many test suites (Regexp::Common and Perl core) allowed them to exist.
Packit a6a12c
    - Added support for SKIP directives in plans.
Packit a6a12c
    - Did some work simplifying &TAPx::Parser::_initialize.  It's not great,
Packit a6a12c
      but it's better than it was.
Packit a6a12c
    - TODO tests now always pass, regardless of actual_passed status.
Packit a6a12c
    - Removed 'use warnings' and now use -w
Packit a6a12c
    - 'switches' may now be passed to the TAPx::Parser constructor.
Packit a6a12c
    - Added 'exit' status.
Packit a6a12c
    - Added 'wait' status.
Packit a6a12c
    - Eliminated 'use base'.  This is part of the plan to make TAPx::Parser
Packit a6a12c
      compatible with older versions of Perl.
Packit a6a12c
    - Added 'source' key to the TAPx::Parser constructor.  Making new parsers
Packit a6a12c
      is now much easier.
Packit a6a12c
    - Renamed iterator first() and last() methods to is_first() and is_last().
Packit a6a12c
      Credit:  Aristotle.
Packit a6a12c
    - Planned tests != tests run is now a parse error.  It was really stupid
Packit a6a12c
      of me not to do that in the first place.
Packit a6a12c
    - Added massive regression test suite in t/100-regression.t
Packit a6a12c
    - Updated the grammar to show that comments are allowed.
Packit a6a12c
    - Comments are now permitted after an ending plan.
Packit a6a12c
Packit a6a12c
0.22  13 September 2006
Packit a6a12c
    - Removed buggy support for multi-line chunks from streams.  If your
Packit a6a12c
      streams or iterators return anything but single lines, this is a bug.
Packit a6a12c
    - Fixed bug whereby blank lines in TAP would confuse the parser.  Reported
Packit a6a12c
      by Torsten Schoenfeld.
Packit a6a12c
    - Added first() and last() methods to the iterator.
Packit a6a12c
    - TAPx::Parser::Source::Perl now has a 'switches' method which allows
Packit a6a12c
      switches to be passed to the perl executable running the test file.
Packit a6a12c
      This allows tprove to accept a '-l' argument to force lib/ to be
Packit a6a12c
      included in Perl's @INC.
Packit a6a12c
Packit a6a12c
0.21  8 September 2006
Packit a6a12c
    - Included experimental GTK interface written by Torsten Schoenfeld.
Packit a6a12c
    - Fixed bad docs in examples/tprove_color
Packit a6a12c
    - Applied patch from Shlomi Fish fixing bug where runs from one stream
Packit a6a12c
      could leak into another when bailing out.  [rt.cpan.org #21379] 
Packit a6a12c
    - Fixed some typos in the POD.
Packit a6a12c
    - Corrected the grammar to allow for a plan of "1..0" (infinite stream).
Packit a6a12c
    - Started to add proper acknowledgements.
Packit a6a12c
Packit a6a12c
0.20  2 September 2006
Packit a6a12c
    - Fixed bug reported by GEOFFR.  When no tap output was found, an
Packit a6a12c
      "Unitialized value" warning occurred.  [rt.cpan.org #21205]
Packit a6a12c
    - Updated tprove to now report a test failure when no tap output found.
Packit a6a12c
    - Removed examples/tprove_color2 as tprove_color now works.
Packit a6a12c
    - Vastly improved callback system and updated the docs for how to use
Packit a6a12c
      them.
Packit a6a12c
    - Changed TAPx::Parser::Source::Perl to use Symbol::gensym() instead of a
Packit a6a12c
      hard-to-guess filehandle name.
Packit a6a12c
Packit a6a12c
0.12  30 July 2006
Packit a6a12c
    - Added a test colorization script
Packit a6a12c
    - Callback support added.
Packit a6a12c
    - Added TAPx::Parser::Source::Perl.
Packit a6a12c
    - Added TAPx::Parser::Aggregator. 
Packit a6a12c
    - Added version numbers to all classes.
Packit a6a12c
    - Added 'todo_failed' test result and parser.
Packit a6a12c
    - 00-load.t now loads all classes instead of having individual tests load
Packit a6a12c
      their supporting classes.
Packit a6a12c
    - Changed $parser->results to $parser->next
Packit a6a12c
Packit a6a12c
0.11  25 July, 2006
Packit a6a12c
    - Renamed is_skip and is_todo to has_skip and has_todo.  Much less
Packit a6a12c
      confusing since a result responding true to those also responded true to
Packit a6a12c
      is_test.
Packit a6a12c
    - Added simplistic bin/tprove to run tests.  Much harder than I thought
Packit a6a12c
      and much code stolen from Test::Harness.
Packit a6a12c
    - Modified stolen iterator to fix a bug with stream handling when extra
Packit a6a12c
      newlines were encountered.
Packit a6a12c
    - Added TAPx::Parser::Iterator (stolen from Test::Harness::Iterator)
Packit a6a12c
    - Normalized internal structure of result objects.
Packit a6a12c
    - All tokens now have a 'type' key.  This greatly simplifies internals.
Packit a6a12c
    - Copied much result POD info into the main docs.
Packit a6a12c
    - Corrected the bug report URLs.
Packit a6a12c
    - Minor updates to the grammar listed in the POD.
Packit a6a12c
Packit a6a12c
0.10  23 July, 2006
Packit a6a12c
    - Oh my Larry, we gots docs!
Packit a6a12c
    - _parse and _tap are now private methods.
Packit a6a12c
    - Stream support has been added.
Packit a6a12c
    - Moved the grammar into its own class.
Packit a6a12c
    - Pulled remaining parser functionality out of lexer.
Packit a6a12c
    - Added type() method to Results().
Packit a6a12c
    - Parse errors no longer croak().  Instead, they are available through the
Packit a6a12c
      parse_errors() method.
Packit a6a12c
    - Added good_plan() method.
Packit a6a12c
    - tests_planned != tests_run is no longer a parse error.
Packit a6a12c
    - Renamed test_count() to tests_run().
Packit a6a12c
    - Renamed num_tests() to tests_planned().
Packit a6a12c
Packit a6a12c
0.03  17 July, 2006
Packit a6a12c
    - 'Bail out!' is now handled.
Packit a6a12c
    - The parser is now data driven, thus skipping a huge if/else chain
Packit a6a12c
    - We now track all TODOs, SKIPs, passes and fails by test number.
Packit a6a12c
    - Removed all non-core modules.
Packit a6a12c
    - Store original line for each TAP line.  Available through
Packit a6a12c
      $result->raw().
Packit a6a12c
    - Renamed test is_ok() to passed() and added actual_passed().  The former
Packit a6a12c
      method takes into account TODO tests and the latter returns the actual
Packit a6a12c
      pass/fail status.
Packit a6a12c
    - Fixed a bug where SKIP tests would not be identified correctly.
Packit a6a12c
Packit a6a12c
0.02  8 July, 2006
Packit a6a12c
    - Moved some lexer responsibility to the parser.  This will allow us to
Packit a6a12c
      eventually parse streams.
Packit a6a12c
    - Properly track passed/failed tests, even accounting for TODO.
Packit a6a12c
    - Added support for comments and unknown lines.
Packit a6a12c
    - Allow explicit and inferred test numbers to be mixed.
Packit a6a12c
    - Allow escaped hashes in the test description.
Packit a6a12c
    - Renamed to TAPx::Parser.  Will probably rename it again.
Packit a6a12c
Packit a6a12c
0.01  Date/time
Packit a6a12c
    - First version, unreleased on an unsuspecting world.
Packit a6a12c
    - No, you'll never know when ...