Changes from Ant 1.9.16 TO Ant 1.9.17 ===================================== Changes that could break older environments: -------------------------------------------- * has a new attribute authenticateOnRedirect that can be used to prevent Ant from sending the configured credentials when following a redirect. It is false by default, which means builds that rely on credentials being used on the redirected URI may break. Github Pull Request #173 Fixed bugs: ----------- * Made sure setting build.compiler to the fully qualified classname that corresponds to extJavac or modern has the same effect as using the shorter alias names. Bugzilla Report 65539 * may leak connections when trying to preserve the las modified timestamps of files transferred recursively from a server. Bugzilla Report 66001 Other changes: -------------- * The tar task now preserves symlinks of nested tarfilesets. Github Pull Request #142 Changes from Ant 1.9.15 TO Ant 1.9.16 ===================================== Other changes: -------------- * Upgraded AntUnit to 1.4.1. Fixed bugs: ----------- * Fixes a bug where the ant-testutil-sources.jar that gets published to Maven central repository didn't contain any source files. Bugzilla Report 65110 * fixed potential OutOfMemory errors when reading broken archives using the tar or zip formats or formats derived from zip. Changes from Ant 1.9.14 TO Ant 1.9.15 ===================================== Other changes: -------------- * The runant.py script should now work with Python 3. Github Pull Request #96 * rmic has been removed from Java 15. The task will now throw an exception if you try to use it while running Java 15 or newer. * a new property ant.tmpdir provides improved control over the location Ant uses to create temporary files Changes from Ant 1.9.13 TO Ant 1.9.14 ===================================== Changes that could break older environments: ------------------------------------------- * ClearCase#runS has been augmented by a two arg-version and the one-arg version will no longer be called. This may affect subclasses that have overridden runS. Fixed bugs: ----------- * fetch.xml must retrieve runtime rather than compile dependencies for mail task. Bugzilla Report 62621 * augment task now throws a BuildException (as noted in its manual) instead of a IllegalStateException in the absence of the "id" attribute. Bugzilla Report 62655 * org.apache.tools.zip.ZipOutputStream would sometimes potentially use an incorrect compression level for a zip entry. This is now fixed. Bugzilla Report 62686 * cccheckout would ignore an error of the "ls checkout" command even if failOnError was set to false. Bugzilla Report 63071 Other changes: -------------- * generatekey task now supports SubjectAlternativeName during key generation. * the selector has a new built-in algorithm 'lastmodified' which computes a value based upon the lastmodified time of the file. * signjar and verifyjar now support the -providerName, -providerClass and -providerArg command line options of keytool via new attributes. Bugzilla Report 65234 * signjar and verifyjar now supported nested elements for command line arguments that are not supported explicitly by the tasks via attributes. * added several attributes to that support modules. Bugzilla Report 62424 * Jsch library dependency has now been upgraded to 0.1.55. Jsch is the library behind the sshexec and scp Ant tasks. Github Pull Request #84 * ftp task manual has been updated to mention that the remote listing of files honours the followsymlinks attribute. Bugzilla Report 63226 Changes from Ant 1.9.12 TO Ant 1.9.13 ===================================== Fixed bugs: ----------- * Fixes a regression in the "get" task where redirects from a HTTP resource to a HTTPS resource started throwing an exception. Bugzilla Report 62499 * the new allowFilesToEscapeDest didn't work when set to false and archive entries contained relative paths with so many ".." segnments that the resulting path would go beyond the file system root. Bugzilla Report 62502 Changes from Ant 1.9.11 TO Ant 1.9.12 ===================================== Changes that could break older environments: ------------------------------------------- * , and will no longer extract entries whose names would make the created files be placed outside of the destination directory anymore by default. A new attribute allowFilesToEscapeDest can be used to override the behavior. Another special case is when stripAbsolutePathSpec is false (which no longer is the default) and the entry's name starts with a (back)slash and allowFilesToEscapeDest hasn't been specified explicitly, in this case the file may be created outside of the dest directory as well. In addition stripAbsolutePathSpec is now true by default. Based on a recommendation by the Snyk Security Research Team. Fixed bugs: ----------- * Delay the class initialization of the test classes until they are passed to JUnit. This way we can avoid that failing static initializers from non-test classes are reported as error when the 'skipNonTests' option is 'true'. Bugzilla Report 60062 * The junit task when used with includeantruntime="no" was incorrectly printing a warning about multiple versions of ant detected in path * Default and SecureInputHandler will now raise an error when then end of the input stream (usually System.in or System.console) are reached before a valid input has been read. * junitreport does not list testsuites that fail to start any tests because of an exception inside the all-tests and alltests-errors frames. Bugzilla Report 62443 Other changes: -------------- * PumpStreamHandler now explicitly verifies the streams for output and error are not null and will throw an exception if they are. This way creating a PumpStreamHandler will fail early as opposed to some obscure errors later when closing streams or finishing threads might fail. Bugzilla Report 62148 * has a new attribute runtime which can be used to set properties with values taken as snapshots from the availableProcessors, freeMemory, maxMemory and totalMemory methods of the Java Runtime class. * has a new basedir attribute that can be used to resolve relative names and provides a root for the FileResources generated. Bugzilla Report 62379 * The and nested elements of and now support an encoding attribute that can be used to specify the file's encoding. Bugzilla Report 62379 Changes from Ant 1.9.10 TO Ant 1.9.11 ===================================== Changes that could break older environments: ------------------------------------------- * Previous versions of Ant's copy task would throw a BuildException if the "name" of the resource to copy was null. Starting this version, the copy task instead silently skips such resources and no longer throws an exception. ant-dev list https://www.mail-archive.com/dev@ant.apache.org/msg46634.html Fixed bugs: ----------- * Fixed NullPointerException when a mappedresource is used in pathconvert Bugzilla Report 62076 * Added a workaround for a bug in the jarsigner tool to which requires the -storepass command line argument when verifying signatures using -strict together with a PKCS12 keystore. Unlike when signing the jar it will not prompt for the keystore's password and read it from standard input. This means Ant will now pass the keystore's password on the command line when using , which poses a security risk you should be aware of. Bugzilla Report 62194 Other changes: -------------- * when running on Java 11+ rmic will fail early if iiop or idl are requested. Java11 removes support for CORBA and the switches have been removed from the rmic tool. Changes from Ant 1.9.9 TO Ant 1.9.10 ==================================== * The Log4jListener is marked as deprecated as the required log4j library (in version 1.x) is not maintained any more. Fixed bugs: ----------- * 's child now skips s that lack a key or value. Bugzilla Report 60767 * Fixed the issue where the SCP based tasks would try to change the permissions on the parent directory of a transferred file, instead of changing it on the transferred file itself. Bugzilla Reports 59648 and 43271 * Fixed the issue where the source file being copied could end up being corrupted if the target of the copy happened to be the same source file (symlinked back to itself). Bugzilla Report 60644 * Improvement to the Zip task for reduced memory usage in certain cases. Thanks to Glen Lewis for reporting the issue and suggesting the fix. Bugzilla Report 19516 * Fixed an issue where the content redirected from output/error streams of a process, could end up being truncated. Bugzilla Report 58833, 58451 * // will now throw an exception with a more useful error message when setFile is called twice on the same instance. Bugzilla Report 62071 Other changes: -------------- * Added forceCsvQuoteChar option to task. When enabled the values always get quoted. Github Pull Request #32 * added "regexp" attribute to Bugzilla Report 60968 * added a new magic property ant.tstamp.now that can be used to override the current time/date used by . Bugzilla Report 61079 * added Orion support to ejbjar Github Pull Request #33 * SCP task, when configured to use SFTP protocol, now preserves last modified timestamp on files that it uploads, if the preserveLastModified attribute is set to true for that task Bugzilla Report 58589 * zip and the related tasks can now set the modification time of all entries to a fixed timestamp. Github Pull Request #36 * Jsch library dependency has now been upgraded to 0.1.54. Jsch is the library behind the sshexec and scp Ant tasks. Bugzilla Report 61718 * Added a new condition. * added "javac10+" as new supported value for javac's compiler attribute. * javah has been removed from Java 10. The task will now throw an exception if you try to use it while running Java 10 or newer. * Updated Maven Ant Tasks, Jakarta Regexp and JUnit 4 to the latest stable version (2.1.3, 1.4, and 4.12 respectively); updated Java Mail API, JRuby and Jython to the latest Java 5 compatible version (1.5.6, 1.6.8 and 2.5.3, respectively); added resolve targets for Ivy and AntUnit to facilitate releases and updates, respectively. Github Pull Request #50 * Updated Commons Net to the latest Java 5 compatible version (2.2). Changes from Ant 1.9.8 TO Ant 1.9.9 =================================== Fixed bugs: ----------- * Ant 1.9.8 made Path#systemClasspath final which broke the Eclipse integration. Bugzilla Report 60582 * the wrapper script still didn't work on Solaris 10, but worked on Solaris 11. The "fixed" script should work in most cases but will not preserve newlines present in command line arguments. Bugzilla Report 60562 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 * The ant wrapper script failed if backticks were passed on the command line. Bugzilla Report 60150, 59445 * The report generated by could contain duplicate characters in stack traces. Bugzilla Report 58661 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 * now supports JDK9 modules Github Pull Request #18 * 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 . * it is now possible to use references to Ant types and classloaders built around Ant s as values for TraX factory attributes. * now enables the feature http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions when run on Java 9 so the redirect extension function can be used if when a SecurityManager is active. Bugzilla Report 60060 * support for javac's --release switch introduced with Java9 has been added. Bugzilla Report 60172 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 *