== Version 2.0.0.0 == A new beginning... * Upgraded to Java 7 * Build with Gradle * Publish a single jar java-hamcrest-x.x.x.x.jar * Removed deprecated methods from previous release * Improve mismatch description of hasItem/hasItems * General improvements to mismatch descriptions * Several JavaDoc improvements and corrections * Fix gh issue #69 - Iterable contains in order is null-safe * Fix gh issue #59 - added equalToObject() (i.e. unchecked) method * Fix gh issue #25 - arrayContaining(null, null) cause NullPointerException * Fix gh issue #36 - string matching on regular expressions * Fix gh issue #8 - isCloseTo() shows wrong delta in mismatch description * Fix issue 131 - Implement IsEmptyMap, IsMapWithSize * Fix issue 155 - Deprecated several matcher factory methods of the for "isXyz" * Fix issue 187 - IsArray.describeMismatchSafely() should use Matcher.describeMismatch * Fix issue 155 - Add Matcher implementation for files * Fix issue 59 - add untyped version of equalTo, named equalToObject * Fix issue 69 - fix NPE in IsIterableContainingInOrder * Fix issue 75 - address doclint errors reported in JDK 1.8 == Version 1.3: Released July 09 2012 == * Introduce Condition class to ease the implementation of multi-step matches * Upgrade qdox (included in the generator) to the latest stable version * Correct inadvertent deprecation of the Is.isA factory method * Fix issue 179 - AllOf does not output mismatch description * Fix issue 177 - Introduced closeTo matcher for BigDecimals * Fix issue 152 - Factory classes missing from matchers.xml * Fix issue 144 - OrderingComparison doesn't describe mismatch of comparables that return values other than (-1,0,1) * Fix issue 134 - DescribedAs does not delegate describeMismatch * Fix issue 106 - deprecation warning when writing custom matchers * Fix issue 101 - Added theInstance alias for sameInstance factory method == Version 1.3 RC2: Released October 22 2010 == * Added FeatureMatcher * distinguish between instanceOf() and any() == Version 1.2: Released May 16 2009 == * Added mismatch reporting * Added WithSamePropertyValuesAs matcher * Moved any() from IsAnything to IsInstanceOf. It now checks the type of the matched object * Moved MatcherAssert from integration to core * Tightened up generics. * Added IsMapContainingKey and IsMapContainingValue matchers to resolve a generics bug in hasKey and hasValue static factories previously declared in IsMapContaining (ngd) * Added IsCollectionOnlyContaining and IsArrayOnlyContaining which matches collections (and arrays) where all match a given matcher. E.g onlyContains(3,4,5) or onlyContains(lessThan(9)) * text module moved to separate project, hamcrest-text-patterns * added more colection matchers: xContainingInAnyOrder, xContainingInOrder, xWithSize * new text Matcher: IsEmptyString * hamcrest generator uses method return type == Version 1.1: Released Jun 30 2007 == * Hamcrest Generator now includes JavaDoc and parameter names in generated code by using QDox to parse the source code. * Created hamcrest-core.jar (and removed hamcrest-api.jar). Moved core set of matchers (and, eq, not, etc) to this package to make it more practical for external libraries to embed Hamcrest. * Created CoreMatchers (static import sugar) in hamcrest-core.jar. * StringBuilder can use any Appendable (not just StringBuffer). * Added sensible toString() method to BaseMatcher. * Created StringDescription.asString() alias (because toString() caused issues with static imports). * Relaxed isInstanceOf() matcher generic type so it can be used on any kind of object. e.g. assertThat(someUnknownObject, isInstanceOf(String.class)); * Added any(Class), null(Class) and notNull(Class) matchers, which returns Matcher. Helpful when the compiler struggles with type inference. * Modified anyOf() and allOf() to accept mixed-types. * TypeSafeMatcher.matchesSafely() is now public. * Generator recognizes @Factory methods that return subclass of Matcher. (Fix by David Saff) == Version 1.0: Released Dec 15 2006 == Initial release. * Support for namespaces in HasXPath * Bug fix for matching empty elements with HasXPath