Apache Ant Changelog

New in version 1.9.4

May 6th, 2014
  • Ant 1.9.4 contains several bug fixes and improvements compared to Ant 1.9.3, including the initial support for Java 1.9, the possibility to run JUnit tests in multiple threads (when they are forked) and the refactoring of Ant's own test suite which is now based on JUnit 4.

New in version 1.9.3 (December 30th, 2013)

  • Ant 1.9.3 contains several bug fixes and improvements compared to Ant 1.9.2. The main point of the release is a fix of the speed of the exec task.

New in version 1.9.2 (July 13th, 2013)

  • Ant 1.9.2's javadoc task provides a workaround for the recently patched frame injection vulnerability of the javadoc tool found in Oracle JDKs prior to Java 7u25 known as CVE-2013-1571. The task will now post-process the generated files and remove the vulnerability if detected.
  • In addition some interoperability patches to the tar and zip classes have been applied.

New in version 1.9.1 (May 23rd, 2013)

  • New if and unless XML namespaces available on all tasks and nested elements
  • Zip64 extensions are disabled by default
  • Loading of external dependencies fixed in JUnit tasks
  • JUnitreport default stylesheets now compatible with JDK 1.7
  • Recommending to upgrade to jsch 0.1.50 for users of the ssh/scp tasks under Java 1.7
  • Other fixes and improvements documented in WHATSNEW

New in version 1.9.0 (March 11th, 2013)

  • Java 1.5 is now required
  • support for @Ignore annotation in JUnit 4 testcases
  • the zip, bzip2 and tar tasks are improved
  • removal of the Perforce Ant tasks; users of these tasks can use the tasks supplied by Perforce Inc. instead, which contain more functionality and connect natively to the Perforce servers
  • numerous bug fixes and improvements as documented in Bugzilla and in the release notes

New in version 1.8.4 (May 25th, 2012)

  • Ant 1.8.4 fixes a denial of service flaw in the task present in any version of Ant since Ant 1.5.

New in version 1.8.2 (December 28th, 2010)

  • performance improvements in directory scanning
  • XSLT task honors classpath again (bugrep 49271)
  • distinction between core tasks and optional tasks is abolished
  • numerous bug fixes and improvements as documented in Bugzilla and in WHATSNEW

New in version 1.8.1 (May 8th, 2010)

  • Changes that could break older environments:
  • ant-trax.jar is no longer produced since TrAX is included in JDK 1.4+.
  • Ant no longer ships with Apache Xerces-J or the XML APIs but relies on the Java runtime to provide a parser and matching API versions.
  • The stylebook ant task and the ant-stylebook.jar are removed.
  • Fixed bugs:
  • Tasks that iterate over task or type definitions, references or
  • targets now iterate over copies instead of the live maps to avoid
  • ConcurrentModificationExceptions if another thread changes the
  • maps. Bugzilla Report 48310.
  • The filesmatch condition threw a NullPointerException when
  • comparing text files and the second file contained fewer lines than
  • the first one. Bugzilla Report 48715.
  • Regression: The task would allow multiple
  • META-INF/application.xml files to be added. Bugzilla Report 6836.
  • VectorSet#remove(Object) would fail if the size of the vector equaled its capacity.
  • Regression : ant -diagnostics was returning with exit code 1 Bugzilla Report 48782
  • Fix for exec task sometimes inserts extraneous newlines Bugzilla Report 48746
  • SymlinkTest#testSymbolicLinkUtilsMethods failing on MacOS
  • Bugzilla Report 48785.
  • If 's first resourcecollection child is a , any subsequently added child resourcecollection joins the first. Bugzilla Report 48816.
  • with an invalid URL could trigger an NPE in some JVMs. Bugzilla Report 48833
  • Broken Pipe issue under Ubuntu Linux Bugzilla Report 48789
  • Properties wrongly read from file or not update during read Bugzilla Report 48768
  • AntClassLoader in Ant 1.8.0 has been considerably slower than in
  • 1.7.1 Bugzilla Report 48853
  • ANT_CMD_LINE_ARGS are rippling through lower level Ant usage Bugzilla Report 48876
  • email : IO error sending mail with plain mimetype Bugzilla Report 48932
  • the complete-ant-cmd.pl script failed to create a proper cache of
  • target if "ant -p" failed. Bugzilla Report 48980
  • 's sourcebase attribute was broken. Bugzilla Report 48970
  • 's failonerror didn't work as expected when copying a single
  • element resource collection to a file. Bugzilla Report 49070
  • no longer followed redirects if the redirect URL was relative
  • and not an absolute URL. Bugzilla Report 48972
  • fixed a performance degradation in the code that expands property
  • references. Bugzilla Reports 48961 and 49079
  • was broken on Windows. Bugzilla Report 49090
  • delete failed if the link attribute was a relative path
  • to a link inside the current directory without a leading ".". Bugzilla Report 49137
  • and failed to find the expected strings when waiting for responses and thus always failed. Bugzilla Report 49173
  • Other changes:
  • Project provides new get methods that return copies instead of the live maps of task and type definitions, references and targets.
  • Ant is now more lenient with ZIP extra fields and will be able to read archives that it failed to read in earlier versions. Bugzilla Report 48781.
  • The family of tasks has been sped up for bigger archives. Bugzilla Report 48755.
  • Add removeKeepExtension option to NetRexxC task. Bugzilla Report 48788.
  • Add prefix attribute to loadproperties task.
  • Add resource attribute to length task.
  • PropertyResource will effectively proxy another Resource if ${name} evaluates to a Resource object.
  • Added forcestring attribute to equals condition to force evaluation of Object args as strings; previously only API-level usage of the equals condition allowed Object args, but Ant 1.8.x+ property evaluation may yield values of any type.
  • BuildFileTest.assertPropertyUnset() fails with a slightly more
  • meaningful error message Bugzilla Report 48834
  • will now throw an exception if a test name is empty. This used to manifest itself in unrelated errors like Bugzilla Report 43586.
  • A change that made more reliable on Windows (Bugzilla Report
  • 5003) strongly impacts the performance for commands that execute quickly, like attrib. Basically no single execution of a command could take less than a second on Windows.
  • A few timeouts have been tweaked to allow these commands to finish more quickly but still they will take longer than they did with Ant 1.7.1. Bugzilla Report 48734.
  • Added SimpleBigProjectLogger, intermediate between NoBannerLogger and
  • BigProjectLogger.
  • supports new attributes enablemultiplemappings and cache.
  • Added the augment task to manipulate existing references via Ant's basic
  • introspection mechanisms.

New in version 1.8.0 (March 19th, 2010)

  • Lexically scoped local properties, i.e. properties that are only defined inside a target, sequential block or similar environment.
  • can now import from any file- or URL-providing resource - this includes .
  • Various improvements to the directory scanning code that help with symbolic link cycles (as can be found on MacOS X Java installations for example) and improve scanning performance. For big directory trees the improvement is dramatic.
  • The way developers can extend Ant's property expansion algorithm has been rewritten (breaking the older API) to be easier to use and be more powerful.
  • a new top level element extension-point allows build files to be extended with custom targets more easily
  • At the same time the if and unless attributes have been rewritten to do the expected thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it" if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named "true" existed). This adds "testing conditions" as a new use-case to property expansion.
  • Ant now requires Java 1.4 or later
  • new task include provides an alternative to that should be preferred when you don't want to override any targets