Changes from Ant 1.9.7 TO Ant 1.9.8 =================================== Changes that could break older environments: ------------------------------------------- * // exhibited undefined behavior when both the dir and file attribute have been used on the same instance. This will now cause the build to fail. Bugzilla Report 59402 * The ant.java.version property will now hold the value "9" rather than "1.9" if running on Java 9. * will no longer allow the -Xnew option (or xmic compiler) to be used when running on Java 9 since this option has been removed. Bugzilla Report 59906 Fixed bugs: ----------- * setDynamicAttribute on MacroInstance now lower-cases the attribute name in order to allow users of the API to use the attributes names they have specified. Bugzilla Report 59339 * 's quiet attribute was broken, it didn't suppress any messages. Bugzilla Report 59379 * 's check whether an archive is already up-to-date failed on NTFS filesystems and re-created archives more often than necessary. Bugzilla Report 59562 * AntClassLoader didn't delegate to the parent loader for classes in the "jdk" package or one of its subpackages. This hierarchy has been introduced with Java 7. Bugzilla Report 59556 * The ant wrapper script used on Unix-like operating systems only worked on OSes where sed is GNU sed. Bugzilla Report 59898 * 's default pattern as well as the default patterns used by the (resource) selectors depended on the JDK being used - or rather the locale provider being used and the default locale provider changed with Java 9. They are now fixed and the documentation has been updated to reflect the real patterns used rather than a non-formal description of the expected format. Bugzilla Report 59909 * Clarified the documentation of 's retries attribute. Bugzilla Report 59930 Other changes: -------------- * now initializes the cause of the AssertionFailedError when converting from AssertionError. Bugzilla Report 58982 * now supports compression via the optional compressed attribute. Bugzilla Report 47552 * a new implementation "builtin" has been added to and is the default when running on JDK9+ since the tool itself has been removed from the JDK. Bugzilla Report 59855 * added a new filter that can perform non-ASCII to Unicode-escape conversions. * defaults to the "forking" compiler on JDK 9+ as the implementation class of rmic is not exported by its containing module and thus not accessible to Ant without applying -XaddExports magic. Bugzilla Report 59860 * a new implementation "forking" has been added to and is used as default when running on JDK9. * support for javac's -h switch has been added with the nativeheaderdir attribute. Bugzilla Report 59905 * it is now possible to set features of the TraX factory used by and . Changes from Ant 1.9.6 TO Ant 1.9.7 =================================== Changes that could break older environments: ------------------------------------------- * and used to ignore the dir attribute if it was the same as the current working directory. They now no longer do, which changes the behavior for vmlauncher="false" which would have used the project's basedir rather than the current working directory in that case. Bugzilla Report 58555 Fixed bugs: ----------- * ZipOutputStream could cause an ArrayIndexOutOfBoundsException when adding entries with comments. This never happens when using Ant as a build tool but may affect users using Ant's zip package as a library. * and didn't work for non-filesystem resources. * ignored the zip64Mode attribute when creating manifest-only jars. This resulted in jar files that couldn't be read by Java5. Bugzilla Report 58428 * will now detect GNU tar longname/link records even if they don't use the names used by GNU tar itself. star is known to create archives of that kind. https://issues.apache.org/jira/browse/COMPRESS-324 *