XMLUnit v2.8.1 Release Notes

Release Date: 2020-11-15 // 12 months ago
  • ✅ The only real change when compared to XMLUnit for Java 2.8.0 is the introduction of a new xmlunit-assertj3 module that requires AssertJ 3.18.1 or later in order to address a problem with running AssertJ tests in an OSGi environment.

    👍 The original xmlunit-assertj module will still be supported.

    The full changelog of XMLUnit for Java 2.8.1

    ➕ added a new xmlunit-assertj3 module that requires AssertJ 3.18.1 or later.

    🛠 This module no longer uses AssertJ internal classes that are not exported to OSGi environments and thus fixes issue #203.

    📦 The module (like AssertJ 3.x itself) requires Java 8 at runtime and is similar to xmlunit-assertj but is no drop-in replacement. It uses a different Java package from xmlunit-assertj and CompareAssert will no longer throw a JUnit 4.x ComparisonException but an opentest4j AssertionFailedError instead.

    🚀 The existing xmlunit-assertj module will still be supported in future releases but expect AssertJ 3.x specific changes to only get applied to xmlunit-assertj3.

    Many thanks to @Zegveld, @scordio and @joel-costigliola.

Previous changes from v2.8.0

  • 🚀 This release now requires Java 7 for all modules and updates some dependencies - the changed JAXB dependency is a breaking change. It also fixes a few bugs.

    Details of changes:

    🔄 changed optional JAXB dependency to use Jakarta XML Binding API
    PR #186 by @endrejeges

    ⬆️ bumped the bytebuddy dependency to 1.10.10 for the AssertJ module in the hope it would help with #188

    - and change its scope from provided to compile time, which should finally fix the issue.

    ➕ added a new extractingText method to MultipleNodeAssert to make it possible to write AssertJ assertions against the textual content of nodes more easily.
    Issue #192 and PR #193 by @keesvandieren

    🔄 changed the minimum Java version required from Java 6 to Java 7 for all modules (it has already been Java 7 for the AssertJ module before).

    0️⃣ DefaultNodeMatcher with multiple ElementSelectors could fail to find the best matches as the order of ElementSelectors should
    select them.

    🏗 Input builder now supports java.nio.file.Path

    0️⃣ It is now possible to specify a custom TransformerFactory for DefaultComparisonFormatter.