|
1 | | -# Hamcrest Changes |
2 | | - |
3 | | -## Version 2.2 (Unreleased) |
4 | | - |
5 | | -### Improvements |
6 | | - |
7 | | -* AllOf/AnyOf: Pass the matchers to constructor using varargs ([Issue #245](https://github.com/hamcrest/JavaHamcrest/pull/245)) |
8 | | -* Matchers.anyOf: Fix generic bounds compatibility for JDK 11 ([Issue #256](https://github.com/hamcrest/JavaHamcrest/issues/256), [Issue #257](https://github.com/hamcrest/JavaHamcrest/issues/257)) |
9 | | -* AssertionError message is unhelpful when match fails for byte type ([Issue #254](https://github.com/hamcrest/JavaHamcrest/issues/254), [Issue #255](https://github.com/hamcrest/JavaHamcrest/issues/255)) |
10 | | -* Use platform specific line breaks ([PR #267](https://github.com/hamcrest/JavaHamcrest/pull/267)) |
11 | | -* Build now checks for consistent use of spaces ([PR #217](https://github.com/hamcrest/JavaHamcrest/pull/217)) |
12 | | - |
13 | | -### Bugfixes |
14 | | -* Fix compatibility issue for development with Android D8 ([Issue #246](https://github.com/hamcrest/JavaHamcrest/issues/246)) |
15 | | -* Fix typo in license name ([Issue #247](https://github.com/hamcrest/JavaHamcrest/pull/247)) |
16 | | -* 1.3 compatible constructors for string matchers ([Issue #259](https://github.com/hamcrest/JavaHamcrest/issues/259), [Issue #260](https://github.com/hamcrest/JavaHamcrest/issues/260)) |
17 | | -* Fix for split packages with Java 9 modules ([Issue #269](https://github.com/hamcrest/JavaHamcrest/issues/269), [PR #270](https://github.com/hamcrest/JavaHamcrest/pull/270)) |
18 | | - |
19 | | - |
20 | | -## Version 2.1 (21st December 2018) |
21 | | - |
22 | | -### Overview for 2.1 |
23 | | - |
24 | | -After a long hiatus without releases, this version simplifies the packaging of |
25 | | -Hamcrest into a single jar: `hamcrest-<version>.jar`. Other big changes include |
26 | | -Java 9 module compatibility, migrating the code repository from Google Code to |
27 | | -GitHub, along with numerous other new features, improvements and bug fixes. |
28 | | - |
29 | | -### Breaking Changes for 2.1 |
30 | | - |
31 | | -* The way that the project is packaged has changed. This may cause problems with |
32 | | -correctly upgrading transitive dependencies. Refer to the |
33 | | -[Hamcrest Distributables](http://hamcrest.org/JavaHamcrest/distributables.html) |
34 | | -documentation for more information, and in particular, |
35 | | -[Upgrading from Hamcrest 1.x](http://hamcrest.org/JavaHamcrest/distributables.html#upgrading-from-hamcrest-1.x) |
36 | | -* `org.hamcrest.Factory` has been removed. This was only used in old implementations |
37 | | -of the hamcrest build toolchain, and can safely be deleted from client code without |
38 | | -any effect. |
39 | | - |
40 | | -### Changes for 2.1 |
41 | | - |
42 | | -* Documentation updates |
43 | | -* Several JavaDoc improvements and corrections |
44 | | -* Fix JavaDoc examples |
45 | | -* Upgraded to Java 7 |
46 | | -* Build with Gradle |
47 | | -* Publish a single jar `hamcrest-2.1.jar` |
48 | | -* Publish pom-only artifacts for `hamcrest-core` and `hamcrest-library`. |
49 | | -* Add implementation for CharSequence length matcher |
50 | | -* Fix for TypeSafeDiagnosingMatcher can't detect generic types for subclass |
51 | | -* Make Hamcrest an OSGI bundle |
52 | | -* Add StringRegularExpression matcher |
53 | | -* Fix StringContainsInOrder to detect if a repeated pattern is missing |
54 | | -* Add ArrayAsIterableMatcher |
55 | | -* Fix description for IsEqualIgnoringCase |
56 | | -* Removed deprecated methods from previous release |
57 | | -* Improve mismatch description of hasItem/hasItems |
58 | | -* General improvements to mismatch descriptions |
59 | | -* Deprecated several matcher factory methods of the for "isXyz" |
60 | | -* Fix [GH issue #75](https://github.com/hamcrest/JavaHamcrest/issues/75) - address doclint errors reported in JDK 1.8 |
61 | | -* Fix [GH issue #69](https://github.com/hamcrest/JavaHamcrest/issues/69) - Iterable contains in order is null-safe |
62 | | -* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - added equalToObject() (i.e. unchecked) method |
63 | | -* Fix [GH issue #25](https://github.com/hamcrest/JavaHamcrest/issues/25) - arrayContaining(null, null) cause NullPointerException |
64 | | -* Fix [GH issue #36](https://github.com/hamcrest/JavaHamcrest/issues/36) - string matching on regular expressions |
65 | | -* Fix [GH issue #8](https://github.com/hamcrest/JavaHamcrest/issues/8) - isCloseTo() shows wrong delta in mismatch description |
66 | | -* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - add untyped version of equalTo, named equalToObject |
67 | | -* Fix [GC issue #131](https://code.google.com/archive/p/hamcrest/issues/131) - Implement IsEmptyMap, IsMapWithSize |
68 | | -* Fix [GC issue #187](https://code.google.com/archive/p/hamcrest/issues/187) - IsArray.describeMismatchSafely() should use Matcher.describeMismatch |
69 | | -* Fix [GC issue #155](https://code.google.com/archive/p/hamcrest/issues/155) - Add Matcher implementation for files |
70 | | -* Fix [GC issue #69](https://code.google.com/archive/p/hamcrest/issues/69) - fix NPE in IsIterableContainingInOrder |
71 | | - |
72 | | -## Version 1.3 (9th July 2012) |
73 | | - |
74 | | -* Introduce Condition class to ease the implementation of multi-step matches |
75 | | -* Upgrade qdox (included in the generator) to the latest stable version |
76 | | -* Correct inadvertent deprecation of the Is.isA factory method |
77 | | -* Fix [issue #179](https://code.google.com/archive/p/hamcrest/issues/179) - AllOf does not output mismatch description |
78 | | -* Fix [issue #177](https://code.google.com/archive/p/hamcrest/issues/177) - Introduced closeTo matcher for BigDecimals |
79 | | -* Fix [issue #152](https://code.google.com/archive/p/hamcrest/issues/152) - Factory classes missing from matchers.xml |
80 | | -* 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) |
81 | | -* Fix [issue #134](https://code.google.com/archive/p/hamcrest/issues/134) - DescribedAs does not delegate describeMismatch |
82 | | -* Fix [issue #106](https://code.google.com/archive/p/hamcrest/issues/106) - deprecation warning when writing custom matchers |
83 | | -* Fix [issue #101](https://code.google.com/archive/p/hamcrest/issues/101) - Added theInstance alias for sameInstance factory method |
84 | | - |
85 | | -## Version 1.3 RC2 (22nd October 2010) |
86 | | - |
87 | | -* Added FeatureMatcher |
88 | | -* distinguish between instanceOf() and any() |
89 | | - |
90 | | -## Version 1.2 (16th May 2009) |
91 | | - |
92 | | -* Added mismatch reporting |
93 | | -* Added WithSamePropertyValuesAs matcher |
94 | | -* Moved any() from IsAnything to IsInstanceOf. It now checks the type of the matched object |
95 | | -* Moved MatcherAssert from integration to core |
96 | | -* Tightened up generics. |
97 | | -* Added IsMapContainingKey and IsMapContainingValue matchers to resolve a |
98 | | - generics bug in hasKey and hasValue static factories previously declared |
99 | | - in IsMapContaining (ngd) |
100 | | -* Added IsCollectionOnlyContaining and IsArrayOnlyContaining which matches |
101 | | - collections (and arrays) where all match a given matcher. E.g onlyContains(3,4,5) |
102 | | - or onlyContains(lessThan(9)) |
103 | | -* text module moved to separate project, hamcrest-text-patterns |
104 | | -* added more colection matchers: xContainingInAnyOrder, xContainingInOrder, xWithSize |
105 | | -* new text Matcher: IsEmptyString |
106 | | -* hamcrest generator uses method return type |
107 | | - |
108 | | -## Version 1.1 (30th June 2007) |
109 | | - |
110 | | -* Hamcrest Generator now includes JavaDoc and parameter names in generated code |
111 | | - by using QDox to parse the source code. |
112 | | -* Created hamcrest-core.jar (and removed hamcrest-api.jar). |
113 | | - Moved core set of matchers (and, eq, not, etc) |
114 | | - to this package to make it more practical for external libraries |
115 | | - to embed Hamcrest. |
116 | | -* Created CoreMatchers (static import sugar) in hamcrest-core.jar. |
117 | | -* StringBuilder can use any Appendable (not just StringBuffer). |
118 | | -* Added sensible toString() method to BaseMatcher. |
119 | | -* Created StringDescription.asString() alias (because toString() caused issues |
120 | | - with static imports). |
121 | | -* Relaxed isInstanceOf() matcher generic type so it can be used on any kind of |
122 | | - object. e.g. assertThat(someUnknownObject, isInstanceOf(String.class)); |
123 | | -* Added any(Class<T>), null(Class<T>) and notNull(Class<T>) matchers, which returns |
124 | | - Matcher<T>. Helpful when the compiler struggles with type inference. |
125 | | -* Modified anyOf() and allOf() to accept mixed-types. |
126 | | -* TypeSafeMatcher.matchesSafely() is now public. |
127 | | -* Generator recognizes @Factory methods that return subclass of Matcher. |
128 | | - (Fix by David Saff) |
129 | | - |
130 | | -## Version 1.0 (15th Dececmber 2006) |
131 | | - |
132 | | -Initial release. |
133 | | - |
134 | | -* Support for namespaces in HasXPath |
135 | | -* Bug fix for matching empty elements with HasXPath |
| 1 | +# Hamcrest Changes |
| 2 | + |
| 3 | +## Version 2.3 (Unreleased) |
| 4 | + |
| 5 | +### Improvements |
| 6 | + |
| 7 | +TBD |
| 8 | + |
| 9 | +### Bugfixes |
| 10 | + |
| 11 | +TBD |
| 12 | + |
| 13 | +## Version 2.2 (17th October 2019) |
| 14 | + |
| 15 | +### Improvements |
| 16 | + |
| 17 | +* AllOf/AnyOf: Pass the matchers to constructor using varargs ([Issue #245](https://github.com/hamcrest/JavaHamcrest/pull/245)) |
| 18 | +* Matchers.anyOf: Fix generic bounds compatibility for JDK 11 ([Issue #256](https://github.com/hamcrest/JavaHamcrest/issues/256), [Issue #257](https://github.com/hamcrest/JavaHamcrest/issues/257)) |
| 19 | +* AssertionError message is unhelpful when match fails for byte type ([Issue #254](https://github.com/hamcrest/JavaHamcrest/issues/254), [Issue #255](https://github.com/hamcrest/JavaHamcrest/issues/255)) |
| 20 | +* Use platform specific line breaks ([PR #267](https://github.com/hamcrest/JavaHamcrest/pull/267)) |
| 21 | +* Build now checks for consistent use of spaces ([PR #217](https://github.com/hamcrest/JavaHamcrest/pull/217)) |
| 22 | + |
| 23 | +### Bugfixes |
| 24 | +* Fix compatibility issue for development with Android D8 ([Issue #246](https://github.com/hamcrest/JavaHamcrest/issues/246)) |
| 25 | +* Fix typo in license name ([Issue #247](https://github.com/hamcrest/JavaHamcrest/pull/247)) |
| 26 | +* 1.3 compatible constructors for string matchers ([Issue #259](https://github.com/hamcrest/JavaHamcrest/issues/259), [Issue #260](https://github.com/hamcrest/JavaHamcrest/issues/260)) |
| 27 | +* Fix for split packages with Java 9 modules ([Issue #269](https://github.com/hamcrest/JavaHamcrest/issues/269), [PR #270](https://github.com/hamcrest/JavaHamcrest/pull/270)) |
| 28 | + |
| 29 | + |
| 30 | +## Version 2.1 (21st December 2018) |
| 31 | + |
| 32 | +### Overview for 2.1 |
| 33 | + |
| 34 | +After a long hiatus without releases, this version simplifies the packaging of |
| 35 | +Hamcrest into a single jar: `hamcrest-<version>.jar`. Other big changes include |
| 36 | +Java 9 module compatibility, migrating the code repository from Google Code to |
| 37 | +GitHub, along with numerous other new features, improvements and bug fixes. |
| 38 | + |
| 39 | +### Breaking Changes for 2.1 |
| 40 | + |
| 41 | +* The way that the project is packaged has changed. This may cause problems with |
| 42 | +correctly upgrading transitive dependencies. Refer to the |
| 43 | +[Hamcrest Distributables](http://hamcrest.org/JavaHamcrest/distributables.html) |
| 44 | +documentation for more information, and in particular, |
| 45 | +[Upgrading from Hamcrest 1.x](http://hamcrest.org/JavaHamcrest/distributables.html#upgrading-from-hamcrest-1.x) |
| 46 | +* `org.hamcrest.Factory` has been removed. This was only used in old implementations |
| 47 | +of the hamcrest build toolchain, and can safely be deleted from client code without |
| 48 | +any effect. |
| 49 | + |
| 50 | +### Changes for 2.1 |
| 51 | + |
| 52 | +* Documentation updates |
| 53 | +* Several JavaDoc improvements and corrections |
| 54 | +* Fix JavaDoc examples |
| 55 | +* Upgraded to Java 7 |
| 56 | +* Build with Gradle |
| 57 | +* Publish a single jar `hamcrest-2.1.jar` |
| 58 | +* Publish pom-only artifacts for `hamcrest-core` and `hamcrest-library`. |
| 59 | +* Add implementation for CharSequence length matcher |
| 60 | +* Fix for TypeSafeDiagnosingMatcher can't detect generic types for subclass |
| 61 | +* Make Hamcrest an OSGI bundle |
| 62 | +* Add StringRegularExpression matcher |
| 63 | +* Fix StringContainsInOrder to detect if a repeated pattern is missing |
| 64 | +* Add ArrayAsIterableMatcher |
| 65 | +* Fix description for IsEqualIgnoringCase |
| 66 | +* Removed deprecated methods from previous release |
| 67 | +* Improve mismatch description of hasItem/hasItems |
| 68 | +* General improvements to mismatch descriptions |
| 69 | +* Deprecated several matcher factory methods of the for "isXyz" |
| 70 | +* Fix [GH issue #75](https://github.com/hamcrest/JavaHamcrest/issues/75) - address doclint errors reported in JDK 1.8 |
| 71 | +* Fix [GH issue #69](https://github.com/hamcrest/JavaHamcrest/issues/69) - Iterable contains in order is null-safe |
| 72 | +* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - added equalToObject() (i.e. unchecked) method |
| 73 | +* Fix [GH issue #25](https://github.com/hamcrest/JavaHamcrest/issues/25) - arrayContaining(null, null) cause NullPointerException |
| 74 | +* Fix [GH issue #36](https://github.com/hamcrest/JavaHamcrest/issues/36) - string matching on regular expressions |
| 75 | +* Fix [GH issue #8](https://github.com/hamcrest/JavaHamcrest/issues/8) - isCloseTo() shows wrong delta in mismatch description |
| 76 | +* Fix [GH issue #59](https://github.com/hamcrest/JavaHamcrest/issues/59) - add untyped version of equalTo, named equalToObject |
| 77 | +* Fix [GC issue #131](https://code.google.com/archive/p/hamcrest/issues/131) - Implement IsEmptyMap, IsMapWithSize |
| 78 | +* Fix [GC issue #187](https://code.google.com/archive/p/hamcrest/issues/187) - IsArray.describeMismatchSafely() should use Matcher.describeMismatch |
| 79 | +* Fix [GC issue #155](https://code.google.com/archive/p/hamcrest/issues/155) - Add Matcher implementation for files |
| 80 | +* Fix [GC issue #69](https://code.google.com/archive/p/hamcrest/issues/69) - fix NPE in IsIterableContainingInOrder |
| 81 | + |
| 82 | +## Version 1.3 (9th July 2012) |
| 83 | + |
| 84 | +* Introduce Condition class to ease the implementation of multi-step matches |
| 85 | +* Upgrade qdox (included in the generator) to the latest stable version |
| 86 | +* Correct inadvertent deprecation of the Is.isA factory method |
| 87 | +* Fix [issue #179](https://code.google.com/archive/p/hamcrest/issues/179) - AllOf does not output mismatch description |
| 88 | +* Fix [issue #177](https://code.google.com/archive/p/hamcrest/issues/177) - Introduced closeTo matcher for BigDecimals |
| 89 | +* Fix [issue #152](https://code.google.com/archive/p/hamcrest/issues/152) - Factory classes missing from matchers.xml |
| 90 | +* 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) |
| 91 | +* Fix [issue #134](https://code.google.com/archive/p/hamcrest/issues/134) - DescribedAs does not delegate describeMismatch |
| 92 | +* Fix [issue #106](https://code.google.com/archive/p/hamcrest/issues/106) - deprecation warning when writing custom matchers |
| 93 | +* Fix [issue #101](https://code.google.com/archive/p/hamcrest/issues/101) - Added theInstance alias for sameInstance factory method |
| 94 | + |
| 95 | +## Version 1.3 RC2 (22nd October 2010) |
| 96 | + |
| 97 | +* Added FeatureMatcher |
| 98 | +* distinguish between instanceOf() and any() |
| 99 | + |
| 100 | +## Version 1.2 (16th May 2009) |
| 101 | + |
| 102 | +* Added mismatch reporting |
| 103 | +* Added WithSamePropertyValuesAs matcher |
| 104 | +* Moved any() from IsAnything to IsInstanceOf. It now checks the type of the matched object |
| 105 | +* Moved MatcherAssert from integration to core |
| 106 | +* Tightened up generics. |
| 107 | +* Added IsMapContainingKey and IsMapContainingValue matchers to resolve a |
| 108 | + generics bug in hasKey and hasValue static factories previously declared |
| 109 | + in IsMapContaining (ngd) |
| 110 | +* Added IsCollectionOnlyContaining and IsArrayOnlyContaining which matches |
| 111 | + collections (and arrays) where all match a given matcher. E.g onlyContains(3,4,5) |
| 112 | + or onlyContains(lessThan(9)) |
| 113 | +* text module moved to separate project, hamcrest-text-patterns |
| 114 | +* added more colection matchers: xContainingInAnyOrder, xContainingInOrder, xWithSize |
| 115 | +* new text Matcher: IsEmptyString |
| 116 | +* hamcrest generator uses method return type |
| 117 | + |
| 118 | +## Version 1.1 (30th June 2007) |
| 119 | + |
| 120 | +* Hamcrest Generator now includes JavaDoc and parameter names in generated code |
| 121 | + by using QDox to parse the source code. |
| 122 | +* Created hamcrest-core.jar (and removed hamcrest-api.jar). |
| 123 | + Moved core set of matchers (and, eq, not, etc) |
| 124 | + to this package to make it more practical for external libraries |
| 125 | + to embed Hamcrest. |
| 126 | +* Created CoreMatchers (static import sugar) in hamcrest-core.jar. |
| 127 | +* StringBuilder can use any Appendable (not just StringBuffer). |
| 128 | +* Added sensible toString() method to BaseMatcher. |
| 129 | +* Created StringDescription.asString() alias (because toString() caused issues |
| 130 | + with static imports). |
| 131 | +* Relaxed isInstanceOf() matcher generic type so it can be used on any kind of |
| 132 | + object. e.g. assertThat(someUnknownObject, isInstanceOf(String.class)); |
| 133 | +* Added any(Class<T>), null(Class<T>) and notNull(Class<T>) matchers, which returns |
| 134 | + Matcher<T>. Helpful when the compiler struggles with type inference. |
| 135 | +* Modified anyOf() and allOf() to accept mixed-types. |
| 136 | +* TypeSafeMatcher.matchesSafely() is now public. |
| 137 | +* Generator recognizes @Factory methods that return subclass of Matcher. |
| 138 | + (Fix by David Saff) |
| 139 | + |
| 140 | +## Version 1.0 (15th Dececmber 2006) |
| 141 | + |
| 142 | +Initial release. |
| 143 | + |
| 144 | +* Support for namespaces in HasXPath |
| 145 | +* Bug fix for matching empty elements with HasXPath |
0 commit comments