                          Apache Ivy (TM) 2.3.0
                               Release Notes
   -----------------------------------------------------------------------

CONTENTS
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 
        processes.
   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 http://ant.apache.org/ivy/get-involved.html.

3. How to Report Issues

The Apache Ivy project uses JIRA for issue tracking.  Please report any 
issues you find at http://issues.apache.org/jira/browse/IVY

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!

 Committers
    Matt Benson
    Jean-Louis Boudart
    Maarten Coene
    Xavier Hanin
    Nicolas Lalevee
    Jon Schneider
    Gilles Scokart

 Contributors
    Arnold Blaasmo
    Ed Burcher
    Joseph Boyd
    Wei Chen
    Robin Fernandes
    Wolfgang Frank
    Mitch Gitman
    Payam Hekmat
    Stepan Koltsov
    Thomas Kurpick
    Ales Nosek
    Douglas Palmer
    Carl Quinn
    Torkild U. Resheim
    Jens Rohloff
    Ben Schmidt
    Nihal Sinha
    Sven Zethelius

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 
http://issues.apache.org/jira/browse/ivy

List of changes since Ivy 2.2.0:
- DOCUMENTATION: Bad example in Project dependencies Tutorial (IVY-1263)
- DOCUMENTATION: remove deprecated defaultCache setting from examples (IVY-1273) (thanks to Joseph Boyd)
- DOCUMENTATION: link to FAQ is incorrect in distribution files (IVY-793) (thanks to Joseph Boyd)
- DOCUMENTATION: The tag version-matchers is missing attribute in documentation (IVY-1292) (thanks to Per Arnold Blaasmo)
- DOCUMENTATION: wrong default resolver documented on the 'How does it work' page (IVY-1265)
- DOCUMENTATION: Correct outdated links to configuration pages (IVY-1266)
- DOCUMENTATION: Documentation and Implementation mismatch of makepom (IVY-1383) (thanks to Thomas Kurpick)
- DOCUMENTATION: added link to extra beginners guide (IVY-1381)

- NEW: [orgPath] can now be used as token in ivy/artifact patterns
- NEW: New Ant datatype ivy:resources, an Ant resource collection like ivy:cachepath or ivy:cachefileset (IVY-334)
- NEW: ivy:resolve and post resole task can now have inlined dependencies declaration.
- NEW: Import Bushel into Ivy core (IVY-1241)
- NEW: An new resolver 'mirroredurl' which can handle a list of mirrored URL repositories (IVY-468)
- NEW: Support for a jar resolver (IVY-1312)

- IMPROVEMENT: ivy:install task does not allow specification of conf (IVY-1313) (thanks to Nihal Sinha)
- IMPROVEMENT: ivy:makepom ignores the artifact type in generated dependencies (IVY-1229) (thanks to Douglas Palmer)
- IMPROVEMENT: ivy:makepom now honors exclusion of artifacts in generated pom files (IVY-1294) (thanks to Jens Rohloff)
- IMPROVEMENT: Added support for dynamic revisions in <extends> tag (IVY-1281)
- IMPROVEMENT: ivy:makepom child element dependency should support the type and classifier attributes (IVY-1262)
- IMPROVEMENT: ivy:retrieve can now create a path or fileset containing the retrieved artifacts (IVY-1235)
- IMPROVEMENT: Improve diagnostics in ssh resolver (IVY-1267) (thanks to Stepan Koltsov)
- IMPROVEMENT: ivy:retrieve now accepts a nested mapper type.

