- Support for JsonPath in Spring related modules
- Dependency updates
- See the documentation changes
- Support for Spring MockMvc AssertJ assertions introduced in Spring 6.2.0
- Support for AssertJ
asInstanceOf
- Added
REPORTING_DIFFERENCE_AS_NORMALIZED_STRING
option - Opentest4j added as mandatory dependency
- Johnzon upgraded to 2.0.2 (backwards incompatible due to migration from javax to jakarta namespace)
- Fluent assertions marked as deprecated
- Dependency updates
- Direct support for
when
path option in Spring matchers - #820 Fix Hamcrest matcher error message
- Dependency updates
- #796 fix order of elements in JsonMap (thanks @glhez)
- Added FAIL_FAST option
- Perf improvements when comparing arrays of nested objects`
- Dependency updates
- Perf improvements when comparing arrays of nested objects`
- #483 More optimal fix for JsonPath arrays matching in
whenIgnoringPaths
- Version 3.2.6 skipped due tue a mistake
- #483 Fix JsonPath arrays matching in
whenIgnoringPaths
- Dependency updates
- Dependency updates
- Version 3.2.3 skipped due to release issues
- Fix Kotest module dependencies
- Support for Kotest
- Dependency upgrades
- Skipped for technical reasons
- Support for custom matchers in Spring assertions
- Dependency upgrades
- Requires Java 17
- Requires Spring 5.2 (when used with Spring)
Options
class hidden- Deprecated methods and classes removed
- Dependency upgrades
- Support for NumberComparator
- Dependency updates
- Make custom matcher regexp DOTALL (#617)
- Dependency updates
- #595 Fix slf4j dependency
- Dependency updates
- Support for
node
method in JsonMapAssert #560 - Fixed number parsing in Jackson, so it works as intended (see #564 for details)
- Dependency updates
- Special handling of numeric values in containsEntry #512
- Dependency updates
- Prevent re-parsing of a value #502
- Dependency updates
- Fixed #493 comparison of Tuples from extracting function
- Fixed #474 ClassCastException in isArray()
- Replaced JsonObjectAssert by JsonAssert
- Parent type of JsonObjectAssert changed to AbstractAssert
- #465 fixed assertion on array of objects. May introduce some backward incompatibility when using
isArray().element(i)
. - Dependency updates
- Automatically register available Jackson 2 modules
- Dependency updates
- Made compatible with AssertJ 3.20.x - due to braking changes in AssertJ this version also requires AssertJ 3.20.x and higher.
- Fixed
containsEntries
in AssertJ object assert. This required to change the return type ofisObject()
method which may be an incompatible change for tests which store the result in a variable.
- Hamcrest matcher made compatible with Rest Assured #338
- Various library upgrades
- Fix OSGi configuration
- AssertJ updated to 3.19.0
- Better error message for multiple matches in isAbsent check
- Various library upgrades
- Better exception message in case of JSON that can not be parsed
- Support for Spring WebTestClient
- Fixed Kotlin AssertJ bundle #299
- assertThatJson accepts null as the actual value
- opentest4j made optional #276
- updated all dependencies
- Fix multiple
when
method application #234
- Support for URI assertions
- Do not append tolerance with zero value to diff message (thanks @valfirst)
- Fix regex issues on older Androids #227 (thanks @Sirrah)
- Add missing Kotlin classes to distribution Jars
- Kotlin DSL for AssertJ API
- Spring DSL Koltin support
- JUnit upgraded to 5.6.0
- Allow differentiating between number and integer
- Fix Jackson2NodeFactory thread safety issue in usage of ServiceLoader (thanks @cnauroth)
- Recompiled with AssertJ 3.15.0 to fix #216
- (Not)Null annotations added
- Spring dependency updated to 5.2.3.RELEASE
- Updated dependencies
- Jackson node is not reparsed when compared #214
- Parse content as UTF-8 in Spring MVC test if not specified otherwise #212
- Fix Kotlin 'Inaccessible type' warning in when-path (@Vladiatro)
- Load resources as UTF-8 (@bencampion)
- Support for PathOptions
- AssertJ - support for chaining assertions in the same root
- Support for json-path in AssertJ
whenIgnoringPaths
- Hamcrest upgraded to 2.1
- AssertJ dependency upgraded to 3.12.3 (requires AssertJ > 3.10.0)
- hamcrest-core dependency marked as required
- #185 JsonUnitRequestMatchers for client-side REST testing
- Support for array (non)emptiness in Fluent assert
- Support for Johnzon (requires 1.1.12) (thanks to elexx)
- Ignoring paths even when present in expected value #182
- Fixed AssertionErrors messages in MultipleFailuresError #181
- Path with backspaces matching fixed #176
- ${json-unit.ignore-elements} introduced
- Array comparison optimization
- Fix bug and performance issues in array comparison
- Performance optimizations
- Introduced JsonAssertions.value()
- Fixed AssertJ withFailMessage
- Support for Jackson 2 ObjectMapper customization
- Some AbstractObjectAssert marked as unsupported
- Using opentest4j
- Refactored exception reporting
- Better exception reporting
- Fixed invalid Automatic-Module-Name
- Fixed missing node handling with JsonPath
- Fixed some complex AsserJ comaprisons
- Fixed #144 (AssertJ object handling)
- Support for # instead of $ in placeholders
- More expressive Spring assertions (isNull, isNotNull, isTrue, isFalse)
- AssertJ - fix bug with '%' in error message
- Removed support for Jackson 1
- Support for and() in AssertJ assert
- asNumber() in AssertJ added
- Allow description before inPath() in AssertJ
- Fixed JsonPath bug #132
- Fixed AssertJ number comparison with Jackson 2 #130
- Fixed AssertJ asString() #131
- Depends on Java 8 Please do not hesitate to report issues.
- Better array comparison and error messages
- IDE friendly error messages
- isStringEqualTo is chainable (thanks to @gsson)
- Dropped support of Java 5
- Automatic module names added
- Support for Jackson BinaryNode
- Support for ignoring paths whenIgnoringPaths()
- Support for parametres in custom matchers ${json-unit.matches:matcherName}param
- Support for custom matchers ${json-unit.matches:matcherName}
- Support for Moshi
- Better diff reporting for unordered arrays with single difference
- Negative array indexes added (thanks roxspring)
- isArray().thatContains(...) fluent assert added
- Resource reading helper added
- System property to specify JSON libraries to be used
- Array pattern accepts non-word characters
- isAbsent and isPresent checks take TREAT_NULL_AS_ABSENT into account
- Dependency on slf4j made optional
- Preferring org.json library to process JSONArray
- Support for org.json library
- Fix: Element out of array bounds is treated as missing
- Support for any-* placeholders
- Single quote values in expected String allowed
- Lenient parsing of expected values
- Option setting methods made deprecated if called after assertion in JsonFluentAssert
- JsonFluentAssert constructors made private. Please file an issue if you need them.
- Added support for IGNORING_EXTRA_ARRAY_ITEMS
- Made compatible with Jackson 1.4
- OSGi support thanks to @amergey
- Support for Spring MVC tests assertions
- Gson nodes are not reconverted
- Added support for Hamcrest matchers
- Fixed handling of empty value in the expected parameter
- Support for dot in node name
- Added isObject method to fluent assertions
- Jackson 1 is preferred if the serialized class contains Jackson1 annotation
- Added support for regular expressions
- isStringEqualTo() added to fluent assertions
- isArray added to fluent assertions
- One runtime now supports Jackson 1.x, Jackson 2.x and Gson
- Internal JsonUnit class changed in backwards incompatible way
- Options renamed
- assertJsonNot* asserts added
- Support for online configuration in Hamcrest and standard asserts added
- Error messages changed a bit when comparing structures
- Refactoring of internal classes
- Support for ignoring array order
- Support for ignoring values
- Support for ignoring extra fields
- Treat null as absent added
- Absence/presence tests added
- Path to array in root fixed
- Numeric comparison tolerance added
- jsonStringEquals and jsonStringPartEquals added
- Generics in JsonMatchers fixed
- Simplified API
- Invalid JSONs in String comparison quoted
- Runtime incompatible (compile-time compatible) changes
- Switched to Jackson 2.x
- Fluent JsonAssert renamed to JsonFluentAssert
- Fluent assertions made framework independent.
- Switched from FEST to AssertJ
- Modules refactored
- Added support for FEST assert
- Logging categories changed
- Added logging
- Ignore placeholder "${json-unit.ignore}" added
- Text differences are closed in quotes
- Matchers added
- Made Java 5 compatible
- assertJsonPartStructureEquals added
- assertJsonPartEquals added
- Better error messages in case of different types
- Support for array types and other oddities in root
- Support for nulls