---------------------
subunit release notes
---------------------


0.0.2 (IN DEVELOPMENT)
----------------------

  CHANGES:

  IMPROVEMENTS:

    * A number of filters now support ``--no-passthrough`` to cause all
      non-subunit content to be discarded. This is useful when precise control
      over what is output is required - such as with subunit2junitxml.

    * A small perl parser is now included, and a new ``subunit-diff`` tool
      using that is included. (Jelmer Vernooij)

    * Subunit streams can now include optional, incremental lookahead
      information about progress. This allows reporters to make estimates
      about completion, when such information is available. See the README
      under ``progress`` for more details.

    * ``subunit-filter`` now supports regex filtering via ``--with`` and
      ``without`` options. (Martin Pool)

    * ``subunit2gtk`` has been added, a filter that shows a GTK summary of a
      test stream.

    * ``subunit2pyunit`` has a --progress flag which will cause the bzrlib
      test reporter to be used, which has a textual progress bar. This requires
      a recent bzrlib as a minor bugfix was required in bzrlib to support this.

    * ``subunit2junitxml`` has been added. This filter converts a subunit
      stream to a single JUnit style XML stream using the pyjunitxml
      python library.

    * The shell functions support skipping via ``subunit_skip_test`` now.

  BUG FIXES:

    * ``xfail`` outcomes are now passed to python TestResult's via
      addExpectedFailure if it is present on the TestResult. Python 2.6 and
      earlier which do not have this function will have ``xfail`` outcomes
      passed through as success outcomes as earlier versions of subunit did.

  API CHANGES:

    * tags are no longer passed around in python via the ``TestCase.tags``
      attribute. Instead ``TestResult.tags(new_tags, gone_tags)`` is called,
      and like in the protocol, if called while a test is active only applies
      to that test. (Robert Collins)

    * ``TestResultFilter`` takes a new optional constructor parameter 
      ``filter_predicate``.  (Martin Pool)

    * When a progress: directive is encountered in a subunit stream, the
      python bindings now call the ``progress(offset, whence)`` method on
      ``TestResult``.

    * When a time: directive is encountered in a subunit stream, the python
      bindings now call the ``time(seconds)`` method on ``TestResult``.

  INTERNALS:

    * (python) Added ``subunit.test_results.AutoTimingTestResultDecorator``. Most
      users of subunit will want to wrap their ``TestProtocolClient`` objects
      in this decorator to get test timing data for performance analysis.

    * (python) ExecTestCase supports passing arguments to test scripts.

    * (python) New helper ``subunit.test_results.HookedTestResultDecorator``
      which can be used to call some code on every event, without having to
      implement all the event methods.

    * (python) ``TestProtocolClient.time(a_datetime)`` has been added which
      causes a timestamp to be output to the stream.
