2026-01-27 15:21:59 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 27 13:52:15 UTC 2026 - Fridrich Strba <fstrba@suse.com>
|
|
|
|
|
|
|
|
|
|
- Upgrade to version 3.27.7
|
|
|
|
|
* Security
|
|
|
|
|
+ Fix XXE vulnerability in isXmlEqualTo assertion
|
|
|
|
|
(bsc#1257293, CVE-2026-24400)
|
|
|
|
|
* Breaking Changes
|
|
|
|
|
+ Delegate OptionalDouble value comparison to Double.compare
|
|
|
|
|
in hasValue assertion
|
|
|
|
|
+ Replace assertThat(Temporal) with
|
|
|
|
|
assertThatTemporal(Temporal)
|
|
|
|
|
* Deprecated
|
|
|
|
|
+ Deprecate ObjectAssertFactory in favor of
|
|
|
|
|
Assertions.assertThat(Object)
|
|
|
|
|
+ Deprecate AssertionErrorFactory in favor of
|
|
|
|
|
AssertionErrorCreator
|
|
|
|
|
+ Deprecate catchThrowableOfType(ThrowingCallable, Class) in
|
|
|
|
|
favor of catchThrowableOfType(Class, ThrowingCallable)
|
|
|
|
|
+ Deprecate assertThat(Iterable, AssertFactory),
|
|
|
|
|
+ Deprecate ClassBasedNavigableIterableAssert and
|
|
|
|
|
ClassBasedNavigableListAssert
|
|
|
|
|
+ Deprecate usingComparatorForFields and remove deprecated
|
|
|
|
|
assertions from usingComparatorForType documentation
|
|
|
|
|
+ Deprecate hasCauseReference(Throwable) from Throwable
|
|
|
|
|
assertions
|
|
|
|
|
+ Deprecate org.assertj.core.annotations.Beta in favor of
|
|
|
|
|
org.assertj.core.annotation.Beta
|
|
|
|
|
+ Deprecate org.assertj.core.util.CanIgnoreReturnValue in favor
|
|
|
|
|
of org.assertj.core.annotation.CanIgnoreReturnValue
|
|
|
|
|
+ Deprecate org.assertj.core.util.CheckReturnValue in favor of
|
|
|
|
|
org.assertj.core.annotation.CheckReturnValue
|
|
|
|
|
+ Deprecate XmlStringPrettyFormatter with no replacement
|
|
|
|
|
* New Features
|
|
|
|
|
+ Support multiple AfterAssertionErrorCollected callbacks
|
|
|
|
|
+ Add InstanceOfAssertFactory for Set instances
|
|
|
|
|
+ Add doesNotContainKey and doesNotContainKeys to Guava Multimap
|
|
|
|
|
assertions
|
|
|
|
|
+ Add assertions for JDK YearMonth type
|
|
|
|
|
+ Add TemporalAssert type
|
|
|
|
|
+ Add ignoringFieldsOfTypesMatchingRegexes
|
|
|
|
|
+ Add fail(Throwable) and fail() variants
|
|
|
|
|
+ Add isPrivate to Class assertions
|
|
|
|
|
+ Add doesNot[Start/End]WithWhitespace methods to CharSequence
|
|
|
|
|
assertions
|
|
|
|
|
+ Add createAssert(ValueProvider) to AssertFactory
|
|
|
|
|
+ Add values() navigation method to AbstractMapAssert
|
|
|
|
|
+ Add bytes()/bytes(Charset)/bytes(String) navigation methods to
|
|
|
|
|
AbstractStringAssert
|
|
|
|
|
+ Add doesNotThrowAnyExceptionExcept to AbstractThrowableAssert
|
|
|
|
|
+ Add hasPermittedSubclasses to Class assertions
|
|
|
|
|
+ Add isUnmodifiable to Iterator assertions
|
|
|
|
|
+ Add actual() to access the object under test
|
|
|
|
|
+ Add isCompletedWithValueMatchingWithin to CompletableFuture
|
|
|
|
|
assertions
|
|
|
|
|
+ Add completesExceptionallyWithin to CompletableFuture
|
|
|
|
|
assertions
|
|
|
|
|
+ Add inBinary to CharSequence assertions
|
|
|
|
|
+ Support for Assertions.byLessThan(Duration) and
|
|
|
|
|
Assertions.within(Duration)
|
|
|
|
|
+ Add standard representation for CharSequence
|
|
|
|
|
+ Add predicate descriptions overloads to anyMatch and noneMatch
|
|
|
|
|
+ Add doesNotMatch(Predicate)
|
|
|
|
|
+ Add usingEquals accepting a BiPredicate and an optional
|
|
|
|
|
description to provide a custom comparison in assertions
|
|
|
|
|
+ Add isNotEmpty to Table assertions
|
|
|
|
|
* Bug Fixes
|
|
|
|
|
+ Preserve original order of elements when returning duplicates
|
|
|
|
|
on doesNotHaveDuplicates
|
|
|
|
|
+ Make isNotEqualTo(boolean) pass when actual is null
|
|
|
|
|
+ Fix isEqualTo comparison of Timestamp instances with Instant
|
|
|
|
|
+ Fix Instant conversion with Date assertions
|
|
|
|
|
+ Rebuild default date formats used to parse strings as dates
|
|
|
|
|
when default timezone or lenient flag changes
|
|
|
|
|
+ Fix Javadoc rendering on
|
|
|
|
|
FactoryBasedNavigableListAssert::assertThat
|
|
|
|
|
+ Allow ComparingNormalizedFields instances to be reused across
|
|
|
|
|
different assertions
|
|
|
|
|
+ Recursive assertion hasNoNullFields throws NPE with fields of
|
|
|
|
|
anonymous and local types
|
|
|
|
|
+ Fix incorrect mutation of actualElementsGroupedByHashCode in
|
|
|
|
|
recursive comparison
|
|
|
|
|
+ Recursive comparison ignoringFields not working properly with
|
|
|
|
|
maps
|
|
|
|
|
+ Custom representation ignored when describing expected items
|
|
|
|
|
not in the actual list
|
|
|
|
|
+ hasFieldOrPropertyWithValue swallows exceptions thrown by
|
|
|
|
|
getters, and reports non-existent property instead
|
|
|
|
|
+ satisfies() with nested assertions obscures stack trace
|
|
|
|
|
+ Recursive comparison fails if ignored fields are not found in
|
|
|
|
|
expected
|
|
|
|
|
+ Fix missing introspection for record accessors
|
|
|
|
|
+ Honor assertion description in asString()
|
|
|
|
|
+ Avoid InputStream manipulation when mark / reset are supported
|
|
|
|
|
+ NPE with custom RecursiveComparisonConfiguration on
|
|
|
|
|
usingRecursiveFieldByFieldElementComparator
|
|
|
|
|
+ Restore support for null-valued maps when ignoring fields
|
|
|
|
|
+ Fix StandardRepresentation regression for unquoted strings
|
|
|
|
|
+ Fix thread-safety in AbstractDateAssert
|
|
|
|
|
+ Add missing export for org.assertj.core.annotation
|
|
|
|
|
+ Navigation to assertj-core or guava types from assertj-guava
|
|
|
|
|
Javadoc site has unnecessary header
|
|
|
|
|
* Improvements
|
|
|
|
|
+ Avoid duplicating maven-javadoc-plugin configuration and CSS
|
|
|
|
|
files
|
|
|
|
|
+ Favor additionalOption entries in maven-javadoc-plugin
|
|
|
|
|
+ Fix typo in Javadoc
|
|
|
|
|
+ Improve AssertFactory Javadoc
|
|
|
|
|
+ Add Throwable stack trace to ShouldHaveCauseExactlyInstance
|
|
|
|
|
+ Fix typo
|
|
|
|
|
+ Add Throwable stack trace to ShouldHaveCauseInstance
|
|
|
|
|
+ Implement boolean assertions directly in AbstractBooleanAssert
|
|
|
|
|
and remove Booleans internal class
|
|
|
|
|
+ Remove stack trace elements triggered by AssertJ in addition
|
|
|
|
|
to AssertJ elements
|
|
|
|
|
+ Report all failing conditions when using
|
|
|
|
|
satisfies(allOf(Condition...))
|
|
|
|
|
+ Fix Unicode escapes in inUnicode() Javadoc
|
|
|
|
|
+ Show error differences if values were compared with equals in
|
|
|
|
|
recursive comparison
|
|
|
|
|
+ Add throwable stacktrace to ShouldNotContainCharSequence
|
|
|
|
|
+ Remove unused code and other minor cleanup
|
|
|
|
|
+ Simplify comparison strategy isLessThan and
|
|
|
|
|
isLessThanOrEqualTo in AbstractComparisonStrategy
|
|
|
|
|
+ Update AbstractCharSequenceAssert.java reference
|
|
|
|
|
+ Include stack trace of internal errors in all/any satisfy
|
|
|
|
|
assertions
|
|
|
|
|
+ Declare license using SPDX identifier
|
|
|
|
|
+ Add Class info to class loading strategy failures
|
|
|
|
|
+ Migrate to the Central Publisher Portal, enable snapshot
|
|
|
|
|
publishing
|
|
|
|
|
+ Annotate fail methods with custom @Contract
|
|
|
|
|
+ ByteBuddy in AssertJ 3.27.4 not compatible with Java 25
|
|
|
|
|
|
2024-09-23 05:32:11 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 23 05:32:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
|
|
|
|
|
|
|
|
|
- Use SOURCE_DATE_EPOCH for reproducible builds
|
|
|
|
|
|
2024-05-24 05:36:44 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 24 05:36:38 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
|
|
|
|
|
|
|
|
|
- Require in OBS junit5-minimal to avoid provider choice
|
|
|
|
|
|
2024-04-30 16:21:46 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Apr 30 16:00:07 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
|
|
|
|
|
|
|
|
|
- Upgrade to version 3.25.3
|
|
|
|
|
* Deprecations:
|
|
|
|
|
+ Deprecate the following date/time related assertions in favor
|
|
|
|
|
of isCloseTo:
|
|
|
|
|
- isEqualToIgnoringHours
|
|
|
|
|
- isEqualToIgnoringMinutes
|
|
|
|
|
- isEqualToIgnoringSeconds
|
|
|
|
|
- isEqualToIgnoringMillis
|
|
|
|
|
- isEqualToIgnoringNanos
|
|
|
|
|
- isInSameHourAs
|
|
|
|
|
- isInSameMinuteAs
|
|
|
|
|
- isInSameSecondAs
|
|
|
|
|
+ Deprecate asList in favor of asInstanceOf
|
|
|
|
|
* New Features:
|
|
|
|
|
+ Add Descriptable#describedAs(Supplier<String>)
|
|
|
|
|
+ Add isInThePast and isInTheFuture to LocalDate assertions
|
|
|
|
|
+ Add isInThePast and isInTheFuture to the missing Java 8
|
|
|
|
|
date/time types
|
|
|
|
|
+ Add isRecord and isNotRecord to Class assertions
|
|
|
|
|
+ Add hasNullValue and doesNotHaveNullValue to
|
|
|
|
|
AtomicReferenceAssert
|
|
|
|
|
+ Add asBoolean|Byte|Short|Int|Long|Float|Double to String
|
|
|
|
|
assertions
|
|
|
|
|
+ Add hasRecordComponents to Class assertions
|
|
|
|
|
+ Add getters for field path in ComparisonDifference
|
|
|
|
|
+ Allow to compare enum and string fields in the recursive
|
|
|
|
|
comparison
|
|
|
|
|
+ Provide value when assertThatThrownBy / thenThrownBy fail
|
|
|
|
|
+ Add isSealed and isNotSealed to Class assertions
|
|
|
|
|
+ Add assertThatCharSequence to disambiguate Groovy's GString
|
|
|
|
|
+ Change the way the properties are collected using the
|
|
|
|
|
Class.getMethods() API instead of iterating the class
|
|
|
|
|
hierarchy using Class.declaredMethods()
|
|
|
|
|
+ Add default constructor for RecursiveComparator
|
|
|
|
|
+ Add isPrimitive and isNotPrimitive to Class assertions
|
|
|
|
|
+ Add anyOf(ThrowingConsumer...) and allOf(ThrowingConsumer...)
|
|
|
|
|
+ Show the array/iterable under test in the assertion error
|
|
|
|
|
message when it is not empty but should have been
|
|
|
|
|
* Bug Fixes:
|
|
|
|
|
+ Compare Java types from javax and com.sun by their equals
|
|
|
|
|
method in recursive comparison
|
|
|
|
|
+ The recursive comparison comparingOnlyFields did not treat
|
|
|
|
|
array/iterable elements as root objects
|
|
|
|
|
+ Fixes a bug when failing assertions on DirectoryStream types
|
|
|
|
|
+ Fix handling of null containers in the recursive assertion
|
|
|
|
|
+ Handle null values in map entry sets when formatting
|
|
|
|
|
+ Fix NPE when expected and actual field values are null
|
|
|
|
|
+ Fix NPE on anyMatch when actual contains null and
|
|
|
|
|
Objects::isNull is used as predicate
|
|
|
|
|
+ Fix misleading subsequence failure messages in string
|
|
|
|
|
assertions
|
|
|
|
|
+ Do not ignore nested fields of types specified in
|
|
|
|
|
comparingOnlyFieldsOfTypes
|
|
|
|
|
+ containsExactly does not work properly with maps not using
|
|
|
|
|
equals to compare keys
|
|
|
|
|
+ Escape percentage in shouldContainExactly error message
|
|
|
|
|
+ Fix recursive comparison of ignored types in unordered
|
|
|
|
|
collection
|
|
|
|
|
+ Revert "Provide value when assertThatThrownBy/thenThrownBy
|
|
|
|
|
fail"
|
|
|
|
|
+ Revert "fix: containsExactly does not work properly with maps
|
|
|
|
|
not using equals to compare keys"
|
|
|
|
|
+ Fix unresolvable Javadoc stylesheet URLs, simplify
|
|
|
|
|
configuration
|
|
|
|
|
+ Fix missing configuration for MatcherAssert soft assertions
|
|
|
|
|
+ Make deprecation notice visible in AbstractAssert#asList
|
|
|
|
|
+ Recursive comparison uses equals on root object when
|
|
|
|
|
useOverriddenEquals is enabled
|
|
|
|
|
+ satisfiesExactlyInAnyOrder fails if actual overrides equals
|
|
|
|
|
+ Avoid calling actual.hashCode() and expected.hashCode() in
|
|
|
|
|
DualValue
|
|
|
|
|
+ Recursive comparison checks for existence of fields in types
|
|
|
|
|
that parameterize nested unordered iterables
|
|
|
|
|
+ Lock maven-clean-plugin version for all modules
|
|
|
|
|
+ Fix a performance regression in the recursive comparison
|
|
|
|
|
related to FieldLocation
|
|
|
|
|
+ Don't fail when the recursive comparison checks compared
|
|
|
|
|
fields in collection elements
|
|
|
|
|
* Improvements
|
|
|
|
|
+ Add Spotless
|
|
|
|
|
+ Use Bnd feature to write resolved bndrun files to output
|
|
|
|
|
folder
|
|
|
|
|
+ Add Throwable stack trace to ShouldHaveClause
|
|
|
|
|
+ Avoid copy of any Collection instance in
|
|
|
|
|
Iterables::assertContains
|
|
|
|
|
+ Add Throwable stack trace to ShouldHaveRootCauseInstance and
|
|
|
|
|
ShouldHaveRootCauseExactlyInstance
|
|
|
|
|
+ Add missing description to nested condition
|
|
|
|
|
+ Make nestable condition factory accept conditions on super
|
|
|
|
|
types
|
|
|
|
|
+ Add varargs overload to Assert::hasString and
|
|
|
|
|
Assert::doesNotHaveString
|
|
|
|
|
+ Improve recursive comparison performance by caching field and
|
|
|
|
|
field names result
|
|
|
|
|
+ Document performance cost of ignoring collection order
|
|
|
|
|
+ Track visited values and their comparison differences so that
|
|
|
|
|
they can be reused
|
|
|
|
|
+ Use hash code for compareUnorderedIterables to improve
|
|
|
|
|
performance in some common cases
|
|
|
|
|
+ Improve recursive comparison error message regarding equals
|
|
|
|
|
methods used for JDK types
|
|
|
|
|
+ Format large arrays as strings
|
|
|
|
|
+ Remove null check as isArray already performs it
|
|
|
|
|
+ Fix PrimitiveArralList/TransformlingList test file names
|
|
|
|
|
+ Add exception for usages of isEqualTo and isNotEqualTo on
|
|
|
|
|
assertions
|
|
|
|
|
+ Add check for missing fields in recursive comparison where
|
|
|
|
|
specific fields are requested for comparison
|
|
|
|
|
+ Improve efficiency of iterable string conversion
|
|
|
|
|
+ Add more tests for usingRecursiveComparison
|
|
|
|
|
+ Checks that compared fields exist before running the recursive
|
|
|
|
|
comparison
|
|
|
|
|
+ Remove maven-surefire-plugin duplicate version
|
|
|
|
|
+ Remove Maven default goal
|
|
|
|
|
+ Add dependency graph workflow
|
|
|
|
|
+ Normalize non-breaking spaces like regular white spaces
|
|
|
|
|
+ AbstractOffsetDateTimeAssert::isBetween parameter names should
|
|
|
|
|
use inclusive, not exclusive
|
|
|
|
|
+ Invoke isNotNull in returns and doesNotReturn
|
|
|
|
|
+ Cache node names in ComparingFields, ComparingProperties
|
|
|
|
|
+ Cache node names in ComparingNormalizedFields
|
|
|
|
|
+ Use simpler syntax in
|
|
|
|
|
DefaultRecursiveComparisonIntrospectionStrategy
|
|
|
|
|
.getChildrenNodeNamesOf
|
|
|
|
|
+ Update to Contributor Covenant Code of Conduct v2.1
|
|
|
|
|
+ Correct contains assertion Javadoc to reflect method behavior
|
|
|
|
|
in case actual is not empty and the group of values to look
|
|
|
|
|
for is
|
|
|
|
|
+ Fix Javadoc typos
|
|
|
|
|
+ Improving null-safety of isEqualToNormalizingNewlines
|
|
|
|
|
+ Speed up for BinaryDiff performance
|
|
|
|
|
+ Upgrade workflows to Java 21
|
|
|
|
|
+ Apply flatten-maven-plugin to assertj-core and assertj-guava
|
|
|
|
|
|
2019-05-01 23:44:32 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 1 13:09:58 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
|
|
|
|
|
|
- Ensure neutrality of descriptions.
|
|
|
|
|
|
2019-04-30 11:34:27 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Apr 30 11:33:34 UTC 2019 - Fridrich Strba <fstrba@suse.com>
|
|
|
|
|
|
|
|
|
|
- Initial packaging of assertj-core 3.8.0
|