Skip to content

Releases: xmlunit/xmlunit.net

XMLUnit.NET 2.9.2

16 Mar 13:41
Compare
Choose a tag to compare

This is a small feature and bugfix release.

The full changelog is

  • added NodeFilters#SatisfiesAll and SatifiesAny methods to make it easier to combine multiple node filters.
    added to simplify the use case of xmlunit/#249

  • when documents contained element content whitespace represented by System.Xml.XmlWhitespace the types and methods that are supposed to strip or normalize whitespace would fail.
    Issue #38

XMLUnit.NET 2.9.1

16 Dec 20:21
Compare
Choose a tag to compare

XMLUnit.NET ports changes made to XMLUnit for Java 2.8.3 and 2.8.4. The full changelog is:

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

  • added a new FullDescription method to Diff that provides a string-representation of all differences - not just the first one like ToString does.
    Based on Java PR xmlunit/#235 by @Boiarshinov

XMLUnit.NET 2.9.0

30 Oct 16:26
Compare
Choose a tag to compare

This release fixes a bug for a very specific setup and makes ISource disposable.

Full details:

  • ISource now extends IDisposable to allow releasing unmanaged resources used when building sources from files or URIs.

    This change is backwards incompatible if you are providing ISource implementations of your own.
    #33.

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

XMLUnit.NET 2.8.0

12 May 16:14
Compare
Choose a tag to compare

This version contains a backwards incompatible change to the IPlaceholderHandler 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)}.

Only the placeholder package has been changed, all other packages are functionally identical to XMLUnit.NET 2.7.2.

XMLUnit.NET 2.7.2

08 Mar 13:09
Compare
Choose a tag to compare

This release fixes a bug in the construction of XPaths in certain corner cases:

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

XMLUnit.NET 2.7.1

21 Jun 18:57
Compare
Choose a tag to compare

The release fixes a bug in a corner-case and adds a new isNumber placeholder.

The full list of changes:

  • add a new ${xmlunit.isNumber} placeholder
    Based on the Java PR xmlunit/#154 by @NathanAtClarity.

  • the XPath values of a comparison should not be affected by any NodeFilter being in effect.
    Issue similar to xmlunit/#156

XMLUnit.NET 2.7.0

13 Apr 11:02
Compare
Choose a tag to compare

This release is identical to XMLUnit.NET 2.7.0-beta-01. It adds support for .NET Standard 2.0 in addition to the traditional .NET Framework 3.5.

Many thanks to @shatl who performed most of the heavy lifting which has made this release possible.

XMLUnit.NET 2.7.0-beta-01

10 Apr 08:10
Compare
Choose a tag to compare
Pre-release

This is the very first release of XMLUnit.NET that supports .NET Standard 2.0 in addition to the traditional .NET Framework 3.5. Only the build process and the nuget packages have changed, there is no other difference between this release and XMLUnit.NET 2.6.0. If you don't need support for .NET Standard there is no reason to upgrade.

This release has been labeled beta as the packaging needs more thorough testing by the community.

Many thanks to @shatl who performed most of the heavy lifting which has made this release possible.

XMLUnit.NET 2.6.0

22 Apr 10:10
Compare
Choose a tag to compare

This release fixes a few bugs and introduces a new experimental feature.

The full list of changes for XMLUnit.NET:

  • add a new experimental module xmlunit-placeholders which aims to
    use ${xmlunit.FOO} expressions inside of the control document to
    allow for a DSL-like approach of defining more complex tests.
    This initial seed only supports ${xmlunit.ignore} which can be
    used to make XMLUnit ignore the element containing this text.

  • fixed the message when CompareConstraint or
    ValidationConstraints (both NUnit 2.x and 3.x) as well as
    EvaluateXPathConstraint or HasXPathConstraint (only the NUnit
    3.x versions) pass but the assertion fails because the constraint
    itself was wrapped in a Not constraint.

  • the NUnit 3.x EvaluateXPathConstraint failed to resolve the nested
    constraint, leading to erroneous messages if the assertion failed.
    Issue #25

  • the XmlDocument instances used internally in Convert and
    Transformation now get their XmlResolver property set to null
    by default - which happens to be the default value of .NET 4.5.2 and
    later anyway. This is in accordance with the OWASP recommendations
    for XML eXternal Entity injection
    preventions
    .

    This may be a breaking change and you may need to provide an
    explicit XmlResolver instance of your own if you need to load
    external entities.

    Issue #27.

  • added a new ISource implementation
    ElementContentWhitespaceStrippedSource which is similar to
    WhitespaceStrippedSource but only affects text nodes that solely
    consist of whitespace and doesn't affect any other text nodes. Also
    added convenience IgnoreElementContentWhitespace methods to
    DiffBuilder and CompareConstraint.
    Issue similar to xmlunit/#119.

  • the configured NodeFilter is now applied before comparing
    XmlDocumentType nodes.

    This change breaks backwards compatibility as the old behavior was
    to ignore XmlDocumentType when counting the children of the
    XmlDocument node but not when actually comparing the
    XmlDocumentType. Prior to this change if one document had a document
    type declaration but the other didn't, a HAS_DOCTYPE_DECLARATION
    difference was detected, this will no longer be the case now. If you
    want to detect this difference, you need to use a more lenient
    NodeFilter than NodeFilters.Default
    (i.e. NodeFilters.AcceptAll) but then you will see an additional
    CHILD_NODELIST_LENGTH difference.

    Issue #26.

XMLUnit.NET 2.5.1

20 Oct 20:41
Compare
Choose a tag to compare

this release fixes a serious bug in the difference engine when documents only differ in namespace prefix.

The full list of changes for XMLUnit.NET:

  • elements that only differed in namespace prefix resulted in a false
    ELEMENT_TAG_NAME difference when compared.
    Issue #22