Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id ECD6C200BEA for ; Tue, 27 Dec 2016 07:56:10 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id EAC04160B23; Tue, 27 Dec 2016 06:56:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7CE19160B3D for ; Tue, 27 Dec 2016 07:56:08 +0100 (CET) Received: (qmail 17450 invoked by uid 500); 27 Dec 2016 06:56:07 -0000 Mailing-List: contact notifications-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ant.apache.org Delivered-To: mailing list notifications@ant.apache.org Received: (qmail 17437 invoked by uid 99); 27 Dec 2016 06:56:07 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Dec 2016 06:56:07 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 8A3963A204B for ; Tue, 27 Dec 2016 06:56:06 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r17588 [3/4] - in /dev/ant: ./ binaries/ manual/ source/ Date: Tue, 27 Dec 2016 06:56:05 -0000 To: notifications@ant.apache.org From: bodewig@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161227065606.8A3963A204B@svn01-us-west.apache.org> archived-at: Tue, 27 Dec 2016 06:56:11 -0000 Added: dev/ant/RELEASE-NOTES-1.10.0.html ============================================================================== --- dev/ant/RELEASE-NOTES-1.10.0.html (added) +++ dev/ant/RELEASE-NOTES-1.10.0.html Tue Dec 27 06:56:04 2016 @@ -0,0 +1,6487 @@ + + Release Notes of Apache Ant 1.10.0 +
+Changes from Ant 1.9.7 TO Ant 1.10.0
+====================================
+
+Changes that could break older environments:
+-------------------------------------------
+
+ * Ant 1.10.x requires Java8 or newer at compile or build time.
+   The 1.9.x series wil stay compatible with Java5.
+
+ * The <apt> task has been removed since apt itself has been removed
+   with Java8.
+
+ * <fileset>/<zipfileset>/<tarfileset> 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
+
+ * <native2ascii> will default to the builtin implementation on Java8
+   as well (sun isn't available for Java9+ anyway).
+
+ * The ant.java.version property will now hold the value "9" rather
+   than "1.9" if running on Java 9.
+
+ * <rmic> 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
+
+ * <javah> will default to the "forking" implementation on Java8
+   as well.
+
+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
+
+ * <get>'s quiet attribute was broken, it didn't suppress any messages.
+   Bugzilla Report 59379
+
+ * <zip>'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
+
+ * <touch>'s default pattern as well as the default patterns used by
+   the <date> (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 <get>'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 <junitreport> could contain duplicate
+   characters in stack traces.
+   Bugzilla Report 58661
+
+Other changes:
+--------------
+
+ * New file selectors <executable>, <symlink> and <ownedBy>.
+
+ * New task <setpermissions> that provides the ability to set POSIX
+   compatible permssions via NIO's PosixFilePermission
+
+ * <junit> now initializes the cause of the AssertionFailedError when
+   converting from AssertionError.
+   Bugzilla Report 58982
+
+ * <scp> now supports compression via the optional compressed attribute.
+   Bugzilla Report 47552
+
+ * <junit> now supports JDK9 modules
+   Github Pull Request #18
+
+ * a new implementation "builtin" has been added to <native2ascii> and
+   is the default when running on JDK9+ since the tool itself has been
+   removed from the JDK.
+   Bugzilla Report 59855
+
+ * added a new <native2asciifilter> filter that can perform non-ASCII
+   to Unicode-escape conversions.
+
+ * <rmic> 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 <javah> 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 <xslt>
+   and <junitreport>.
+
+ * it is now possible to use references to Ant types and classloaders
+   built around Ant <path>s as values for TraX factory attributes.
+
+ * AntClassLoader and its subclasses register themselves as parallel
+   capable.
+
+ * <junitreport> 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:
+-------------------------------------------
+
+ * <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 &#123; remained &#123; rather than being turned
+   into &amp;#123;.  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
+

[... 4085 lines stripped ...]