Full documentation: http://packages.python.org/PyHamcrest
Latest package: http://pypi.python.org/pypi/PyHamcrest
Latest sources: https://github.com/jonreid/PyHamcrest
Hamcrest information: http://code.google.com/p/hamcrest

== Version 1.4 ==

13 Feb 2011
* New matchers:
 - "has_entries" matches dictionary containing key-value pairs satisfying a given list of alternating keys and value matchers.

* assert_that can be invoked with a single boolean argument; the reason message is now optional. This is a convenience replacement for assertTrue. Change provided by Jeong-Min Lee.

* Improved descriptions:
 - Reverted 1.3 change: Describe None as "<None>" after all, since it is an object.
 - "is_" no longer says "is ..." in its description, but just lets the inner description pass through.
 - Consistently use articles to begin descriptions, such as "a sequence containing" instead of "sequence containing".


== Version 1.3 ==

04 Feb 2011
* PyHamcrest is now compatible with Python 3! To install PyHamcrest on Python 3:
  - Install the "distribute" package, http://pypi.python.org/pypi/distribute
  - Run "python3 setup.py install"
  Unit tests are not converted by the install procedure. Run "2to3 -nw ." separately to convert them. You may discover import statements in the __init__.py files (and one in core/base_description.py) that need dot prefixes.
  Many thanks to Jeong-Min Lee for this contribution.

* Improved descriptions and mismatch descriptions of several matchers, including:
  - Fixed "contains" and "contains_inanyorder" to describe mismatch if item is not a sequence.
  - Fixed "described_as" to use nested matcher to generate mismatch description.
  - "same_instance" is more readable, and includes object memory addresses.
  - If object has a length, "has_length" mismatch describes actual length.
  - Describe None as "None" instead of "<None>".
  - Don't wrap angle brackets around a description that already has them.
  - Improved readability of several matchers.


== Version 1.2.1 ==

04 Jan 2011
* Fixed assert_that to describe the diagnosis of the mismatch, not just the mismatched value. PyHamcrest will now give even more useful information.

* Expanded BaseDescription.append_description_of to handle all types of values, not just self-describing values.

* Deprecated:
 - Description.append_value no longer needed; call append_description_of instead.
 - BaseDescription.append_value_list no longer needed; call append_list instead.
 - SelfDescribingValue no longer needed.

1.2.1 fixes to 1.2:
- Corrected manifest so install works. Fix provided by Jeong-Min Lee.


== Version 1.1 ==

28 Dec 2010
* New matchers:
  - "contains" matches sequence containing matching items in order.
  - "contains_inanyorder" matches sequence containing matching items in any order.

* Added Sphinx documentation support.


== Version 1.0 ==

04 Dec 2010
* First official release
* Text matchers now support Unicode strings

15 Jan 2008
* Initial submission
