Release Notes of Apache Ant 1.10.14
Changes from Ant 1.10.13 TO Ant 1.10.14 ======================================= Changes that could break older environments: ------------------------------------------- * Resource#compareTo now invokes getName rather than toString as the later may be costly (for example in the case of a StringResource). Bugzilla Report 66496 * When using Java 18 or higher, Ant will no longer use Java SecurityManager because it has been deprecated for removal and by default is disallowed to be set at runtime https://openjdk.org/jeps/411. This will mean that the "<permissions>" type is no longer functional when using Java 18 or higher. Furthermore, when using Java 18 or higher, if the build executes tasks that call "java.lang.System.exit()" and if those tasks aren't running in a forked VM of their own, then such tasks will now kill the entire Ant build process. It is recommended that such tasks be updated to launch in a forked JVM so that the System.exit() call will not impact the JVM in which Ant process runs. Fixed bugs: ----------- * log only the stylesheet name in the xslt task. Github Pull Request #199 * junitlauncher task's "test" and "listener" elements which take a "outputDir" property were incorrectly resolving the outputDir against the current working directory instead of the project's basedir. This has now been fixed. Bugzilla Report 66504 * regexmapper would, in some cases, incorrectly consume backslash characters from the "to" attribute, resulting in missing backslashes in the output. This is now fixed. Bugzilla Report 66468 * <fixcrlf>, <replace> and <replaceregexp> now try to preserve the file permissions of the files they modify. Bugzilla Report 66522 * junitlauncher task would fail if a forked test timed out even if haltOnFailure was set to false. This is now fixed. Bugzilla Report 66411 * fixes a bug in org.apache.tools.zip.ZipOutputStream where, even when "zip64Mode" is set to "always", ZipOutputStream may not create a CEN extra field data for the entry. Bugzilla Report 66873 * legacy-xml listener of junitlauncher task wouldn't report certain failures involving junit jupiter dynamic tests. This has now been fixed. Github Pull Request #122 * allow.class which was introduced in Ant 1.10.13 release, has been removed from this 1.10.14 release. This class was introduced in context of the SecurityManager changes in Ant 1.10.13, which have now been reverted in Ant 1.10.14, since they caused several regressions. Bugzilla Reports 66828, 66951 Other changes: -------------- * <fork> element of the junitlauncher task now has a new optional "java" attribute which can be used to point to a different Java installation for runnning the forked tests. Bugzilla Report 66464 * made sure <echoproperties> sorts the echoed properties on JDK9+ as well. Bugzilla Report 66588 * org.apache.tools.ant.taskdefs.Recorder class now introduces a setLogLevel(LogLevel level) method. Bugzilla Report 66238 * The <fork> element of junitlaunchertask now allows a "forkMode" attribute. forkMode=perTestClass can now be used to launch each test class in a separate forked JVM. Bugzilla Report 65176