|
| 1 | +# Hamcrest Changes |
| 2 | + |
| 3 | +## Version 2.1-SNAPSHOT (Unreleased) |
| 4 | + |
| 5 | +### Overview for 2.1 |
| 6 | + |
| 7 | +After a long hiatus without releases, this version simplifies the packaging of |
| 8 | +Hamcrest into a single jar: `hamcrest-<version>.jar`. Other big changes include |
| 9 | +Java 9 module compatibility, along with numerous other improvements and bug |
| 10 | +fixes. |
| 11 | + |
| 12 | +### Breaking Changes for 2.1 |
| 13 | + |
| 14 | +Although the class API has not changed since Hamcrest 1.3, the way that the |
| 15 | +project is packaged has changed. Refer to the [Hamcrest Distributables](http://hamcrest.org/JavaHamcrest/distributables.html) |
| 16 | +documentation for more information. |
| 17 | + |
| 18 | +### Changes for 2.1 |
| 19 | + |
| 20 | +* TBD |
| 21 | + |
| 22 | + |
| 23 | +## Version 2.0.0.0 (18th January 2015) |
| 24 | + |
| 25 | +This version was the first release after migrating from the old Google Code hosting to GitHub. |
| 26 | + |
| 27 | +* Upgraded to Java 7 |
| 28 | +* Build with Gradle |
| 29 | +* Publish a single jar java-hamcrest-x.x.x.x.jar |
| 30 | +* Removed deprecated methods from previous release |
| 31 | +* Improve mismatch description of hasItem/hasItems |
| 32 | +* General improvements to mismatch descriptions |
| 33 | +* Several JavaDoc improvements and corrections |
| 34 | +* Deprecated several matcher factory methods of the for "isXyz" |
| 35 | +* Fix [GH issue #75](https://github.com/hamcrest/JavaHamcrest/issues/75) - address doclint errors reported in JDK 1.8 |
| 36 | +* Fix [GH issue #69](https://github.com/hamcrest/JavaHamcrest/issues/69) - Iterable contains in order is null-safe |
| 37 | +* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - added equalToObject() (i.e. unchecked) method |
| 38 | +* Fix [GH issue #25](https://github.com/hamcrest/JavaHamcrest/issues/25) - arrayContaining(null, null) cause NullPointerException |
| 39 | +* Fix [GH issue #36](https://github.com/hamcrest/JavaHamcrest/issues/36) - string matching on regular expressions |
| 40 | +* Fix [GH issue #8](https://github.com/hamcrest/JavaHamcrest/issues/8) - isCloseTo() shows wrong delta in mismatch description |
| 41 | +* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - add untyped version of equalTo, named equalToObject |
| 42 | +* Fix [GC issue #131](https://code.google.com/archive/p/hamcrest/issues/131) - Implement IsEmptyMap, IsMapWithSize |
| 43 | +* Fix [GC issue #187](https://code.google.com/archive/p/hamcrest/issues/187) - IsArray.describeMismatchSafely() should use Matcher.describeMismatch |
| 44 | +* Fix [GC issue #155](https://code.google.com/archive/p/hamcrest/issues/155) - Add Matcher implementation for files |
| 45 | +* Fix [GC issue #69](https://code.google.com/archive/p/hamcrest/issues/69) - fix NPE in IsIterableContainingInOrder |
| 46 | + |
| 47 | +## Version 1.3 (9th July 2012) |
| 48 | + |
| 49 | +* Introduce Condition class to ease the implementation of multi-step matches |
| 50 | +* Upgrade qdox (included in the generator) to the latest stable version |
| 51 | +* Correct inadvertent deprecation of the Is.isA factory method |
| 52 | +* Fix [issue #179](https://code.google.com/archive/p/hamcrest/issues/179) - AllOf does not output mismatch description |
| 53 | +* Fix [issue #177](https://code.google.com/archive/p/hamcrest/issues/177) - Introduced closeTo matcher for BigDecimals |
| 54 | +* Fix [issue #152](https://code.google.com/archive/p/hamcrest/issues/152) - Factory classes missing from matchers.xml |
| 55 | +* Fix [issue #144](https://code.google.com/archive/p/hamcrest/issues/144) - OrderingComparison doesn't describe mismatch of comparables that return values other than (-1,0,1) |
| 56 | +* Fix [issue #134](https://code.google.com/archive/p/hamcrest/issues/134) - DescribedAs does not delegate describeMismatch |
| 57 | +* Fix [issue #106](https://code.google.com/archive/p/hamcrest/issues/106) - deprecation warning when writing custom matchers |
| 58 | +* Fix [issue #101](https://code.google.com/archive/p/hamcrest/issues/101) - Added theInstance alias for sameInstance factory method |
| 59 | + |
| 60 | +## Version 1.3 RC2 (22nd October 2010) |
| 61 | + |
| 62 | +* Added FeatureMatcher |
| 63 | +* distinguish between instanceOf() and any() |
| 64 | + |
| 65 | +## Version 1.2 (16th May 2009) |
| 66 | + |
| 67 | +* Added mismatch reporting |
| 68 | +* Added WithSamePropertyValuesAs matcher |
| 69 | +* Moved any() from IsAnything to IsInstanceOf. It now checks the type of the matched object |
| 70 | +* Moved MatcherAssert from integration to core |
| 71 | +* Tightened up generics. |
| 72 | +* Added IsMapContainingKey and IsMapContainingValue matchers to resolve a |
| 73 | + generics bug in hasKey and hasValue static factories previously declared |
| 74 | + in IsMapContaining (ngd) |
| 75 | +* Added IsCollectionOnlyContaining and IsArrayOnlyContaining which matches |
| 76 | + collections (and arrays) where all match a given matcher. E.g onlyContains(3,4,5) |
| 77 | + or onlyContains(lessThan(9)) |
| 78 | +* text module moved to separate project, hamcrest-text-patterns |
| 79 | +* added more colection matchers: xContainingInAnyOrder, xContainingInOrder, xWithSize |
| 80 | +* new text Matcher: IsEmptyString |
| 81 | +* hamcrest generator uses method return type |
| 82 | + |
| 83 | +## Version 1.1 (30th June 2007) |
| 84 | + |
| 85 | +* Hamcrest Generator now includes JavaDoc and parameter names in generated code |
| 86 | + by using QDox to parse the source code. |
| 87 | +* Created hamcrest-core.jar (and removed hamcrest-api.jar). |
| 88 | + Moved core set of matchers (and, eq, not, etc) |
| 89 | + to this package to make it more practical for external libraries |
| 90 | + to embed Hamcrest. |
| 91 | +* Created CoreMatchers (static import sugar) in hamcrest-core.jar. |
| 92 | +* StringBuilder can use any Appendable (not just StringBuffer). |
| 93 | +* Added sensible toString() method to BaseMatcher. |
| 94 | +* Created StringDescription.asString() alias (because toString() caused issues |
| 95 | + with static imports). |
| 96 | +* Relaxed isInstanceOf() matcher generic type so it can be used on any kind of |
| 97 | + object. e.g. assertThat(someUnknownObject, isInstanceOf(String.class)); |
| 98 | +* Added any(Class<T>), null(Class<T>) and notNull(Class<T>) matchers, which returns |
| 99 | + Matcher<T>. Helpful when the compiler struggles with type inference. |
| 100 | +* Modified anyOf() and allOf() to accept mixed-types. |
| 101 | +* TypeSafeMatcher.matchesSafely() is now public. |
| 102 | +* Generator recognizes @Factory methods that return subclass of Matcher. |
| 103 | + (Fix by David Saff) |
| 104 | + |
| 105 | +## Version 1.0 (15th Dececmber 2006) |
| 106 | + |
| 107 | +Initial release. |
| 108 | + |
| 109 | +* Support for namespaces in HasXPath |
| 110 | +* Bug fix for matching empty elements with HasXPath |
0 commit comments