|  | 
| 3 | 3 | 
 | 
| 4 | 4 | NOTE: AssertJ Core would not exist without its contributors, you can find them all {assertj-core-repo}/graphs/contributors[directly on GitHub]. | 
| 5 | 5 | 
 | 
| 6 |  | -The latest release notes can be found in the https://github.com/assertj/assertj/releases[GitHub releases]. | 
|  | 6 | +The latest release notes can be found in the {assertj-core-repo}/releases[GitHub releases]. | 
| 7 | 7 | 
 | 
| 8 | 8 | Older release notes: | 
| 9 | 9 | 
 | 
| @@ -1028,27 +1028,27 @@ This method is used with `usingFieldByFieldElementComparator()` which is depreca | 
| 1028 | 1028 | 
 | 
| 1029 | 1029 | When using `usingRecursiveComparison()` the equivalent is: | 
| 1030 | 1030 | 
 | 
| 1031 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/RecursiveComparisonAssert.html#withEqualsForFields(java.util.function.BiPredicate,java.lang.String...)++[`RecursiveComparisonAssert.withEqualsForFields(java.util.function.BiPredicate, String...)`] or | 
| 1032 |  | -* link:++https://www.javadoc.io/static/org.assertj/assertj-core/3.19.0/org/assertj/core/api/RecursiveComparisonAssert.html#withComparatorForFields(java.util.Comparator,java.lang.String...)++[`RecursiveComparisonAssert.withComparatorForFields(Comparator, String...)`] | 
|  | 1031 | +* {assertj-core-javadoc-root}org/assertj/core/api/RecursiveComparisonAssert.html#withEqualsForFields(java.util.function.BiPredicate,java.lang.String\...)[`RecursiveComparisonAssert.withEqualsForFields(java.util.function.BiPredicate, String...)`] or | 
|  | 1032 | +* {assertj-core-javadoc-root}org/assertj/core/api/RecursiveComparisonAssert.html#withComparatorForFields(java.util.Comparator,java.lang.String\...)[`RecursiveComparisonAssert.withComparatorForFields(Comparator, String...)`] | 
| 1033 | 1033 | 
 | 
| 1034 | 1034 | and when using `usingRecursiveFieldByFieldElementComparator(RecursiveComparisonConfiguration config)`, sets the config with: | 
| 1035 | 1035 | 
 | 
| 1036 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withEqualsForFields(java.util.function.BiPredicate,java.lang.String...)++[`RecursiveComparisonConfiguration.Builder.withEqualsForFields(java.util.function.BiPredicate, String...)`] or | 
| 1037 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withComparatorForFields(java.util.Comparator,java.lang.String...)++[`RecursiveComparisonConfiguration.Builder.withComparatorForFields(Comparator, String...)`] | 
|  | 1036 | +* {assertj-core-javadoc-root}org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withEqualsForFields(java.util.function.BiPredicate,java.lang.String\...)[`RecursiveComparisonConfiguration.Builder.withEqualsForFields(java.util.function.BiPredicate, String...)`] or | 
|  | 1037 | +* {assertj-core-javadoc-root}org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withComparatorForFields(java.util.Comparator,java.lang.String\...)[`RecursiveComparisonConfiguration.Builder.withComparatorForFields(Comparator, String...)`] | 
| 1038 | 1038 | 
 | 
| 1039 | 1039 | [underline]#usingComparatorForElementFieldsWithType# | 
| 1040 | 1040 | 
 | 
| 1041 | 1041 | This method is used with `usingFieldByFieldElementComparator()` which is deprecated in favor of `usingRecursiveFieldByFieldElementComparator(RecursiveComparisonConfiguration)` or `usingRecursiveComparison()`. | 
| 1042 | 1042 | 
 | 
| 1043 | 1043 | When using `usingRecursiveComparison()` the equivalent is: | 
| 1044 | 1044 | 
 | 
| 1045 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/RecursiveComparisonAssert.html#withEqualsForType(java.util.function.BiPredicate,java.lang.Class)++[`RecursiveComparisonAssert.withEqualsForType(java.util.function.BiPredicate, Class)`] or | 
| 1046 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/RecursiveComparisonAssert.html#withComparatorForType(java.util.Comparator,java.lang.Class)++[`RecursiveComparisonAssert.withComparatorForType(Comparator, Class)`] | 
|  | 1045 | +* {assertj-core-javadoc-root}org/assertj/core/api/RecursiveComparisonAssert.html#withEqualsForType(java.util.function.BiPredicate,java.lang.Class)[`RecursiveComparisonAssert.withEqualsForType(java.util.function.BiPredicate, Class)`] or | 
|  | 1046 | +* {assertj-core-javadoc-root}org/assertj/core/api/RecursiveComparisonAssert.html#withComparatorForType(java.util.Comparator,java.lang.Class)[`RecursiveComparisonAssert.withComparatorForType(Comparator, Class)`] | 
| 1047 | 1047 | 
 | 
