Release Notes
=============

This file contains the changes made since the last release.

v0.6.2
------

New Features
````````````

* When string filters are used they will be output on the command line and
  in the test log, the reason for this is if a user mistypes a command line
  option it will be treated as a string filter.

Behaviour Changes
`````````````````

Issues in the framework functions such as `suiteTearDown` will, going forward,
be treated the same as if the actual test in terms of how it is handled
although the reporting should highlight exactly what has failed.

* Failures in `suiteSetUp`, `suiteTearDown` and `tearDown` will now stop
  execution unless the `--keep-going` flag has been specified. This will bring
  them in line with the other test functions and make the behaviour consistent.
* Failure summaries will always come out in the terminal output.

Bug Fixes
`````````

* `suiteTearDown` failures were not being reported. They will now be reported
  on the command line and in the test log.
* `suiteTearDown` failures were not causing non zero exit status. They will now.
* `tearDown` failures were not causing non zero exit status. They will now.
* Fixed a bug causing the `--max-exec-time` command line option to not work.

Regression Fixes
````````````````

* Fixed a regression where the help text was not displaying the user defined
  options. This regression was introduced in 0.6.1.

Deprecated Features
```````````````````

* The :mod:`CleverSheep.Debug` module has been removed as it is deprecated, if you
  want to use `ultraTB.py` use the version in :mod:`CleverSheep.Extras`.

* The :mod:`CleverSheep.VisTools.Process` module has been removed, please use
  :mod:`CleverSheep.Prog.Process` instead.

* The :mod:`CleverSheep.decorator` module has been removed, please use
  :mod:`CleverSheep.Extras.decorator` instead.

* The :mod:`CleverSheep.Prog.Ustr` module has been removed, please use
  :mod:`CleverSheep.Prog.Intern` instead.

* The :mod:`CleverSheep.Test.Tester.Discovery` module has been removed.

* The :func:`CleverSheep.Test.Tester.set_reporter` alias has been removed, use
  :func:`CleverSheep.Test.Tester.registerReporter` instead.

* The :func:`CleverSheep.Prog.Files.findDir` alias has been removed, use
  :func:`CleverSheep.Prog.Files.findDirAbove` instead.

* The :mod:`CleverSheep.IOUtils` module has been removed. The only class in
  this module was a fake file that simply dropped the output, it would be trivial
  for a user to implement should they want this behavior so it has been removed
  from the library.

* The :mod:`CleverSheep.Rst` module has been removed.

Misc
````

* Update the error messages on failure of setup, teardown etc.
* The `PropertyError` exception has been removed from 'CleverSheep/Prog/Aspects.py'
  'CleverSheep/Test/Tester/Collection.py'. It shouldn't have been duplicated and
  does not serve a purpose any longer so has been removed.
* The exit_suite function has been deprecated and will be removed in version
  0.6.4
* The ExitSuite exception has been deprecated and will be removed in version
  0.6.4
* In the short term at least public access to the test states has been
  removed, they are not well defined. As part of this a number of unused states
  have been removed.
* Test state reporting has been simplified, there is now only the state, the
  concepts of reason codes and the `Result` class have been removed.

Known Issues
````````````

- The '--timeout' command line option does not work as intended and should not be used.
- Using versions 0.7.X of twisted and higher seems to cause an import error and should not be used.
