aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/WHATSNEW
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/WHATSNEW')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/WHATSNEW6263
1 files changed, 6263 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/WHATSNEW b/framework/src/ant/apache-ant-1.9.6/WHATSNEW
new file mode 100644
index 00000000..9a6d4782
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/WHATSNEW
@@ -0,0 +1,6263 @@
+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
+
+ * <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.
+
+ * <import> can now import non-File resources if they provide an URL
+ - as the <url> and <javaresource> resources do.
+ Bugzilla Report 29251
+
+ * <import> can now import multiple resources specified as resource
+ collections.
+ Bugzilla Report 22269.
+
+ * a new <resourcelist> type is similar to <filelist> but can read the
+ list of resources from non-file resources and may return resources
+ that are not files.
+
+ * a new filterreader appendtolines complements prefixlines.
+
+ * a new top level element extension-point allows build files to be
+ extended with custom targets more easily.
+
+Changes from Ant 1.7.0 TO Ant 1.7.1
+=============================================
+
+Changes that could break older environments:
+-------------------------------------------
+
+* String resources only have properties single expanded. If you relied on
+ <string> resources being expanded more than once, it no longer happens.
+ Bugzilla report 42277.
+
+* A String resource's encoding attribute was only taken into account when
+ set from the resource's OutputStream; the InputStream provided the String's
+ binary content according to the platform's default encoding. Behavior has
+ been modified to encode outgoing (InputStream) content as well as encoding
+ incoming (OutputStream) content.
+
+* <java> with fork now returns gives -1 instead of 0 as result when failonerror
+ is false and some exception (including timeout) occurs. Br 42377.
+
+* ant-type attribute has been marked as deprecated and a warning has been
+ issued if it is encountered in the build file.
+
+Fixed bugs:
+-----------
+
+* The default logger was failing to print complete stack traces for exceptions
+ other than BuildException, thus omitting often important diagnostic
+ information. Bugzilla 43398.
+
+* Error in FTP task
+ Bugzilla report 41724
+
+* Regression: Locator fails with URI encoding problem when spaces in path
+ Bugzilla report 42222
+
+* Regression in Locator: running Ant off a network share does not work:
+ message "URI has authority component" appears
+ Bugzilla report 42275
+
+* Improvements in AntClassLoader Speed.
+ Bugzilla report 42259
+
+* Error in handling of some permissions, most notably the AllPermission on
+ jdk 1.5
+ Bugzilla report 41776
+
+* Replace task summary output incorrect.
+ Bugzilla report 41544
+
+* Dependset crashes ant when timestamp on files change during Dependset
+ execution.
+ Bugzilla report 41284
+
+* Bug in org.apache.tools.ant.types.resources.comparators.Date
+ Bugzilla report 41411
+
+* <junit> in Ant 1.7.0 could throw NPE if no <classpath> was defined.
+ Bugzilla report 41422.
+
+* In Ant 1.7.0, <fileset> in <javadoc> does not by default include only
+ **/*.java as the documentation claims and earlier revisions did.
+ Bugzilla report 41264.
+
+* SPI support in jar was broken.
+ Bugzilla report 41201.
+
+* jsch-0.1.30 causes SCP task to hang
+ Bugzilla report 41090.
+
+* Target from imported file listed twice in projecthelp.
+ Bugzilla report 41226.
+
+* <sql> task double-expands properties if expandproperties is true,
+ and expands properties if expandproperties is false.
+ Bugzilla report 41204.
+
+* Rolling back Bugzilla 32927 (set a default description for a javadoc tag
+ if not set) as it caused a BC problem.
+ Bugzilla report 41268.
+
+* <apt> forks properly and so memory settings are picked up.
+ Bug report 41280.
+
+* Regression: NPE was thrown when using <pathconvert> against a
+ (third-party instantiated) fileset with null Project reference.
+
+* Strip out all -J arguments to non forking rmic adapters, specifically
+ the Sun and Weblogic compilers.
+ Bug report 41349
+
+* Synchonization issues in PropertyHelper. Bugzilla 41353.
+
+* <concat binary="true" append="true"> did not append. Bugzilla 41399.
+
+* -autoproxy turns Java1.5+ automatic proxy support on. Bugzilla 41904
+
+* Handle null result of system getProperty(). Bugzilla 42334.
+
+* Regression: concat fixlastline="true" should not have applied to
+ nested text, but did in Ant 1.7.0. Bugzilla 42369.
+
+* Regression: ant.version was not passed down in <ant>, <subant>.
+ This worked in Ant 1.6.5, but not in 1.7.0.
+ ant.core.lib (added in 1.7.0) was also not being propagated.
+ Bugzilla bug 42263
+
+* Regression: bzip2 task created corrupted output files for some inputs.
+ Bugzilla bug 41596.
+
+* Regression: <available> with <filepath> did not work.
+ Bugzilla 42735.
+
+* ant script, cd may output to stdout.
+ Bugzilla 42739.
+
+* Modified selector doesn't update the cache if only one file has changed.
+ Bugzilla 42802.
+
+* Regression: Path subclasses that overrode list() stopped working in
+ resourceCollection contexts in Ant 1.7.0. Bugzilla 42967.
+
+* <property> supports loading from xml based property definition.
+ Bugzilla 42946
+
+* <junit> supports collecting and rerunning failed test cases
+ (textXXX methods). Bugzilla 42984.
+
+* War task failed with "No WEB-INF/web.xml file was added" when called
+ a second time. Bugzilla 43121.
+
+* FilterMapper could throw an NPE.
+ Bugzilla 43292.
+
+* Regession nested macrodefs with elements could cause StackOverFlow.
+ Bugzilla 43324.
+
+* Some changes to <junit> broke third party tasks that extend it (like
+ Apache Cactus' Ant task). The changes have been modified so that
+ subclases should now work again - without any changes to the
+ subclass.
+
+Other changes:
+--------------
+
+* Various small optimizations speed up common tasks such as <javac> on large
+ filesets, reducing both I/O and CPU usage.
+
+* Profiling logger has been added with basic profiling capabilities.
+
+* <script> now has basic support for JavaFX scripts
+
+* SSH task can now take a command parameter containing the commands to execute.
+ This allows you to connect to a server and execute a number of commands
+ without constantly reconnecting for each command.
+
+* Upgraded XML API to XML commons version 1.3.04.
+
+* Upgraded to Xerces 2.9.0
+
+* <script> can now work with bsf.jar and js.jar in its <classpath>.
+
+* add errorProperty and updatedProperty to <javac>
+ Bugzilla 35637 and 28941.
+
+* add classpathref attribute to <whichresource>
+ Bugzilla 41158.
+
+* reduce logging noise of <apply skipemptyfilesets="true">
+ Bugzilla 29154
+
+* Show Previous Revision in the tagdiff.xsl stylesheet
+ Bugzilla 29143
+
+* Allow <mapper refid> to refer directly to a FileNameMapper instance.
+
+* If you try and use a type in a namespace (or an antlib), and the type is not
+ recognized but there are other definitions in that namespace, Ant lists what
+ the known definitions are. This helps you find spelling errors.
+
+* Add a <last> resource collection, corresponding to <first>.
+
+* Add new <truncate> task.
+
+* <junitreport> xsl stylesheets allow setting the title used in <title> and <h1> tags by
+ using <report><param> element. Bugzilla 41742.
+
+* Add IgnoreDependenciesExecutor for weird cases when the user wants to run
+ only the targets explicitly specified.
+
+* Patternset allows nested inverted patternsets using <invert>.
+
+* <manifest> checks for validity of attribute names.
+
+* JUnitVersionHelper.getTestCaseClassName is now public. Bugzilla 42231
+
+* <string> resource supports nested text. Bugzilla bug 42276
+
+* <scriptdef> now sources scripts from nested resources/resource collections. This lets you
+ define scripts in JARs, remote URLs, or any other supported resource. Bugzilla report 41597.
+
+* <concat> is now usable as a single-element ResourceCollection.
+
+* It is now possible to provide the value of a <striplinecomments> filter's
+ <comment> nested element as nested text instead of using the 'value'
+ attribute.
+
+* A new logger, BigProjectLogger, lists the project name with every target
+
+* Default text added to macrodef. Bugzilla report 42301.
+
+* "rawblobs" attribute added to SQL task.
+
+* Add new retry task container.
+
+* <jar> has a new strict attribute that checks if the jar complies with
+ the jar packaging version specification.
+
+* <javac> has a new attribute - includeDestClasses.
+ Bugzilla 40776.
+
+* <fileset> has a new attribute - errorOnMissingDir.
+ Bugzilla 11270.
+
+* <javac> handles package-info.java files, there were repeatedly compiled.
+ Bugzilla 43114.
+
+* SecureInputHandler added to use Java 6 System.console().readPassword()
+ when available.
+
+Changes from Ant 1.6.5 to Ant 1.7.0
+===================================
+
+Changes that could break older environments:
+-------------------------------------------
+
+* Initial support for JDK 6 (JSR 223) scripting.
+ <*script*> tasks will now use javax.scripting if BSF is
+ not available, or if explicitly requested by using
+ a "manager" attribute.
+
+* Removed launcher classes from nodeps jar.
+
+* <classconstants> filter reader uses ISO-8859-1 encoding to read
+ the java class file. Bugzilla report 33604.
+
+* Defer reference process. Bugzilla 36955, 34458, 37688.
+ This may break build files in which a reference was set in a target which was
+ never executed. Historically, Ant would set the reference early on, during parse
+ time, so the datatype would be defined. Now it requires the reference to have
+ been in a bit of the build file which was actually executed. If you get
+ an error about an undefined reference, locate the reference and move it somewhere
+ where it is used, or fix the depends attribute of the target in question to
+ depend on the target which defines the reference/datatype.
+ As a result of testing on real live build scripts, a fall-back mechanism
+ was put it place to allow references that are out-of-band to be resolved. If
+ this happens a big warning message is logged. This fall-back mechanism will
+ be removed in Ant 1.8.0.
+
+* <script> and <scriptdef> now set the current thread context.
+
+* Unrestrict the dbvendor names in the websphere element of the ejbjar task.
+ Bugzilla Report 40475.
+
+* <env> nested element in <java>, <exec> and others is now case-insensitive
+ for windows OS. Bugzilla Report 28874.
+
+* Removed support for xalan1 completely. Users of Xalan1 for Ant builds will
+ have to stay at ant 1.6.5 or upgrade to xalan2.
+
+* Use org.apache.log4j.Logger instead of org.apache.log4j.Category.
+ Category has been deprecated for ~2 years and has been removed from
+ the log4j code. Logger was introduced in log4j 1.2 so users of
+ log4j 1.1 and log4j 1.0 need to upgrade to a newer version of log4j.
+ Bugzilla Report 31951.
+
+* build.sysclasspath now also affects the bootclasspath handling of
+ spawned Java VMs. If you set build.sysclasspath to anything other
+ than "ignore" (or leave it unset, since "ignore" is the default when
+ it comes to bootclasspath handling), then the bootclasspath of the
+ VM running Ant will be added to the bootclasspath you've specified.
+
+* The <java fork="false"> now as per default installs a security manager
+ using the default permissions. This is now independent of the
+ failonerror attribute. Bugzilla report 33361.
+
+* <signjar> now notices when the jar and signedjar are equal, and switches
+ to the same dependency logic as when signedjar is omitted. This may break
+ something that depended upon signing in this situation. However, since
+ invoking the JDK jarsigner program with -signedjar set to the source jar
+ actually crashes the JVM on our (Java1.5) systems, we don't think any
+ build files which actually worked will be affected by the change.
+
+* <signjar> used to ignore a nested fileset when a jar was also provided as an
+ attribute, printing a warning message; now it signs files in the fileset.
+
+* An improved method of handling timestamp granularity differences between
+ client and server was added to the <ftp> task. FTP servers typically
+ have HH:mm timestamps whereas local filesystems have HH:mm:ss timestamps.
+ Previously, this required tweaking with the timediffmillis attribute
+ which also was used to handle timezone differences. Now, there is a new
+ timestampgranularity attribute. The default value for get operations is 0
+ since the user has the more powerful preservelastmodified attribute to work
+ with. Since this is not available on put operations the default value
+ adds a minute to the server timestamp in order to account for this,
+ Scripts which previously used timediffmillis to do this compensation may
+ need to be rewritten. timediffmillis has now been deprecated.
+
+* Support for the XSL:P XML parser has been removed.
+ Bugzilla Report 23455.
+
+* Visual Age for Java optional tasks removed as the required library is no
+ longer available.
+
+* Testlet (test) optional task removed as the required library is no
+ longer available.
+
+* IContract optional task removed as the required library is no
+ longer available.
+
+* Metamata (maudit, mmetrics, and mparse tasks) removed as the required
+ library is no longer available.
+
+* Sitraka (jpcoverage, jpcovmerge, jpcovreport) tasks suppressed as the
+ required library is no longer available.
+
+* <fixcrlf> used \r (Mac) line endings on OS X, whose proper line separator
+ is \n (Unix). Bugzilla report 39585.
+
+* <scp> now optionally supports the sftp protocol, you may need a
+ newer jsch.jar. Bugzilla Report 39373.
+
+* Ant launcher program prints errors to stderr, and exits with a 2 exit code
+ value if, for any reason, it cannot actually start Ant proper. This will only
+ affect programs/scripts that called the launcher and which did not want to
+ receive an error if Ant itself would not start
+
+* All .NET tasks are now deprecated in favor of the new .NET Antlib:
+ http://ant.apache.org/antlibs/dotnet/index.html
+
+Fixed bugs:
+-----------
+* Directory deletion did not work properly.
+ Bugzilla 40972.
+
+* docletpath attribute of javadoc was ignored.
+ Bugzilla 40900.
+
+* Fixed incorrect recursion in DOMUtil.listChildNodes().
+ Bugzilla 40918.
+
+* CompressedResource.compareTo() did not
+ take comparison with another CompressedResource into account.
+ Bugzilla 40949.
+
+* Avoid possible NPE in Jar.java.
+ Bugzilla 40847.
+
+* regression in attribute prefix (+ others) for refid in zipfileset and tarfileset.
+ Bugzilla 41004, 30498.
+
+* dependset failed if the basedir of a target fileset did not exist.
+ Bugzilla 40916.
+
+* Recursive filtering encountered NullPointerExceptions under certain
+ circumstances. Bugzilla 41086.
+
+* XmlProperty overrides previously set property value when handling duplicate
+ elements. Bugzilla 41080.
+
+* Having many tasks causes OOM. Bugzilla 41049.
+
+* Regression: <path> was evaluating nested content only once, so that it could
+ not e.g. pick up files that didn't exist the first time through.
+ Bugzilla 41151.
+
+* OOM caused by IH holding on to classes and thus their classloaders.
+ Bugzilla 28283 and 33061.
+
+* <delete> doesn't delete when defaultexcludes="false" and no includes is set
+ fixed. Bugzilla 40313.
+
+* Behavior change of DirectoryScanner/AbstractFileset when conditional include
+ patterns are used. Bugzilla 40722.
+
+* <javac> fails with NPE when compiling with eclipse ecj 3.1.x.
+ Bugzilla 40839.
+
+* JUnitTestRunner had a NPE when unable to create parser, the exception
+ containing the error did not get reported. Bugzilla 36733.
+
+* <checksum> with file and todir option failed. Bugzilla report 37386.
+
+* <path location="loc"> was broken (Regression from beta1).
+ Bugzilla report 40547.
+
+* Nested fileset in <cab> did not work. Bugzilla report 39439.
+
+* The ant wrapper script should now correctly locate the java
+ executable in more recent IBM JDKs for AIX as well.
+
+* URLResource did not close jar files, and also did not disconnect HTTPConnection (s).
+
+* Error calling junitreport. Bugzilla 40595.
+
+* <junittask/> created junitvmwatcher*.properties files but did not close and delete them.
+
+* <xmlproperty> did not create properties for empty leaf elements.
+ Bugzilla report 26286.
+
+* UnknownElement.maybeConfigure always configured.
+ Bugzilla report 40641.
+
+* No check for refid when prefix attribute is set in zipfileset.
+ Bugzilla report 30498.
+
+* Fix for junit4 issue introduced since beta2.
+ Bugzilla report 40682.
+
+* Error in duplicate project name with <import> and <antcall>.
+ Bugzilla report 39920.
+
+* junit4 did not work with fork=no and junit4 in $ANT_HOME/lib.
+ Bugzilla report 40697.
+
+* PathConvert on Windows should process forward and back slashes equivalently.
+ Bugzilla report 32884.
+
+* ant.bat now looks in %USERPROFILE% and %HOMEDRIVE%%HOMEPATH% in addition to
+ %HOME% for pre/post batch files. Bugzilla report 39298.
+
+* The inheritance hierarchy of the legacy <path> type was changed; code built
+ against Ant 1.7 would therefore no longer execute on older versions of Ant.
+ Since <path> is historically heavily used this was undesirable, and since it
+ is also avoidable, the change to <path>'s taxonomy was reverted.
+
+* <zip filesonly="true"> included empty directories. Bugzilla report 40258.
+
+* Invalid hash code of Target causes XmlLogger to fail.
+ Bugzilla report 40207.
+
+* Macro element did not include top level Text. Bugzilla report 36803.
+
+* AntClassLoader did not isolate resources when isolate was set. Bugzilla report 38747.
+
+* Diagnostics broken when using java 1.4. Bugzilla report 40395.
+
+* Exception reporting in <copy> was broken. Bugzilla report 40300.
+
+* Handling of corrupt tar files, TarInputStream.read() never returns EOF.
+ Bugzilla report 39924.
+
+* Some bugs in ReaderInputStream. Bugzilla report 39635.
+
+* <antlr> did not recognise whether the target is up-to-date for html option.
+ Bugzilla report 38451.
+
+* Documented minimal version of jsch now 0.1.29.
+ Bugzilla report 40333.
+
+* <available> searched parent directories for files.
+ Bugzilla report 37148.
+
+* The build could be halted if a file path contained more ".." components than
+ the actual depth of the preceding path. Now such paths are left
+ alone (meaning they will likely be treated as nonexistent
+ files). Bugzilla Report 40281.
+
+* Converting a <dirset> to a string was broken. Bugzilla Report 39683.
+
+* Manifests have improved line length handling, taking care of encoding.
+ Bug reports 37548 / 34425.
+
+* <manifest> now closes the inputstream explicitly. Bug report 39628.
+
+* <rpm> now also correctly searches the first element of the path.
+ Bug report 39345.
+
+* ant.bat now handles classpath set to "". Bug report 38914.
+
+* <junit> now supports JUnit 4. Bugzilla Report 38811.
+
+* <junit> can now work with junit.jar in its <classpath>. Bugzilla
+ Report 38799.
+
+* Some potential NullPointerExceptions, Bugzilla Reports 37765 and 38056.
+
+* Problem when adding multiple filter files, Bugzilla Report 37341.
+
+* Problem referencing jars specified by Class-Path attribute in manifest
+ of a ant task jar file, when this ant task jar file is located in
+ a directory with space, Bugzilla Report 37085.
+
+* Backward incompatible change in ZipFileSet, Bugzilla Report 35824.
+
+* Wrong replacement of file separator chars prevens junitbatchtest
+ from running correctly on files from a zipfileset. Bugzilla Report 35499.
+
+* Calling close twice on ReaderInputStream gave a nullpointer exception.
+ Bugzilla Report 35544.
+
+* Memory leak from IntrospectionHelper.getHelper(Class) in embedded
+ environments. Bugzilla Report 30162.
+
+* Translate task does not remove tokens when a key is not found.
+ It logs a verbose message. Bugzilla Report 13936.
+
+* Incorrect task name with invalid "javac" task after a "presetdef".
+ Bugzilla reports 31389 and 29499.
+
+* <manifest> was not printing warnings about invalid manifest elements.
+ Bugzilla report 32190.
+
+* <replace> got out of memory on large files (part of report 32566).
+ <replace> can now handle files as long as there is enough disk space
+ available.
+
+* Commandline.describeCommand() methods would attempt to describe
+ arguments even when none, other than the executable name, were present.
+
+* Create signjar's helper ExecTask instance directly rather than by
+ typedef discovery mechanisms. Bugzilla report 33433.
+
+* FileUtils.resolveFile() promised to return absolute files but
+ did not always do so.
+
+* <ftp> failed to retrieve a file when the path towards the file contained
+ an element starting with . Bugzilla report 33770.
+
+* "<rmic> always compiles on Java1.5" bugzilla report=33862. Fixed default
+ stub version to always be "compat", even on Java1.5+.
+
+* The .NET compilation tasks failed if filenames given as references
+ contained spaces. Bugzilla Report 27170.
+
+* SQL task would try access result sets of statements that didn't
+ return any, causing problems with Informix IDS 9.2 and IBM DB2 8.1
+ FixPak 6 (or later). Bugzilla Reports 27162 and 29954.
+
+* Task.init() was called twice for most tasks. Bugzilla Report 34411.
+
+* JavaTest testcases sometimes fail on windows. Bugzilla Report 34502.
+
+* Targets with identical name work in imported project. Bugzilla Report 34566.
+
+* DemuxOutputStream now uses a WeakHashMap to store the thread-stream mapping,
+ to avoid holding on to thread references after they terminate.
+
+* <xmlvalidate> and <schemavalidate> create a new parser for every file in a
+ fileset, and so validate multiple files properly. Bugzilla Report 32791.
+
+* <tar> / <untar> now accepts files upto 8GB, <tar> gives an error if larger
+ files are to be included. This is the POSIX size limit.
+
+* <junitreport> removed line-breaks from stack-traces. Bugzilla
+ Report 34963.
+
+* Off-by-one error in environment setup for execution under OpenVMS fixed.
+
+* Bugzilla report 36171: -noclasspath crashes ant if no system
+ classpath is set.
+
+* <pvcs> used wrong switch for retrieving revisions by label.
+ Bugzilla Report 36359.
+
+* <sshexec> closed System.out, disabling output on second and subsequent
+ invocations. Bugzilla report 36302.
+
+* <cvschangelog> was crashing with CVS versions >= 1.12.x due to change in
+ the date format. Bugzilla report 30962.
+
+* The same IntrospectionHelper instance was continuously added as a listener
+ to project. Bugzilla report 37184.
+
+* FileUtils.toURI() was not encoding non-ASCII characters to ASCII,
+ causing impossibility to process XML entities referenced by XML
+ documents in non ASCII paths. Bugzilla report 37348.
+
+* > 1 ssh invocations to a given host would fail. Bugzilla report 36207.
+
+* EmailTask was eating SMTP error messages. Bugzilla report 37547.
+
+* PropertySet API setMapper(...) didn't properly set up the Mapper.
+ Bugzilla report 37760.
+
+* Proper return code for ant.bat. Bugzilla report 13655.
+
+* Project not set on ChainReaderHelpers used by the Redirector.
+ Bugzilla report 37958.
+
+* Copy task would fail on locked (or otherwise uncopyable) files even if
+ failonerror set to false. Bugzilla report 38175.
+
+* <junit> task did not print all the Test names when using forkmode='once'.
+ Bugzilla report 37426.
+
+* <available> could leak resources, Bugzilla Report 38260.
+
+* Redirector called Thread.sleep in a synchronized block. Bugzilla
+ report 37767.
+
+* CCUnlock's objselect attribute could exhibit unpredictable behavior;
+ standardized improperly included objselect and objsel property accessors to
+ delegate to the inherited objSelect property accessor. Bugzilla report 37766.
+
+* <unzip> and <untar> now correctly merge multiple nested patternsets.
+ Bugzilla Report 38973.
+
+* On case-insensitive filesystems, a <move> to change filename case
+ erroneously deleted the "destination" file before attempting to rename
+ the source file. Bugzilla 37701.
+
+* <scp> can now handle uris with @s other than the final one denoting the
+ domain. Bugzilla 38082.
+
+* If the class invoked by the <java> task threw a ClassNotFoundException,
+ this was misinterpreted as the specified class itself not being found.
+
+* <echoproperties> setPrefix javadoc claimed null or empty prefix would be
+ ignored; instead an error was thrown. Bugzilla report 39954.
+
+* <get> would fetch files that were up to date, because it used > in a
+ remote/local timestamp comparison, not >=. Bugzilla 35607.
+
+* <xslt> passes the current file (name + directory) to the
+ stylesheet/transformation. xsl-parameter name is configurable.
+ Bugzilla report 21042.
+
+* The <zip> API allowed creation of directories in file-only archives; a
+ habitual offender was the subclassed <jar>, which included META-INF/ in
+ the destination file regardless of whether filesonly was set to true.
+
+* <rmic> has a new adapter, xnew, to use the -XNew back end on java1.5+.
+ By forking rmic, this works on java1.6+. Bugzilla report 38732.
+
+* Copy of UnknownElement in macroinstance was not recursive.
+ Bugzilla report 40238.
+
+* Mixing of add and addConfigured methods in Mapper/ChainedMapper
+ causes incorrect chaining. Bugzilla report 40228.
+
+Other changes:
+--------------
+
+* Warn user when a reference in the form "${refid}" cannot be resolved as this
+ is a sign they probably meant "refid" (misuse of property expansion syntax).
+
+* Add dtd to javadoc for junit.
+ Bugzilla 40754.
+
+* Add quiet attribute to loadfile/resource.
+ Bugzilla 38249.
+
+* Make Locator#fromURI also append the drive letter when running under Windows
+ with JDK 1.3 or 1.2.
+
+* Do not uppercase the drive letters systematically in FileUtils#normalize.
+
+* Java 5 enumerations may now be used as values in XML attributes in place of
+ EnumeratedAttribute. Bugzilla 41058.
+
+* Create a pom file for ant-testutil and add ant-testutil.jar to the ant
+ distribution. Bugzilla 40980.
+
+* Roll back automatic proxy enabling on Java 1.5. It broke things like
+ Oracle JDBC drivers, and Ant itself on IBM's JVM on AIX, and didn't
+ seem to work to well the rest of the time.
+ To enable the feature, use the -autoproxy command line option.
+
+* Upgraded XML API and parser to Xerces 2.8.1
+
+* A code review of some threaded logic has tightened up the synchronization
+ of Watchdog, ExecuteWatchdog and ExecuteJava, which could reduce the occurrence
+ of race conditions here, especially on Java1.5+.
+
+* Allow broken reference build files. The defer reference processing would
+ break too many files - so allow them with a warning.
+
+* Removed dependency on sun.misc.UUEncoder for UUMailer.
+
+* Added regex attribute to the echoproperties task.
+ Bugzilla 40019.
+
+* <war> task now allows you to omit the web.xml file. as this is optional
+ in the servlet 2.5 and Java EE 5 APIs. set needxmlfile="false" to
+ avoid a missing web.xml file from halting the build.
+
+* Diagnostics catches and logs security exceptions when accessing system properties.
+
+* <javadoc> useexternalfile now applies to all command line arguments
+ of javadoc. Bugzilla report 40852.
+
+* javadoc/tag@description is now set to the name if description is
+ not specified. Bugzill report 32927.
+
+* Some performance improvements, including Bugzilla report 25778.
+
+* Add <matches> condition. Bugzilla report 28883.
+
+* Extending JAR-Task for SPI. Bugzilla report 31520.
+
+* Added <tokens> resource collection for convenient creation of string
+ resources from other resources' content. Inspired by Bugzilla 40504.
+
+* Added <compare> resource selector to select resources based on the
+ results of their comparison to other resources.
+
+* Added outputtoformatters attribute to <junit> to allow suppression
+ of noisey tests. Bugzilla report 12817.
+
+* Log level of message 'Overriding previous definition of reference to'
+ set to Verbose. Bugzilla report 17240.
+
+* Added setbeans attribute to <script> to allow <script>'s to be
+ run without referencing all references.
+ Bugzilla report 37688.
+
+* Added classpath attribute and nested element to <script> to allow
+ the language jars to be specified in the build script.
+ Bugzilla report 29676.
+
+* Trim the driver attribute on the <sql> task. Bugzilla report 21228.
+
+* Allow (jar) files as well as directories to be given to jdepend.
+ Bugzilla report 28865.
+
+* Convert SplashTask to use NOT sun internal classes.
+ Bugzilla report 35619.
+
+* Made PatternSet#hasPatterns public to allow custom filesets access.
+ Bugzilla report 36772.
+
+* Added searchparents attribute to <available>. Bugzilla report 39549.
+
+* Tasks that don't extend Ant's Task class will now get the build file
+ location reflected into a method of the signature void setLocation(Location)
+ - if such a method exists.
+
+* Remove needless synchronization in DirectoryScanner.
+ Bugzilla report 40237.
+
+* Improved recursion detection for lines with multiple matches of same token
+ on a single line. Bugzilla report 38456.
+
+* Task will now log correctly even if no project is set.
+ Bugzilla report 38458.
+
+* Use alternative names for the command line arguments in javac. Bugzilla
+ Report 37546.
+
+* The Reference class now has a project field that will get
+ used (if set) in preference to the passed in project, when
+ dereferencing the reference. Bugzilla Report 25777.
+
+* On DOS and Netware, filenames beginning with a drive letter
+ and followed by a colon but with no directory separator following
+ the colon are no longer (incorrectly) accepted as absolute pathnames
+ by FileUtils.normalize() and FileUtils.isAbsolutePath(). Netware
+ volumes can still be specified without an intervening separator.
+ UNC pathnames on Windows must include a server and share name, i.e.
+ "\\a\b" to be considered valid absolute paths.
+
+* A bug in SQLExec would prevent the execution of trailing,
+ non-semicolon-delimited statements. Bugzilla Report 37764.
+
+* InputHandler implementations may now call InputRequest.getDefaultValue()
+ if they wish. The default handler uses this also. Bugzilla report 28621.
+
+* Took in bugzilla report 39320, "Simple code cleanups"
+
+* Improve compatibility with GNU Classpath and java versions prior to
+ 1.5. Bugzilla 39027.
+
+* ${ant.core.lib} may now be used to refer to the library containing the
+ Ant classes, for instance useful when compiling tasks.
+
+* Minor performance improvements Bugzilla report 37777
+
+* New task <manifestclasspath> converts a path into a property
+ suitable as the value for a manifest's Class-Path attribute.
+
+* Fixed references to obsoleted CVS web site. Bugzilla Report 36854.
+
+* Log fine-grained events at verbose level from JUnit. Bugzilla report 31885.
+
+* <WsdlToDotnet> and <style> are now deprecated in favor of <wsdltodotnet> and
+ <xslt>, respectively. Bugzilla report 25832.
+
+* <echoproperties> now (alphanumerically) sorts the property list
+ before echoing. Bugzilla report 18976.
+
+* A new base class DispatchTask has been added to facilitate elegant
+ creation of tasks with multiple actions.
+
+* Major revision of <wsdltodotnet>. Supports mono wsdl and the microsoft
+ wsdl run on mono, as well as most of the .NET WSE2.0 options. Extra
+ schemas (files or urls) can be named in the <schema> element.
+ Compilers can be selected using the compiler attribute, which defaults
+ to "microsoft" on windows, and "mono" on everything else.
+
+* It is now possible to specify the pattern created/parsed by <checksum>.
+ Bugzilla Report 16539.
+
+* Added a new "failall" value for the onerror attribute of <typedef>.
+ Bugzilla report 31685.
+
+* unzip/unwar/unjar/untar now supports a nested mapper, which lets you unzip
+ in useful ways.
+
+* Junit task -- display suite first.
+ Bugzilla report 31962.
+
+* Added isSigned condition and signedselector selector
+ Bugzilla report 32126.
+
+* Added preserveLastModified attribute to signjar task.
+ Bugzilla report 30987.
+
+* Added <scriptcondition> condition, for inline scripted conditions
+
+* Added <xor> condition for exclusive-or combining of nested conditions.
+
+* Added <scriptselector> selector for scripted file selection
+
+* ant -diagnostics lists contents of ${user.home}/.ant/lib , and
+ checks that the java.io.tmpdir directory exists and is writeable.
+
+* mail task accepts nested header element. Bugzilla report 24713.
+
+* zip/jar/war/ear supports level attribute for deflate compression level.
+ Bugzilla report 25513.
+
+* Added loginputstring attribute to the redirector type.
+
+* Tighten security by sending storepass and keypass to signjar
+ via the input stream of the forked process.
+
+* New task <schemavalidate> extends <xmlvalidate> with extra support
+ for XML Schema (XSD) files.
+
+* <fixcrlf> supports a file attribute for easy fixup of a single file.
+
+* New condition <parsersupports> which can look for XML parser feature or
+ property support in the parser Ant is using.
+
+* fixcrlf can be used in a filterchain.
+
+* <sync> has a new nested element <preserveInTarget> that can be used
+ to protect extra-content in the target directory. Bugzilla Report
+ 21832.
+
+* <signjar> now supports:
+ -nested filesets at the same time as the jar attribute
+ -a destDir attribute with the appropriate dependency logic, which
+ can be used with the jar attribute or nested filesets
+ -a mapper to permit filename remapping on signing
+ -tsaurl and tsacert attributes for timestamped JAR signing
+ -nested <sysproperty> elements, which can be used for proxy setup
+ and the like
+
+* The linecontains and linecontainsregexp filterreaders now support a
+ negate attribute to select lines -not- containing specified text.
+ Bugzilla Report 34374.
+
+* <os> condition adds "winnt" as a family which can be tested. This is
+ all windows platforms other than the Win9x line or Windows CE.
+
+* <exec> (and hence, <apply> and any other derived classes) have an OsFamily
+ attribute, which can restrict execution to a single OS family.
+
+* Added "backtrace" attribute to macrodef. Bugzilla report 27219.
+
+* Ant main provides some diagnostics if it ever sees a -cp or -lib option,
+ as this is indicative of a script mismatch. Bugzilla report 34860
+
+* <junitreport> prints a special message if supplied an empty XML File. This
+ can be caused by the test JVM exiting during a test, either via a
+ System.exit() call or a JVM crash.
+
+* Project name is now used for *all* targets so one can write consistent import
+ build files. Bugzilla report 28444.
+
+* New condition <typefound> that can be used to probe for the declaration
+ and implementation of a task, type, preset, macro, scriptdef, whatever.
+ As it tests for the implementation, it can be used to check for optional
+ tasks being available.
+
+* Check for 1.5.* Ant main class. (weblogic.jar in classpath reports)
+
+* New condition <isfailure> that tests the return-code of an executable. This
+ contains platform-specific logic and is better than comparing the result with
+ "0".
+
+* Added initial support for Resource Collections, including the
+ resourcecount task.
+
+* property attribute of pathconvert is now optional. If omitted the
+ result will be written to the log.
+
+* New mapper, <scriptmapper>, supports scripted mapping of source files/strings
+ to destination strings.
+
+* Add the echoxml task. This will echo nested XML to a file, with
+ the normal <?xml ?> processor instruction. UTF-8 encoding only; no-namespace
+ support.
+
+* Try to make subprojects of custom Project subclasses instances of the
+ same type. Bugzilla report 17901.
+
+* <ssh> and <scp> support keyboard-interactive authentication now.
+
+* <javadoc> now supports -breakiterator for custom doclets if Ant is
+ running on JSE 5.0 or higher. Bugzilla Report: 34580.
+
+* New logger, TimestampedLogger, that prints the wall time that a build
+ finished/failed. Use with
+ -logger org.apache.tools.ant.listener.TimestampedLogger
+
+* <junitreport> now generates pages alltests-errors.html and
+ alltests-fails.html, that list only the errors and failures, respectively.
+ Bugzilla Report: 36226
+
+* New task <makeurl> that can turn a file reference into an absolute file://
+ url; and nested filesets/paths into a (space, comma, whatever) separated
+ list of URLs. Useful for RMI classpath setup, amongst other things.
+
+* <xslt> now accepts nested FileNameMappers e.g. <globmapper>.
+ Bugzilla report 37604.
+
+* New task <loadresource> that accompanies <loadfile> for non file resources.
+
+* <echo> now supports an encoding when saving to a file.
+
+* New GreedyInputHandler added.
+
+* Add textfile attribute to the <filesmatch> condition. When true, the text
+ contents of the two files are compared, ignoring line ending differences.
+
+* New <resourcesmatch> condition.
+
+* Added the onmissingfiltersfile attribute to filterset. Bugzilla report 19845.
+
+* Added the inline handler element to the input task.
+
+* <sql> supports property expansion if you set the expandProperties
+ attribute. By default it does not expand properties, something we
+ dare not change for fear of breaking complex SQL operations in
+ existing files.
+
+* <javadoc>'s packagenames attribute is now optional and defaults to "*".
+
+* <javac>'s source and target attributes as well as <javadoc>'s source
+ attribute will read default values from the properties
+ ant.build.javac.source and ant.build.javac.target.
+
+* Handling of ' ', '#' in CLASSPATH and '#' in -lib (cannot use ' '
+ in -lib on UNIX at the moment). Bugzilla Report 39295.
+
+* <scp> now optionally supports the sftp protocol. Bugzilla Report 39373.
+
+* Resources can now be used to indicate the location of the stylesheet to use
+ in <xslt>. Bugzilla Report 39407.
+
+* New <antversion> condition. Bugzilla report 32804.
+
+* ReplaceTokens should allow properties files. Bugzilla report 39688.
+
+* FTP Account could not be specified in ant FTP task. Bugzilla report 39720.
+
+* Minor performance updates. Bugzilla report 39565.
+
+* New deleteonexit attribute for the <tempfile> task. Bugzilla report 39842.
+ Remember that the exit of the JVM can be a long time coming,
+ especially under an IDE. Don't rely on this being called.
+
+* <scriptdef>-created scripts have support for nested text. All text
+ passed to a scripted task can be accessed via self.text.
+
+* <fixcrlf> now supports an outputencoding attribute. Bugzilla report 39697.
+
+* <junitreport> now supports nested XSL parameters. Bugzilla report 39708.
+
+* <javacc> has a jdkversion attribute to pass the desired JDK version
+ down to javacc. Bugzilla report 38715.
+
+* <cvs> prints passfile info at -verbose level instead of -info. Bugzilla
+ report 35268
+
+* When <javac> can't find the compiler class, it prints out java.home for
+ immediate diagnostics
+
+* Ant launcher now supports a -main attribute so that you can specify
+ an extension class to the built in org.apache.tools.ant.Main
+ class. This class must implement the interface AntMain
+
+Changes from Ant 1.6.4 to Ant 1.6.5
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+Fixed bugs:
+-----------
+
+* <move> was unable to replace existing files or write into
+ existing directories. Bugzilla report 34962.
+
+* <macrodef> with redefined default values was incorrect. (Fix for
+ 31215 had a bug). Bugzilla report 35109.
+
+* <javadoc> will convert backslashes to forwardslashes when generating file
+ list by useexternalfile. Bugzilla report 27814.
+
+Changes from Ant 1.6.3 to Ant 1.6.4
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+* <ftp> task has had a number of changes. Uptodate calculation previously
+ did not call a file uptodate if the source timestamp and the destination
+ timestamp were equal. Bugzilla report 34941. Any script that attempted
+ to compensate for this by using the timediffmillis attribute might need
+ to be tweaked.
+
+
+Fixed bugs:
+-----------
+
+* Sun javah failed with java.lang.NoClassDefFoundError.
+ Bugzilla report 34681.
+
+* DirectoryScanner.slowScan() was broken. Bugzilla report 34722.
+
+* DirectoryScanner.scan() could throw a NullPointerException on
+ case-insensitive filesystems (read Windows or MacOS X).
+
+* Get w/authentication failed with ArrayOutOfBoundsExceptions.
+ Bugzilla report 34734.
+
+* Granularity attribute for <sync> task was undocumented.
+ Bugzilla report 34871.
+
+* <unzip> and <untar> could leave file handles open on invalid
+ archives. Bugzilla report 34893.
+
+* propertyset threw NPE with nested, mapped propertysets.
+
+Other changes:
+--------------
+
+* AntXMLContext.setCurrentTargets() is now public. Bugzilla report 34680.
+
+Changes from Ant 1.6.2 to Ant 1.6.3
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* The subant task used the canonical version of a file path. This
+ has been changed to use the absolute path. Bugzilla 30438.
+
+* Tar now writes two EOF blocks rather than one.
+ Bugzilla report 28776
+
+* The Reference object now has a project field which it uses in preference
+ to the project passed in. This allows composite references to be
+ handled to nested projects.
+ Bugzilla report 25777
+
+* <junit> with filtertrace="true" will now also swallow lines for the
+ sun.reflect package. If you need to see them in your stack trace,
+ you must set filtertrace to false.
+ Bugzilla Report 22758
+
+* The jikes compiler adapter now supports -bootclasspath, -extdirs and
+ -sourcepath and also uses the same logic for debug flags as javac.
+ This means, the jikes compiler adapter now requires Jikes 1.15 or later.
+ Bugzilla Reports 25868, 26404 and 32609.
+
+* The gcj compiler adapter used to include the Java runtime classes
+ even if includeJavaRuntime was set to false, unless the
+ bootclasspath has been specified as well. It will now always adhere
+ to includeJavaRuntime, you may need to set it to true explicitly now
+ if you relied on the old behavior.
+
+Other changes:
+--------------
+
+* <javadoc> can now take an attribute 'executable'. Bugzilla report 30606.
+
+* New attribute ignorecontents for <different> selector
+
+* Javadoc fixes for Location, Project, and RuntimeConfigurable
+ Bugzilla 30160.
+
+* Enable to choose the regexp implementation without system property.
+ Bugzilla Report 15390.
+
+* Expose objects and methods in IntrospectionHelper. Bugzilla Report 30794.
+
+* Allow file attribute of <move> to rename a directory.
+ Bugzilla Report 22863.
+
+* Add xmlcatalog nested element to XmlProperty. Bugzilla report 27053.
+
+* New attribute alwayslog for <redirector> type.
+
+* Added <target> nested elements to <ant> and <antcall> to allow
+ specification of multiple sub-build targets, which are executed
+ with a single dependency analysis.
+
+* Refactored Target invocation into org.apache.tools.ant.Executor
+ implementations. Bugzilla Reports 21421, 29248.
+
+* <rmic> now also supports Kaffe's rmic version shipping with Kaffe
+ 1.1.2 and above.
+
+* added casesensitive attribute to <globmapper> and <regexpmapper>
+ Bugzilla report 16686
+
+* added handledirsep attribute to <globmapper> and <regexpmapper>
+ Bugzilla report 32487
+
+* added a new mapper <filtermapper>
+
+* When a BuildListener tried to access System.err or System.out, Ant
+ would have thrown an exception - this has been changed. Ant now
+ silently ignores the message. BuildListeners still should avoid
+ accessing either stream.
+
+* Added a comment attribute to the zip task.
+ Bugzilla report 22793.
+
+* Overloaded FileUtils.createNewFile with a boolean mkdirs attribute
+ to create nonexistent parent directories.
+
+* <apply> has a new "force" attribute that, when true, disables
+ checking of target files.
+
+* Made the dest attribute of the apply task optional; mapped target
+ filenames will be interpreted as absolute pathnames when dest is omitted.
+
+* Changed default tempdir for <javac> from user.dir to java.io.tmpdir.
+
+* Added searchpath attribute to <exec> for searching path variable(s)
+ when resolveexecutable = true.
+
+* Added revision and userid attributes to <pvcs> documentation.
+
+* Added support to the touch task for a mkdirs attribute to create
+ nonexistent parent directories before touching new files.
+
+* Added support to the touch task for a pattern attribute to allow
+ alternate datetime formats.
+
+* Added support to the touch task to map touched files using a nested
+ mapper element.
+
+* Added support to the touch task for a verbose attribute to suppress
+ logging of new file creation.
+
+* bad link in docs to the enhancement page in bugzilla.
+ Bugzilla report 33252.
+
+* Added length task to get strings' and files' lengths.
+
+* <native2ascii> and <javah> now also support Kaffe's versions.
+
+* Recursive token expansion in a filterset can now be disabled by
+ setting its recurse attribute to false.
+
+* Pathconvert no longer requires that one of (targetos|pathsep|dirsep)
+ be set; platform defaults are used when this is the case.
+
+* Added preservelastmodified attribute to fixcrlf task. Bugzilla 25770.
+
+* Added isfileselected condition.
+
+* Added verbose="true|false" attribute to <subant>. When verbose is enabled,
+ the directory name is logged on entry and exit of the sub-build.
+ Bugzilla 33787.
+
+* Added -nouserlib option to allow running ant without automatically loading
+ up ${user.home}/.lib/ant. This is useful when compiling ant, and antlibs.
+ Modified the build.sh and build.bat to use the option.
+
+* Added -noclasspath option to allow running ant WITHOUT using CLASSPATH env
+ variable. Modified ant.bat to do this so that %CLASSPATH% is not looked at.
+
+* Add else attribute to the condition task, which specifies an
+ optional alternate value to set the property to if the nested
+ condition evaluates to false. Bugzilla report 33074.
+
+* Ant generated jar files should now be detected as jar files by
+ Solaris. Bugzilla Report 32649.
+
+* <rexec> with a single command should now work with unusal login
+ dialogs without special read/write pairs. Bugzilla Report 26632.
+
+* <csc>'s extraoptions can now contain multiple arguments.
+ Bugzilla Report 23599.
+
+* <macrodef> with default values set by properties would be
+ seen as new definitions when called twice with different properties.
+ This was confusing so the definitions are now treated as similar.
+ Bugzilla Report 31215.
+
+* <javadoc> has a new attribute "includenosourcepackages" that can be
+ used to document packages that don't hold source files but a
+ package.html file. Bugzilla Report 25339.
+
+* <rpm> has new attributes failonerror and quiet.
+
+* Added two tutorials
+ - beginner: introduction into Ant
+ - task developers: using path, fileset etc
+
+* a number of new attributes that allow the user to handle non-standard
+ server listing formats and time zone differences have been added in
+ the <ftp> task.
+
+
+Fixed bugs:
+-----------
+
+* Do not pass on ThreadDeath when halting <java fork="false">. Bugzilla
+ 32941.
+
+* Killing a thread running <java fork="true"> (e.g. from an IDE) would
+ not stop the forked process. Bugzilla 31928.
+
+* Programs run with <java fork="true"> can now accept standard input
+ from the Ant console. (Programs run with <java fork="false"> could
+ already do so.) Bugzilla 24918.
+
+* AbstractCvsTask prematurely closed its outputStream and errorStream.
+ Bugzilla 30097.
+
+* Impossible to use implicit classpath for <taskdef>
+ when Ant core loader != Java application loader and
+ Path.systemClassPath taken from ${java.class.path} Bugzilla 30161.
+
+* MacroInstance did not clean up nested elements correctly in the execute
+ method, causing multiple use of the same macro instance with nested
+ elements to fail.
+
+* checksum fileext property doc wrong. Bugzilla 30787.
+
+* FTP task, getTimeDiff method was returning wrong value. Bugzilla 30595.
+
+* make sure that Zip and its derivatives call the createEmptyZip method when
+ there are no resources to zip/jar/...
+
+* Zip task was not zipping when only empty directories were found.
+ Bugzilla 30365.
+
+* Jar task was not including manifest files when duplicate="preserve" was
+ chosen. Bugzilla 32802.
+
+* ant.bat was missing runAntNoClasspath label for goto.
+ Bugzilla 34510.
+
+* Classpath was treated in the same way as -lib options. Bugzilla 28046.
+
+* Manual page for cvsversion contained incorrect attributes and did not
+ say since 1.6.1. Bugzilla 31408.
+
+* Typo in definition of <cvsversion> task causing it not to be defined.
+ Bugzilla 31403.
+
+* Execution of top level tasks in imported files get delayed by targets.
+ Bugzilla report 31487.
+
+* ExecTask executes checkConfiguration() even though os does not match.
+ Bugzilla report 31805.
+
+* Concat task instance could not be run twice.
+ Bugzilla report 31814.
+
+* NPE using XmlLogger and antlib.
+ Bugzilla report 31840.
+
+* Properties.propertyNames() should be used instead of .keys().
+ Bugzilla report 27261.
+
+* Target location is not set for default target.
+ Bugzilla report 32267.
+
+* Incorrect classloader parent in junittask when using with
+ ant-junit.jar and junit.jar not in the project classloader. Bugzilla
+ report 28474.
+
+* getResources() on the classloader returned by ClasspathUtils would
+ see each resource twice - if the resource is in the project
+ classpath and if the classloader is requested with a null path.
+
+* XMLValidate used URL#getFile rather than the ant method FileUtils#fromURI
+ Bugzilla report 32508
+
+* fixed Regexp-Mapper docs which gave outdated instructions (optional.jar)
+ Bugzilla report 28584
+
+* <scp> using <fileset> didn't work with OpenSSH 3.9 and later.
+ Bugzilla report 31939
+
+* <setproxy> failed to set user/password on some JDKs.
+ Bugzilla report 32667
+
+* untar would go into infinite loop for some invalid tar files.
+ Bugzilla report 29877
+
+* forked <javac> won't pass -source to a JDK 1.1 or 1.2 javac anymore.
+ Bugzilla report 32948
+
+* propertyset references did not handle nested propertyset references.
+
+* oata.types.Description.getDescription(Project) would throw a
+ NullPointerException when the "ant.targets" reference was unset.
+
+* Wrapper scripts did not detect WINNT value of dynamic OS environment
+ variable when logged into workstations using Novell authentication.
+ Bugzilla Report 30366.
+
+* DependScanner.getResource() always returned nonexistent resources,
+ even when the resource actually existed. Bugzilla Report 30558.
+
+* <apply> was broken with classfilesets. Bugzilla Report 30567.
+
+* <available> returned false positives when checking a file
+ passed in with the current basedir leading twice:
+ e.g. ${basedir}${file.separator}${basedir}${file.separator}foo .
+
+* The first file open that took place when using input files with the
+ <exec>, <apply>, or <java> tasks was always logged to System.out
+ instead of to the managing Task.
+
+* <telnet> and <rexec> would try to disconnect from servers they never
+ connetced to, potentially leading to exceptions in commons-net.
+ Bugzilla Report 33618.
+
+* <zip> would drop files matched by defaultexcludes during updates.
+ Bugzilla Report 33412.
+
+* <zip> couldn't store files with size between 2GB and 4GB (the
+ upper limit set by the ZIP format itself). Bugzilla Report 33310.
+
+* NPE when when <presetdef> tries to configure a task that
+ cannot be instantiated. Bugzilla Report 33689.
+
+* <javac debug="false"> created an invalid command line when running
+ the Symantec Java compiler.
+
+* Get with usetimestamp did not work on Java 1.2.
+
+* Get with usetimestamp did not work when local timestamp roughly >= now.
+
+* The framed JUnit report now handles multiple reports for the same
+ testcase properly. Bugzilla Report 32745.
+
+* <cab> didn't work for files with spaces in their names on Windows.
+ Bugzilla Report 17182.
+
+* The VAJ tasks could fail if the project name contained characters
+ that need to get URL encoded. Bugzilla Report 23322.
+
+* TarInputStream#read() wasn't implemented correctly. Bugzilla Report
+ 34097.
+
+* <xslt> failed to process file-hierarchies of more than one level if
+ scanincludeddirectories was true. Bugzilla Report 24866.
+
+* forkmode="perBatch" or "once" would ignore extension attributes that
+ had been specified for <formatter>s. Bugzilla Report 32973.
+
+* The refid attribute of the I/O redirector was not functional.
+
+Changes from Ant 1.6.1 to Ant 1.6.2
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* The import task used the canonical version of a file path. This
+ has been changed to use the absolute path. Bugzilla 28505.
+
+* ant-xalan2.jar has been removed since the only class contained in it
+ didn't depend on Xalan-J 2 at all. Its sole dependency has always
+ been TraX and so it has been merged into ant-trax.jar.
+
+* All exceptions thrown by tasks are now wrapped in a buildexception
+ giving the location in the buildfile of the task.
+
+* Nested elements for namespaced tasks and types may belong to the
+ Ant default namespace as well as the task's or type's namespace.
+
+* <junitreport> will very likely no longer work with Xalan-J 1.
+
+ Note that Xalan-J 1 has been deprecated for a very long time and we
+ highly recommend that you upgrade.
+
+ If you really need to continue using Xalan-J 1, please copy the
+ junit-frames-xalan1.xsl from the distribution's etc directory as
+ junit-frames.xsl into a new directory and use the task's styledir
+ attribute to point to. This is the last version of the XSLT
+ stylesheet that is expected to be compatible with Xalan-J 1.
+
+Fixed bugs:
+-----------
+
+* eliminate memory leak in AntClassLoader. Bugzilla Report 8689.
+
+* subant haltonfailure=false did not catch all failures. Bugzilla Report 27007.
+
+* macrodef @@ escaping was broken. Bugzilla Report 27069.
+
+* MacroDef did not allow attributes named 'description'. Bugzilla Report 27175.
+
+* Throw build exception if name attribute missing from patternset#NameEntry.
+ Bugzilla Report 25982.
+
+* Throw build exception if target repeated in build file, but allow targets
+ to be repeated in imported files.
+
+* <apply> didn't compare timestamps of source and targetfiles when
+ using a nested <filelist>. Bugzilla Report 26985.
+
+* tagdiff.xml was broken in ant 1.6.1. Bugzilla Report 27057.
+
+* if the basedir contained .. or . dirs, and the build file name contained
+ .. or ., the basedir was set incorrectly. Bugzilla Report 26765.
+
+* regression from ant 1.5, exec task outputted two redundant trailing newlines.
+ Bugzilla Report 27546.
+
+* NPE when running commons listener. Bugzilla Report 27373.
+
+* <java> swallowed the stack trace of exceptions thrown by the
+ executed program if run in the same VM.
+
+* -projecthelp swallowed (configuration) errors silently.
+ Bugzilla report 27732.
+
+* filterset used by filtertask doesn't respect loglevel. Bugzilla Report 27568.
+
+* wrong compare used in ProjectComponent for logging. Bugzilla Report 28070.
+
+* failOnAny attribute for <parallel> was broken. Bugzilla Report 28122.
+
+* If <javac> uses gcj and any of the nested <compilerarg>s implies
+ compilation to native code (like -o or --main), Ant will not pass
+ the -C switch to gcj. This means you can now compile to native code
+ with gcj which has been impossible in Ant < 1.6.2.
+
+* <import optional="false"> and <import optional="true">
+ behaved identically.
+
+* <xslt> now sets the context classloader if you've specified a nested
+ <classpath>. Bugzilla Report 24802.
+
+* <zip> and friends would delete the original file when trying to update
+ a read-only archive. Bugzilla Report 28419.
+
+* <junit> and <assertions> are working together. Bugzilla report 27218
+
+* AntClassLoader#getResource could return invalid URLs. Bugzilla
+ Report 28060.
+
+* Ant failed to locate tools.jar if the jre directory name wasn't all
+ lowercase. Bugzilla Report 25798.
+
+* Redirector exhibited inconsistent behavior with regard to split
+ output. When sent to file only, files would be created in all
+ cases; when split file-property, files were only created if
+ writes were performed.
+
+* fixed case handling of scriptdef attributes and elements.
+
+* UNC pathnames did not work for ANT_HOME or -lib locations on Windows.
+ Bugzilla report 27922.
+
+* replacestring tokenfilter only replaced the first occurrence.
+
+* AntLikeTasksAtTopLevelTest failed on cygwin.
+
+* I/O-intensive processes hung when executed via <exec spawn="true">.
+ Bugzilla reports 23893/26852.
+
+* JDependTask did not close an output file. Bugzilla Report 28557.
+
+* Using <macrodef> could break XmlLogger. Bugzilla Report 28993.
+
+* <genkey> no longer requires keytool to be in your PATH. Bugzilla
+ Report 29382.
+
+* <symlink> could create cyclic links. Bugzilla Report 25181.
+
+* <zip whenempty="skip"> didn't work in a common situation. Bugzilla
+ Report 22865.
+
+* <scp> now properly handles remote files and directories with spaces
+ in their names. Bugzilla Report 26097.
+
+* <scp> now has (local|remote)tofile attributes to rename files on the
+ fly. Bugzilla Report 26758.
+
+* <telnet> and <rexec> didn't close the session. Bugzilla Report 25935.
+
+* <subant> and XmlLogger didn't play nicley together.
+
+Other changes:
+--------------
+* doc fix concerning the dependencies of the ftp task
+ Bugzilla Report 29334.
+
+* <xmlvalidate> has now a property nested element,
+ allowing to set string properties for the parser
+ Bugzilla Report 23395.
+
+* Docs fixes for xmlvalidate.html, javadoc.html, starteam.
+ Bugzilla Reports 27092, 27284, 27554.
+
+* <pathconvert> now accepts nested <mapper>s. Bugzilla Report 26364.
+
+* Shipped XML parser is now Xerces-J 2.6.2.
+
+* Added nested file element to filelist.
+
+* spelling fixes, occurred. Bugzilla Report 27282.
+
+* add uid and gid to tarfileset. Bugzilla Report 19120.
+
+* <scp> has a verbose attribute to get some feedback during the
+ transfer and new [local|remote][File|Todir] alternatives to file and
+ todir that explicitly state the direction of the transfer.
+
+* The OS/2 wrapper scripts have been adapted to use the new launcher.
+ Bugzilla Report 28226.
+
+* <sshexec> now also captures stderr output. Bugzilla Report 28349.
+
+* <xslt> now supports a nested <mapper>. Bugzilla Report 11249.
+
+* <touch> has filelist support.
+
+* <nice> task lets you set the priority of the current thread; non-forking
+ <java> code will inherit this priority in their main thread.
+
+* New attribute "negate" on <propertyset> to invert selection criteria.
+
+* Target now supports a Location member. Bugzilla Report 28599.
+
+* New "pattern" attribute for <date> selector.
+
+* <junit> has a new forkmode attribute that controls the number of
+ Java VMs that get created when forking tests. This allows you to
+ run all tests in a single forked JVM reducing the overhead of VM
+ creation a lot. Bugzilla Report 24697.
+
+* <jar> can now optionally create an index for jars different than the
+ one it currently builds as well. See the new <indexjars> element
+ for details. Bugzilla Report 14255.
+
+* Permit building under JDK 1.5. Bugzilla Report 28996.
+
+* minor Javadoc changes. Bugzilla Report 28998.
+
+* Misc. corrections in SignJar.java. Bugzilla Report 28999.
+
+* Remove redundant <hr> from javah.html. Bugzilla Report 28995.
+
+* Ignore built distributions. Bugzilla Report 28997.
+
+* A new roundup attribute on <zip> and related task can be used to
+ control whether the file modification times inside the archive will
+ be rounded up or down (since zips only store modification times with
+ a granularity of two seconds). The default remains to round up.
+ Bugzilla Report 17934.
+
+* A binary option has been added to <concat>. Bugzilla Report 26312.
+
+* Added DynamicConfiguratorNS, an namespace aware version of
+ DynamicConfigurator. Bugzilla Report 28436.
+
+* Add implicit nested element to <macrodef>. Bugzilla Report 25633.
+
+* Add deleteonexit attribute to <delete>.
+
+* Added Target.getIf/Unless(). Bugzilla Report 29320.
+
+* <fail> has a status attribute that can be used to pass an exit
+ status back to the command line.
+
+* <fail> accepts a nested <condition>.
+
+* <loadproperties> supports loading from a resource.
+ Bugzilla Report 28340.
+
+* Nested file mappers and a container mapper implementation have been
+ introduced. Additionally, the <mapper> element now accepts "defined"
+ nested FileNameMapper implementations directly, allowing a usage
+ comparable to those of <condition>, <filter>, and <selector>.
+
+* New <redirector> type introduced to provide extreme I/O flexibility.
+ Initial support for <exec>, <apply>, and <java> tasks.
+
+* <apply> has a new ignoremissing attribute (default true for BC)
+ which will allow nonexistent files specified via <filelist>s to
+ be passed to the executable. Bugzilla Report 29585.
+
+* <junitreport> now also works with Xalan XSLTC and/or JDK 1.5.
+ Bugzilla Report 27541.
+
+* <jspc> doesn't work properly with Tomcat 5.x. We've implemented a
+ work-around but don't intend to support future changes in Tomcat
+ 5.x. Please use the jspc task that ships with Tomcat instead of
+ Ant's.
+
+Changes from Ant 1.6.0 to Ant 1.6.1
+=============================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* License is now Apache License 2.0
+ see http://www.apache.org/licenses/ for more information
+
+Fixed bugs:
+-----------
+* Remove a recursive template call in the junit xsls that could trigger a stack
+ overflow. It now uses Xalan extensions to call a Java class directly.
+ Bugzilla Report 19301
+
+* Fix spurious infinite loop detection for filters (introduced in ant 1.6.0).
+ Bugzilla Report 23154.
+
+* Fix handling of default ant namespace for nested elements.
+
+* Fix jboss element of ejb task (introduced in ant 1.6.0).
+
+* <whichresource> failed to load classes correctly.
+
+* Ant could fail to start with a NullPointerException if
+ ANT_HOME/lib/ant-launcher.jar was part of the system CLASSPATH.
+
+* presetdef'ed types did not work with the ant-type attribute
+
+* fixed case handling of macrodef attributes and elements. Bugzilla
+ Reports 25687 and 26225.
+
+* <java> ignored the append attribute, Bugzilla Report 26137.
+
+* The gcj compiler adapter for <javac> failed if the destination
+ directory didn't exist. Bugzilla Report 25856.
+
+* Ant now fails with a more useful message if a new process will be
+ forked in a directory and that directory doesn't exist.
+
+* <splash> used to break the build on non-GUI environments. Bugzilla
+ report 11482.
+
+* Ant 1.6.0 cannot run build scripts in directories with non-ASCII names.
+ Bugzilla Report 26642.
+
+Other changes:
+--------------
+* Shipped XML parser is now Xerces-J 2.6.1
+
+* Translate task logs a debug message specifying the number of files
+ that it processed. Bugzilla Report 13938.
+
+* <fixcrlf> has a new attribute - fixlast. Bugzilla Report 23262.
+
+* <p4submit> has 2 new attributes, needsresolveproperty and changeproperty.
+ Bugzilla Report 25711.
+
+* add description attributes to macrodef attributes and elements.
+ Bugzilla Report 24711.
+
+* Extending ClearCase Tasks :
+ - Added an extra option to 'failonerr' to each ClearCase task/command.
+ - Extended the functionality of cccheckout. It can check (notco) to see if
+ the desired element is already checked out to the current view. Thus it
+ won't attempt to check it out again.
+ - Added three new ClearCase commands: ccmkattr, ccmkdir, ccmkelem
+ Bugzilla Report 26253.
+
+* added nested text support to <macrodef>
+
+* added initial support for Java 1.5. Java 1.5 is now correctly
+ detected by Ant and treated just like Java 1.4. You can now specify
+ source="1.5" in the <javac> task.
+
+* created new task <cvsversion>
+
+* added support for branch logging via the tag attribute in <cvschangelog>
+ Bugzilla Report 13510.
+
+* added support the groovy language in the script and scriptdef tasks
+
+Changes from Ant 1.5.4 to Ant 1.6.0
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* This version of Ant can not be built with JDK 1.1 and requires at
+ least Java 1.2 at runtime as well. Compiling for a 1.1 target is
+ still supported.
+
+* Targets cannot have the empty string as their name any longer.
+
+* ant.jar's manifest does no longer include a Class-Path entry, so it
+ is no longer possible to run Ant via "java -jar ant.jar" without
+ manually altering the CLASSPATH. Instead of that a file
+ ant-bootstrap.jar is included in the etc directory of the binary
+ distribution, copy this to the lib directory and use
+ "java -jar ant-bootstrap.jar" instead if you want to run Ant without
+ the wrapper script (not recommended).
+
+* The <script> task now requires Apache BSF instead of the older IBM
+ version. See <http://jakarta.apache.org/bsf/>
+
+* <xmlproperty> will no longer fail if the file to be loaded doesn't exist.
+
+* XML namespaces are now enabled in the XML parser, meaning XML namespace
+ declarations no longer cause errors. However task names containing colons
+ will cause errors unless there is a corresponding namespace uri.
+
+* The <ftp> and <telnet> tasks now require Jakarta Commons Net instead
+ of the older ORO Netcomponents version. See
+ <http://jakarta.apache.org/commons/net/index.html>.
+
+* <input> will no longer prompt the user and wait for input if the
+ addproperty attribute is set to a property that has already been
+ defined in the project. If you rely on the task waiting for input,
+ don't use the addproperty attribute.
+
+* The Class-Path attribute in manifests will no longer merge the
+ entries of all manifests found, but will be treated like all other
+ manifest attributes - the most recent attribute(s) will be used.
+
+* New Launch mechanism implemented. This moves some functionality from
+ the batch files / shell scripts into Java. This removes environment
+ limitations, for command issues, directory depth issues on Windows. Also
+ allows a per-user library location to be used if the main Ant install
+ is locked down.
+
+* The Entry nested element of PropertyFile will not any more have its value
+ attribute (actually increment) overwritten with the new value of the entry
+ after execution.
+
+* Output stored from a <java> or <exec> task is now exactly as generated. No
+ conversion to platform end-of-line characters is performed.
+
+* <translate> will now preserve line endings.
+
+* <ftp> followsymlinks="false" in nested fileset definitions is explicitly
+ required in order to exclude remote symbolic links (when doing a get, chmod,
+ delete, rmdir).
+
+* The values of the Copy#fileCopyMap variable has changed from String to
+ String[]. (In java 1.5 terms it was Hashtable<String, String> and
+ is now Hashtable<String, String[]>). This will affect third party code
+ that extend Copy and override Copy#doFileOperations.
+
+* <loadproperties> didn't expand properties while <property file="..."/>
+ does, so they were not equivalent. This has been fixed, which means
+ that propetries may get expanded twice if you use an
+ <expandproperties> filterreader. Bugzilla Report 17782.
+
+* User defined tasks and typedefs are now handled internally in the
+ same way as predefined tasks and typedefs. Also tasks and typedefs
+ are resolved at a later stage. This causes some
+ differences especially for user defined task containers.
+
+* <checksum> log message "Calculating checksum ..." has been degraded
+ from INFO to VERBOSE.
+
+Fixed bugs:
+-----------
+* Filter readers were not handling line endings properly. Bugzilla
+ Report 18476.
+
+* Filtersets were also not handling line endings properly.
+
+* Expand tasks did not behave as expected with PatternSets.
+
+* <property environment=... /> now works on OS/400.
+
+* <cab> could hang listcab on large <fileset>s.
+
+* The starteam stcheckout, stcheckin tasks now correctly compute
+ status of files against whatever local tree they are run against
+ and, optionally, will not process a file if it is current.
+ Previously you had to process everything unless you ran against the
+ default folder which wasn't the normal use-case for ant-starteam.
+ The stlist task now similarly displays that status correctly making
+ it a more generally useful tool.
+
+* entity includes would cause exceptions if path names included spaces.
+
+* addConfiguredXXX would not work for TaskAdapter wrapped tasks
+
+* Fix <ilasm> outputfile testing so that the output file does not need
+ to exist beforehand.
+
+* Ant will now exit with a return code of 1 if it encounters problems
+ with the command line arguments.
+
+* ClassLoader creation changes to use a factory method in Project. A new
+ class AntClassLoader2 implemented for 1.2+ specific features including
+ Package information and addition of classes specified in the Class-Path
+ element of a Jar's manifest.
+
+* It is now possible in <exec> to resolve the executable to a project
+ basedir or execution dir relative executable. The resolveExecutable
+ must be used to pick up such executables.
+
+* splash screen wouldn't disappear when build was finished.
+
+* <exec> output and error streams can now be redirected independently
+ to either a property or a file (or both)
+
+* TarEntry's File-arg constructor would fail with a
+ StringIndexOutOfBoundsException on all OSes where os.name is shorter
+ than seven characters. Bugzilla Report 18105.
+
+* <copy> and <move>'s failonerror didn't apply to filesets pointing to
+ non-existent directories. Bugzilla Report 18414.
+
+* The <stripjavacomments> filter sometimes removed parts of string
+ constants. Bugzilla Report 17441.
+
+* <antlr> will now recompile your grammar if the supergrammar has
+ changed. Bugzilla Report 12691.
+
+* <property env> will now work on Unices with /bin/env instead of
+ /usr/bin/env. Bugzilla Report 17642.
+
+* <jar index="on"> could include multiple index lists. Bugzilla 10262.
+
+* The index created by <jar> didn't conform to the spec as it didn't
+ include the top-level entries. Bugzilla Report 16972.
+
+* <tar> and <zip> didn't honor the defaultexcludes attribute for the
+ implicit fileset. Bugzilla Report 18637.
+
+* The <replacetokens> filter would throw an exception if the token's
+ value was an empty string. Bugzilla Report 18625.
+
+* Perforce tasks relying on output from the server such as <p4change>
+ and <p4label> were hanging. Bugzilla Reports 18129 and 18956.
+
+* Improve exception and logging behavior of Perforce tasks.
+ Bugzilla report 18154.
+
+* build.sh install had a problem on cygwin (with REALANTHOME).
+ Bugzilla Report 17257
+
+* <replaceregexp> didn't work for multi-byte encodings if byline was false.
+ Bugzilla Report 19187.
+
+* <replaceregexp> was altering unnecessarily the timestamp of the directories
+ containing the files to process
+ Bugzilla Report 22541.
+
+* file names that include spaces need to be quoted inside the @argfile
+ argument using forked <javac> and (all JDKS). Bugzilla Report 10499.
+ NB : a first correction was only introducing quotes for JDK 1.4
+ It has been changed to quote for all external compilers when paths
+ contain spaces.
+ Also the backslashes need to be converted to forward slashes
+ Bugzilla Report 17683.
+
+* Setting filesonly to true in <zip> and related tasks would cause the
+ archives to be always recreated. Bugzilla Report 19449.
+
+* file names that include spaces need to be quoted inside the @argfile
+ argument using <javadoc> and JDK 1.4. Bugzilla Report 16871.
+
+* <junit> didn't work with custom formatters that were only available
+ on the user specified classpath when a timeout occurred. Bugzilla
+ Report 19953.
+
+* <different> selector : make ignoreFileTimes effectively default to true
+ and fix a bug in the comparison of timestamps. Bugzilla Report 20205.
+
+* <different> selector can now be nested directly under a fileset
+ Bugzilla Report 20220.
+
+* <cvstagdiff> had a problem with "dd-MM-yy hh:mm:ss" formats
+ Bugzilla Report 15995.
+
+* <cvstagdiff> cvsroot and package attributes added to the root
+ element tagdiff of the xml output
+ Bugzilla Report 16081.
+
+* <cvstagdiff> had a problem with aliased modules and with requests for
+ multiple modules. Bugzilla Reports 21373 and 22877.
+
+* <cvstagdiff> could not parse properly the revision number of new files with
+ CVS 1.11.9 or higher. Bugzilla Report 24406.
+
+* <fixcrlf> make fixcrlf create its temporary files in the default directory
+ of FileUtils#createTempFile instead of the destination dir of fixcrlf.
+ Bugzilla Report 20870.
+
+* <ejbjar> implementation for Borland.
+ Prevent the task from being blocked by error messages coming from java2iiop.
+ Bugzilla Report 19385.
+
+* <unzip>'s and <untar>'s nested patternsets didn't work as documented
+ when the pattern ended in a slash or backslash. Bugzilla Report 20969.
+
+* <fixcrlf> will now create the parent directories for the destination
+ files if necessary. Bugzilla Report 20840.
+
+* <xmlproperty> now handles CDATA sections. BugZilla Report 17195
+
+* <translate> now translate tokens that are placed close together.
+ Bugzilla Report 17297
+
+* Nested websphere element for ejbjar does not support spaces in file name.
+ Bugzilla Report 21298
+
+* Don't multiply Class-Path attributes when updating jars. Bugzilla
+ Report 21170.
+
+* Do not overwrite the value (increment) attribute of PropertyFile nested
+ Entry element. Bugzilla Report 21505.
+
+* Prevent sysproperties with no key or no value from being added in <junit>.
+ Bugzilla Report 21684.
+
+* Allow references to be properly inherited via antcall
+ Bugzilla Report 21724.
+
+* ftp chmod failed when the remote system was UNIX and local system Windows
+ Bugzilla Report 21865.
+
+* ftp put with chmod failed when the remote system was UNIX and local system
+ Windows. Bugzilla Report 23143.
+
+* ftp did not set the ascii mode explicitly, causing problems with ftp servers
+ having binary as default
+
+* ftp was not able to download files when they were pointed to by symbolic
+ links. Bugzilla Report 14063.
+
+* ftp is able to download also directories pointed to by symbolic links.
+
+* replace would change \r\n into \r\r\n under Windows.
+
+* junitreport with frames did not display a link for classes without a package
+ or in the top package.
+ Bugzilla Report 21915.
+
+* Project.toBoolean(String) now handles null as argument and does not throw a
+ NullPointerException any more.
+
+* The socket condition will now close the socket created to test.
+ Bugzilla Report 23040.
+
+* <junit includeantruntime="true" fork="true"> replaced the CLASSPATH instead
+ of adding to it. Bugzilla Report 14971.
+
+* <splash> could fail on JVMs that use null to indicate the system classloader.
+ Bugzilla Report 23320.
+
+* <xmlcatalog>s only worked when defined inside of tasks. Bugzilla
+ Report 20965.
+
+* <csc> and siblings (<vbc> <jsharpc>) handle large filesets by
+automatic use of response files. Bugzilla report #19630
+
+Other changes:
+--------------
+
+* Shipped XML parser is now Xerces 2.6.0
+
+* All tasks can be used outside of <target>s. Note that some tasks
+ will not work at all outside of targets as they would cause infinite
+ loops (<antcall> as well as <ant> and <subant> if they invoke the
+ current build file).
+
+* Six new Clearcase tasks added.
+
+* A new filter reader namely tokenfilter has been added. Bugzilla
+ Report 18312.
+
+* A new attribute named skip is added to the TailFilter and
+ HeadFilter filter readers.
+
+* The filesetmanifest attribute of <jar> has been reenabled.
+
+* The start and end tokens for <translate> may now be longer than a
+ single character.
+
+* <setproxy> lets you set the username and password for proxies that
+ want authentication
+
+* <loadproperties> has a new encoding attribute.
+
+* <echoproperties> can now create XML output.
+
+* <echoproperties> has a new srcfile attribute that can make it read
+ properties files and output them instead of Ant's properties.
+
+* <filterset> will now resolve filters recursively.
+
+* <input> has a new attribute that allows you to specify a default value.
+
+* Added <image> task (requires JAI).
+
+* <image> task has now proportions attribute in the <scale/> nested element
+ instead of keepproportions (bringing in more functionality)
+
+* New condition <isreference>
+
+* <ftp> now has a preservelastmodified attribute to preserve the
+ timestamp of a downloaded file.
+
+* new rmdir action for <ftp> that removes directories from a fileset.
+
+* <ftp> has attributes timediffauto and timediffmillis to use together
+ with the newer attribute to tell ant to take into account a time difference
+ between client and remote side.
+ Bugzilla Report 19358.
+
+* <ftp> has been optimized to go directly to the include patterns.
+ This reduces scanning time under UNIX when followsymlinks="true"
+ and casesensitive="true" (the default)
+ Bugzilla Report 20103.
+
+* The SOS and VSS tasks will no longer unconditionally prepend a $ to
+ vsspath or projectpath.
+
+* OS/400 now gets detected by the os condition.
+
+* <arg> has a new attribute pathref that can be used to reference
+ previously defined paths.
+
+* <xmlproperty> has been improved, you can now expand ${properties},
+ define ids or paths and use Ant's location magic for filename resolutions
+ in the XML file.
+
+* <xmlcatalog> will now support external catalogs according to the
+ OASIS "Open Catalog" standard - if resolver.jar (newer than version
+ 1.0) from Apache's xml-commons is in your CLASSPATH.
+
+* Starteam tasks now have support for revision labels and build labels.
+ Checkouts now have the option of using repository timestamps, instead
+ of current.
+
+* new task <symlink> that creates and maintains symbolic links.
+
+* new tasks <chown> and <chgrp> which are wrappers of the Unix commands.
+
+* new task <attrib> to change file attributes on Windows systems.
+
+* <style> has a new attribute reloadstylesheet to work around a
+ bug in widespread Xalan versions.
+
+* <tarfileset> has a new dirmode attribute to specify the permissions
+ for directories.
+
+* <fixcrlf>'s eol attribute now also understands "mac", "unix" and "dos".
+
+* <classfileset> now picks up dependencies of the form MyClass.class. This
+ works for the code generated by the Sun java compiler. It may not work for
+ all compilers.
+
+* a new attribute "globalopts" can be added to all Perforce tasks.
+ You can put in it all the strings described by p4 help usage. Refer to
+ the docs for more information.
+
+* new Perforce tasks <p4integrate> , <p4resolve>, and <p4labelsync>
+
+* <p4submit> will change the property p4.change if the Perforce server
+ renumbers the change list.
+ It will set the property p4.needsresolve if the submit fails,
+ and the message says that file(s) need to be resolved.
+
+* <replaceregexp> now has an optional encoding attribute to support
+ replacing in files that are in a different encoding than the
+ platform's default.
+
+* The <exec> task may now have its input redirected from either a file
+ or a string from the build file. The error output can be separated
+ to a different file when outut is redirected. standard error may be
+ logged to the Ant log when redirecting output to a file
+
+* The <java> task also supports the input redirection and separate
+ error streams introduced to the <exec> task. In addition, it is now
+ possible to save the output into a property for use within the build
+ file as was possible with <exec> in Ant 1.5
+
+* The <javadoc> task <tag> subelement has been enhanced to allow files
+ with tag mappings to be used.
+
+* New tasks: <scp> supports file transfers, <sshexec> executes a
+ command over SSH. They require jsch, a BSD licensed SSH library that
+ can be found at http://www.jcraft.com/jsch/index.html
+
+* New filterreader <escapeunicode/>.
+
+* Support for HP's NonStop Kernel (Tandem) OS has been added.
+
+* <cab>'s basedir attribute is now optional if you specify nested
+ filesets. Bugzilla Report 18046.
+
+* New task <sync> that synchronizes two directory trees.
+
+* <apply> has new forwardslash attribute that can force filenames to
+ use forward slashes (/) as file separators even on platforms with a
+ different separator. This is useful if you want to run certain
+ ported Unix tools.
+
+* Copy has a new outputencoding attribute that can be used to change
+ the encoding while copying files. Bugzilla Report 18217.
+
+* The xml formatter for JUnit will now honor test case names set with
+ setName. Bugzilla Report 17040.
+
+* JUnit now has an attribute reloading, which, when set to false,
+ makes the task reuse the same class loader for a series of tests.
+
+* <concat> now supports filtering and can check timestamps before
+ overriding a file. Bugzilla Report 18166.
+
+* <junit> has a new attribute tempdir that controls the placement of
+ temporary files. Bugzilla Report 15454.
+
+* <jdepend> now supports a new nested element <classespath> which is
+ the same as <sourcespath> but point to compiled classes (the
+ preferred mode of operation for JDepend > 2.5). Additionally, nested
+ <exclude> elements can be used to exclude certain packages from
+ being parsed. Bugzilla Report 17134.
+
+* The JProbe tasks now also work with JProbe 4.x. Bugzilla Report 14849.
+
+* <javacc> and <jjtree> will now autodetect JavaCC 3.x and can use it.
+
+* <sql> has a new attribute to control escape processing.
+
+* <sql> is able to display properly several resultsets if you are
+ running a compound sql statement. Bugzilla Report 21594.
+
+* A new <containsregexp> selector has been added, that selects files
+ if their content matches a certain regular expression.
+
+* <antlr>'s debug attribute has been enabled. Bugzilla Report 19051.
+
+* <mail> has a new attribute charset. Bugzilla Report 15434.
+
+* <mail> has new attributes user and password for SMTP auth.
+ maillogger can also use this.
+ The implementation only works with JavaMail (encoding="MIME").
+ Implementation with plain mail remains to do.
+ Bugzilla Report 5969.
+
+* <mail> and mailloger support SMTP over TLS/SSL
+ Bugzilla Report 19180.
+
+* <mail> the attributes from, replyto ,tolist, cclist, bcclist
+ can now contain email addresses of the form name <address@xyz.com>
+ or (name) address@xyz.com
+ Bugzilla Report 22474.
+
+* <mail> (version PlainMail)
+ prevent blank headers from being sent,
+ make the order of the headers of plain mail messages predictable
+ Bugzilla Report 22088.
+
+* <zipfileset> can now be defined in the main body of a project
+ and referred to with refid="xyz". Bugzilla Report 17007.
+
+* A wrapper script for OS/2 has been added.
+
+* <unzip> will now detect and successfully extract self-extracting
+ archives. Bugzilla Report 16213.
+
+* <stcheckout> has a new attribute "converteol" that can be used to
+ control the automatic line-end conversion performed on ASCII files.
+ Bugzilla Report 18884.
+
+* Users can now modify the list of default excludes using the new
+ defaultexcludes task. Bugzilla Report 12700.
+
+* There is a new data type <propertyset> that can be used to collect
+ properties. It is supported by <ant>, <antcall>, <subant>, <java>,
+ <echoproperties> and <junit>.
+
+* <concat> can now control the encoding of the output as well and optionally
+ add new-line characters at the end of files that get concatenated but
+ don't end in newlines. Bugzilla Report 12511.
+
+* <rpm> will detect the rpmbuild executable of RedHat 8.0 and newer
+ and use that if it is on your PATH. Bugzilla Report 14650.
+
+* A new task <rexec> has been added that requires commons-net to work.
+ Bugzilla Report 19541.
+
+* <javadoc> now supports a nested <arg> element in addition to the
+ additionalparams attribute.
+
+* You can now determine the order of standard tags in <javadoc> via
+ <tag> elements - you must not use the description attribute for them.
+ Bugzilla Report 18912.
+
+* <javadoc> now supports the -noqualifier switch. Bugzilla Report 19288.
+
+* <javac>'s executable attribute can now also be used to specify the
+ executable for jikes, jvc, sj or gcj. Bugzilla Report 13814.
+
+* <javac> has a new attribute tempdir that can control the placement
+ of temporary files. Bugzilla Report 19765.
+
+* A new magic property build.compiler.jvc.extensions has been added
+ that can be used to turn of Microsoft extensions while using the jvc
+ compiler. Bugzilla Report 19826.
+
+* You can now limit the parallelism of <apply> and <chmod> by using the new
+ maxparallel attribute.
+
+* With the new addsourcefile attribute, you can make <apply> ommit the
+ source file names from the command line. Bugzilla Report 13654.
+
+* <apply> and <chmod> now support nested <filelist>s as well as <dirset>s.
+ Bugzilla Reports 15929 and 20687.
+
+* <apply> and <chmod> will display a summary if you set the new
+ verbose attribute to true. Bugzilla Report 19883.
+
+* <copy>/<move>'s failonerror attribute can now also be used to
+ continue the build if an I/O error caused a problem. Bugzilla
+ Report 12999.
+
+* new selector <type/> allowing to select only files or only directories.
+ Bugzilla Report 20222.
+
+* <java> and <junit> now support a nested <bootclasspath> element that
+ will be ignored if not forking a new VM.
+
+* <junit>'s nested <formatter> elements now support if/unless clauses.
+
+* <ejbjar>
+ cmpversion attribute added
+ jboss element will look for jbosscmp-jdbc.xml descriptor
+ if ejbjar has cmpversion="2.0" set
+ Bugzilla Reports 14707 and 14709.
+
+* <pvcs> config attribute added to set the location of a specific PVCS
+ .cfg file
+ Bugzilla Report 9752
+
+* <mapper> has an "unpackage" mapper
+ Bugzilla Report 18908
+
+* Added <scriptdef> task allowing tasks to be defined using any BSF-supported
+ scripting language.
+
+* <touch>'s datetime attribute can now accept time with a granularity
+ of seconds as well. Bugzilla Report 21014.
+
+* <checksum> has two new properties: totalproperty and todir.
+
+* FileUtils#createTempFile will now create temporary files in the
+ directory pointed to by the property java.io.tmpdir
+
+* <unzip> and friends now supports an optional encoding attribute to
+ enable it to expand archives created with filenames using an encoding
+ other than UTF8. Bugzilla Report 10504.
+
+* <patch> has a new attribute destfile that can be used to create a new
+ file instead of patching files in place.
+
+* OpenVMS is detected as a valid OS family.
+
+* DirectoryScanner has been optimized for cases where include patterns do not
+ start with wildcards. Bugzilla Report 20103.
+
+* DirectoryScanner begins to be optimized not to scan excluded directories.
+ Bugzilla Report 21941.
+
+* Added keep-going feature. Bugzilla Report 21144
+
+* The archives generated by <zip> and friends will now contain CRC and
+ size information in the "local file header", thereby providing this
+ information to applications that read the archives using
+ java.util.ZipInputStream. Bugzilla Report 19195.
+
+* <copy> and <move> can now handle mappers that return multiple
+ mappings per source path. This behaviour is enabled by using
+ an enablemultiplemapping attribute. Bugzilla Report 21320.
+
+* <exec> will now work on OpenVMS (please read the notes in
+ <exec>'s manual page). Bugzilla Report 21877.
+
+* <exec> will now have a new attribute spawn (default false).
+ If set to true, the process will be spawned. Bugzilla Report 5907.
+
+* <java> will now have a new attribute spawn (default false).
+ If set to true, the process will be spawned. Bugzilla Report 5907.
+
+* <parallel> now supports a timeout which can be used to recover
+ from deadlocks, etc in the parallel threads. <parallel> also
+ now supports a <daemons> nested element. This can be used to
+ run tasks in daemon threads which the parallel task will not
+ wait for before completing. A new attribute failonany will cause
+ <parallel> to throw an exception if any thread fails without
+ waiting for all other threads to complete.
+
+* <zip> and friends will consume far less memory than they used to
+ when run with compress="false". Bugzilla Report 21899.
+
+* <if/> and <unless/> attributes added to <param/> element of <style>
+ Bugzilla Report 22044
+
+* <zip> and friends have a new attribute "keepcompression" that can be
+ used to incrementally build an archive mixing compressed and uncompressed
+ entries.
+
+* <junit>'s XML formatter adds a new classname attribute to the <testcase>
+ elements.
+
+* new <permissions> type add permission handling to the code
+ this type can be nested in the <java> and <junit> tasks.
+ Bugzilla Report 22533.
+
+* additional shortcuts for ant options (-d --> -debug, -e --> -emacs,
+ -h --> -help, -p --> -projecthelp, -s --> -find).
+
+* new selector <modified>. "cache" was renamed to "modified".
+ Bugzilla Report 20474.
+
+* <stcheckout> and <stlist> have a new asofdate attribute that can be
+ used to checkout/list files based on a date instead of a label.
+ Bugzilla Report 20578.
+
+* New filter <concatfilter>. Adds the content of file at the beginning
+ or end of a file. Discussion started at
+ http://marc.theaimsgroup.com/?l=ant-user&m=106366791228585&w=2
+
+* New task <import>
+
+* New task <macrodef>
+
+* New task <presetdef>
+
+* Ant libraries that can make use of namespaces to avoid name
+ clashes of custom tasks
+
+* <java> and <junit> now support <assertions>, which let you enable
+ and disable Java1.4 assertions on a package or class basis. These
+ only work when fork=true, currently.
+
+* .NET tasks expanded with VB support <vbc> and J#, via <jsharp>,
+ <importtypelib> and <ilasm>. <csc> supports nested <src> types,
+ <defines> for (potentially conditional) definitions, <reference>
+ filesets for references. The executable attribute lets you switch to
+ mono or other implementations -<csc> has been tested with Mono on
+ Linux and OSX.
+
+
+Changes from Ant 1.5.3 to Ant 1.5.4
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* If the Visual Age tasks used to work for you, they may stop doing so
+ now - and we'd like to know about it. The current set of tasks is
+ supposed to work with any version of VAJ starting with 3.0.
+
+Fixed bugs:
+-----------
+
+* The Visual Age for Java tasks didn't work (at least for versions 3.0
+ and higher). Bugzilla Report 10016.
+
+* URL-encoding in <vaj*port> didn't work properly.
+
+* VAJRemoteUtil called getAbsolutePath instead of getPath
+ causing problems when using a Windows VAJ server from a UNIX server.
+ Bugzilla Report 20457.
+
+* VAJImport task failed with NullPointerException when using DirectoryScanner.
+ Bugzilla Report 22080.
+
+Other changes:
+--------------
+
+* Shipped XML parser is now Xerces 2.5.0
+
+* <javah> will invoke oldjavah on JDK 1.4.2. Bugzilla Report 18667.
+
+* The VAJ tasks now support a haltonfailure attribute to conditionally
+ keep building even if they fail.
+
+* It is now possible to use the latest (versioned or unversioned) edition
+ in <vajload> by using special wildcard characters. Also fixes
+ Bugzilla Report 2236.
+
+Changes from Ant 1.5.2 to Ant 1.5.3
+===================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* The <zip> task and friends have again changed a method signature
+ (sorry, was necessary to fix bug 17780). The return type of
+ getResourcesToAdd has changed.
+
+Fixed bugs:
+-----------
+
+* <zipfileset>'s filemode would get ignored and the dirmode was used
+ for the included files as well. As a side effect, WinZIP was unable
+ to extract or display the files, so they seemed to be missing from
+ the archive. Bugzilla Report 17648.
+
+* <ftp> could use the wrong path separator when trying to change the
+ remote working directory. Bugzilla Report 17735.
+
+* <jar update="true"> would loose all original files if you didn't
+ specify any nested <(zip)fileset>s and the manifest had changed.
+ Bugzilla Report 17780.
+
+* If you used a value starting with \ on Windows for the appxml
+ attribute of <ear> or the webxml attribute of <war>, it would be
+ ignored. Bugzilla Report 17871.
+
+* Ant will no longer implicitly add Sun's rt.jar in <javac> when you
+ use jvc and don't specify a bootclasspath. Bugzilla Report 18055.
+
+* The prefix attribute of <zipfileset> would not generate directory
+ entries for the prefix itself. Bugzilla Report 18403.
+
+* starteam checkout can now handle deleted labels. Bugzilla Report 17646.
+
+* The Unix wrapper script failed if you invoked it as a relative
+ symlink and ANT_HOME has not been set. Bugzilla Report 17721.
+
+Other Changes:
+--------------
+* Added ability to specify manifest encoding for the <jar> and
+ <manifest> tasks
+
+Changes from Ant 1.5.1 to Ant 1.5.2
+=============================================
+
+Changes that could break older environments:
+--------------------------------------------
+* ANT_OPTS environment variable is now applied at the start of the
+ Java command line, allowing position specific parameters of some
+ JVMs, such as -classic to be specified.
+
+* ZipScanner#getIncludedFiles will now return the names of the ZipEntries
+ that have been matched instead of the name of the archive.
+
+* The <zip> task and friends have been heavily modified, almost every
+ method signature of the Zip class has changed. If you have subclassed
+ Zip (or one of its subclasses), your class will most likely not
+ compile against the current code base. If it still compiles, it will
+ probably not work as in Ant 1.5.1.
+
+Fixed bugs:
+-----------
+* <translate> was not ignoring comment lines.
+
+* <manifest> wouldn't update an existing manifest if only an attribute
+ of an existing section changed.
+
+* ant.bat now supports the ANT_ARGS and JAVACMD environment variables
+ again (like Ant 1.5 did).
+
+* The "plain" <junit> <formatter> could throw a NullPointerException
+ if an error occurred in setUp.
+
+* <junit> will now produce output when a test times out as well.
+
+* <replace> would count some internal character replacements when
+ reporting the number of replaced tokens.
+
+* <concat> would cause an exception if a <filelist> pointed to files
+ that do not exist.
+
+* <javadoc> will now pass -source to custom doclets as well.
+
+* <cvstagdiff> would throw a NullPointException if there had been no
+ differences.
+
+* <cvschangelog> could miss today's changes.
+
+* <concat> could append newline characters between concatenated files.
+
+* <xmlvalidate> ignored the specified encoding of the files to
+ validate.
+
+* the errorsbeginat attribute of the <http> condition didn't work.
+
+* Ant will try to force loading of certain packages like com.sun.*
+ from the system classloader. The packages are determined by the
+ version of the JVM running Ant.
+
+* Ant didn't find the runtime libraries on IBM's JDK 1.4 for Linux.
+
+* random component of temporary files is now always a positive integer.
+
+* Ant could incorrectly try to use the 1.4 regexp implementation even
+ if it isn't available if you run the JVM with -Xverify:none.
+
+* Ant would die with an exception if you used nested <reference>
+ elements in Ant and the refid attribute didn't point to an existing
+ project reference.
+
+* The <get> task can now be compiled (and Ant thus bootstrapped) using
+ Kaffee.
+
+* build.sysclasspath will now be honored by more tasks.
+
+* The signjar keystore attribute has been reverted to a String allowing
+ it to once again accept URLs. This should not affect current File based usage
+ unless you are extending the Signjar task.
+
+* <jar update="true"> would remove the original manifest.
+
+* fix up folder creation in PVCS task
+
+* <tar>'s up-to-date check didn't work for nested <(tar)fileset>s.
+
+* Corrected a problem in XMLLogger where it would not associated
+ messages with a taskdef'd task
+
+* <uptodate> now works when using attributes (i.e. not filesets) and pointing
+ to the same file
+
+* Java task (and output system) now stores output which doos not end
+ with a line feed.
+
+* splash screen wouldn't disappear when build was finished.
+
+* <exec> now supports OS/2.
+
+* <zip> and friends would only update/recreate existing archives if
+ the files to add/update have been newer than the archive.
+
+* <javadoc>'s <link> element could fail for offline="true" on some JDKs.
+
+Other changes:
+--------------
+
+* MailLogger now sets the Date header correctly.
+
+* Shipped XML parser is now Xerces 2.3.0
+
+* signjar now accepts a maxmemory attribute to allow the memory allocated to the
+ jarsigner tool to be specified. The jarsigner from the JDK's JAVA_HOME bin
+ dir is now used rather than the first jarsigner on the path.
+
+* **/.DS_Store has been added to the list of default pattern excludes.
+
+* The Created-By header in the default manifest now contains the JVM
+ vendor and version according to the jar specification. A new header,
+ Ant-Version provides the Ant version used to create the jar.
+
+* <zip> can now store Unix permissions in a way that can be
+ reconstructed by Info-Zip's unzip command.
+
+Changes from Ant 1.5.1Beta1 to 1.5.1
+====================================
+
+Fixed bugs:
+-----------
+
+* <tstamp>'s prefix attribute failed to apply to nested <format> elements.
+
+* <junitreport> created an empty junit-noframes.html if no format had
+ been specified.
+
+* <basename> would remove more than it should if the file name
+ contained more than one dot.
+
+* <filterset>s nested into <filterset>s didn't work.
+
+Other changes:
+--------------
+
+* Shipped XML parser is now Xerces 2.2.0
+
+* Filesets now support a 'file' attribute, allowing a single-file
+ fileset to be constructed without having to specify its parent
+ directory separately.
+
+* <junit> will now return the result of a call to getName instead of
+ "unknown" for Test implementations that don't extend TestCase but have
+ a public String getName() method.
+
+Changes from Ant 1.5 to 1.5.1Beta1
+==================================
+
+Fixed bugs:
+-----------
+* Date/time in CvsChangeLog was in local timezone and 12 hour format leading
+ to a problem when sorting by time. It is now UTC (GMT) and in 24-hour
+ format as per cvs 'specifications'.
+
+* CvsTagDiff now supports ampersand modules or modules that have a different
+ root directory than their name.
+
+* EjbJar threw NPEs for the Websphere element. The property 'websphere.home'
+ was not documented.
+
+* Mail example in the documentation was not correct.
+
+* Checksum was broken in the following scenario:
+ (using verifyproperty OR in a condition) AND using filesets
+ with multiple files.
+
+* The ExpandProperties filter threw NPEs when defined using
+ the <filterreader> format.
+
+* The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't
+ set with a Unix style filename.
+
+* The sh wrapper script could fail if you started Ant from a directory
+ with whitespace in its name.
+
+* ant -diagnostics was not working properly when the task dependency
+ was missing and was just printing the missing dependency.
+
+* If a task got redefined via <taskdef>, it lost its child elements.
+
+* <property>'s classpathref attribute was broken.
+
+* <arg line="''" /> would result in no command line argument, will now
+ be a single empty argument. Use <arg value="''"/> if you need the
+ quotes literally.
+
+* <replaceregexp> could append a newline character at the end of the
+ file.
+
+Other changes:
+--------------
+
+* Appendix E of Java Development with Ant (Loughran/Hatcher) was
+ contributed to the docs.
+
+* <available> will only print deprecration warnings if it is actually
+ used to change the value of a property.
+
+Changes from Ant 1.5beta3 to Ant 1.5
+====================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* The filesetmanifest attribute added to <jar> after the 1.4.1
+ release has been removed for now. This change may affect only
+ the 1.5Beta/1.6Alpha users. An attempt will be made to add this
+ feature back into Ant 1.6.
+
+Fixed bugs:
+-----------
+
+* <zip> and friends would always update existing archive if you set
+ the update attribute to true.
+
+* To support backward compatibility with older versions, <pathconvert>
+ will once again set the property, even if the result is the empty
+ string, unless the new 'setonempty' attribute is set to false|no|off
+ (default is "true").
+
+* The manifest task would crash XmlLogger
+
+Other changes:
+--------------
+
+* added **/.svn and **/.svn/** to the default excludes
+
+Changes from Ant 1.5beta2 to Ant 1.5beta3
+=========================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* <pvcs> default filenameformat has been different from Ant 1.4.1.
+ Now it is different from 1.5beta1 and 1.5beta2.
+
+* <pathconvert> won't set the property if the result is the empty string.
+
+Fixed bugs:
+-----------
+
+* <available> could fail to find files or directories that happen to
+ start with the name of the project's basedir but are not children of
+ the basedir.
+
+* Nested <property>'s inside <ant> can now be overriden by subsequent
+ <ant> and <antcall> tasks.
+
+* <xslt>'s outputtype attribute wouldn't do anything.
+
+* <linecontains> filterreader could swallow lines.
+
+* <sequential> used to configure the tasks (set their attributes)
+ before the first task has been executed. This means that properties
+ that have been set by nested task seemed to be unset for the other
+ tasks in the same <sequential> element.
+
+* <javac>'s sourcepath setting has been ignored by some compiler
+ implementations.
+
+* <javadoc>'s packagelist attribute didn't work.
+
+* the plain mailer would always use port 25 in <mail>.
+
+* Ant's default logger could swallow empty lines.
+
+* ejbjar's iPlanet nested element now can process multiple descriptors.
+
+* IPlanetEjbc was looking in the wrong place for four iiop files.
+
+* <javac> would pass the -source switch to JDK 1.3's javac, even
+ though it doesn't support it.
+
+Other changes:
+--------------
+
+* <checksum> now uses a buffer (of configurable size).
+
+* The "Trying to override task definition" warning has been degraded
+ to verbose level if the two task definitions only differ in the class
+ loader instance that has loaded the definition.
+
+* Add a jvmargs to the ejbjar's weblogic element to allow additional
+ arguments to be provided to the VM runnign ejbc. Document the
+ jvmdebuglevel attribute which can be used to avoid warnings about
+ interface classess being found on the classpath. Document the new
+ <sysproperty> element which allows JVM properties to be defined.
+ Added an outputdir attribute to allow the destination to be a
+ directory into which the exploded jar is written.
+
+* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
+
+Changes from Ant 1.5beta1 to Ant 1.5beta2
+=========================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* Properties will now be expanded in mail message bodies. This means
+ that one $ sign will be stripped if your mail message contains the text $$.
+
+* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
+
+* Available#setFile now again uses a File argument as it did in 1.4,
+ this may break environments that have been adapted to the String
+ argument version present in 1.5beta1.
+
+Fixed bugs:
+-----------
+* When <move> attempts a rename, it deletes the destination file, if it
+ exists, before renaming the source file. However, <move> was not
+ checking if the destination file was actually a directory before
+ trying to delete it.
+
+* Make CVS Tasks to work under Cygwin.
+
+* Fix LineContains to handle huge files elegantly without causing
+ Stack Overflows.
+
+* if you ask for the "classic" compiler on Java1.4, you get upgraded to
+ "modern" because there is no classic compiler any more.
+
+* the <http> condition was viewing 404 'not found' exceptions as success. Now
+ it defaults to viewing any response >=400 as an error, and has an
+ errorsBeginAt attribute you can use if you want a higher or lower value.
+
+* <get> throws a build exception on an http authorization error, unless you
+ have set ignoreerrors to true.
+
+* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
+ case, though the old spelling is retained for anyone who used it.
+
+* Merging of Manifests in jar now works as documented.
+
+* paths that have been separated by colons would be incorrectly parsed
+ on NetWare.
+
+* runant.pl now supports NetWare.
+
+* <tempfile> and <setproxy> tasks were in beta1, but not defined by
+ default; They now are. <tempfile> fills a property with the name of a
+ temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
+ settings.
+
+* <available classname="foo" ignoresystemclasses="true"> failed for
+ JDK 1.1 and 1.2, even if the class could be found on the
+ user-specified classpath.
+
+* <property environment=... /> now works on z/OS.
+
+* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
+ use a temporary file to hold the names of the files to compile under
+ some conditons, but 1.1 doesn't support this feature. Ant will no
+ longer try this, but you may run into problems with the length of the
+ command line now.
+
+* the refid attribute for <property>s nested into <ant> or <param>s
+ nested into <antcall> didn't work.
+
+* <replaceregexp> didn't work for nested <fileset>s.
+
+* <javadoc> dropped sourcepath entries if no "interesting" .java
+ source files could be found below them. This has been backwards
+ incompatible and caused problems with custom doclets like xdoclet.
+
+* Using the doclet, docletpath or docletpathref attributes of
+ <javadoc> may have caused NullPointerExceptions.
+
+* nested <filesets> of <javadoc> would include too much.
+
+* <dependset> will no longer choke on <targetfileset>s that point to
+ non-existing directories.
+
+* <patch> didn't work at all.
+
+* <replace> and <replaceregexp> now fail if the file they are working
+ on is locked.
+
+* <javadoc> would pick up the wrong executable in the combination JDK
+ 1.2 and AIX.
+
+Other changes:
+--------------
+
+* z/OS now gets detected by the os condition.
+
+* <fileset> and <dirset> now have an optional followsymlink attribute
+ that can prevent Ant from following symbolic links on some platforms.
+
+* BeanShell is now supported in the <script> task.
+
+* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
+ based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
+ this ejbc class has been deprecated. To avoid the deprecation warning use
+ ejbcclass="weblogic.ejbc".
+
+* <ejbjar> will add a manifest to the generated jar based on the naming
+ convention in use. This overrides the manifest specified in the
+ <ejbjar> attribute
+
+
+Changes from Ant 1.4.1 to 1.5beta1
+==================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* Important: Single $ signs are no longer silently stripped!
+ Before you panic that we have broken all your build files, we have kept
+ the old "$$" -> "$" behaviour. So only build files which accidentally had
+ a $ sign in a string that was being silently stripped may break.
+ We added this fix to stop newbie confusion; if you want to write a
+ build file which works on ant versions 1.4.1 or earlier, stay with
+ the double $$ sign rule.
+
+* Project.getBuildListeners now returns a clone of the listener
+ list. Changes to the returned list will not affect the listeners
+ currently attached to the Project. It also means that it is safe to
+ iterate over the returned list if listeners are added or removed
+ during the traversal.
+
+* <pvcs> default filenameformat has been different from Ant 1.4.1.
+
+* Some messages that are printed during startup will not be
+ written to the logfile specified via -logfile as they might destroy
+ the format of the file for special BuildLoggers (like XmlLogger).
+
+* The filesetmanifest attribute added to <jar> after the 1.4.1
+ release has been removed for now. This change may affect only
+ the 1.5Beta/1.6Alpha users. An attempt will be made to add this
+ feature back into Ant 1.6.
+* Shipped XML parser is now Xerces 2.0.1 along with the XML Parser APIs.
+ XML Parser APIs is a separate jar that contains the necessary
+ JAXP/DOM/SAX classes.
+
+* <telnet> was fixed to expand properties inside nested <read> and
+ <write> elements; before this only happened when you assigned the text
+ to the string attribute. If you had $ signs in the string, they may
+ need escaping.
+
+* the RegexpMatcher interface has been extended to support case
+ insensitive matches and other options - custom implementations of
+ this interface won't work any longer. We recommend to use the new
+ Regexp interface that also supports substitution instead of the
+ RegexpMatcher interface in the future.
+
+* <gzip> will throw an exception if your src attribute points to a directory.
+
+* Unjar, Unzip and Unwar will throw an exception if the Src attribute
+ represents a directory. Support for nested filesets is provided
+ instead.
+
+* It is no longer possible to overwrite a property using tasks like
+ <condition>, <exec>, <pathconvert>, or <tstamp>. In some exceptional
+ cases it will generate a warning if you attempt to overwrite an
+ existing property.
+
+* Taskwriters please note: Whenever tasks had any overloaded set* methods,
+ Ant's introspection mechanism would select the last overloaded method
+ provided to it by the Java Runtime. A modification has now been made such
+ that when the Java Runtime provides a method with a String as its argument,
+ a check is made to see if there is another overloaded method that takes in
+ some other type of argument. If there is one such method, then the method
+ that takes in String as an argument is not selected by the Introspector.
+
+* The pattern definition **/._* has been included into the Default
+ Excludes list.
+
+* <propertyfile>'s <entry> element was modified to remove "never" as a value
+ as its behavior was undocumented and flakey.
+
+* The -projecthelp flag now only prints out targets that include the
+ 'description' attribute, unless the -verbose or -debug flag is included
+ on the Ant command line.
+
+* Ant's testcases now require JUnit 3.7 or above, as they now use the new
+ assertTrue method instead of assert.
+
+* If the 'output' attribute of <ant> is set to a simple filename or a
+ relative path, the file is created relative to ${basedir}, not ${user.dir}.
+
+* The default value for build.compiler is now javac1.x with x
+ depending on the JDK that is running Ant instead of classic/modern.
+
+Fixed bugs:
+-----------
+
+* <available> could fail to find files or directories that happen to
+ start with the name of the project's basedir but are not children of
+ the basedir.
+
+* Nested <property>'s inside <ant> can now be overriden by subsequent
+ <ant> and <antcall> tasks.
+
+* <xslt>'s outputtype attribute wouldn't do anything.
+
+* <linecontains> filterreader could swallow lines.
+
+* <sequential> used to configure the tasks (set their attributes)
+ before the first task has been executed. This means that properties
+ that have been set by nested task seemed to be unset for the other
+ tasks in the same <sequential> element.
+
+* <javac>'s sourcepath setting has been ignored by some compiler
+ implementations.
+
+* <javadoc>'s packagelist attribute didn't work.
+
+* the plain mailer would always use port 25 in <mail>.
+
+* Ant's default logger could swallow empty lines.
+
+* ejbjar's iPlanet nested element now can process multiple descriptors.
+
+* IPlanetEjbc was looking in the wrong place for four iiop files.
+
+* <javac> would pass the -source switch to JDK 1.3's javac, even
+ though it doesn't support it.
+
+* <zip> and friends would always update existing archive if you set
+ the update attribute to true.
+
+* To support backward compatibility with older versions, <pathconvert>
+ will once again set the property, even if the result is the empty
+ string, unless the new 'setonempty' attribute is set to false|no|off
+ (default is "true").
+
+* The manifest task would crash XmlLogger
+
+* A bug existed that prevented generated log files from being deleted as
+ part of the build process itself. This has now been fixed.
+
+* Fixed bug where <move> ignored <filterset>s.
+
+* Ant works properly with the combination of Java1.4/WindowsXP.
+
+* Fixed bug where <java> used to sometimes invoke class constructors twice.
+
+* Fixed bug with 4NT shell support.
+
+* Fixed bug where ant would not perform ftp without remotedir being
+ specified even though this was not mandatory.
+
+* Fixed bug where ant would not copy system properties into new Project
+ in ant/antcall tasks when inheritall="false" is set.
+
+* <propertyfile> would not close the original property file.
+
+* <ant> will no longer override a subbuild's basedir with inheritall="true".
+
+* Fixed problem with the built-in <junit> formatters which assumed
+ that only one test could be running at the same time - this is not
+ necessarily true, see junit.extensions.ActiveTestSuite.
+
+* <jar>'s whenEmpty attribute is useless as JARs are never empty, they
+ contain at least a manifest file, therefore it will now print a
+ warning and do nothing.
+
+* <typedef> hasn't been all that useful as it couldn't be used outside
+ of targets (it can now) and nested "unknown" elements have always
+ been considered to be tasks (changed as well).
+
+* <fixcrlf> would fail for files that contained lines longer than 8kB.
+
+* Some junit formatters incorrectly assumed that all testcases would
+ inherit from junit.framework.TestCase.
+
+* <fixcrlf> dropped the first characters from Mac files.
+
+Other changes:
+--------------
+
+* <checksum> now uses a buffer (of configurable size).
+
+* The "Trying to override task definition" warning has been degraded
+ to verbose level if the two task definitions only differ in the class
+ loader instance that has loaded the definition.
+
+* Add a jvmargs to the ejbjar's weblogic element to allow additional
+ arguments to be provided to the VM runnign ejbc. Document the
+ jvmdebuglevel attribute which can be used to avoid warnings about
+ interface classess being found on the classpath. Document the new
+ <sysproperty> element which allows JVM properties to be defined.
+ Added an outputdir attribute to allow the destination to be a
+ directory into which the exploded jar is written.
+
+* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
+
+* added **/.svn and **/.svn/** to the default excludes.
+
+* Selector Elements now provide a way to create filesets based on
+ sophisticated selection criteria.
+
+* Gzip and Bzip2 files can now be constructed in the fly when using
+ the tar task without having to create the intermediate tar file on
+ disk. The Untar task can also untar GZip and BZip2 files on the fly
+ without creating the intermediate tar file.
+
+* New optional type, <classfileset> added.
+
+* <ejbjar> now allows control over which additional classes and interfaces
+ are added to the generated EJB jars. A new attribute "dependency" can be
+ defined which controls what classes are added. The addition of classes now
+ uses the Jakarta-BCEL library rather than reflection, meaning bean classes are
+ no longer loaded into Ant's JVM. The default dependency analyzer is known as
+ the ancestor analyzer. It provides the same behaviour as the 1.4.1 version of
+ <ejbjar>. If the BCEL library is not present, a warning will be issued stating
+ the ancestor analyzer is not available. In this case <ejbjar> will continue
+ to function but will not add super classes to the jar.
+
+* <available> has a new attribute named ignoreSystemClasses.
+
+* New task <cvschangelog/> generates an XML report of changes that occur
+ on CVS repository.
+
+* New filter readers: ClassConstants, ExpandProperties, HeadFilter,
+ LineContains, LineContainsRegExp, PrefixLines, ReplaceTokens,
+ StripJavaComments, StripLineBreaks, StripLineComments, TabsToSpaces,
+ TailFilter.
+
+* <copy>, <loadfile>, <loadproperties>, <move> support FilterChains
+ of FilterReaders.
+
+* New task <loadproperties> to load contents of file as Ant properties,
+ with nested <filterchain> elements.
+
+* New task <loadfile> to load a whole file into a property.
+
+* New task <echoproperties> to list your current properties to the screen
+ or a file.
+
+* New tasks <bzip2> and <bunzip2> to pack and unpack files using the
+ BZip2 algorithm.
+
+* New tasks <replaceregexp>, <checksum>, <translate>, <waitfor>,
+ <manifest>, <vsscp>, <vssadd>, <vsscreate>, <splash>, <basename>, <dirname>,
+ <concat>, <sourceoffsite>, <jarlib-available>, <jarlib-display>,
+ <jarlib-manifest>, <jarlib-resolve>.
+
+* A new combined <mail> task, which replaces the old <mail> and
+ <mimemail> tasks, has been added. The <mimemail> task, and
+ old SendEmail and MimeMail classes have been deprecated.
+
+* Mail task allows specification of port number.
+
+* Users can control what <zip> and <jar> must do when duplicate files
+ are found. A new element <zipgroupfileset> allows for multiple zip
+ files to be merged into the archive. In addition, <jar> also has
+ another new attribute: filesetmanifest. The existing manifest
+ attribute of <jar> now also accepts the name of a jar added through
+ a fileset.
+
+* gzip now checks that the zipfile is older than the source file
+ before rebuilding the zipfile.
+
+* TarFileset takes in three new attributes - fullpath, prefix
+ and preserveLeadingSlashes.
+
+* <move> attempts to rename the directory, if everything inside it is
+ included, before performing file-by-file moves. This attempt will
+ be done only if filtering is off and if mappers are not used. This
+ is a performance improvement and there is no change otherwise in
+ the functionality of this task.
+
+* Exec task has extra attribute "resultproperty" to get the return code
+ into a property.
+
+* Exec task prints a message when a timed-out process is killed.
+
+* Added optional attributes - name, arch and version to the <os> task.
+
+* Unjar, Untar, Unwar and Unzip now support patternsets to
+ select files from an archive for extraction. Filesets may be
+ used to select archived files for unarchival.
+
+* Javac task allows debug levels to be specified. Debug levels
+ will have an effect only when the modern compiler or the
+ classic compiler (version 1.2 and higher) is used and debugging
+ is enabled.
+
+* Added support for specifying CVS_RSH in the <cvs/> task
+
+* The attributes zipfile, jarfile, warfile and earfile (from the Zip,
+ Jar, War and Ear tasks) have been deprecated and superseded by a
+ new attribute "destfile".
+
+* Added new conditions <isset>, <checksum>, <http>, <socket>, <contains>,
+ <filesmatch>.
+
+* <taskdef> and <typedef> will now emit a warning if a task/type of
+ the given name already exists.
+
+* A new revision of VAJ tasks: The most important new feature
+ is the ability to execute VAJ tasks from the command line by
+ exploiting the Remote Tool Access feature of VAJ.
+
+* Improved support for Novell NetWare.
+
+* Added an optional encoding attribute to <fixcrlf>.
+
+* <apply> has a new attribute relative that allows users to pass the
+ filenames as relative instead of absolute paths on the command line.
+
+* References can now be copied into the child build by <ant> and
+ <antcall> using nested <reference> elements or the new inheritRefs
+ attribute.
+
+* <fail> now supports builds to fail based on conditions via if and
+ unless attributes.
+
+* Ant now comes with two new BuildLogger implementations - one that
+ can send emails containing a log of the build process (MailLogger),
+ and one that colorizes the output based on message levels, using
+ ANSI color code escape sequences (AnsiColorLogger).
+
+* A "package" mapper type has been added to allow package directory
+ names replaced with the dotted form.
+
+* You can now specify environment variables in the <java> and <junit> tasks
+ if the fork attribute has been set to true.
+
+* -propertyfile command-line option has been added to load an entire
+ property file just as -D properties are declared (as user properties).
+ -D properties take precedence over -propertyfile specified ones.
+
+* You can now set an ANT_ARGS environment variable to hold arguments you
+ always want passed to the 'ant' command -- for example, if you always
+ want to use a different logger or the -find flag.
+
+* <tstamp> now supports a new "prefix" attribute to prefix properties set.
+
+* You can now specify the -sourcepath for <javac> explicitly.
+
+* <javac> now supports a new "listfiles" attribute to list the source
+ files it's handing off to the compiler.
+
+* The compiler implementation for <javac> can now be chosen on a task by
+ task basis. The new "compiler" attribute of <javac> can be used to override
+ the value of the build.compiler property, if set.
+
+* <javac> has a new nested element, <compilerarg>, which allows you
+ to specify additional args for the specific compiler you're using.
+
+* <javac>'s "source" attribute is now enabled for jikes as well.
+
+* <propertyfile>'s <entry> now has a 'unit' attribute to specify the
+ increment/decrement unit on date operations.
+
+* <property> now supports a 'prefix' attribute when loading from a file
+ or resource.
+
+* In Ant 1.4, a feature has been added to the <junit> task that would
+ add ant.jar, optional.jar and junit.jar implicitly to the classpath -
+ this feature can now be disabled by setting the new includeantruntime
+ attribute to false.
+
+* <style> behaves differently from any other directory-based task, as it
+ processes all files that it finds in included directories in
+ addition to the files matched by your patterns. There is now a new
+ attribute, 'scanincludeddirectories', to suppress this behavior.
+
+* <javadoc> now supports a <tag> nested element to provide the -tag option
+ to the standard Java 1.4 doclet. The element is ignored when not running
+ on Java 1.4.
+
+* <ftp> can now chmod files on a remote server that supports
+ "site chmod", as well as set the umask before transferring files, if
+ the server supports "site umask".
+
+* New <serverdeploy> "optional" task.
+
+* <patternset> now supports nested patternsets.
+
+* Perforce tasks now support a "failonerror" attribute (defaults to "true").
+
+* Open Source application server JOnAS support:
+ EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
+
+* Added new DirSet (<dirset>) datatype.
+
+* <path> now supports nested <dirset> and <filelist> elements.
+
+* <pathconvert> now supports nested <dirset> and <filelist> elements.
+
+* <pathconvert>'s "dirsep" and "pathsep" attributes now accept
+ multi-character values.
+
+* <copy> task now has a 'failonerror' attribute to allow keep-going
+ behaviour when the file to be copied is not found (defaults to "true").
+
+* <uptodate> now has a 'srcfile' attribute to allow specifying a
+ full-path filename.
+
+* <exec>, <sql> and <java> now support append attributes to allow
+ appending the output to an existing file.
+
+* <java> now supports a timeout attribute analog to <exec> - it is
+ highly recommended to only use it together with fork="true".
+
+* <javadoc> now supports a source attribute to enable javadoc to
+ handle assertions present in JDK 1.4 source code.
+
+* <replace> supports a new replacefilterfile attribute that
+ automatically turns all properties of a given file into
+ replacefilters.
+
+* An alias of <xslt> has been added to refer to the <style> task.
+
+* The compiler implementation for <rmic> can now be chosen on a task by
+ task basis. The new "compiler" attribute of <rmic> can be used to override
+ the value of the build.rmic property, if set.
+
+* <rmic> has a new nested element, <compilerarg>, which allows you
+ to specify additional args for the specific compiler you're using.
+
+* org.apache.tools.ant.XmlLogger now is a BuildLogger, rather than just
+ a BuildListener. It can operate in either mode successfully.
+
+* <junit> has a new attribute "showoutput". If set to true, output
+ generated by tests will be sent to Ant's logging system as well as
+ to the formatters (instead of sending it to the formatters
+ exclusively).
+
+* Ant has now a pluggable way to prompt users for input, which is used
+ by the new <input> task. IDE integrators can provide an
+ implementation of the InputHandler interface to decouple Ant's input
+ from the console. An implementation that gets its input from a file
+ for unattended builds is part of Ant's distribution.
+
+ For more details see docs/manual/inputhandler.html.
+
+* <patch> has a new attribute that selects the directory in which to
+ run the command.
+
+* <javadoc> now supports two new nested elements, <fileset> and <packageset>.
+
+
+Changes from Ant 1.4 to Ant 1.4.1
+===========================================
+
+Fixed bugs:
+-----------
+
+* <ant>'s antfile attribute will now also be considered an absolute path on
+ Windows systems, if it starts with a \ and no drive specifier.
+
+* The fullpath attribute of <zipfileset> has been ignored if you used
+ the src attribute at the same time.
+
+* The manifest file is now always placed as the second entry (after /META-INF)
+ in generated jars. This allows the manifest to be read by JarInputStreams
+
+* Fixed bug in depend task which would fail with a NullPointerException if no
+ dependency cache was specified.
+
+* sql task now handles REM statements correctly so that lines starying with rem
+ but which are not comments are actually processed.
+
+* XMLLogger now uses the task's name rather than the classname
+
+* <mapper>s will now work as expected if the to pattern expands to an
+ absolute pathname.
+
+* <javac> didn't ignore memory settings in non-fork mode
+
+* <cab> didn't split the options attribute into several command line
+ arguments correctly.
+
+Other changes:
+--------------
+
+* New source attribute for <javac> to enable assertion in JDK 1.4
+
+* XmlLogger and <antstructure> now add an encoding declaration to the
+ XML files they generate.
+
+* <fileset> has a new attribute "casesensitive" to make it match
+ filenames in a case insensitive way (if you set it to false) - by
+ default filesets remain case sensitive.
+
+Changes from Ant 1.3 to Ant 1.4
+===========================================
+
+Changes that could break older environments:
+--------------------------------------------
+* JUnitReport now uses the xalan redirect extension for multi-output.
+ With Xalan 1.2.2 it forces the use of bsf.jar in the classpath.
+ (Available in the xalan distribution). It is recommended to switch
+ to Xalan 2.x that do not need it.
+
+* Zip.setWhenempty() has changed its signature.
+
+* <rmic> is now implemented using a factory. This makes extending
+ rmic to use a new compiler a lot easier but may break custom
+ versions of this task that rely on the old implementation.
+
+* several Zip methods have changed their signature as we now use a Zip
+ package of our own that handles Unix permissions for directories.
+ Furthermore <zip> will now use the platform's default character
+ encoding for filenames - this is consistent with the command line
+ ZIP tools, but causes problems if you try to open them from within
+ Java and your filenames contain non US-ASCII characters. Use the new
+ encoding attribute of the task and set it to UTF8 to get the old
+ behavior.
+
+* The <pvcs> task has been moved to a package of its own.
+
+* JUnitResultFormater has two additional methods that must be
+ implemented by custom formatters.
+
+* Ant will no longer use the canonical version of a path internally -
+ this may yield different results on filesystems that support
+ symbolic links.
+
+* The output generated by the xml formatter for <junit> has changed
+ again, it doesn't format the numeric value in the time attribute anymore.
+
+* Pattern matching rules have changes slightly, the pattern foo*
+ doesn't match files contained in a directory named foo - use foo/*
+ instead.
+
+* <fixcrlf> will not remove trailing whitespace at the end of lines anymore.
+
+* The Classloader usage has been changed for the taskdef, property, available
+ and sql tasks so that it delegates to the parent classloader. This may cause
+ ClassNotFoundExceptions to be thrown if a system class attempts to load a
+ class in the taskdef's classpath (typically factory objects).
+
+* Ant now allows multithreading of tasks and the containment of tasks within
+ other tasks. This can break customer listeners which do not expect messages
+ from a task before the previous task has finished.
+
+* Ant now installs its own output stream into System.out to route output to the
+ task currently executing on the current thread. This also means that all
+ output is now routed as Ant message events. Customer listeners and loggers
+ should not call System.out at any time. This has always been true but such
+ usage now will cause problems due to possible recursion.
+
+* Invalid manifest files will now cause build failures in the <jar> task.
+
+* Ant Introspection now looks for methods with method names starting with
+ addConfigured. When called these methods are passed an argument after it has
+ been configured from the build file. Custom tasks supporting nested elements
+ starting with the name configured will no longer function.
+
+* The environment variable JAVACMD that can be used to specify the
+ java executable to Ant's wrapper scripts must not contain additional
+ command line parameters any longer - please use the environment
+ variable ANT_OPTS for such parameters now.
+
+* Ant's wrapper scripts now quote the CLASSPATH environment variable, thus
+ supporting classpaths which refer to directories containing spaces. This means
+ that the CLASSPATH environment variable cannot have quotes. Any quotes should
+ be removed. This will not affect the operation of the CLASSPATH environment
+ variable in other contexts.
+
+* A delete task like
+ <delete includeEmptyFilesets="true">
+ <fileset dir="somedir" />
+ </delete>
+ will now remove "somedir" as well, unless there are still files left
+ in it (matched by the default excludes).
+
+* The copy task will now fail if the file to be copied is not found.
+
+* Ant properties defined in properties files now behave the same way as
+ properties defined in the build file. In particular the $ character needs
+ to be escaped in property values by doubling it to $$. So, to define a
+ property with the value $hello, you need to define it in a properties file
+ as
+ test.prop=$$hello
+ This was not the case in Ant 1.3
+
+Other changes:
+--------------
+
+* New tasks: ear, p4counter, record, cvspass, vsscheckin, vsscheckout,
+ typedef, sleep, mimemail, set of tasks for Continuus/Synergy, dependset,
+ condition, maudit, mmetrics, jpcoverage, jpcovreport, jpcovmerge
+
+* Ant now uses JAXP 1.1
+
+* rmic now supports Kaffe's and Weblogic's version of rmic.
+
+* new magic property build.rmic to chose the rmic implementation
+
+* <tar> will now add empty directories as well
+
+* you can now specify a description for <p4change>
+
+* <touch> can now work on <fileset>s
+
+* <uptodate> now supports a value attribute
+
+* <fail> supports nested text
+
+* <fixcrlf> won't override files that are already in the correct
+ format.
+
+* <sql> now supports REM comments as well as // and --
+
+* <jar> now has a nested <metainf> element following the same idea as
+ <war>'s <webinf>.
+
+* <pvcs> can now handle multiple projects.
+
+* <available> now has a "type" attribute you can use in conjunction
+ with the "file" attribute to specify whether the "file" you're
+ looking for is a file or a directory.
+
+* New <junit> formatter named "brief"
+
+* <ejbjar> changes
+ * Add support for Borland Application Server to the <ejbjar> task using
+ a <borland> nested element.
+ * Add support for iPlanet Application Server to the <ejbjar> task. Also
+ includes some iPlanet utility tasks
+ * Add support for JBoss Application Server to the <ejbjar> task.
+ * Add a naming attribute to control the naming scheme that
+ ejbjar uses to name the generated EJB jars.
+ * Weblogic element now sets the compiler class for EJB 2.0 beans
+ * <dtd> elements can be specified at the <ejbjar> level for building generic
+ beans
+ * <dtd> elements can now be URLs
+ * Allow the manifest to be specified for the generated jars
+ * The weblogic element now supprts an attribte noEJBC to skip the processing
+ of the jar by ejbc. The ejbc step will then occur at deployment
+ * weblogic will tell ejbc to use Jikes compiler if build.compiler is set to
+ jikes. It can be restored to the default, javac, operation if desired.
+
+* Allow the <sql> Delimiter to be set in the so that Oracle stored procs may be
+ entered
+
+* <execon> and <apply> can now optionally skip empty filesets.
+
+* <javadoc> has a new useexternalfile attribute that makes it use a
+ temporary file for sourcefile and package names - helps to defeat
+ command line length limitations.
+
+* Data types like <path> can now be defined inside of <target>s
+
+* you can now specify a classpath for <style> - the XSLZ processor
+ will be loaded from this path
+
+* added a force attribute to <style> to support dependencies that the
+ task cannot determine itself (dependency on parameters, not file
+ modification times for example)
+
+* added vmlauncher attribute to exec tasks. This defaults to true. If
+ it is set to false, the VM's ability to launch commands in bypassed
+ and the OS shell, either directly or through the auxiliary antRun
+ scripts is used.
+
+* regexp mapper now supports the java.util.regex package of JDK 1.4.
+
+* New filesonly attribute for <zip> and friends to suppress directory
+ entries.
+
+* New update attribute for <zip> and friends - update an existing
+ archive instead of creating a new one.
+
+* <apply> and <execon> have been merged into a single task.
+
+* added vssver.scc to the default excludes
+
+* <available> has a new filepath attribute/nested element that allows
+ you top search for a file in a given path.
+
+* <junit> can now optionally set a property on test failure.
+
+* <taskdef> can now define several tasks at once, reading the
+ name/classname pairs from a property file or resource.
+
+* <unzip/unjar/unwar> and <untar> now have an overwrite attribute that
+ defaults to true. If set to false, files that are newer than the
+ files in the archive will not be replaced.
+
+* <patternset> and <fileset> now support nested <in/excludesfile>
+ elements - using these you can have more than one in/excludes file
+ per <patternset>.
+
+* Three new supported compilers for javac: kjc for kopi, gcj for the
+ gcc frontend and sj for Symantec's compiler.
+ In addition extJavac or the new fork attribute can be
+ used to run the JDK's javac in a JVM separate from Ant.
+
+* <fixrlf> can now with CR only line-ends and can use an arbitraty
+ between 2 and 80.
+
+* The .NET tasks have been adapted to the beta2 release of the framework.
+
+* <move> will now try to rename() files before copying them byte by
+ byte - only if filtering is of, of course.
+
+* <ant> and <antcall> tasks now support a new attribute inheritAll. When set to
+ false, only user properties are passed through to the target Ant instance.
+ This includes properties set on the command line and properties explicitly
+ passed
+
+* <javadoc> now skips off line links if the package list cannot be found.
+
+* <wlrun> now allows the security policy file to exist outside the weblogic
+ directory.
+
+* <java> task will set the Thread contextClassLoader under JDKs 1.2+ to the
+ classloader for the class being executed.
+
+* Introduce the concept of a TaskContainer - a task or element which can contain
+ Ant Tasks.
+
+* Add new tasks implementing the TaskContainer interface <parallel> and
+ <sequential> which allow parallel execution of tasks to be specified.
+
+* <depend> task will now take into account dependencies on jar files and class
+ files from a given classpath.
+
+* <jar> manifest entries may now be specified in the build file either
+ completely or to be merged with a manifest file.
+
+* <tstamp> task custom formats now support locales.
+
+* Added a listner which will forward events to Log4J. The log4j configuration
+ file should be in the directory from which Ant is run or passed as a system
+ property using a JVM argument.
+
+* Introduced the concept of <filtersets> to allow for more control in which
+ filters get applied in a <copy> or <move> operation.
+
+* Added nowarn attribute to javac and deprecated the Jikes-magic property
+ build.compiler.warnings.
+
+* The <depend> task cache format has changed and all dependency information is
+ now stored in a single file.
+
+Fixed bugs:
+-----------
+
+* Testcases have been made independent of current working directory.
+
+* Input ZIP-Files will be closed when using a <zipfileset>.
+
+* p4 tasks now don't fail if user, port or client have been omitted
+ (and this is acceptable for the context of the command).
+
+* <javah>'s outputfile attribute will be resolved as relative to the
+ projects basedir.
+
+* <antstructure> should create a valid DTD for propertyfile.operation.entry
+ and omit tasks it fails to load.
+
+* won't try to pass a -bootclasspath flag to javac 1.1 anymore
+
+* <style>'s style attribute no handles absolute paths correctly.
+
+* <delete includeemptydirs="true"> now deletes more than just the leaf
+ directories.
+
+* You can now specify a <fileset> for a directory that doesn't exist at
+ declaration time but will created before the fileset gets used for the
+ first time.
+
+* If the quiet attribute has been set, <delete> will handle <fileset>s
+ with non-existing directories gracefully.
+
+* Output written by testcases will now be captured by the <junit> task
+ and passed to the formatters.
+
+* Quote the -group parameter to Javadoc as per the specification
+
+* Initialise classes when loaded through the AntClassLoader - that is, run
+ static initializers
+
+* Implement getResource() and getResources() in AntClassLoader
+
+* Create the <ejbjar> weblogic command line as a set of arguments rather than
+ as a single line. Avoids problems with paths which contain spaces.
+
+* <ejbjar> now fails when the weblogic ejbc compiler reports an error.
+
+* Make the AntClassLoader load resources in the same order as it currently
+ loads classes.
+
+* Handle classpaths with spaces
+
+* Make sure XSLT processors close their output files in <style>.
+
+* perform proper uptodate check in <rmic> when compiling for IIOP.
+
+* <jjtree>'s uptodate test works even if outputdirectory is not the
+ parent dir of target
+
+* <copy> will remove target file (if it exists) before writing to it -
+ this avoids problems with links on filesystems that support them.
+
+* <ftp> now properly recurses remote directories.
+
+* <ftp> closes remote connection when it's done.
+
+* <junit> tries to include all necessary classes for the task itself
+ to the classpath when running in fork mode - doesn't work for JDK 1.1
+
+* <apply> and <execon> do now execute the command only once, if you
+ specify the parallel attribute - instead of once per fileset.
+
+* directory based tasks and fileset could miss some included files in
+ directories that have been excluded
+
+* <fixcrlf> failed for large files.
+
+* <move> removed files you tried to move to themselves.
+
+* <sql> task will not trty to print the result set unless the query succeeded.
+
+* Ant classloader will now ignore paths which are invalid relative to the
+ project base
+
+* <ejbjar> weblogic elements check for jar file changes has been fixed.
+ Previously some changes would not be included.
+
+* properties loaded from properties files are now resolved internally. This
+ removes the spurious warnings about usage of properties which have not been
+ set.
+
+* <jar> task and friends now process the JAR manifest to ensure it is valid.
+
+* The task finished event now includes any exception thrown by the task.
+
+* <java> task now supports a jvmVersion attribute so that if another JVM is
+ being used, Ant can determine which options to use for features such as the
+ VM memory limits
+
+
+Changes from Ant 1.2 to Ant 1.3
+===========================================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* Ant doesn't search for the buildfile anymore, unless you use the new
+ -find argument.
+
+* <perforce> has been replaced by a number of new tasks.
+
+* <javac> is now implemented using a factory. This makes extending
+ javac to use a new compiler a lot easier but may break custom
+ versions of this task that rely on the old implementation.
+
+* The output generated by the xml formatter for <junit> has changed a
+ little, it doesn't append " sec" in the time attribute anymore.
+
+Other changes:
+--------------
+
+* A GUI Frontend: Antidote. This is currently in development. At this
+ time, this is not part of the Ant release, although the source is
+ included if you are interested.
+
+* New tasks: stylebook, propertyfile, depend, antlr, telnet, csc,
+ ilasm, apply, javah, several clearcase tasks, junitreport, sound
+
+* Added output attribute to <java>.
+
+* Added nested zipfileset element to <zip>
+
+* Changed <sql> so that printing is at the task level rather than
+ the statement level.
+
+* javadoc task will pass -d flag to any doclet if the destDir attribute is
+ given. If the doclet does not accept the -d flag then omit the destdir
+ attribute.
+
+* <cab> can work on non-Windows platforms with the help of libcabinet.
+ See http://trill.cis.fordham.edu/~barbacha/cabinet_library/.
+
+* <ftp> now supports passive mode.
+
+* New <mapper> data type that can be used to get influence on the
+ target files for some tasks like <copy> or enable new types of tasks
+ like <apply>.
+
+* <execon> provides more control over the command line now, the names
+ of the source files are no longer required to be at the end of the
+ command.
+
+* Style tasks will now support TraX compliant XSL processors if one is present
+ in your classpath.
+
+* Added a failonerror to the javac task. If set to false, the build will
+ continue even if there are compilation errors.
+
+* Added nested format elements to the tstamp task allowing additional time
+ formats to be defined for arbitrary properties.
+
+* Added classpath attribute and nested classpath element to <property>
+ to make the resource attribute more powerful.
+
+* ${} property expansion will now be performed on the patterns read
+ from files specified as includesfile or excludesfile attributes.
+
+* The <tar> and <untar> tasks now support GNU format for handling paths
+ which are greater than 100 characters in length. In addition the <tar>
+ task now supports nested filesets through which the file permissions
+ may be controlled.
+
+* wlrun, wlstop and ejbjar now support Weblogic 6.0
+
+* The MPasre task has been updated to work with MParse 2.0
+
+* The documentation has been significantly updated.
+
+
+Fixed bugs:
+-----------
+
+* <signjar> no longer uses deprecated methods.
+
+* javadoc's failonerror attribute works again
+
+* javadoc's additionalparam attribute will now be split into separate
+ parameters (on spaces) to allow for more than one parameter.
+
+* Changed <sql> task so that printing result sets works on Oracle
+
+* Changes to ddcreator and ejbc helper to respect the descriptor hierarchy
+ keppgenerated in ejbc can now be turned off
+
+* ejbjar now correctly ignores <ejb-ref> elements in the deployment descriptor.
+ CMP files are included by parsing the weblogic deployment descriptor rather
+ than relying on the naming convention used in ant 1.2
+
+* ejbjar includes super classes and super interfaces into the generated ejb
+ jar files. The <support> nested element allows support classes to be
+ included in the EJB jar. The toplink element should now correctly locate
+ the toplink descriptor.
+
+* <vssget> now correctly deals with spaces in arguments
+
+* <jar> fails early if a given manifest file doesn't exist
+
+* <rmic> doesn't search for the _Skel file anymore when stubversion is
+ set to 1.2.
+
+* <rmic> uses the the same classpath to verify a class can be rmic'd
+ as it passes to the compiler.
+
+* org.apache.tools.mail.MailMessage (and therefore <mail>) can now
+ handle SMTP servers sending multi line responses.
+
+* nested <classpath> elements of <taskdef> now work for <taskdef>s not
+ nested into <target> as well.
+
+* <property> and <available> will search for the resource "foo" instead
+ of "/org/apache/tools/ant/taskdefs/foo" when given a relative resource
+ name foo.
+
+* Handle build files in directories whose name contained a "#" character
+
+* <junit> can now log to files whose name contains a comma as well.
+
+* The AntClassLoader now refers to the loader which loaded it, any
+ requests it does not handle itself. Previously these went to the
+ primordial loader.
+
+Changes from Ant 1.1 to Ant 1.2
+===============================
+
+Changes that could break older environments:
+--------------------------------------------
+
+* Semantics of <property> has changed again in the hope to be more
+ intuitive. ${} expansion now happens at runtime and <property> tags
+ living inside of targets only take effect if they are visited at
+ runtime.
+
+ As a side effect of this change, task's attributes get set at runtime
+ not at parser time as well, which might change the results of
+ <script>s or other custom tasks that reference other tasks by their id
+ attribute.
+
+* copying of support files in <javac> has been removed - as well as
+ the filtering attribute.
+
+* the <expand> and <keysubst> tasks have been removed.
+
+* the ignore and items attributes of directory based tasks have been removed.
+
+* the command line switches _not_ starting with - have been removed.
+
+* Path and EnumeratedAttribute have been moved from
+ org.apache.tools.ant to org.apache.tools.ant.types.
+
+* the class attributes of <available>, <java>, <rmic> and <taskdef>
+ have been removed.
+
+* the src attribute of <chmod> has been removed.
+
+* <patch> and <javadoc> have lost some of their attributes.
+
+* <java> and <cvs> have lost some undocumented attributes.
+
+* the Unix antRun script would search for command.sh in the directory
+ it changed to and invoke this instead of command if present. This
+ behavior has been dropped.
+
+* <ejbjar> task syntax has been changed significantly
+
+* <exec> is no longer implemented by org.apache.tool.ant.taskdefs.Exec.
+ Custom tasks that rely on Project.createTask("exec") to return an
+ instance of this class are going to fail.
+
+* nested <include> and <exclude> elements expect the value of their
+ name attribute to be a single pattern, they don't accept multiple
+ patterns anymore. Split them into multiple elements of the same type.
+
+* <delete dir="somedir" /> will now delete the directory itself as
+ well as all included files. If you just want to clean out the
+ directory and keep the empty one, use a nested fileset.
+
+Other changes:
+--------------
+
+* New tasks: antstructure, cab, execon, fail, ftp, genkey, jlink,
+ junit, sql, javacc, jjtree, starteam, war, unwar, uptodate,
+ native2ascii, copy, move, mparse.
+
+* copydir, copyfile, deltree and rename are now deprecated. They
+ should be replaced with the new copy, delete and move tasks.
+
+* <java> uses a ClassLoader of its own in no-fork mode if a classpath is
+ specified.
+
+* <style> will create the necessary target directories and reprocess
+ all files if the stylesheet changes.
+
+* New data types fileset and patternset - expected to get a broader use.
+ They, as well as PATH like structures, can now be defined on a global
+ level and later be referenced by their id attribute.
+
+* You can specify environment variables to <exec>.
+
+* <get> can check whether a remote file is actually newer than a local
+ copy before it starts a download (HTTP only).
+
+* Added a -logger option to allow the class which performs logging to be
+ specified on the command line.
+
+* Added a -emacs option to tell the logger to leave out taskname adornments
+ on log output.
+
+* <chmod> works on all files in parallel and supports multiple filesets.
+
+* <replace> can now use tokens and/or values that cross line boundaries.
+
+* build.compiler supports now jvc as well.
+
+* project specific help can now be obtained with the -projecthelp option.
+
+* Added a -debug option to make -verbose less verbose (and more useful)
+
+* Ant will now search for a file named build.xml in the parent directory
+ and above (towards the root of the filesystem) if you didn't specify
+ -buildfile and there is no build.xml in the current directory.
+
+* <echo> can now write to a file and accepts nested text.
+
+Fixed bugs:
+-----------
+
+* <chmod> didn't work when used as a directory based task.
+
+* Path, Available, Property didn't resolve relative filenames with
+ respect to the Project's basedir.
+
+* Project didn't interpret the basedir attribute correctly in all
+ cases.
+
+* Nested <src> in <javac> caused NullPointerException.
+
+* Corrupt Zip- and Jar-files ar now deleted if the task fails.
+
+* many more fixes we've forgotten to document here ...
+
+* The packagelistloc attribute of <javadoc>'s <link> child will be
+ resolved as a file (i.e. it is either absolute or relative to
+ basedir).