Skip to content

Releases: xmlunit/xmlunit

XMLUnit for Java 2.10.0

28 Apr 14:55
Compare
Choose a tag to compare
  • add a new ElementSelectors.byNameAndAllAttributes variant that filters attributes before deciding whether elements can be compared.
    Inspired by Issue #259

  • By default the TransformerFactorys created will now try to disable extension functions. If you need extension functions for your transformations you may want to pass in your own instance of TransformerFactory and TransformerFactoryConfigurer may help with that.
    Inspired by Issue #264

  • JAXPXPathEngine will now try to disable the execution of extension functions by default but uses XPathFactory#setProperty which is not available prior to Java 18. You may want to enable secure processing on an XPathFactory instance you pass to JAXPXPathEngine instead - and XPathFactoryConfigurer may help with that.

XMLUnit for Java 2.9.1

10 Jan 15:36
Compare
Choose a tag to compare
  • fixed some AssertJ tests that didn't work on Windows.
    Issue #252 and PR #253 by @Boiarshinov

  • added overloads to ElementSelectors.byXPath that accept a XPathEngine argument.
    Issue #255

  • added Cyclone DX SBOMs to release artifacts

XMLUnit for Java 2.9.0

25 Jan 17:32
Compare
Choose a tag to compare

The major change of XMLUnit for Java 2.9.0 is the addition of a new module xmlunit-jakarta-jaxb-impl that can be used in addition to xmlunit-core when you want to use the Jakarta XML Binding API in version 3. For details please see the user's guide.

The full list of changes of XMLUnit for Java 2.9.0 is:

  • added a new module xmlunit-jakarta-jaxb-impl that makes Input.fromJaxb use jakarta.xml.bind rather than javax.xml.bind. For more details see the User's Guide.

    This change is not fully backwards compatible. The JaxbBuilder class has become abstract and the withMarshaller method has changed its signature. For most cases the change will not be noticed and for almost all other cases it should be enough to re-compile your code against XMLUnit 2.9.x.

    Issue #227 and PR #247

  • added NodeFilters#satisfiesAll and satifiesAny methods to make it easier to combine multiple node filters. added to simplify the use case of #249

XMLUnit for Java 2.8.4

16 Dec 19:30
Compare
Choose a tag to compare

XMLUnit for Java 2.8.4 improves performance when comparing documents with many sibling elements.

Changelog:

  • improved comparison performance for documents with many siblings
    based on a suggestion by @gerpres made in #236

XMLUnit for Java 2.8.3

17 Oct 19:40
Compare
Choose a tag to compare
  • added a new fullDescription method to Diff that provides a string-representation of all differences - not just the first one like toString does.
    PR #235 fixing #232 by @Boiarshinov

  • made sure AssertJ's methods to override the assertion message like withFailMessage are honored.
    #225

  • adjusted unit tests so they pass when AssertJ 3.19.0 is used.
    PR #212 by mmathesius

XMLUnit for Java 2.8.2

21 Dec 09:01
Compare
Choose a tag to compare

This release fixes a bug in the new AssertJ 3.x module.

  • CompareAssert inside the AssertJ3 module swapped the expected and
    actual parameters when creating the assertion error.
    #210 by @f-lopes

XMLUnit for Java 2.8.1

15 Nov 10:21
Compare
Choose a tag to compare

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.

XMLUnit for Java 2.8.0

30 Oct 16:47
Compare
Choose a tag to compare

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).

  • DefaultNodeMatcher with multiple ElementSelectors could fail to find the best matches as the order of ElementSelectors should
    select them.
    #197

  • Input builder now supports java.nio.file.Path
    #196

  • It is now possible to specify a custom TransformerFactory for DefaultComparisonFormatter.
    #195

XMLUnit 2.7.0

12 May 15:42
Compare
Choose a tag to compare

The biggest changes are to the placeholder and assertj modules. The assertj module should now work with AssertJ 3.15+.

This version contains a backwards incompatible change to the PlaceholderHandler interface that is part of the experimental placeholders module: The evaluate method now receives a variable number of string arguments in addition to the textual content of the element/attribute. This allows placeholders like ${xmlunit.matchesRegex(some\s*regex)}.

  • the AssertJ tests now pass on non-English locales as well
    Issue #180

  • added a workaround for a binary incompatible change in AssertJ that caused xmlunit-assertj to be incompatible with AssertJ 3.15.0
    Issue #181

  • added a new ${xmlunit.matchesRegex(regex)} placeholder
    PR #178 by @Jazzyekim.

  • add a new ${xmlunit.isDateTime} placeholder
    inspired by #xmlunit.net/31 and #xmlunit.net/32 by MilkyWare
    Issue #174

  • avoid unnecessary creation of DocumentBuilderFactory in DOMDifferenceEngine when a custom factory has been provided to DiffBuilder.
    Issue #182

XMLUnit 2.6.4

08 Mar 14:10
Compare
Choose a tag to compare

This release fixes a bug that affects the XPath for missing nodes in certain corner cases and improves the AsssertJ module. In particular XMLUnit 2.6.4 is supposed to be compatible with AssertJ 3.13.x.

The full list of changes:

  • the dependencies on JAXB implementation and its transitive
    dependencies has been promoted from test scope to optional for Java
    9 and later
    Issue #162

  • added containsAnyNodeHavingXPath, containsAllNodesHavingXPath
    and hasXPath assertions to xmlunit-assertj.

  • added extractingAttribute method to xmlunit-assertj.

  • removed some redundant instanceof checks.
    PR #171 by
    @PascalSchumacher.

  • xmlunit-assertj should now work with AssertJ-Core 3.13.x
    Issue #166

  • the XPath values for comparisons resulting in CHILD_LOOKUP
    differences could be wrong when NodeFilters were present.
    XMLUnit.NET Issue
    xmlunit.net/#29

  • xmlunit-legacy will now use NewDifferenceEngine even when an
    ElementQualifier different from the built-in ones is used.