You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2016/12/30 16:56:39 UTC

svn commit: r17633 [3/3] - in /dev/ant: README.html RELEASE-NOTES-1.10.0.html

Modified: dev/ant/RELEASE-NOTES-1.10.0.html
==============================================================================
--- dev/ant/RELEASE-NOTES-1.10.0.html (original)
+++ dev/ant/RELEASE-NOTES-1.10.0.html Fri Dec 30 16:56:39 2016
@@ -133,6355 +133,4 @@ Other changes:
    added.
    Bugzilla Report 60172
 
-Changes from Ant 1.9.6 TO Ant 1.9.7
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * <exec> and <apply> 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.
-
- * <gunzip> and <bunzip2> didn't work for non-filesystem resources.
-
- * <jar> ignored the zip64Mode attribute when creating manifest-only
-   jars.  This resulted in jar files that couldn't be read by Java5.
-   Bugzilla Report 58428
-
- * <untar> 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
-
- * <script> could fail to find javax.script on JDK9 with Jigsaw.
-   Bugzilla Report 58271
-
- * <import> sometimes failed to normalize file names which could lead
-   to files getting imported twice which in turn could lead to targets
-   getting executed twice.
-   Bugzilla Report 58886
-
- * TarInputStream now properly extraxt directory entries with a
-   non-zero size.
-
- * <union> would drop file resources pointing to the same file but
-   using different names.
-   Bugzilla Report 57965
-
- * <replace>'s result was undefined when using the replacefilterfile
-   attribute and some keys inside the properties files have been
-   substrings of other keys. Keys are now sorted by descending size.
-   Bugzilla Report 58997
-
- * Ant fails to run when arguments contain double-quote character.
-   Bugzilla Report 58898
-
- * Ant fails to run if ANT_HOME contains a double-quote character.
-   Bugzilla Report 58874
-
- * Definer's way to parse URLs from classloader breaks with
-   recent Java 9 builds (b108).
-   Bugzilla Report 59130
-
- * <ant> and <antcall> now preserve the ext status set by an <exit>
-   task.
-   Bugzilla Report 59228
-
-Other changes:
---------------
-
- * <scp> now supports (filesystem-only) resource collections in
-   addition to filesets.
-   Bugzilla Report 50769
-
- * The <http> condition has a new optional attribute followRedirects.
-   Bugzilla Report 58840
-
- * <java> now supports Java9 modules.
-   https://github.com/apache/ant/pull/15
-
- * <javac> now supports Java9 modules.
-   https://github.com/apache/ant/pull/16
-
- * <sshexec> and <scp> have two new attributes serverAliveInterval and
-   serverAliveCountMax that can be used to keep a intermediaries from
-   closing idle connections.
-   Bugzilla Report 59162
-
-Changes from Ant 1.9.5 TO Ant 1.9.6
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
-Fixed bugs:
------------
-
- * ArrayIndexOutOfBoundsException when ZIP extra fields are read and
-   the entry contains an UnparseableExtraField.
-   https://issues.apache.org/jira/browse/COMPRESS-317
-
-Other changes:
---------------
-
-* Hidden <javaconstant> resource is published now. It reads the
-  value of a specified java constant.
-
-
-Changes from Ant 1.9.4 TO Ant 1.9.5
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * The ReplaceTokens filter can now use token-separators longer than
-   one character.  This means it can be used to replace mustache-style
-   {{patterns}} and similar templates.  This is going to break code
-   that invokes the setters on ReplaceTokens via the Java API as their
-   parameters have been changed from char to String.  It may also
-   break build files that specified multi character tokens and relied
-   on Ant silently ignoring all but the first character.
-   Bugzilla Report 56584
-
- * The changes that added <get>'s support for gzip encoding
-   automatically uncompressed content that would not have been touched
-   before - like when downloading .tar.gz files.  A new flag has been
-   added to control the behavior and its default will make <get> work
-   as it did in 1.9.3.  I.e. if you want it to work like 1.9.4
-   you have to explicitly set tryGzipEncoding to true.
-   Bugzilla Report 57048
-
-Fixed bugs:
------------
-
- * TarArchiveInputStream failed to read archives with empty gid/uid
-   fields.
-   Bugzilla Report 56641
-
- * TarArchiveInputStream could throw IOException when reading PAX
-   headers from a "slow" InputStream.
-
- * XMLJunitResultFormatter could throw NullPointerException if Java
-   cannot determine the local hostname.
-   Bugzilla Report 56593
-
- * URLResource#getLastModified tried to access the connection to the
-   URL without making sure it was established, potentially leading to
-   a NullPointerException when using FTP.
-   Bugzilla Report 56873
-
- * Long-Name and -link or PAX-header entries in TAR archives
-   always had the current time as last modfication time, creating
-   archives that are different at the byte level each time an
-   archive was built.
-
- * runant.py should now work as well when the path of the Java executable
-   contains spaces.
-   github pull request #1
-
- * <junitreport> now supports nested <classpath> and <factory> elements.
-   Bugzilla Report 47002
-
- * complete-ant-cmd.pl now also knows about the -file option.
-   Bugzilla Report 57371
-
- * the br-replace template inside the XSLT stylesheets used by
-   <junitreport> could cause stack overflows or out-of-memory errors
-   when applied to big outputs.
-   Bugzilla Report 57341
-
- * removed spurious warning about unclosed ZipFiles when reading the
-   archive failed.
-   Port of https://issues.apache.org/jira/browse/COMPRESS-297
-
- * FileUtils.rename which is used by several tasks can throw a
-   NullPointerException if the "normal" renameTo operation fails and
-   an exception occurs while rename falls back to copying and deleting
-   the file.
-   Bugzilla Report 57533
-
- * complete-ant-cmd.pl would incorrectly suggest words from the build
-   file description.
-   Bugzilla Report 51931
-
- * complete-ant-cmd.pl now also completes tasks without a description.
-   Bugzilla Report 57542
-
- * LocalPropertyStack could run into ConcurrentModificationException
-   when tasks spawned new child threads that accessed the properties.
-   Bugzilla Report 55074
-
- * TarEntry's constructor with a File and a String arg didn't
-   normalize the name.
-
- * Between 1.8.4 and 1.9.0 TarInputStream started to parse file
-   names using the platform's default encoding rather than as ASCII.
-   This has been a breaking change that has never been marked as such
-   (in fact it went unnoticed).  In order to allow <untar> and
-   <tarfileset> to work on platforms who's encoding doesn't match the
-   encoding of file names inside the archive, both now support
-   encoding attributes.
-   The attribute has also been added to <tar> for symmetry.
-   Bugzilla Report 57822
-
-Other changes:
---------------
-
- * it is now possible to provide proxy configuration to signjar
-   when using the timestamped authority.
-   Bugzilla Report 56678
-
- * complete-ant-cmd.pl now also analyzes the ANT_ARGS environment
-   variable.
-   Bugzilla Report 57371
-
- * ported some of the write-optimization of Commons Compress 1.10 to
-   the ZIP package
-
- * adapted unit tests to Java9 and added "javac1.9" as valid option
-   for javac's compiler attribute.
-
- * performance improvements for <intersect>
-   Bugzilla Report 57588
-
- * MailLogger can now add CC and BCC addresses.
-   Bugzilla Report 57789.
-
- * <scp>'s buffer size has been increased from 1k to 100k to match
-   <ftp> and <get>.
-   github pull requests #8 and #9
-
- * The tar package can now deal with group and user ids bigger than
-   0x80000000.
-   https://issues.apache.org/jira/browse/COMPRESS-314
-   https://issues.apache.org/jira/browse/COMPRESS-315
-
- * <scp> has new attributes fileMode and dirMode that control the
-   permissions on the remote side when sending data via SSH.
-   Bugzilla Report 43271.
-
- * New <allbutlast> and <allbutfirst> resource collections can be used
-   to select all but a given subset of a resource collection.
-   Bugzilla Report 57834.
-
-Changes from Ant 1.9.3 TO Ant 1.9.4
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * the prefixValues attribute of <property> didn't work as expected
-   when set to false (the default).
-   It is quite likely existing build files relied on the wrong
-   behavior and expect Ant to resolve the value side against the
-   properties defined in the property file itself - these build files
-   must now explicitly set the prefixValues attribute to true.
-   Bugzilla Report 54769
-
- * when matching an entry of a zip/tarfileset against a pattern a
-   leading slash will be stripped from the entry name.  Most archives
-   don't contain paths with leading slashes anyway.
-   This may cause include/exclude patterns that start with a / to stop
-   matching anything.  Such patterns only used to work by accident and
-   only on platforms with multiple file system roots.
-   Bugzilla Report 53949
-
- * DirectoryScanner and thus fileset/dirset will now silently drop all
-   filesystem objects that are neither files nor directories according
-   to java.io.File.  This prevents Ant from reading named pipes which
-   might lead to blocking or other undefined behavior.
-   Bugzilla Report 56149
-
- * BuildFileTest and BaseSelectorTest have both been deprecated in
-   favour of BuildFileRule and BaseSelectorRule respectively, and the
-   tests that previously extended these base tests have been converted to
-   JUnit 4 tests using the new "rule"s. Any external test that sub-classed
-   a test in the Ant workspace, rather than BuildFileTest, will need
-   changed to either use JUnit4's annotations, or be modified to
-   extend BuildFileTest directly. This will not affect any tests that are
-   being executed by Ant's junit or batchtest tasks that are not specifically
-   testing Ant's code.
-
-Fixed bugs:
------------
-
- * <import>/<include> failed when the importing file was loaded from an
-   URI or a jar and it imported a file from the local file system via
-   an absolute path.
-   Bugzilla Report 50953
-
- * <import> could import the same resource twice when imported via
-   different resource types.
-   Bugzilla Report 55097
-
- * several calls to File#mkdirs could fall victim to a race condition
-   where another thread already created the same directory.
-   Bugzilla Report 55290
-
- * <manifestclasspath> created '/' rather than './' for the parent
-   directory of the given jarfile.
-   Bugzilla Report 55049
-
- * <concat>'s fixlastline="true" didn't work when using certain filter
-   readers.
-   Bugzilla Report 54672
-
- * several places where resources are read from jars will now
-   explicitly disable caching to avoid problems with reloading jars.
-   Bugzilla Report 54473
-
- * AntClassloader will now ignore files that are part of the classpath
-   but not zip files when scanning for resources.  It used to throw an
-   exception.
-   Bugzilla Report 53964
-
- * <javadoc> caused a NullPointerException when no destdir was set.
-   Bugzilla Report 55949
-
- * <jar filesetmanifest="mergewithoutmain"> would still include the
-   Main section of the fileset manifests if there was no nested
-   manifest or manifest attribute.
-   Bugzilla Report 54171
-
- * reading of compiler args has become more defensive
-   Bugzilla Report 53754
-
- * <copy> without force="true" would not only fail to overwrite a
-   read-only file as expected but also remove the existing file.
-   Bugzilla Report 53095
-
- * <delete removeNotFollowedSymlinks="true"> would remove symbolic
-   links to not-included files.  It will still delete symlinks to
-   directories that would have been followed even if they are not
-   explicitly included.  exclude-Patterns can still be used to
-   preserve symbolic links.
-   Bugzilla Report 53959
-
- * Sometimes copy-operations using NIO FileChannels fail.  Ant will
-   now try to use a Stream based copy operation as fallback when the
-   Channel based copy fails.
-   Bugzilla Reports 53102 and 54397
-
- * Javadoc.postProcessGeneratedJavadocs() fails for Classes that
-   extend Javadoc
-   Bugzilla Report 56047
-
- * TarInputStream will now read archives created by tar
-   implementations that encode big numbers by not adding a trailing
-   NUL.
-
- * the isExists() method of URLResource returned false positives for
-   HTTP and FTP URLs.
-
-Other changes:
---------------
-
- * initial support for Java 1.9
-
- * <sshexec> can optionally pass System.in to the remote process
-   Bugzilla Report 55393
-
- * <sshexec> now supports capturing error output of the executed
-   process and setting a property from the return code.
-   Bugzilla Report 48478
-
- * <javadoc> now has an option to fail if javadoc issues warnings.
-   Bugzilla Report 55015
-
- * <sql> has a new outputencoding attribute.
-   Bugzilla Report 39541
-
- * changes to JUnitTestRunner and PlainJUnitResultFormatter to make
-   OutOfMemoryErrors less likely.
-   Bugzilla Report 45536
-
- * changes to DOMElementWriter to make OutOfMemoryErrors less likely.
-   Bugzilla Report 54147
-
- * <redirector> has a new attribute binaryOutput that prevents Ant
-   from splitting the output into lines.  This prevents binary output
-   from being corrupted but may lead to error and normal output being
-   mixed up.
-   Bugzilla Report 55667
-   Bugzilla Report 56156
-
- * the nested <message> elements of <mail> now have an optional
-   inputEncoding attribute that can be used to specify the encoding of
-   files read that don't use the platform's default encoding.
-   Bugzilla Report 56258
-
- * The <get> task now explicitly accepts and supports the gzip content encoding.
-   Bugzilla Report 49453
-
- * A new resourcecollection type <multirootfileset> acts like a union
-   of <fileset>s and <dirset>s that share the same configuration but
-   have different base directories.
-   Bugzilla Report 48621
-
- * <get> has a quiet attribute that makes the task log errors only
-   when enabled.
-   GitHub Pull Request #1
-
-* <junit> has now a threads attribute allowing to run the tests in several threads.
-  Bugzilla Report 55925
-
-* addition of a new ProcessUtil class providing the process id of the current process
-
-* changes to allow to run the JUnit testcases of Ant in parallel,
-  by making them use unique temporary directories
-
-Changes from Ant 1.9.2 TO Ant 1.9.3
-===================================
-
-Fixed bugs:
------------
-
- * <parallel> swallowed the status code of nested <fail> tasks.
-   Bugzilla Report 55539.
-
- * a race condition could make <fixcrlf> tasks of parallel builds to
-   interfere with each other.
-   Bugzilla Report 54393.
-
- * <mail>'s mailport still didn't work properly when using smtps.
-   Bugzilla Report 49267.
-
- * using attributes belonging to the if and unless namespaces
-   made macrodef fail.
-   Bugzilla Report 55885.
-
- * Ant 1.8 exec task changes have slowed exec to a crawl
-   Bugzilla Report 54128.
-
- * Apt is not available under JDK 1.8
-   Bugzilla Report 55922.
-
-
-Other changes:
---------------
-
- * Documentation fix for if/unless attributes.  PR 55359.
-
- * tar entries with long link names are now handled the same way as
-   entries with long names.
-
- * Addition of 'skipNonTests' attribute to <junit> and <batchtest>
-   tasks to allow the tasks to skip classes that don't contain tests.
-
- * <filterset> now supports a nested <propertyset> to specify filters.
-   Bugzilla Report 55794.
-
- * <xslt>'s params can now be typed.
-   Bugzilla Report 21525.
-
- * build of Mac OS X pkg installer
-   Bugzilla Report 55899.
-
-Changes from Ant 1.9.1 TO Ant 1.9.2
-===================================
-
-Fixed bugs:
------------
-
- * Parsing of zip64 extra fields has become more lenient in order to
-   be able to read archives created by DotNetZip and maybe other
-   archivers as well.
-
- * TarInputStream should now properly read GNU longlink entries' names.
-   Bugzilla Report 55040.
-
- * <java> and <exec> used to be too restrictive when evaluating
-   whether a given set of options is compatible with spawning the new
-   process.
-   Bugzilla Report 55112.
-
-Other changes:
---------------
-
- * <javadoc> will now post-process the generated in order to mitigate
-   the frame injection attack possible in javadocs generated by Oracle
-   JDKs prior to Java7 Update 25.  The vulnerability is known as
-   CVE-2013-1571.
-   There is an option to turn off the post-processing but it is only
-   recommended you do so if all your builds use a JDK that's not
-   vulnerable.
-   Bugzilla Report 55132.
-
-Changes from Ant 1.9.0 TO Ant 1.9.1
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * Users who have their own ProjectHelper implementation will need to change it because the import and include tasks
-   will now default the targetPrefix to ProjectHelper.USE_PROJECT_NAME_AS_TARGET_PREFIX.
-   Users using the default ProjectHelper2 with ant need not worry about this change done to fix Bugzilla Report 54940.
-
-
-Fixed bugs:
------------
-
- * Corrected XSLTC error in <junitreport>.
-   Bugzilla Report 54641.
-
- * Provide more control over Zip64 extensions created by <zip> and
-   related tasks.  In particular no Zip64 extensions will be used at
-   all by the <jar> task family by default - this is required for jars
-   to be readably by Java5.
-   Bugzilla Report 54762.
-
- * Fixed loading of external dependencies in JUnit task.
-   Bugzilla Report 54835.
-
- * Target rewriting for nested "include" only works when "as" is specified.
-   See also "Changes that could break older environments"
-   Bugzilla Report 54940.
-
-
-Other changes:
---------------
-
- * strict attribute added to <signjar>.
-   Bugzilla Report 54889.
-
- * simplifying Execute.getEnvironmentVariables since we are only running on Java 1.5 or higher now
-
- * Added conditional attributes.
-   Bugzilla Report 43362
-
- * Recommending to upgrade jsch to 0.1.50, particularly if you are using Java 1.7.
-   jsch is the library behind the sshexec and scp Ant tasks.
-   Versions of jsch older than 0.1.50 fail randomly under Java 1.7 with an error message "verify: false"
-
-Changes from Ant 1.8.4 TO Ant 1.9.0
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * Ant now requires at least Java 1.5 to compile and to run
-
- * FixCRLF used to treat the EOL value ASIS to convert to the system property
-   line.separator. Specified was that ASIS would leave the EOL characters alone,
-   the task now really leaves the EOL characters alone. This also implies that
-   EOL ASIS will not insert a newline even if fixlast is set to true.
-   Bugzilla report 53036
-
- * The CommandLauncher hierarchy that used to be a set of inner
-   classes of Execute has been extracted to the
-   org.apache.tools.ant.taskdefs.launcher package.
-
- * Any FileResource whose represented File has a parent also has a basedir.
-
- * Removing the Perforce Ant tasks replaced by tasks supplied by Perforce Inc.
-
- * Setting the default encoding of StringResource to UTF-8 instead of null
-
- * Upgrade JUnit 4 to JUnit 4.11
-
-Fixed bugs:
------------
-
- * Made VectorSet faster.
-   Bugzilla Report 53622.
-
- * Incorrect URLs in Ant child POMs.
-   Bugzilla Report 53617.
-
- * Subclasses of JUnitTask did not correctly find junit.jar.
-   Bugzilla Report 53571.
-
- * External XML catalog resolver failed to use project basedir when given an
-   unmentioned relative path like the internal resolver does.
-   Bugzilla Report 52754.
-
- * Fixed some potential stream leaks.
-   Bugzilla Reports 52738, 52740, 52742, 52743.
-
- * Updated documentation to fix spelling errors / broken links.
-   Bugzilla Reports 53215, 53291, 53202
-   
- * Unable to override system properties. It was not possible not to override
-   system properties from the command line (or from a property file).
-   Bugzilla Report 51792
-   
- * <javac> by default fails when run on JDK 8.
-   Bugzilla Report 53347.
-
- * ExtensionPoint doesn't work with nested import/include
-   Bugzilla Report 53405.
-
- * <packagemapper> failed to strip the non-matched parts with
-   handledirsep="true".
-   Bugzilla Report 53399.
-
- * <expandproperties> filter caused a NullPointerException when input
-   was empty.
-   Bugzilla Report 53626.
-
- * <get> now supports HTTP redirects using status code 307.
-   Bugzilla Report 54374.
-
- * ssh tasks prompt for kerberos username/password under Java 7
-   Bugzilla Report 53437.
-
- * Zip task on <mappedresources> that excludes certain files by way of the mapper resulted in a NullPointerException
-   Bugzilla Report 54026
-
- * The ant launcher script should properly detect JAVA_HOME on
-   MacOS X 10.7
-   Bugzilla Report 52632
-
- * Depend task does not handle invokeDynamic constant pool entries - java.lang.ClassFormatError: Invalid Constant Pool entry Type 18
-   Bugzilla Report 54090
-
- * Base64Converter not properly handling bytes with MSB set (not masking byte to int conversion)
-   Bugzilla Report 54460
-
- * The size resource comparator would return wrong results if file
-   sizes differed by more than 2 GB.
-   Bugzilla Report 54623
-
- * Unable to encode properly into UTF-8 when the system property file.encoding is
-   set to ANSI_X3.4-1968.
-   Bugzilla Report 54606
-
- * JUnit4 tests marked @Ignore do not appear in XML output
-   Bugzilla Report 43969
-
-Other changes:
---------------
-
- * merged the ZIP package from Commons Compress, it can now read
-   archives using Zip64 extensions (files and archives bigger that 4GB
-   and with more that 64k entries).
-
- * a new task <commandlauncher> can be used to configure the
-   CommandLauncher used by Ant when forking external programs or new
-   Java VMs.
-   Bugzilla Report 52706.
-
- * merged the TAR package from Commons Compress, it can now read
-   archives using POSIX extension headers and STAR extensions.
-
- * merged the BZIP2 package from Commons Compress, it can now
-   optionally read files that contain multiple streams properly.
-
- * <bunzip2> will now properly expand files created by pbzip2 and
-   similar tools that create files with multiple bzip2 streams.
-
- * <tar> now supports a new "posix" option for longfile-mode which
-   will make it create PAX extension headers for long file names.  PAX
-   extension headers are supported by all modern implementations of
-   tar including GNU tar.
-   This option should now be used in preference to "warn" or "gnu" as
-   it is more portable.  For backwards compatibility reasons "warn"
-   will still create "gnu" extensions rather than "posix" extensions.
-
- * The ProjectHelper class now exposes a method to be used by third party
-   implementations to properly resolve the binding between target extensions
-   and extension points.
-   Bugzilla Report 53549.
-
- * Make extension point bindable to imported prefixed targets
-   Bugzilla Report 53550.
-
- * Add the possibility to register a custom command line argument processor.
-   See org.apache.tools.ant.ArgumentProcessor and manual/argumentprocessor.html
-
- * add the possibility to suppress stdout in the sshexec task.
-   Bugzilla Report 50270.
-
- * add an encoding attribute to the contains selector.
-   This will be useful to use the contains selector if the encoding of the VM is different from the encoding
-   of the files being selected.
-
- * support for GNU Classpath.
-   Bugzilla report 54760.
-
-Changes from Ant 1.8.3 TO Ant 1.8.4
-===================================
-
-Fixed bugs:
------------
-
- * Ported libbzip2's fallback sort algorithm to CBZip2OutputStream to
-   speed up compression in certain edge cases.  Merge from Commons
-   Compress.
-
-   Using specially crafted inputs this can be used as a denial of
-   service attack.
-   See http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2098
-
-Changes from Ant 1.8.2 TO Ant 1.8.3
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * The Enumeration returned by AntClassLoader#getResources used to
-   return null in nextElement after hasNextElement would return false.
-   It has been changed to throw a NoSuchElementException instead so
-   that it now adheres to the contract of java.util.Enumeration.
-   Bugzilla Report 51579.
-
-Fixed bugs:
------------
-
- * Removed buggy duplicate JAR list in RPM mode.
-   Bugzilla Report 52556.
-
- * Launcher fixed to pass the right class loader parent.
-   Bugzilla Report 48633.
-
- * <junitreport> mishandled ${line.separator}.
-   Bugzilla Report 51049.
-
- * <junitreport> did not work in embedded environments on JDK 7.
-   Nor did <xslt> when using Xalan redirects.
-   Bugzilla Report 51668, 52382.
-
- * Encoding of unicode escape sequences by the property file task
-   Bugzilla Report 50515.
-
- * The code that implicitly sets the -source switch if only -target
-   has been specified in <javac> was broken for Java 5 and 6.
-   Bugzilla Report 50578.
-
- * MailLogger ignore the Maillogger.starttls.enable property.
-   Bugzilla Report 50668.
-
- * Delete task example does not work
-   Bugzilla Report 50816.
-
- * <splash>'s proxy handling has been delegated to <setproxy>
-   internally so the two tasks are consistent.  <splash>'s way of not
-   setting a proxy caused problems with other Java libraries.
-   Bugzilla Report 50888.
-
- * Include task breaks dependencies or extension-points for multiple
-   files.
-   Bugzilla Report 50866.
-
- * Read on System.in hangs for forked java task.
-   Bugzilla Report 50960.
-
- * FileResource specified using basedir/name attributes was non-functional.
-
- * Resource collection implementation of mapped PropertySet returned
-   unusable resources.
-
- * The hasmethod condition failed with a NullPointerException when
-   ignoresystemclasses is true and Ant tried to load a "restricted
-   class" - i.e. a class that the Java VM will only accept when loaded
-   via the bootclassloader (a java.* class).
-   It will now fail with a more useful error message.
-   Bugzilla Report 51035.
-
- * Exec task may mix the stderr and stdout output while logging it
-   Bugzilla Report 50507.
-
- * Missing space between "finished" and timestamp in task/target 
-   finish message from ProfileLogger.
-   Bugzilla Report 51109.
-
- * Redirecting the output of a java, exec or apply task could print in the
-   error output stream some "Pipe broken" errors.
-   Bugzilla Report 48789.
-
- * ZipFile failed to clean up some resources which could lead to
-   OutOfMemoryException while unzipping large archives.
-   A similar problem in ZipArchiveOutputStream has been fixed as well.
-   Bugzilla Report 42696.
-
- * quiet attribute added to the copy and move tasks, to be used together
-   with failonerror=false, so warnings won't get logged 
-   Bugzilla Report 48789.
-
- * System.in was closed and not readable anymore by the DefaultInputHandler 
-   when Ant is used via its Java API.
-   Bugzilla Report 51161
-
- * <sync> only supported a single non-fileset resource collection even
-   though the manual said it could be multiple.
-
- * <sync> didn't work properly when working on resource collections.
-   Bugzilla Report 51462.
-
- * <augment> cause a NullPointerException if it was used in a target
-   that was invoked by multiple targets from the command line.
-   Bugzilla Report 50894.
-
- * The ZipFile class could read past the start of the file if the
-   given file is not a ZIP archive and it is smaller than the size of
-   a ZIP "end of central directory record".
-
- * <javac> would create the empty package-info.class file in the wrong
-   directory if no destdir was specified.  Note it may still pick the
-   wrong directory if you specify more than one source directory but
-   no destDir.  It is highly recommended that you always explicitly
-   specify the destDir attribute.
-   Bugzilla Report 51947.
-
- * packagemapper now honors the handleDirSep attribute.
-   Bugzilla Report 51086.
-
- * the attributes of macrodef tasks had their values run through
-   property expansion twice. Still true by default, but can be disabled.
-   Bugzilla Report 42046.
-
- * jvc doesn't like it if source file names in argument files are
-   quoted.
-   Bugzilla Report 31667.
-
- * ZipFile didn't work properly for archives using unicode extra
-   fields rather than UTF-8 filenames and the EFS-Flag.
-
- * Access to DirectoryScanner's default excludes wasn't synchronized.
-   Bugzilla Report 52188.
-
- * When a Project instance was created by a custom tasks its
-   createTask method didn't work.
-   Bugzilla Report 50788.
-
-Other changes:
---------------
-
- * -f/-file/-buildfile accepts a directory containing build.xml.
-
- * The <javacc>, <jjtree> and <jjdoc> now support a new maxmemory
-   attribute.
-   Bugzilla Report 50513.
-
- * the documented inputstring attribute of sshexec has been
-   implemented and the actually existing attribute inputproperty
-   documented.
-   Bugzilla Report 50576.
-
- * The concat task now permits the name of its exposed resource
-   by means of its 'resourcename' attribute.
-
- * The expandproperties filter now accepts a nested propertyset
-   which, if specified, provides the properties for expansion.
-   Bugzilla Report 51044.
-
- * <junit filtertrace="true"/> will no longer filter out the very
-   first line of the stacktrace containing the original exception
-   message even if it matches one of the filter expressions.
-
- * Upgraded to Apache AntUnit 1.2
-
- * Provide read access to Mkdir.dir.  Bugzilla Report 51684.
-
- * <delete> and <move> have a new attribute performGCOnFailedDelete
-   that may - when set to true - help resolve some problems with
-   deleting empty directories on NFS shares.
-   Bugzilla Report 45786.
-
- * <loadfile> and <loadresource> used to log at level INFO to signal a
-   property hasn't been set when the resource was empty even if the
-   quiet attribute was set to true.  They will now use VERBOSE
-   instead.
-   Bugzilla Report 52107.
-
- * <javac> has a new attribute createMissingPackageInfoClass that can
-   be set to false to prevent Ant from creating empty dummy classes
-   used for up-to-date-ness checks.
-   Bugzilla Report 52096.
-
- * URLResources#isExists has become less noisy.
-   Bugzilla Report 51829.
-
- * The <retry> task has a new optional attribute retryDelay that can
-   be used to make the task sleep between retry attempts.
-   Bugzilla Report 52076.
-
- * <signjar> has new attributes that control the signature and digest
-   algorithms.
-   Bugzilla Report 52344.
-
- * Initial support for Java 8.
-
- * <sshexec> can optionally create a pseudo terminal (like ssh -t)
-   Bugzilla Report 52554.
-
-Changes from Ant 1.8.1 TO Ant 1.8.2
-===================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * Prior to Ant 1.8.0 the <copy> task and several other tasks would
-   overwrite read-only destination files.  Starting with 1.8.0 they
-   would only do so under special circumstances.  Ant 1.8.2 now
-   consistently won't replace a read-only file by default. The same is
-   true for a number of other tasks.
-   The <copy>, <move> and <echo> tasks now have a new force attribute
-   and <concat> has a new forceReadonly attribute that can be used to
-   make the task overwrite read-only destinations.
-   Bugzilla Report 49261.
-
- * Removed ant-nodeps.jar; it is now merged into ant.jar.
-
- * DOMElementWriter#encode used to employ special code before encoding
-   ampersands so that { remained { rather than being turned
-   into {.  This is no longer the case, ampersands will now
-   be encoded unconditionally.
-   Also DOMElementWriter#encodeData will treat CDATA sections containing a
-   literal "]]>" sequence different now - it will split the CDATA
-   section between the second "]" and ">" and create two sections.
-   This affects <echoxml> task as well as the XML logger or JUnit
-   formatter where ampersands will now always get encoded.
-   In addition DOMElementWriter will now replace the characters \t, \r
-   and \n in attribute values by entity references.
-   Bugzilla Report 49404.
-
- * The list elements returned by ProjectHelper#getExtensionStack are
-   now String arrays of length 3 rather than 2 in order to support the
-   onMissingExtensionPoint attribute.
-   Bugzilla Report 49473.
-
- * When using <property file="..." prefix="..."/> properties defined
-   inside the same file will only get used in expansions if the ${}
-   reference uses the same prefix.  This is different from Ant 1.8.1
-   but is the same behavior Ant 1.8.0 and earlier exhibited.
-   A new attribute prefixValues can be used to re-enable the behavior
-   of Ant 1.8.1.
-   Bugzilla Report 49373.
-
- * The files and directories used by Git, Mercurial and Bazaar to
-   store their information are now excluded by the defaultexcludes.
-   Bugzilla Report 49624.
-
- * The <junit> task no longer generates TestListener events - which
-   have been introduced in ant 1.7.0 - by default.  The task has a new
-   attribute enableTestListenerEvents and a new "magic" property
-   ant.junit.enabletestlistenerevents has been added that can be used
-   to reinstate the old behavior.
-
-Fixed bugs:
------------
-
- * hostinfo now prefers addresses with a hostname over addresses without 
-   a hostname, provided the addresses have the same scope.
-   For local lookup, no IP address will be put in NAME / DOMAIN anymore.
-   For remote lookup, if a host name was provided and only an IP address is 
-   found, the IP address will no longer overwrite the host name provided to the
-   task.
-   Bugzilla Report 49513
-
- * mmap-based file copy problems under JDK 1.4 on Linux.
-   Bugzilla Report 49430.
-
- * The Sun JVM tries to mmap the entire file during a copy. 
-   For large files this is not feasible. 
-   We now explicitly request to copy at most 16 MiB per request.
-   Bugzilla Report 49326.
-
- * DemuxInputStream.read() should return unsigned values
-   Bugzilla Report 49279.
-
- * The MIME mailer ignored the port parameter when using SSL.
-   Bugzilla Report 49267.
-
- * <xslt> ignored the classpath when using the default TraX processor.
-   Bugzilla Report 49271.
-
- * <checksum>'s totalproperty only worked reliably if the same file
-   name didn't occur inside more than one directory.
-   Bugzilla Report 36748.
-
- * <ftp> could fail to download files from remote subdirectories under
-   certain circumstances.
-   Bugzilla Report 49296.
-
- * <junit> will now produce better diagnostics when it fails to delete
-   a temporary file.
-   Bugzilla Report 49419.
-
- * Ant would often scan directories even though there were known to
-   only hold excluded files when evaluating filesets.  This never
-   resulted in wrong results but degraded performance of the scan
-   itself.
-   Bugzilla Report 49420.
-
- * <javac> failed for long command lines on OS/2.
-   Bugzilla Report 49425.
-
- * <junitreport> did not handle encodings well for stdout/stderr.
-   Bugzilla Report 49418.
-
- * <junit> could issue a warning about multiple versions of Ant on the
-   CLASSPATH if two CLASSPATH entries differed in case on a
-   case-insensitive file system.
-   Bugzilla Report 49041.
-
- * The <restrict> resource collection was checking every resource even if
-   we actually just want the first one, like in the example of use of
-   resourcelist in the documentation (getting the first available resource
-   from a mirror list).
-
- * A race condition could lead to build failures if multiple <mkdir>
-   tasks were trying to create the same directory.
-   Bugzilla Report 49572.
-
- * the toString() method of the Resources class - and thus any
-   ${toString:} expansion of a reference to a <resources> element -
-   didn't iterate over its nested elements if it hadn't done so prior
-   to the toString invocation already.
-   Bugzilla Report 49588.
-
- * <apply> in parallel mode didn't work together with a nested
-   <redirector> if maxparallel was <= 0 (the default) or no source
-   files matched.
-   Bugzilla Report 49594.
-
- * <jar filesetmanifest="merge"> didn't work for manifests added via
-   <zipfileset>s that used the prefix or fullpath attributes.
-   Bugzilla Report 49605.
-
- * <tempfile createfile="true"> would cause an error unless the prefix
-   attribute has been specified.
-   Bugzilla Report 49755.
-
- * If forked, after finished <java> was still reading the input stream
-   for a bunch of characters, then stealing them from a following <input>.
-   Bugzilla Report 49119.
-
- * Ant could be leaking threads for each forked process (started by
-   <exec>, <apply>, <java> or similar tasks) that didn't receive input
-   from a resource or string explicitly.
-   Bugzilla Report 49587.
-
- * Project#setDefault threw an exception when null was passed in as
-   argument, even though the Javadoc says null is a valid value.
-   Bugzilla Report 49803.
-
- * runant.py would swallow the first argument if CLASSPATH wasn't set.
-   Bugzilla Report 49963.
-
- * <taskdef> failed to load resources from jar files contained in a
-   directory that has a "!" in its name.
-   Bugzilla Report 50007.
-
- * ant.bat exit strategy improvements and issues
-   make the exit codes work in environments where 4NT or MKS are installed
-   Bugzilla Report 41039.
-
- * <signjar> would fail if used via its Java API and the File passed
-   into the setJar method was not "normalized" (i.e. contained ".."
-   segments).
-   Bugzilla Report 50081.
-
- * <delete> ignored <fileset>'s errorOnMissingDir attribute
-   Bugzilla Report 50124.
-
- * <symlink> failed to close files when reading a list of symbolic
-   links from a properties file.
-   Bugzilla Report 50136.
-
- * <parallel> could allow tasks to start executing even if a task
-   scheduled to run before them timed out.
-   Bugzilla Report 49527.
-
- * If a <junit> batch with multiple tests times out Ant logs a message
-   about a test named Batch-With-Multiple-Tests since 1.8.0 but the
-   logic that determined the Java package of this pseudo-test has been
-   wrong.
-   Bugzilla Report 45227.
-
- * <propertyfile> didn't preserve the original linefeed style when
-   updating a file.
-   Bugzilla Report 50049.
-
- * <zip>'s whenEmpty behavior never consulted the non-fileset
-   resources so the task could fail even though resources have been
-   provided using non-fileset resource collections.
-   Bugzilla Issue 50115.
-
-*  ftp chmod could throw a NPE.
-   Bugzilla report 50217.
-
-*  The project help (-p option in the command line) will now print
-   the dependencies of the targets in debug mode (-d on the command
-   line)
-
-Other changes:
---------------
-
- * <concat>'s force attribute has been deprecated in favor of a new
-   overwrite attribute that is consistent with <copy>'s attribute
-   names.
-
- * You can now specify a list of methods to run in a JUnit test case.
-   Bugzilla Report 34748.
-
- * properties in files read because of the -propertyfile command line
-   option will now get resolved against other properties that are
-   defined before the project starts executing (those from the same or
-   earlier -propertfiles or defined via the -D option).
-   Bugzilla Report 18732.
-
- * <pathelement>s can now contain wildcards in order to use wildcard
-   CLASSPATH entries introduced with Java6.
-   The wildcards are not expanded or even evaluated by Ant and will be
-   used literally.  The resulting path may be unusable as a CLASSPATH
-   for Java versions prior to Java6 and likely doesn't mean anything
-   when used in any other way than a CLASSPATH for a forked Java VM. 
-   Bugzilla Report 46842.
-
- * A new attribute allows targets to deal with nonexistent extension
-   points, i.e. they can extend an extension-point if it has been
-   defined or silently work as plain targets if it hasn't.  This is
-   useful for targets that get included/imported in different
-   scenarios where a given extension-point may or may not exist.
-   Bugzilla Report 49473.
-
- * Ant now logs a warning message if it fails to change the file
-   modification time in for example when using <touch> or preserving
-   timestamps in various tasks.
-   Bugzilla Report 49485.
-
- * ProjectHelpers can now be installed dynamically via the <projecthelper>
-   Ant task.
-
- * <import> is now able to switch to the proper ProjectHelper to parse
-   the imported resource. This means that several kinds of different build
-   files can import each other.
-
- * <copy tofile=""> now also works for non-filesystem resources.
-   Bugzilla Report 49756.
-
- * The <linecontainsregexp> filter now supports a casesensitive
-   attribute.
-
- * The <containsregexp> selector now supports casesensitive, multiline
-   and singleline attributes.
-   Bugzilla Report 49764.
-
- * A new <cutdirsmapper> can be used like wget's --cut-dirs option to
-   strip leading directories from file names.
-
- * <javah> now supports the GNU project's gcjh compiler.
-   Bugzilla Report 50149.
-
- * <checksum> supports additional views of a file's path as elements
-   for a custom pattern.
-   Bugzilla Report 50114.
-
- * JUnit XMLResultAggregator logs the stack trace of caught IO exceptions
-   in verbose runs.
-   Bugzilla Report 48836.
-
- * StringUtils.parseHumanSizes() should turn parse failures into
-   BuildExceptions.
-   Bugzilla Report 48835.
-
- * New task <bindtargets> to make a list of targets bound to some
-   specified extension point.
-
- * Initial support for OpenJDK7 has been added.
-
- * Ant now uses java.net.CookieStore rather than
-   java.util.ServiceLocator to detect whether the environment is a
-   Java 1.6 system.  This means releases of gcj/gij at the time of
-   this release of Ant are detected as Java 1.5 and not 1.6.
-   Bugzilla Report 50256.
-
- * It is now possible to write a compiler adapter for <javac> that
-   compiles sources with extensions other than .java (but that still
-   compile to .class files).
-   Bugzilla Report 48829.
-
- * The performance of VectorSet#add(Object) has been improved which
-   should also benefit any operation that scans directories in Ant.
-   Bugzilla Report 50200.
-
-Changes from Ant 1.8.0 TO Ant 1.8.1 
-===================================
-
-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 <ear> 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 <concat>'s first resourcecollection child is a <resources>,
-   any subsequently added child resourcecollection joins the first.
-   Bugzilla Report 48816.
-
- * <get> 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
-
- * <rmic>'s sourcebase attribute was broken.
-   Bugzilla Report 48970
-
- * <copy>'s failonerror didn't work as expected when copying a single
-   element resource collection to a file.
-   Bugzilla Report 49070
-
- * <get> 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
-
- * <jar filesetmanifest="merge"> was broken on Windows.
-   Bugzilla Report 49090
-
- * <symlink> delete failed if the link attribute was a relative path
-   to a link inside the current directory without a leading ".".
-   Bugzilla Report 49137
-
- * <telnet> and <rexec> 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 <zip> 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
-
- * <junit> 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 <exec> 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.
-
- * <mappedresources> supports new attributes enablemultiplemappings
-   and cache.
-
- * Added the augment task to manipulate existing references via Ant's basic
-   introspection mechanisms.
-
-Changes from Ant 1.8.0RC1 TO Ant 1.8.0
-======================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * the appendtolines filter has been renamed to suffixlines.
-
-Fixed bugs:
------------
-
- * stack traces were not reported at all by <junit/>
-   when filtertrace="on", which is the default.
-
- * ant.bat can now also process the -noclasspath switch when it is 
-   the first switch on a command line.
-   Bugzilla Report 48186.
-
- * <fixcrlf> now tries to delete the created temporary files earlier.
-   Bugzilla Report 48506.
-
- * the implementation of <zip> had been changed in a way that broke
-   the jarjar links task and protentially other third-party subclasses
-   as well.
-   Bugzilla Report 48541.
-
- * <scp> task didn't report build file location when a remote operation failed
-   Bugzilla Report 48578.
-
- * <propertyfile> would add the same comment and a date line each time
-   it updated an existing property file.
-   Bugzilla Report 48558.
-
- * <sound> didn't work properly in recent Java VMs.
-   Bugzilla Report 48637.
-
-Other changes:
---------------
-
-Changes from Ant 1.7.1 TO Ant 1.8.0RC1
-======================================
-
-Changes that could break older environments:
--------------------------------------------
-
- * if and unless attributes (on <target> as well as various tasks and other
-   elements) have long permitted ${property} interpolation. Now, if the result
-   evaluates to "true" or "false" (or "yes", "no", "on", "off"), that boolean
-   value will be used; otherwise the traditional behavior of treating the value
-   as a property name (defined ~ true, undefined ~ false) is used. Existing
-   scripts could be broken if they perversely defined a property named "false"
-   and expected if="false" to be true, or used if="true" expecting this to be
-   triggered only if a property named "true" were defined.
-
- * Ant now requires Java 1.4 or later.
-
- * Improved handling of InterruptException (lets suppose someone/thing
-   is trying to kill the thread when we receive an
-   InterruptException), when an InterruptException is received, we do
-   not wait anymore in a while loop till the end time has been
-   reached.
-   Bugzilla Report 42924.
-
- * Refactor PropertyHelper and introspection APIs to make extension
-   more granular and support setting task/type attribute values to
-   objects decoded by custom PropertyEvaluator delegates. Also add
-   <propertyhelper> task for registering delegates and/or replacing
-   the registered PropertyHelper instance.
-   Bugzilla Report 42736.
-
- * Added a restricted form of typedef called <componentdef>. This
-   allows definition of elements that can only be within tasks or
-   types. This method is now used to define conditions, selectors,
-   comparators and filterreaders. This means that tasks may now have
-   nested conditions just by implementing the Condition interface,
-   rather than extending ConditionBase. It also means that the use of
-   namespaces for some of the selectors introduced in Ant 1.7.0 is no
-   longer necessary.  Implementing this means that the DynamicElement
-   work-around introduced in Ant 1.7.0 has been removed.
-   Bugzilla Report 40511.
-
- * In the <touch> task when a <mapper> is used, the millis and
-   datetime attributes now override the time of the source resource if
-   provisioned.
-   Bugzilla Report 43235.
-
- * Remove fall-back mechanism for references that are not resolved
-   during normal runtime execution.
-
- * FileUtils.createTempFile now actually creates the file.
-   The TempFile task still does not create the file by default, can be
-   instructed to do so however using a new parameter.
-   Bugzilla Report 33969.
-
- * A lock in Project ensured that a BuildListener's messageLogged
-   method was only ever executed by a single thread at a time, while
-   all other methods could be invoked by multiple threads
-   simultaniously (while within <parallel>, for example).  This lock
-   is no longer in place, messageLogged should be made thread-safe
-   now.
-
- * <sql>'s onError="stop" no longer fails the build if an error
-   occurs,  this is the main difference between stop and error and
-   matches what the documentation implied.
-   Bugzilla Report 24668.
-
- * Ant's configuration introspection mechanisms have been modified to prefer
-   Resource and FileProvider attributes to plain java.io.File attributes;
-   however the configuration-from-String behavior remains equivalent, rendering
-   a FileResource.
-
- * CBZip2InputStream will now throw an IOException if
-   passed in a null or empty InputStream to read from.
-   Bugzilla Reports 32200.
-
- * <unzip> will now fail when trying to extract certain broken
-   archives that would have been silently ignored in earlier version.
-   Bugzilla Report 35000.
-
- * Ant's <zip> family of tasks tries to preserve the existing Unix
-   permissions when updating archives or copying entries from one
-   archive to another.
-   Since not all archiving tools support storing Unix permissions in
-   the same way that is used by Ant, sometimes the permissions read by
-   Ant seem to be 0, which means nobody is allowed to do anything to
-   the file or directory.
-   If Ant now encounters a permission set of 0 it will assume that
-   this is not the intended value and instead apply its own default
-   values.  Ant used to create entries with 0 permissions itself.
-   The <zip> family of tasks has a new attribute preserve0permissions
-   that can be set to restore the old behavior.
-   Bugzilla Report 42122.
-
- * If a batch containing multiple JUnit tests running inside a forked
-   Java VM caused the VM to crash (or caused a timeout), the
-   formatters would receive an error message for the last test in the
-   batch.
-   Ant will now pass in a test with the name "Batch-With-Multiple-Tests"
-   instead - this is supposed to show more clearly that the last test
-   may not have started at all.
-   Bugzilla Report 45227.
-
- * If the number of minutes a build takes is bigger then 1000 Ant will
-   no longer print a thousands separator in the "elapsed time"
-   message.  It used to be the thousands separator of the current
-   locale.
-   Bugzilla Report 44659.
-
- * <symlink action="delete"> used to fail if the link was broken (i.e.
-   pointing to a file or directory that no longer existed).  It will now
-   silently try to remove the link.
-   Bugzilla Report 41285.
-
- * <delete file="..."> used to log a warning and not delete broken
-   symbolic links.  <delete dir="..."/> didn't even log a warning.
-   The task will now try to delete them in both cases.
-   Bugzilla Report 41285.
-
- * if the dir attribute of a <fileset> points to a symbolic link and
-   followsymlinks is set to false, the fileset will no longer be
-   scanned and always seem empty.
-   Bugzilla Report 45741.
-
- * the .NET tasks that have been deprecated since Ant 1.7.0 have been
-   removed, please use the stand-alone Antlib you can find at
-   http://ant.apache.org/antlibs/dotnet/index.html
-   instead.
-
- * the logic of closing streams connected to forked processes (read
-   the input and output of <exec> and friends) has been changed to
-   deal with cases where child processes of the forked processes live
-   longer than their parents and keep Ant from exiting.
-   It is unlikely but possible that the changed logic breaks stream
-   handling on certain Java VMs.
-   Bugzilla issue 5003.
-
- * <checksum>'s totalproperty was platform dependent because it relied
-   on java.io.File#compareTo.  It has now been made platform
-   independent, which means that totalPropery values obtained on
-   Windows (and other systems where the sort order of File is not case
-   sensitive) can be different from the values obtained with earlier
-   versions of Ant.
-   Bugzilla Report 36748.
-
- * globmapper didn't work properly if the "to" or "from" patterns
-   didn't contain a "*".  In particular it implicitly added a * to the
-   end of the pattern(s).  This is no longer the case.  If you relied
-   on this behavior you will now need to explicitly specify the
-   trailing "*".
-   Bugzilla Report 46506.
-
- * <copy> silently ignored missing resources even with
-   failOnError="true".  If your build tries to copy non-existent
-   resources and you relied on this behavior you must now explicitly
-   set failOnError to false.
-   Bugzilla Report 47362.
-
- * Ant now prefers the java.runtime.version system property over
-   java.vm.version for the Created-By Manifest attribute.
-   Bugzilla Report 47632.
-
- * The <image> task now supports a nested mapper.  In order to
-   implement this, the Java API of the task had to change so any
-   custom subclass overriding the processFile method will need to
-   adapt (by overriding the new two-arg processFile method).
-   Bugzilla Report 23243.
-
- * A new property syntax can be used to set attributes from
-   references: ${ant.ref:some-reference}
-
-   In most cases this will yield the exact same result as 
-   ${toString:some-reference} - only when an attribute setter method
-   accepts an object type other than string and the project's
-   reference is an Object of matching type the new syntax will pass in
-   that object.
-
-   If your build file already contains properties whose name starts
-   with "ant.ref:" there is a potential for collision.  If your
-   property has been set, normal property expansion will take
-   precedence over the new syntax.  If the property has not been set
-   and a reference with the postfix of your property name exists
-   (i.e. in a very unlikely event) then the new syntax would yield a
-   different result (an expanded property) than Ant 1.7.1 did.
-
- * A ProjectHelper implementation can now provide the default build file
-   name it is expecting, and can specify if they can support a specific build
-   file. So Ant is now capable of supporting several ProjectHelper
-   implementations, deciding on which to use depending of the input build file.
-
- * Mapper-aware selectors (depends, different, present) now accept typedef'd
-   FileNameMappers.
-
-Fixed bugs:
------------
-
- * The default logger was failing to print complete stack traces for
-   exceptions other than BuildException when inside <ant> or
-   <antcall>, thus omitting often important diagnostic
-   information.
-   Bugzilla 43398 (continued).
-
- * Better handling of package-info.class.
-   Bugzilla Report 43114.
-
- * RPM task needed an inserted space between the define and the value.
-   Bugzilla Report 46659.
-
- * Got rid of deadlock between in, out and err in the Redirector. 
-   Bugzilla Report 44544.
-
- * Caused by AssertionError no longer filtered.
-   Bugzilla Report 45631.
- 
- * <zip> would sometimes recreate JARs unnecessarily.
-   Bugzilla Report 45902.
-
- * <symlink> task couldn't overwrite existing symlinks that pointed to
-   nonexistent files
-   Bugzilla Report 38199.
-
- * <symlink> task couldn't overwrite files that were in the way of the symlink.
-   Bugzilla Report 43426.
-
- * <symlink> task failonerror="false" does not stop build from failing
-   when 'ln' command returns non-zero.
-   Bugzilla Report 43624
-
- * <touch> task couldn't differentiate between "no resources
-   specified" and "no resources matched."
-   Bugzilla Report 43799.
-
- * ManifestClassPath failed when a relative path would traverse the
-   file system root.
-   Bugzilla Report 44499.
-
- * <globmapper> had an indexoutofbounds when the prefix and postfix
-   overlapped.
-   Bugzilla Report 44731.
-
- * <typedef> and <taskdef> failed to accept file names with #
-   characters in them.
-   Bugzilla Report 45190
-
- * A deadlock could occur if a BuildListener tried to access an Ant property
-   within messageLogged while a different thread also accessed one.
-   Bugzilla Report 45194
-
- * Handle null result of system getProperty() in CommandlineJava.
-   Similar to Bugzilla Report 42334.
-
- * Length task did not process nonexistent Resources even though these might
-   conceivably still carry file length information.
-   Bugzilla Report 45271.
-
- * <javac>'s includeJavaRuntime="false" should work for gcj now.  Note
-   that you may need to set includeAntRuntime to false in order to
-   have full control.
-   Bugzilla Report 34638.
-
- * <sql> would fail if the executed statement didn't return a result
-   set with some JDBC driver that dissalow Statement.getResultSet to
-   be called in such a situation.
-   Bugzilla Report 36265 
-
- * if the executed statement in <sql> returned a result set and an
-   update count, the count would be lost.
-
- * if an executed statement in <sql> mixes update count and result set
-   parts, some result sets wouldn't get printed.
-   Bugzilla Report 32168.
-
- * XmlLogger could lose messages if <parallel> is used.
-   Bugzilla Report 25734.
-
- * <scp> creates remoteToDir if it doesn't exist.
-   Bugzilla Report 42781
-
- * CBZip2OutputStream threw an exception if it was closed prior to
-   writing anything.
-   Bugzilla Reports 32200, 45836
-
- * The IPlanetDeploymentTool didn't use the configured DTD locations.
-   Bugzilla Report 31876.
-
- * The ant shell script printed a warning under Cygwin if JAVA_HOME
-   was not set.
-   Bugzilla Report 45245.
-
- * <filterset> sometimes incorrectly flagged infinite recursions of
-   filter tokens
-   Bugzilla Report 44226.
-
- * failures were treated as errors in forked JUnit tests when JUnit 4
-   was used.
-   Bugzilla Report 43892.
-
- * <jar> and <manifest> disallowed manifest attributes whose name
-   contained the character '8'.
-   Bugzilla Report 45675.
-
- * BigProjectLogger would set the project's basedir to the current
-   working directory.
-   Bugzilla Report 45607.
-
- * only <formatter>s that logged to a file were notified if forked VM
-   crashed or a timeout occurred in <junit>.
-   Bugzilla Report 37312.
-
- * ant -v -version would print the version information twice.
-   Bugzilla Report 45695.
-
- * when nested into builds that have been invoked by <ant> tasks
-   <subant> might set the wrong basedir on the called projects.
-   Bugzilla Report 30569.
-
- * If the message of the failed assertion of a forked JUnit test
-   contained line feeds some excess output ended up in Ant's log.
-   Bugzilla Report 45411.
-
- * <symlink action="delete"> failed to delete a link that pointed to
-   a parent directory.
-   Bugzilla Report 45743.
-
- * <symlink action="delete"> failed if ant lacked permission to rename
-   the link's target.
-   Bugzilla Report 41525.
-
- * when checking whether a jar is signed, <signjar> ignored the
-   sigfile attribute.
-   Bugzilla Report 44805.
-
- * When using JavaMail all <mail> tasks used the same mail host
-   regardless of their configuration.
-   Bugzilla Report 37970.
-
- * <signjar> and <issigned> didn't handle aliases with characters other
-   than numbers, letters, hyphen or underscore properly.
-   Bugzilla Report 45820.
-
- * <filterset> could miss multi-character begin tokens in some cases.
-   Bugzilla Report 45094.
-
- * <depend> didn't close JARs that were part of the classpath.
-   Bugzilla Report 45955.
-
- * in some cases <depend> would delete class files even if it didn't
-   find the corresponding source files.
-   Bugzilla Report 45916.
-
- * <javadoc> failed if the nested <bottom> or <head> contained line
-   breaks.
-   Bugzilla Report 43342.
-
- * encoding="auto" has been broken in <mail> since Ant 1.7.0 and only
-   worked if JavaMail was available.
-   Bugzilla Report 42389.
-
- * MailLogger could cause a NullPointerException.
-   Bugzilla Report 44009.
-
- * <junit> didn't recognize failed assertions as failures if they
-   caused subclasses of AssertionError to be thrown (like
-   org.junit.ComparisonFailure that is thrown when assertEquals
-   fails).
-   Bugzilla Report 45028.
-
- * the Unix "ant" wrapper script failed to protect wildcards in
-   command line arguments in some cases.
-   Bugzilla Report 31601.
-
- * <cvstagdiff> crippled file names and could miss some entries if
-   multiple modules have been specified.
-   Bugzilla Report 35301.
-
- * Tasks with a "public void add(SomeType)" method failed to work as
-   TaskContainers at the same time.
-   Bugzilla Report 41647.
-
- * Tasks that implementes DynamicElemen or DynamicElementNS failed to
-   work as TaskContainers at the same time.
-   Bugzilla Report 41647.
-
- * combining SSL and authentication in <mail> and MailLogger failed in
-   some setups.
-   Bugzilla Report 46063.
-
- * if an error occurs while logging the buildFinished event, the
-   original error is now logged to System.err.
-   Bugzilla Report 25086.
-
- * <copy> failed with a NullPointerException when copying a resource
-   without a name.  It will now fail with a meaningful error message.
-   Bugzilla Report 39960.
-
- * <xslt> now uses the configured classpath to load the factory (when
-   using TraX) before falling back to Ant's own classpath.
-   Bugzilla Report 46172.
-
- * <dependset> complained about files being modified in the future if
-   they had been just very recently (within Ant's assumed granularity
-   of the file system).
-   Bugzilla Report 43665.
-
- * <sshexec> didn't store the output in outputproperty if the remote
-   command failed.
-   Bugzilla Report 46340.
-
- * DirectoryScanner's slow-scanning algorithm that is used when you
-   ask for excluded or not-included files and/or directories could
-   miss some files and directories in the presence of recursive
-   exclude patterns.
-
- * <sort> resource collection kept only one of entries deemed equal by
-   the chosen Comparator.
-   Bugzilla Report 46527.
-
- * the ZipFile class used by <unzip> and others could leave the
-   archive open (making it undeletable on Windows as long as the java
-   VM was running) for files with an unexpected internal structure.
-   Bugzilla Report 46559.
-
- * The zip package now supports the extra fields invented by InfoZIP
-   in order to store Unicode file names and comments.
-
- * The zip package detects the encoding bit set by more modern
-   archivers when they write UTF-8 filenames and optionally sets it
-   when writing zips or jars.
-   Bugzilla Report 45548
-
- * <sync> could run into a NullPointerException when faced with broken
-   symbolic links.
-   Bugzilla Report 46747.
-
- * The ant shell script should now support MSYS/MinGW as well.
-   Bugzilla Report 46936.
-
- * <signjar> has a new force attribute that allows re-signing of jars
-   that are already signed.
-   Bugzilla Report 46891.
-
- * <sshexec> now again honors failonerror in the face of connection
-   errors.
-   Bugzilla Report 46829.
-
- * The <replacetokens> filter threw an exception if the stream to
-   filter ended with a begin token.
-   Bugzilla Report 47306.
-
- * <scriptmapper>, <scriptfilter> and <scriptcondition> didn't support
-   the setbeans attribute.
-   Bugzilla Report 47336.
-
- * <loadproperties>' encoding attribute didn't work.
-   Bugzilla Report 47382.
-
- * Ant created tar archives could contain random bytes at the end
-   which confused some untar implementations.
-   Bugzilla Report 47421.
-
- * various places where unchecked PrintWriters could hide exceptions
-   have been revisited to now check the error status or not use a
-   PrintWriter at all.
-   Bugzilla Report 43537.
-
- * filesetmanifest="mergewithoutmain" in <jar> didn't treat inline
-   manifests as expected.
-   Bugzilla Report 29731.
-
- * <record> didn't work properly with nested builds.
-   Bugzilla Report 41368. 
-
- * <jar> with filesetmanifest different from skip didn't work if the
-   update attribute has been set to true.
-   Bugzilla Report 30751.
-
- * The default stylesheets for <junitreport> failed to properly escape
-   XML content in exception stack traces.
-   Bugzilla Report 39492.
-
- * AntClassLoader didn't set the proper CodeSource for loaded classes.
-   Bugzilla Report 20174.
-
- * AntClassLoader.getResourceAsStream would return streams to
-   resources it didn't return with getResource and to classes it
-   failed to load.
-   Bugzilla Report 44103.
-
- * Logging exceptions without a message would cause a
-   NullPointerException.
-   Bugzilla Report 47623.
-
- * WeblogicDeploymentTool could fail on platforms with a file
-   separator other than "/".
-   Bugzilla Report 35649.
-
- * The update attribute of the modified selector was ignored.
-   Bugzilla Report 32597.
-
- * <manifest> and <jar> can now merge Class-Path attributes from
-   multiple sources and optionally flatten them into a single
-   attribute.
-   The default behaviour still is to keep multiple Class-Path
-   attributes if they have been specified and to only include the
-   attributes of the last merged manifest.
-   Bugzilla Report 39655.
-
- * <delete> didn't work correctly with a <modified> selector because
-   it was scanning the same filesets more than once.
-   Bugzilla Report 43574.
-
- * when using custom filterreaders with the <filterreader classname="">
-   syntax Ant could leak memory.
-   The problem didn't occur when using <typedef> or <componentdef> to
-   define the filterreader which is the recommended approach.
-   Bugzilla Report 45439.
-
- * Ant didn't set the proper "magic" value for tar entries containing
-   long file names in GNU longfile mode.
-   Bugzilla Report 47653.
-
- * The tar task failed to recognize that the archive had to be
-   (re-)created in some cases where the sources are filesystem based
-   resources but not filesets.
-   Bugzilla Report 48035. 
-
- * <sshexec>'s outputproperty was prefixed by the executed command
-   when the command attribute has been used, breaking backwards
-   compatibility to Ant 1.7.0.
-   Bugzilla Report 48040.
-
- * different task instances of the same <scriptdef>ed tasks could
-   overwrite each others attributes/nested elements.
-   Bugzilla Report 41602.
-
- * The Hashvalue algortihm implementation of the modified task could
-   fail to read the file(s) completely.
-   Bugzilla Report 48313.
-
-Other changes:
---------------
-
- * The get task now also follows redirects from http to https
-   Bugzilla Report 47433
-
- * A HostInfo task was added performing information on hosts, including info on 
-   the host ant is running on. 
-   Bugzilla Reports 45861 and 31164.
-
- * There is now a FileProvider interface for resources that act as a source
-   of filenames. This should be used by tasks that require resources
-   to provide filenames, rather than require that all resources
-   are instances or subclasses of FileResource.
-   Bugzilla Report 43348
-
- * There is now a URLProvider interface for resources that act as a
-   source of URLs. This should be used by tasks that require resources
-   to provide URLs, rather than require that all resources are
-   instances or subclasses of URLResource.
-
- * Fixcrlf now gives better error messages on bad directory attributes.
-   Bugzilla Report 43936
-
- * a new property ant.project.default-target holds the value of the
-   current <project>'s default attribute.
-
- * a new property ant.project.invoked-targets holds a comma separated
-   list of the targets that have been specified on the command line
-   (the IDE, an <ant> task ...) when invoking the current project.
-
- * The <type> resource selector has had an "any" type added for better
-   configurability.
-
- * Ant should detect the OS as both a Mac and a Unix system when
-   running on OpenJDK.
-   Bugzilla Report 44889.
-
- * new protected getConnection and getStatement methods allow
-   subclasses of SQLExec more control - or access to the cached
-   instances when overriding other methods like runStatements.
-   Bugzilla Report 27178.
-
- * <sql> has a new failOnConnectionError attribute that can be used to
-   keep a build going even if the task failed to connect to the
-   database.
-   Bugzilla Report 36712.
-
- * A new attribute strictDelimiterMatching can be used to ignore case
-   or whitespace differences when <sql> searches for delimiters.
-   This is useful if you execute a SQL script that has contains "GO"
-   and "go" as delimiters.
-   Bugzilla Report 26459.
-
- * A new showWarnings attribute of <sql> allows warnings to be logged.
-   Bugzilla Report 41836.
-
- * A new treatWarningsAsErrors attribute of <sql> can be used to fail
-   a build if a warning occurs.
-   Bugzilla Report 41836.
-
- * Ant now supports scoped properties (see Local task).
-   Bugzilla Report 23942.
-
- * <sql>'s CSV output can be controlled via the new attributes
-   csvColumnSeparator and csvQuoteCharacter.
-   Bugzilla Report 35627.
-
- * <ftp>'s logging has been improved.
-   Bugzilla Reports 30932, 31743.
-
- * It is now possible to disable <ftp>'s remote verification.
-   Bugzilla Report 35471.
-
- * <sshexec> now supports input in a way similar to <exec>
-   Bugzilla Report 39197.
-
- * <scp> can now preserve the file modification time when downloading
-   files.
-   Bugzilla Report 33939.
-
- * the new task sshsession can run multiple tasks in the presence of
-   an SSH session providing (local and remote) tunnels.
-   Bugzilla Report 43083.
-
- * ZipOutputStream has been sped up for certain usage scenarios that
-   are not used by Ant's family of zip tasks.
-   Bugzilla Report 45396.
-
- * <echo> supports an "output" Resource attribute as an alternative to "file".
-
- * <sql> "output" attribute now supports any Resource in addition to a file.
-
- * <scp> no longer requires a passphrase when using key based
-   authentication.
-   Bugzilla Report 33718.
-
- * a new failOnEmptyArchive attribute on <unzip> and <untar> can now
-   make the task fail the build if it tries to extract an empty
-   archive.
-
- * <unzip> and <untar> have a new attribute stripAbsolutePathSpec.
-   When set to true, Ant will remove any leading path separator from
-   the archived entry's name before extracting it (making the name a
-   relative file name).
-   Bugzilla Report 28911.
-
- * <unzip> will now detect that it was asked to extract a file that is
-   not an archive earlier if the file is big.
-   Bugzilla Report 45463.
-
- * New file and resource selectors <readable/> and <writable/> have
-   been added that select file which the current process can read or
-   write.
-   Bugzilla Report 45081.
-
- * The filename file selector has a new attribute regex that allows
-   files to be selected by matching their names against a regular
-   expression.
-   Bugzilla Report 45284
-
- * The name resource selector has a new attribute regex that allows
-   resources to be selected by matching their names against a regular
-   expression.
-   Bugzilla Report 45284
-
- * Enhanced performance of Project.fireMessageLoggedEvent and DirectoryScanner 
-   Bugzilla Reports 45651 and 45665
-
- * The package list location for offline links can now be specified as
-   an URL.
-   Bugzilla Report 28881
-
- * <echoxml> now supports XML namespaces.
-   Bugzilla Report 36804.
-
- * A new listener for <junit> has been added that tries to invoke the
-   tearDown method of a TestCase if that TestCase was run in a forked
-   VM and the VM crashed or a timeout occurred.  See the <junit> task's
-   manual page for details.
-   Bugzilla Report 37241.
-
- * The Jar task now supports the addition of a jar index file in update mode.
-   Previously the absence of the index was not enough to trigger the rebuild;
-   some other update was necessary.
-   Bugzilla report 45098.
-
- * <ant> has a new attribute "useNativeBasedir" that makes the child
-   build use the same basedir it would have used if invoked from the
-   command line.  No matter what other attributes/properties have been
-   set.
-   Bugzilla Report 45711.
-
- * <patch> has a new optional failOnError attribute.
-   Bugzilla Report 44772.
-
- * Antlib descriptors will now be parsed by the configured
-   ProjectHelper if the implementation overrides the new
-   canParseAntlibDescriptor and parseAntlibDescriptor methods.  If the
-   configured helper doesn't override the methods, a new instance of
-   ProjectHelper2 will be used just like in Ant 1.7.1.
-   Bugzilla Report 42208.
-
- * It is now possible to explicitly set the executable used by
-   <signjar>.
-   Bugzilla Report 39189.
-
- * <compositemapper>'s order of results is now predictable.
-   Bugzilla Report 44873
-
- * a new <firstmatchmapper> has been added, which works similar to
-   <compositemapper> but only returns the results of the first nested
-   mapper that matches.
-   Bugzilla Report 44873
-
- * <get> has a new maxtime attribute that terminates downloads that
-   are taking too long.
-   Bugzilla Report 45181.
-
- * <ftp> now supports selectors for remote directories as well.
-   Bugzilla Report 44726.
-
- * In some cases Ant fails to rename files if the source or target
-   file has just recently been closed on Windows.  It will now try to
-   delete the offending file once again after giving the Java VM time
-   to really close the file.
-   Bugzilla Report 45960.
-
- * two new properties can be used to set the MIME-Type and charset
-   used by MailLogger.
-   Bugzilla Report 27211.
-
- * a new attribute of <mail> allows the task to succeed if it can
-   reach at least one given recipient.
-   Bugzilla Report 36446.
-
- * two new properties allow MailLogger to send a fixed text instead of
-   the log file.
-   Bugzilla Report 38029.
-
- * <cvsversion> is supposed to support CVSNT now.
-   Bugzilla Report 31409.
-
- * <cvs>' port attribute should now work for all clients that use the
-   environment variable CVS_PSERVER_PORT instead of the "official"
-   CVS_CLIENT_PORT.
-   Bugzilla Report 30124.
-
- * <cvsversion> now works for local repositories as well.
-
- * <cvstagdiff> has an option to ignore removed files now.
-   Bugzilla Report 26257.
-
- * <cvs> and friends now support modules with spaces in their names
-   via nested <module> elements.
-
- * A new attribute "ignoreEmpty" controls how <concat> deals when
-   there are no resources to concatenate.  If it is set to false, the
-   destination file will be created regardless, which reinstates the
-   behavior of Ant 1.7.0.
-   Bugzilla Report 46010.
-
- * If the new remote attribute is set to true, <cvschangelog> can now
-   work against a remote repository without any working copy.
-   Bugzilla Report 27419.
-
- * start and end tags can now be used instead of dates in
-   <cvschangelog>.
-   Bugzilla Report 27419.
-
- * MailLogger and <mail> can now optionally enable support for
-   STARTTLS.
-   Bugzilla Report 46063.
-
- * <import> has new attributes "as" and "prefixSeparator" that can be
-   used to control the prefix prepended to the imported targets'
-   names.
-
- * a new task <include> provides an alternative to <import> that
-   should be preferred when you don't want to override any targets.
-
- * delete has a new attribute removeNotFollowedSymlink.  If set to
-   true, symbolic links not followed (because followSymlinks was false
-   or the number of symlinks was too big) will be removed.
-   Bugzilla Report 36658.
-
- * the os and osfamily attributes of <chown>, <chgrp>, <chmod> and
-   <attrib> can now be used to run the commands on operating systems
-   other than their "native" environment, i.e. non-Unix or non-Windows
-   operating systems respectively.
-   Bugzilla Report 7624.
-
- * a new resource collection <mappedresources> generalizes the prefix
-   and fullpath attributes of <zipfileset> to arbitrary mappers that
-   can be applied to arbitrary resource collections.
-   Bugzilla Report 4240.
-
- * <tarfileset> and <zipfileset> have a new attribute
-   errorOnMissingArchive that allows "optional" filesets that don't
-   break the build if the archive doesn't exist.
-   Bugzilla Report 46091.
-
- * <javadoc> has new attributes that correspond to the
-   -docfilessubdirs and -excludedocfilessubdir command line arguments.
-   Bugzilla Report 34455.
-
- * <xslt> now fails early if a specified stylesheet doesn't exist.
-   Bugzilla Report 34525.
-
- * <xslt> now has an option to suppress transformer warnings.  This
-   option only has an effect for processors that support this feature;
-   the "trax" processor included with Ant does support it.
-   Bugzilla Report 18897.
-
- * <xslt> has two new attributes failOnError and
-   failOnTransformationError that can be used to not make the build
-   process proceed if an error occurs.
-   Bugzilla Report 36260.
-
- * <xslt> has a new attribute failOnNoResources that can be used to 
-   make the build fail/continue if the collection of resources to
-   transform is empty.
-   Bugzilla Report 46274.
-
- * It is now possible to define system properties that should be set
-   during xslt's transformation.  This can be used to enable XInclude
-   processing in Xerces, for example.
-   Bugzilla Report 36653.
-
- * a new resource collection <archives> can be used to specify
-   collections of ZIP and TAR archives as sources.  It extracts them on
-   the fly.  This is a generalization of the <zipgroupfileset> found
-   as nested element of <zip> and friends.
-   Bugzilla Report 46257.
-
- * <dependset> has a new verbose attribute that makes the task list
-   all deleted targets and give a hint as to why it deleted them.
-   Bugzilla Report 13681.
-
- * <replaceregexp> now supports arbitrary filesystem based resource
-   collections.
-   Bugzilla Report 46341.
-
- * <replace> now supports arbitrary filesystem based resource
-   collections.
-   Bugzilla Report 24062.
-
- * token and value of <replace>'s nested <replacefilter> can now also
-   be specified as nested elements to allow multiline content more
-   easily.
-   Bugzilla Report 39568.
-
- * <replace> and <replaceregexp> can now optionally preserve the file
-   timestamp even if the file is modified.
-   Bugzilla Report 39002.
-
- * The <replace> child-elements <replacetoken> and <replacevalue> have
-   a new attribute that controls whether properties in nested text get
-   expanded.
-   Bugzilla Report 11585.
-
- * <replace> has a new attribute failOnNoReplacements that makes the
-   build fail if the task didn't do anything.
-   Bugzilla Report 21064.
-
- * <sync>'s <preserveInTarget> has a new attribute that controls
-   whether empty directories should be kept.
-   Bugzilla Report 43159.
-
- * ant -diagnostics now checks that it can read as much from the
-   temporary directory as it has written.  This may help detecting a
-   full filesystem.
-   Bugzilla Report 32676.
-
- * <pathconvert> has a new preserveduplicates attribute--historically
-   these were eliminated in the interest of behaving in the manner
-   of a "path."
-
- * <javac>'s source and target attributes are no longer ignored when
-   using gcj.
-   Bugzilla Issue 46617.
-
- * ant -diagnostics now outputs information about the default XSLT
-   processor.
-   Bugzilla Issue 46612.
-
- * the ZIP library will now ignore ZIP extra fields that don't specify
-   a size.
-   Bugzilla Report 42940.
-
- * CBZip2OutputStream now has a finish method separate from close.
-   Bugzilla Report 42713.
-
- * the <zip> and <unzip> family of tasks has new options to deal with
-   file name and comment encoding.  Please see the zip tasks'
-   documentation for details.
-
- * <input ...><handler type="secure" /></input> now uses previously
-   undocumented SecureInputHandler shipped with Ant 1.7.1.
-
- * Command line arguments for <exec> and similar tasks can now have
-   optional prefix and suffix attributes.
-   Bugzilla Report 47365
-
- * <apply>'s srcfile and targetfile child elements can now have
-   optional prefix and suffix attributes.
-   Bugzilla Report 45625
-
- * <jar> has a new attribute to enable indexing of META-INF
-   directories which is disabled for backwards compatibility reasons.
-   Bugzilla Report 47457
-
- * <apt>'s executable attribute can be used to specify a different
-   executable.
-   Bugzilla Report 46230.
-
- * <rmic>'s new executable attribute can be used to specify a
-   different executable.
-   Bugzilla Report 42132.
-
- * <javac>, <rmic>, <javah> and <native2ascii> now provide a nested
-   element to specify a classpath that will be used when loading the
-   task's (compiler) adapter class.
-   Bugzilla Report 11143.
-
- * <javac>, <rmic>, <javah> and <native2ascii> now provide a nested
-   element to specify the task's (compiler) adapter as an instance of
-   a class that has been defined via typedef/componentdef.  This
-   allows more control over the classpath and allows adapters to be
-   defined in Antlibs easily.
-
- * A new subclass org.apache.tools.ant.loader.AntClassLoader5 of
-   AntClassLoader has been added which overrides getResources
-   which became non-final in ClassLoader with Java5+ so
-   this method now behaves as expected.
-   The new subclass will be used by Ant internally if it is available
-   and Ant is running on Java5 or more recent.
-   Bugzilla Report 46752.
-
- * a new attributes can chose a different request method than GET for
-   the http condition.
-   Bugzilla Report 30244
-
- * <splash> now supports a configurable display text and a regular
-   expression based way to determine progress based on logged messages.
-   Bugzilla Report 39957.
-
- * the number of retries on error in <get> is now configurable.  <get>
-   can be told to not download files that already exist locally.
-   Bugzilla Report 40058.
-
- * Ant now builds against commons-net 2.0 as well.
-   Bugzilla Report 47669.
-
- * A new nested element connectionProperty of <sql> allows setting of
-   arbitrary JDBC connection properties.
-   Bugzilla Report 33452.
-
- * A new islastmodified condition can check the last modified date of
-   resources.
-
- * <rmic> has a new destDir attribute that allows generated files to
-   be written to a different location than the original classes.
-   Bugzilla Report 20699.
-
- * <rmic> has a new listfiles attribute similar to the existing one of
-   <javac>.
-   Bugzilla Report 24359.
-
- * It is now possible to suppress the "FAILED" lines sent to Ant's
-   logging system via <junit>'s new logFailedTests attribute.
-   Bugzilla Report 35073.
-
- * <propertyfile> now can delete entries.
-
- * The <resources> resource collection can now optionally cache its
-   contents.
-
- * A new <resourceexists> condition can check whether resources exists.
-
- * <sql> has two new attributes errorproperty and warningproperty that
-   can be set if an error/warning occurs.
-   Bugzilla Report 38807.
-
- * <sql> has a new attribute rowcountproperty that can be used to set
-   a property to the number of rows affected by a task execution.
-   Bugzilla Report 40923.
-
- * when Ant copies files without filtering, it will now use NIO
-   channels.
-   Bugzilla Report 30094.
-
- * <get> has a new attribute that can be used to disable caching on
-   HTTP connections at the HttpUrlConnection level.
-   Bugzilla Report 41891.
-
- * <tar> and <zip> (and tasks derived from <zip>) will now create the
-   parent directory of the destination archive if it doesn't exist.
-   Bugzilla Report 45377.
-
- * A new filterreader <sortfilter> that sorts input lines has been
-   added.
-   Bugzilla Report 40504.
-
- * A new token filter <uniqfilter> that suppresses tokens that match
-   their ancestor token has been added.
-
- * <rootfileset>s nested into <classfileset>s can now use a dir
-   attribute different from the <classfileset>.
-   Bugzilla Report 37763.
-
- * <path> can now optionally cache its contents.
-
- * <property> can now specify values as nested text.
-   Bugzilla Report 32917.
-
- * a new parentFirst attribute on <javaresource> allows resources to
-   be loaded from the specified classpath rather than the system
-   classloader.
-   Bugzilla Report 41369.
-
- * <property location="from" basedir="to" relative="true"/> can now
-   calculate relative paths.
-
- * The <name> selector supports a new handleDirSep attribute that
-   makes it ignore differences between / and \ separators.
-   Bugzilla Report 47858.
-
- * <get> now supports resource collections (as long as the resources
-   contained provide URLs) and can get multiple resources in a single
-   task.
-

[... 3957 lines stripped ...]