Release Notes


Oct 08, 2009 - The Ivy project is pleased to announce its 2.1.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.1.0 release are
* enhanced Maven2 compatibility, with several bug fixes and more
pom features covered
* new options for the Ivy Ant tasks and commandline
* configuration intersections and configuration groups
* numerous bug fixes and improvements 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.1.0 release at:

More information can be found on the Ivy website:

Maarten Coene

Release Notes

1. What is Apache Ivy?
2. Status of this release
3. How to Get Involved
4. How to Report Issues
5. Committers and Contributors for this release
6. 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!

Maarten Coene
Xavier Hanin
Nicolas Lalevee
Gilles Scokart

Mathieu Anquetin
Carlton Brown
Martin Eigenbrodt
John Gibson
Andrey Lomakin
Randy Nott
Jon Schneider
Aleksey Zhukov

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.0.0:
- DOCUMENTATION: not all attributes of publish task are documented (IVY-963) (thanks to Jon Schneider)
- DOCUMENTATION: missing documentation for the 'Version Pattern Matcher' (IVY-871) (thanks to Jon Schneider)
- DOCUMENTATION: added missing documentation for the 'keep' attribute on the (post)resolve Ant tasks (IVY-1091)
- DOCUMENTATION: wrong url in installation.html (IVY-1054)
- DOCUMENTATION: little improvement of the documentations of the ivy:buildlist and ivy:resolve Ant tasks.

- NEW: configuration intersections (IVY-1093)
- NEW: configuration groups (IVY-1097)
- NEW: added built-in versionmatcher: 'Version Pattern Matcher' (IVY-871)

- IMPROVEMENT: Fail the retrieve when multiple artifacts of same module are mapped to same file (IVY-1050)
- IMPROVEMENT: ivy initialization shouldn't fail if properties file doesn't exist (IVY-1038)
- IMPROVEMENT: ivy:resolve ant task does not support "branch" attribute (IVY-1035)
- IMPROVEMENT: Ability to strip revConstraint attribute from delivered Ivy files (IVY-989)
- IMPROVEMENT: enhanced error message when defining an artifact for an unknown configuration.
- IMPROVEMENT: display the revision of the resolved module in ivy-report.xsl (IVY-1024) (thanks to Carlton Brown)
- IMPROVEMENT: resolver attribute for buildnumber task (IVY-1019) (thanks to Martin Eigenbrodt)
- IMPROVEMENT: add refresh parameter to post resolve tasks (IVY-1017)
- IMPROVEMENT: Remove excessive HEAD requests for URL repository (IVY-996)
- IMPROVEMENT: add -version option on command line (IVY-1014)
- IMPROVEMENT: support resolve refresh in command line (IVY-1013)
- IMPROVEMENT: Error message is not clear when specifying an invalid value for checksums (IVY-977)
- IMPROVEMENT: catch AccessControlException on System.getProperties() (IVY-1015)
- IMPROVEMENT: Retrieve ant task doesn't support dynamic resolve mode (IVY-1085)
- IMPROVEMENT: Added support for NTLM authentication (IVY-1094) (thanks to Mathieu Anquetin)
- IMPROVEMENT: Standalone runner should accept all the same parameters as ant tasks (IVY-1090)
- IMPROVEMENT: Pre and post retrieve artifact events (IVY-1084)

- FIX: Credentials were not set properly for URLs that require authentication when using HttpClient
- FIX: Ivy didn't fail when an outdated artifact in cache couldn't get deleted
- FIX: ivy:resolve ignores branch in "dynamic" resolve mode (IVY-1087) (thanks to Aleksey Zhukov)
- FIX: [originalname] not expanded during retrieve when module descriptor contains extra attributes (IVY-1096)
- FIX: The Ant output wasn't always prefixed by the name of the task
- FIX: Ivy buildnumber task does not find artifact in Sonatype Nexus repo (IVY-1069)
- FIX: Publish with SSH (sftp or ssh) prevents enclosing java process to terminate (IVY-1075)
- FIX: Ibiblio resolver throws IndexOutOfBoundsException when using snapshot versions with usepoms='false' (IVY-1028)
- FIX: Wrong BuildException messages (findmodules) (IVY-1056)
- FIX: PomModuleDescriptorBuilder does not resolve ejb type dependencies to jar extension (IVY-1058) (thanks to Andrey Lomakin)
- FIX: Ivy doesn't handle maven dependencies with type 'test-jar' correctly (IVY-1066)
- FIX: transitive dependencies and conflict management (IVY-1083)
- FIX: exclude does not work in non-trivial conf case (IVY-983)
- FIX: The artifact report task is generating duplicate artifact entries (IVY-1098)
- FIX: Error message: "impossible to get artifacts when data has not been loaded" , on certain modules only (IVY-987)
- FIX: Ivy doesn't handle the classifier attribute of artifacts inside dependency elements (IVY-1041)
- FIX: Buildnumber task does not work for chained resolvers (IVY-1037)
- FIX: Dependencies don't inherit exclusions from dependencyManagement (IVY-974) (thanks to John Gibson)
- FIX: Dependency Configuration Negation does not work (IVY-982)
- FIX: Ivy retrieve does not honor validate="false" from ivysettings (IVY-992)
- FIX: Snapshot issues when using ibiblio resolver with m2compatible is false (IVY-1028)
- FIX: Ivy Standalone hangs after publishing to SSH resolver (IVY-1009)
- FIX: overwrite='false' completely prevents publishing into url repositories (IVY-1007)
- FIX: Fixed broken logo link in ivy-report.xsl (IVY-1024) (thanks to Carlton Brown)
- FIX: Support for opensll sha1 and md5 checksum (IVY-1006)
- FIX: TTL does not work as expected (IVY-1012)
- FIX: Listing of URL's under a given URL does not handle fully specified URL's (IVY-959) (thanks to Randy Nott)
- FIX: returns wrong result when resolve fails (IVY-970)
- FIX: listing possible token values doesn't work properly for the ibiblio resolver
- FIX: Ivy deliver fails to replace dynamic revision (IVY-999) (thanks to Martin Eigenbrodt)