Changes from Ant 1.5.1 to current CVS version
=============================================
Changes that could break older environments:
--------------------------------------------
* 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).
Fixed bugs:
-----------
* now works on OS/400.
* 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" could throw a NullPointerException
if an error occured in setUp.
* could hang listcab on large s.
* will now produce output when a test times out as well.
* 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.
Other changes:
--------------
* has a new encoding attribute.
* can now create XML output.
* has a new srcfile attribute that can make it read
properties files and output them instead of Ant's properties.
* will now resolve filters recursively.
* has a new attribute that allows you to specify a default value.
* All tasks can be used outside of s
* Added task (requires JAI).
* New condition
* now has a preservelastmodified attribute to preserve the
timestamp of a downloaded file.
* new rmdir action for that removes directories from a fileset.
* The SOS and VSS tasks will no longer unconditionally prepend a $ to
vsspath or projectpath.
* OS/400 now gets detected by the os condition.
* has a new attribute pathref that can be used to reference
previously defined paths.
* 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.
* will now support external catalogs according to the
OASIS "Open Catalog" standard - if resolver.jar 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 that creates and maintains symbolic links.
Changes from Ant 1.5.1Beta1 to 1.5.1
====================================
Fixed bugs:
-----------
* 's prefix attribute failed to apply to nested elements.
* created an empty junit-noframes.html if no format had
been specified.
* would remove more than it should if the file name
contained more than one dot.
* s nested into 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.
* 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 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 , it lost its child elements.
* 's classpathref attribute was broken.
* would result in no command line argument, will now
be a single empty argument. Use if you need the
quotes literally.
* 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.
* 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 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:
-----------
* and friends would always update existing archive if you set
the update attribute to true.
* To support backward compatibility with older versions,
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:
--------------------------------------------
* 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.
* default filenameformat has been different from Ant 1.4.1.
Now it is different from 1.5beta1 and 1.5beta2.
* 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).
* won't set the property if the result is the empty string.
Fixed bugs:
-----------
* 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 's inside can now be overriden by subsequent
and tasks.
* 's outputtype attribute wouldn't do anything.
* filterreader could swallow lines.
* 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 element.
* 's sourcepath setting has been ignored by some compiler
implementations.
* 's packagelist attribute didn't work.
* the plain mailer would always use port 25 in .
* 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.
* would pass the -source switch to JDK 1.3's javac, even
though it doesn't support it.
Other changes:
--------------
* 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
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 attempts a rename, it deletes the destination file, if it
exists, before renaming the source file. However, 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 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.
* throws a build exception on an http authorization error, unless you
have set ignoreerrors to true.
* was spelt in Wintel case: . 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.
* and tasks were in beta1, but not defined by
default; They now are. fills a property with the name of a
temporary file; lets you set the JVM's http, ftp and socks proxy
settings.
* failed for
JDK 1.1 and 1.2, even if the class could be found on the
user-specified classpath.
* now works on z/OS.
* forked 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 s nested into or s
nested into didn't work.
* didn't work for nested s.
* 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
may have caused NullPointerExceptions.
* nested of would include too much.
* will no longer choke on s that point to
non-existing directories.
* didn't work at all.
* and now fail if the file they are working
on is locked.
* 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.
* and now have an optional followsymlink attribute
that can prevent Ant from following symbolic links on some platforms.
* BeanShell is now supported in the