<?xml version="1.0" encoding="utf-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       https://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<!DOCTYPE document
[
<!ELEMENT document (properties?, release+)>
<!ELEMENT properties (title)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT release (action*)>
<!ELEMENT action (#PCDATA)>
<!ATTLIST release
          version CDATA #REQUIRED
          date CDATA #REQUIRED
          description CDATA #IMPLIED>
<!ATTLIST action
          issue CDATA #IMPLIED
          type (add|fix|remove|update) #REQUIRED
          breaks-bwc (true|false) #IMPLIED>
]
>
<document>
  <properties>
    <title>Apache AntUnit</title>
  </properties>

  <release version="1.5.0" date="unreleased">
    <action type="add">
      Allow the AntUnit task to use a different classloader when
      running the test by means of a nested classpath or a
      classpathrefid attribute.

      Only works properly with Ant 1.10.13 or later.
    </action>
    <action type="add">
      Add new assertNotEquals, assertPropertyNotSet,
      assertPropertyNotEquals, assertPropertyDoesntContain and
      assertReferenceIsNotSet assertions.
    </action>
  </release>

  <release version="1.4.1" date="2021-07-07">
    <action type="fix" issue="65315">
      We didn't follow our own best practice and hard-coded the
      AntUnit URI inside the Antlib descriptor instead of using
      ant:current.
    </action>
  </release>
  <release version="1.4" date="2018-06-25">
    <action type="update" breaks-bwc="true">
      The coordinates inside the Ivy file have been changed to match
      those of the POM.
    </action>
    <action type="fix" issue="57341">
      The br-replace template inside the XSLT stylesheets used by
      for reports could cause stack overflows or out-of-memory errors
      when applied to big outputs.
    </action>
    <action type="update" breaks-bwc="true">
      AntUnit now requires at least Ant 1.8.1 at runtime.
    </action>
  </release>

  <release version="1.3" date="2014-05-14">
    <action type="add" issue="53383">
      New assertion assertRefResourceExists,
      assertRefResourceDoesntExist, assertRefResourceContains,
      assertRefResourceDoesntContain, assertNestedResourceExists,
      assertNestedResourceDoesntExist have been added.  These new
      assertions work for non-filesystem resources unlike their
      existing cousins of AntUnit 1.2.
    </action>
    <action type="add" issue="43582">
      A new AntUnitListener named "logforwarder" can be attached to
      forward any log output from the project under test to the
      project running the AntUnit task immediately.
    </action>
    <action type="fix" issue="56470">
      LogCapturer can now optionally add (platform dependent) line
      breaks between log messages that it records.
      The log related assertions and the logcontent resource have a
      new attribute "mergeLines" that controls the line breaks, it
      defaults to "true" - i.e. no line breaks - to preserve backwards
      compatibility.
    </action>
  </release>

  <release version="1.2" date="2011-08-16">
    <action type="update" breaks-bwc="true">
      assertResourceContains now first validates that the given
      resource actually exists using assertResourceExists - this may
      lead to a different error message than the ones generated with
      AntUnit 1.1.
    </action>
    <action type="add">
      New assertion assertResourceExists and assertResourceDoesntExist
      have been added.
    </action>
    <action type="fix" breaks-bwc="true">
      The XSLT stylesheets now create HTML files instead of plain text
      for logs sent to System.err and System.out.  You can always get
      back to your own reporting by providing custom stylesheets.
    </action>
    <action type="add" issue="49168">
      It is now possible to pass references from the build file
      containing the &lt;antunit&gt; task to the build files under
      test.
    </action>
    <action type="add">
      Add experimental JUnit3 and JUnit4 adapters allowing to launch
      AntUnit script from JUnit runner.  The API of that code is not
      fixed and may change in future releases.
    </action>
    <action type="update">
      expectfailure report the original build exception chained when failing
    </action>
    <action type="fix">
      Default XSLT stylesheets now properly escape XML in exception
      stack traces.
    </action>
    <action type="fix">
      assertPropertyContains was not checking the value of the property but
      the name of the property.
    </action>
    <action type="add">
      Add a fail task that makes a test case fail if no condition is provided or
      if the provided one is evaluated to false.
    </action>
  </release>
  
  <release version="1.1" date="2008-09-26">
    <action type="fix" issue="42745">
      assertFileExists example wrong, should use @file instead of @name
    </action>
    <action type="fix" issue="43466">
      Failure in tearDown doesn't result in failed test run
    </action>
    <action type="fix" issue="43639">
      assertMatches' casesensitive attribute didn't default to true as
      documented
    </action>
    <action type="add" issue="43639">
      added a new assertDoesntMatch assertion
    </action>
    <action type="add" issue="43475">
      added suiteSetUp and suiteTearDown targets
    </action>
    <action type="add" issue="43604">
      plainlistener and xmllistener can now optionally contain the
      test's log output in their reports
    </action>
    <action type="add" issue="43614">
      xmllistener will now log the properties of the project under
      test
    </action>
    <action type="add">
      added new assertResourceContains and assertResourceDoesntContain
      assertion
    </action>
  </release>

</document>
