Release Notes


Sep 30, 2010 - The Ivy project is pleased to announce its 2.2.0 release.

Ivy is a tool for managing (recording, tracking, resolving and
reporting) project dependencies, characterized by flexibility,
configurability, and tight integration with Apache Ant.

Key features of the 2.2.0 release are
* enhanced Maven2 compatibility, with several bug fixes and more
pom features covered
* new parent mechanism for Ivy files
* improved pom generation from an ivy.xml file
* automated PGP signature generation when uploading artifacts
* numerous bug fixes as documented in Jira and in the release notes

We encourage all users of Ivy to update to this new version.

Issues should be reported to:

Download the 2.2.0 release at:

More information can be found on the Ivy website:

Maarten Coene

Release Notes

1. What is Apache Ivy?
2. How to Get Involved
3. How to Report Issues
4. Committers and Contributors for this release
5. List of Changes in this Release

1. What is Apache Ivy?

Apache Ivy is a tool for managing (recording, tracking, resolving and reporting)
project dependencies.
It is characterized by the following:

1. flexibility and configurability
Apache Ivy is essentially process agnostic and is not tied to any
methodology or structure.
Instead it provides the necessary flexibility and configurability
to be adapted to a broad range of dependency management and build
2. tight integration with Apache Ant
while available as a standalone tool, Apache Ivy works particularly well
with Apache Ant providing a number of powerful Ant tasks ranging
from dependency resolution to dependency reporting and publication.

2. How to Get Involved

The Apache Ivy project really needs and appreciates any contributions,
including documentation help, source code and feedback. If you are interested
in contributing, please visit

3. How to Report Issues

The Apache Ivy project uses JIRA for issue tracking. Please report any
issues you find at

4. Committers and Contributors for this Release

Here is the list of people who have contributed source code and documentation
to this release. Many thanks to all of them, and also to the whole Ivy community
contributing ideas and feedback, and promoting the use of Ivy. The list would be too
long, but Ivy couldn't be what it is without you!

Matt Benson
Maarten Coene
Xavier Hanin
Nicolas Lalevee
Jon Schneider
Gilles Scokart

Andreas Axelsson
Jasper Blues
Jean-Louis Boudart
Dave Brosius
Flavio Coutinho da Costa
Stefan De Boey
Gregory Fernandez
Aaron Hachez
Achim Huegen
Anders Jacobsson
Steve Jones
Heschi Kreinick
Steve Miller
Abel Muino
J. Lewis Muir
Jesper Pedersen
Carl Quinn
Michael Scheetz
John Tinetti
Jason Trump
Richard Vowles
Sven Walter

For the list of people who have contributed since Ivy inception, see CHANGES.txt file.

5. List of Changes in this Release

For a full release history of Ivy see the file CHANGES.txt

For details about the following changes, check our JIRA install at

List of changes since Ivy 2.1.0:
- DOCUMENTATION: Spelling fixes on artifact description page (IVY-1230)
- DOCUMENTATION: Added missing documentation about the ivy:publish child elements.
- DOCUMENTATION: Grammar, spelling, and clarity of Settings File documentation (IVY-1216) (thanks to Steve Miller)
- DOCUMENTATION: Grammar, spelling, and clarity of Tutorial documentation (IVY-1222) (thanks to Steve Miller)
- DOCUMENTATION: Limit the width of running text in documentation (IVY-1030)
- DOCUMENTATION: Refer to the maven wiki instead of listing some maven2 mirrors ourselfs (IVY-491)
- DOCUMENTATION: Fixed several grammatical and typographic errors in documentation (IVY-1172) (thanks to J. Lewis Muir)
- DOCUMENTATION: ivy-doc.xsl does not show configurations (IVY-1151) (thanks to Jasper Blues)
- DOCUMENTATION: Added documentation of the 'changing' attribute on the ivy:resolve Ant task (IVY-1180)