- FIX: Ivy generates wrong revision in URL for Maven snapshots (IVY-1396)
- FIX: Maven2: resolve failure when parent has <dependencyManagement> with dependency in 'import' scope (IVY-1376)
- FIX: IvyPublish fails when using extend tags with no explicit location attribute (IVY-1391)
- FIX: *.lck files created by "artifact-lock" lock strategy are not cleaned up if ivy quits abruptly (IVY-1388) (thanks to Wei Chen)
- FIX: Ivy default cache path with non-ASCII character lets it crash (IVY-1378)
- FIX: latest.integration isn't resolved against a Maven snapshot repository (when uniqueVersion = true) (IVY-1036)
- FIX: Resolve does not deliver all dependent artifacts (IVY-1366) (thanks to Wolfgang Frank)
- FIX: Ivy descriptors are merged incorrectly when there is an <exclude> element (IVY-1356)
- FIX: SimpleDateFormat is not thread safe (IVY-1373)
- FIX: Maven 'hk2-jar' packaging is now supported (IVY-1357)
- FIX: Maven 'orbit' and 'pear' packaging is now supported (IVY-899)
- FIX: Memory leak and infinite loop in ModuleId.java (IVY-1362)
- FIX: Unnecessary warning when parent ivy.xml is not found (IVY-1346)
- FIX: StackOverflowError when using <extends> and ../ivy.xml is not the parent ivy.xml (IVY-1437)
- FIX: NullPointerExeption in AbstractOSGiResolver (IVY-1343) (thanks to Thomas Kurpick)
- FIX: Delivered ivy descriptor inconsistent with resolve report / retrieve and other post-resolve actions (IVY-1300) (thanks to Ed Burcher)
- FIX: The Updatesite resolver is downloading Eclipse features instead of Eclipse bundle/plugin
- FIX: ivy:buildlist task confused by extends feature using two parents (IVY-1363) (thanks to Mitch Gitman and Jean-Louis Boudart)
- FIX: ivy.xml extends feature complains about Windows filesystem path (IVY-1359) (thanks to Mitch Gitman and Jean-Louis Boudart)
- FIX: buildlist task chokes on absolute path to parent Ivy module (IVY-1364) (thanks to Mitch Gitman and Jean-Louis Boudart)
- FIX: The ignore circular dependency strategy is clobbering the warn strategy (IVY-1353) (Thanks to Carl Quinn)
- FIX: Buildnumber and IvyFindRevision Ant tasks should honour defaultBranch setting (IVY-1344) (Thanks to Ales Nosek)
- FIX: ApacheURLLister.retrieveListing() fails if the encoding of the URL list is different from the default encoding (IVY-1060) (Thanks to Robin Fernandes)
- FIX: global exclude rules is not applying to root ivy files
- FIX: Exclude doesn't work when there is some circular dependencies (IVY-1309)
- FIX: Impossible to get artifacts when data has not been loaded for multiple dynamic revisions (IVY-1333)
- FIX: Ivy didn't properly handle some file: URLs (IVY-1340)
- FIX: fallback mechanism didn't work properly for private configurations
- FIX: /localivy target does not work when building Ivy jar (IVY-1338) (thanks to Ben Schmidt)
- FIX: The showprogress=false attribute of ivy:resolve doesn't do what it should (IVY-1052) (thanks to Joseph Boyd)
- FIX: extends ignores defaultconfmapping/defaultconf/confmappingoverride attributes from parent's configurations and dependencies tags (IVY-1213)
- FIX: NullPointerException when providing empty password to <credentials> (IVY-1335)
- FIX: [originalname] not expanded for source and javadoc types during publish in ivy:install (IVY-1324)
- FIX: cannot resolve from repositories that return HTTP 204 in response to an HTTP HEAD request (IVY-1328)
- FIX: extra attributes lost from info when ivy file is merged with parent (IVY-1206)
- FIX: ivy:report ant task intermittently "cannot compile stylesheet" (IVY-1325)
- FIX: Maven 'eclipse-plugin', 'jbi-component' and 'jbi-shared-library' packaging is now mapped to 'jar' extension (IVY-899)
- FIX: Infinite loop in latest-compatible conflict manager (IVY-1233) (thanks to Payam Hekmat and Sven Zethelius)
- FIX: extends section of ivy.xml info does not replace variable in location tag (IVY-1287)
- FIX: Valid Path does not work for Filesystem Resolver (IVY-1268)
- FIX: quiet="true" does not surpress download 'dots' on packager resolver (IVY-1269)
- FIX: Dynamic version resolution result can be incorrect when ivy metadata contains extra attributes (IVY-1236)
- FIX: NullPointerException in FileUtil#forceDelete.
- FIX: XmlModuleDescriptorUpdater is a mess that produces broken xmls in many cases (IVY-1010)
- FIX: ivy.xml that contains UTF-8 encoded umlauts cannot be bigger than 10000 bytes (IVY-1253)
- FIX: Can not use a v[revision] in an artifact pattern of a filesystem resolver (IVY-1238)
- FIX: Cached ivy.xml is invalid if the description contains the ampersand entity (&amp;) (IVY-1237)
- FIX: Couldn't authenticate against sites having the same address as the proxy server (IVY-1234)
- FIX: OutOfMemoryError when uploading large files using commons-httpclient (IVY-1197) (thanks to Torkild U. Resheim)
- FIX: Only the last dependency descriptor is taken into account on the same module (IVY-1240)
- FIX: UseCacheOnly doesn't respect the cache configuration in the ivysettings (IVY-1227)
- FIX: UseCacheOnly is influenced by the TTL on cached metadata (IVY-1243)
- FIX: ConcurrentModificationException on ivy settings loading (IVY-1250)
- FIX: Module inheritance sometimes fails to locate parent descriptor in deliver process (IVY-1248)
- FIX: <cachefileset> on an empty configuration produces a very slow-to-evaluate fileset (IVY-1272)
- FIX: Ivy does not apply overridden properties to m2 parent dependency versions specified using properties (IVY-1299)
- FIX: Ivy does not apply overridden properties to m2 parent dependency versions specified using dependencyManagement properties (IVY-1301)