| 1048 | 1048 | and when] using `usingRecursiveFieldByFieldElementComparator(RecursiveComparisonConfiguration config)`, sets the config with: | 
| 1049 | 1049 | 
 | 
| 1050 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withEqualsForType(java.util.function.BiPredicate,java.lang.Class)++[`RecursiveComparisonConfiguration.Builder.withEqualsForType(java.util.function.BiPredicate, Class)`] or | 
| 1051 |  | -* link:++https://www.javadoc.io/doc/org.assertj/assertj-core/latest/org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withComparatorForType(java.util.Comparator,java.lang.Class)++[`RecursiveComparisonConfiguration.Builder.withComparatorForType(Comparator, Class)`] | 
|  | 1050 | +* {assertj-core-javadoc-root}org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withEqualsForType(java.util.function.BiPredicate,java.lang.Class)[`RecursiveComparisonConfiguration.Builder.withEqualsForType(java.util.function.BiPredicate, Class)`] or | 
|  | 1051 | +* {assertj-core-javadoc-root}org/assertj/core/api/recursive/comparison/RecursiveComparisonConfiguration.Builder.html#withComparatorForType(java.util.Comparator,java.lang.Class)[`RecursiveComparisonConfiguration.Builder.withComparatorForType(Comparator, Class)`] | 
| 1052 | 1052 | 
 | 
| 1053 | 1053 | [[assertj-core-3.20.0-containsIgnoringWhitespaces]] | 
| 1054 | 1054 | [.release-note-item]#Add `containsIgnoringWhitespaces` to `String` assertions# | 
| @@ -1342,7 +1342,7 @@ assertThat(Optional.of("a")).is(optionalWithLineSeparator) | 
| 1342 | 1342 | 
 | 
| 1343 | 1343 | A `VerboseCondition` shows the value under test when it fails thanks to the specified `objectUnderTestDescriptor` function. | 
| 1344 | 1344 | 
 | 
| 1345 |  | -When defining the `objectUnderTestDescriptor` function, you should take in consideration whether the condition is going to be used with link:https://www.javadoc.io/static/org.assertj/assertj-core/3.19.0/org/assertj/core/api/AbstractAssert.html#is(org.assertj.core.api.Condition)[`is(Condition)`] or link:https://www.javadoc.io/static/org.assertj/assertj-core/3.19.0/org/assertj/core/api/AbstractAssert.html#has(org.assertj.core.api.Condition)[`has(Condition)`] since the start of the error message is different between the two. | 
|  | 1345 | +When defining the `objectUnderTestDescriptor` function, you should take in consideration whether the condition is going to be used with {assertj-core-javadoc-root}org/assertj/core/api/AbstractAssert.html#is(org.assertj.core.api.Condition)[`is(Condition)`] or {assertj-core-javadoc-root}org/assertj/core/api/AbstractAssert.html#has(org.assertj.core.api.Condition)[`has(Condition)`] since the start of the error message is different between the two. | 
| 1346 | 1346 | 
 | 
| 1347 | 1347 | Let's see how it works with an example that works well with `is(Condition)`: | 
| 1348 | 1348 | [source,java] | 
| @@ -2441,7 +2441,7 @@ assertThat(future).succeedsWithin(200, TimeUnit.MILLISECONDS, as(STRING)) | 
| 2441 | 2441 | 
 | 
| 2442 | 2442 | Filters the iterable under test keeping only elements for which the result of the function is equal to expectedValue. | 
| 2443 | 2443 | 
 | 
| 2444 |  | -It allows to filter elements more safely than by using https://www.javadoc.io/static/org.assertj/assertj-core/3.16.1/org/assertj/core/api/AbstractIterableAssert.html#filteredOn(java.lang.String,java.lang.Object)[`filteredOn(String, Object)`] as it doesn't utilize introspection. | 
|  | 2444 | +It allows to filter elements more safely than by using {assertj-core-javadoc-root}org/assertj/core/api/AbstractIterableAssert.html#filteredOn(java.lang.String,java.lang.Object)[`filteredOn(String, Object)`] as it doesn't utilize introspection. | 
| 2445 | 2445 | 
 | 
| 2446 | 2446 | As an example, let's check all employees 800 years old (yes, special employees): | 
| 2447 | 2447 | Examples: | 
|  | 
0 commit comments