- NEW: the ivy:makepom Ant task can use a custom template file to generate the pom.xml
- NEW: Ivy can now generate OpenPGP compatible ASCII armored detached signatures when publishing artifacts.
- NEW: Support ivy.xml parent mechanism (IVY-742) (thanks to Jason Trump and Jean-Louis Boudart)
- NEW: Make ivy.xml available (IVY-1158)

- IMPROVEMENT: the child of ivy:publish now accepts any attribute
- IMPROVEMENT: Handle attributes in description subelements (IVY-1214) (thanks to Jean-Louis Boudart)
- IMPROVEMENT: Use IvyAuthenticator only when it is really necessary (IVY-1211)
- IMPROVEMENT: MakePom task handling of mulitple artifacts for Maven2 (IVY-770) (thanks to Jesper Pedersen)
- IMPROVEMENT: ivy:makepom now has an option to disable the generation of an extra Ivy comment block in the POM
- IMPROVEMENT: ivy:makepom now accepts a list of configurations to include (IVY-1005) (thanks to Jesper Pedersen)
- IMPROVEMENT: ivy:makepom can generate a element in the pom (IVY-1215) (thanks to Jesper Pedersen)
- IMPROVEMENT: added support for 'gzip' and 'deflate' HTTP Content-Encoding (IVY-1194)
- IMPROVEMENT: retrieve doesn't retrive files if the current one is more recent (IVY-1044)
- IMPROVEMENT: better diagnostics when reporting bad ivy file in cache (IVY-1190)
- IMPROVEMENT: Support changing="true" for inline retrieve (IVY-1180)
- IMPROVEMENT: Enhance task to access the 'publication', 'branch' and published artifacts as ant propeties (IVY-395) (thanks to Carl Quinn)
- IMPROVEMENT: Ivy doesn't support Maven 2.0.9 'import' scope (IVY-807)
- IMPROVEMENT: resolver attribute for listmodules task (IVY-1057)
- IMPROVEMENT: discover 'src' sources in maven repos (IVY-1138)
- IMPROVEMENT: Trace a message when a property file referenced from the settings doesn't exixts (IVY-1074)
- IMPROVEMENT: use defaultconf in combination with defaultconfmapping (IVY-1135) (thanks to Jon Schneider)

