1.4.0
IMPROVEMENTS
* Drop Python 3.3 support, and test on 3.5 and 3.6.
* Add support for Python 3.7 and 3.8.
* Improve readability of SubUnit v2 spec.
* Add license to setup.py.
BUGFIXES
* Migrate Gtk interface to GObject introspection.
* Fix file open for python3.
* Check written bytes are not None before summing them to offset.
* Correctly handle py3 RawIOBase read().
Subunit is a streaming protocol for test results.
A number of useful things can be done easily with subunit:
* Test aggregation: Tests run separately can be combined and then
reported/displayed together. For instance, tests from different languages can
be shown as a seamless whole, and tests running on multiple machines can be
aggregated into a single stream through a multiplexer.
* Test archiving: A test run may be recorded and replayed later.
* Test isolation: Tests that may crash or otherwise interact badly with each
other can be run seperately and then aggregated, rather than interfering with
each other or requiring an adhoc test->runner reporting protocol.
* Grid testing: subunit can act as the necessary serialisation and
deserialiation to get test runs on distributed machines to be reported in
real time.