- FIX: ApacheURLLister doesn't handle some truncated linknames properly (IVY-1232) (thanks to John Tinetti)
- FIX: Ivy cannot handle Maven pom with parents depending back on theirselfs (IVY-1225)
- FIX: artifactreport ant task doesn't honor log attribute (IVY-1212)
- FIX: XmlModuleDescriptorWriter does not write the transitive attribute (IVY-1207) (thanks to Abel Muino)
- FIX: Ivy info/extends/extendsType attribute is misspelled by XmlModuleDescriptorWriter (IVY-1203) (thanks to Jason Trump)
- FIX: The ivy-module version used by XmlModuleDescriptorWriter is hard coded to '1.0' (IVY-1199)
- FIX: makepom ignores artifact type in ivy.xml and hardcodes 'jar' in the output pom (IVY-736) (thanks to Aaron Hachez)
- FIX: Ant output wasn't always prefixed by the name of the Ivy task
- FIX: Resolved Ivy properties written to cache during ivy:resolve incorrectly represents forced revisions (IVY-1159)
- FIX: Namespace rules not properly applied to parent projects (IVY-1186)
- FIX: LatestVersionMatcher.needModuleDescriptor() does not honor custom statuses (IVY-1170) (thanks to Carl Quinn)
- FIX: Proxy authentication could fail when using commons-httpclient
- FIX: Packager resolver always extracts all files from archives even when the packaging instructions contains include tags (IVY-1179) (thanks to Stefan De Boey)
- FIX: Ivy cannot connect to URLs with '_' in their hostname
- FIX: Transitive dependencies resolutions issue when eviction is triggered (IVY-1178)
- FIX: Can't deal with [VERSION] version pattern from Maven (IVY-1177) (thanks to Richard Vowles)
- FIX: verbose/debug messages were not logged while running ivy:configure task
- FIX: ApacheURLLister does not allow directories not containing a dot on Artifactory (IVY-1175) (thanks to Anders Jacobsson)
- FIX: artifact-lock strategy could hang Ivy when resolving dynamic revisions
- FIX: Authentication won't work in some situations (IVY-1168) (thanks to Sven Walter)
- FIX: Using SFTP resolver with full pattern URL prevents use of dynamic versions (IVY-1167) (thanks to Gregory Fernandez)
- FIX: parent.groupId is not resolved in maven 2 parser (IVY-1169) (thanks to Achim Huegen)
- FIX: Creation of symlinks problematic in Windows with Cygwin 1.7 (IVY-1165)
- FIX: add ability to programmatically change default resolver (IVY-1163) (thanks to Jason Trump)
- FIX: ivy.settings.dir space escaping problem (IVY-1162)
- FIX: Ivy cannot parse alternate format for Maven MD5 files (IVY-1155)
- FIX: Ivy does not close URL connection to ivy-report.xsl properly (IVY-1152)
- FIX: Artifact report throws NPE when artifact is not in cache (IVY-1150) (thanks to Steve Jones)
- FIX: resolve fails for transitive relocated maven modules when the type of the dependency was set to 'jar'
- FIX: optional dependencies, sources and javadocs aren't resolved when a maven module is relocated
- FIX: Encountered 'multiple artifacts retrieved to same file' error when module does not have multiple artifacts (IVY-1148)
- FIX: Use of a shared DocumentBuilder causes SAXException during parallel resolutions (IVY-1147)
- FIX: metadata lock files not always deleted from cache (IVY-1145) (thanks to Jason Trump)
- FIX: FileSystem resolver with m2compatible=true throws error when publishing modules with dotted organisation names (IVY-968)
- FIX: ivy:retrieve sync="true" does nothing if first variable is optional (IVY-1142) (thanks to Andreas Axelsson)
- FIX: Latest Compatible Conflict Manager + Extra Attributes in Dependencies' IVY files == infinite loop (IVY-956)
- FIX: Resolve with Extra Attributes, Forced Dependencies causes invalid delivered ivy file (IVY-1079)
- FIX: ResolveEngine.getDependencies does not work using extra attributes (IVY-1115)
- FIX: ignored in dynamic resolve mode (IVY-1131)
- FIX: IvyNodeEviction.cleanEvicted has bad comparison logic (IVY-1118)
- FIX: ChainResolver doesn't pass the specified 'checkmodified' attribute to the cache (IVY-1133)
- FIX: Ivy couldn't handle maven POMs that depend on theirselves
- FIX: SearchEngine.listModules returns MRID without extra attributes (IVY-1128) (thanks to Michael Scheetz)
- FIX: IvyBuildNumber non-deterministic behaviour (IVY-1120)
- FIX: Change spelling of 'occured' to 'occurred' (IVY-1123)
- FIX: Ivy deliver fails to replace dynamic revision when using extra attributes (IVY-1111) (thanks to Michael Scheetz)
- FIX: IbiblioResolver not always correctly configured when using JRE 1.5 (IVY-1124) (thanks to Flavio Coutinho da Costa)
- FIX: VstfpRepository.readResponse uses bad compare logic (IVY-1119) (thanks to Dave Brosius)
- FIX: URLResource does not properly support authentication (IVY-1106) (thanks to Heschi Kreinick)
- FIX: Excessive hits to missing URLs uses up all ports on Windows (IVY-1105)
- FIX: ivy parse exception when using (IVY-1102)
- FIX: Change org.apache to commons-cli at jdbc-example (IVY-1109)
- FIX: Fixed name snapshots are not updated even if they are marked as changing and the publication date is changed in repo (IVY-938)
- FIX: Cannot publish wildcard configurations other than * (IVY-1171)