				Apache Ivy (TM) 
				- The agile open source dependency manager
				- http://ant.apache.org/ivy
				============================================
				
for detailed view of each issue, please consult http://issues.apache.org/jira/browse/IVY

 Committers
	Matt Benson
	Jean-Louis Boudart
	Maarten Coene
	Charles Duffy
	Xavier Hanin
	Nicolas Lalevee
	Jon Schneider
	Gilles Scokart
  
 Contributors
	Ingo Adler
	alex322
	Mathieu Anquetin
	Andreas Axelsson
	Stephane Bailliez
	Karl Baum
	Mikkel Bjerg
	Per Arnold Blaasmo
	Jeffrey Blattman
	Jasper Blues
	Jim Bonanno
	Joseph Boyd
	Dave Brosius
	Matthieu Brouillard
	Carlton Brown
	Mirko Bulovic
	Ed Burcher
	Jamie Burns
	Wei Chen
	Chris Chilvers
	Kristian Cibulskis
	Andrea Bernardo Ciddio
	Archie Cobbs
	Flavio Coutinho da Costa
	Stefan De Boey
	Mykhailo Delegan
	Charles Duffy
	Martin Eigenbrodt
	Stephen Evanchik
	Robin Fernandes
	Gregory Fernandez
	Danno Ferrin
	Benjamin Francisoud	
	Wolfgang Frank
	Jacob Grydholt Jensen
	John Gibson
	Mitch Gitman
	Scott Goldstein
	Pierre H�gnestrand
	Scott Hebert
	Tobias Himstedt
	Aaron Hachez
	Ben Hale
	Stephen Haberman
	Peter Hayes
	Scott Hebert
	Payam Hekmat
	Achim Huegen
	Matt Inger
	Anders Jacobsson
	Anders Janmyr
	Steve Jones
	Christer Jonsson
	Michael Kebe
	Matthias Kilian
	Alexey Kiselev
	Gregory Kisling
	Stepan Koltsov
	Heschi Kreinick
	Sebastian Krueger
	Thomas Kurpick
	Tat Leung
	Costin Leau
	Antoine Levy-Lambert
	Andrey Lomakin
	William Lyvers
	Sakari Maaranen
	Jan Materne
	Markus M. May
	Abel Muino
	J. Lewis Muir
	Stephen Nesbitt
	Joshua Nichols
	Bernard Niset
	Ales Nosek
	David Maplesden
	Glen Marchesani
	Phil Messenger
	Steve Miller
	Mathias Muller
	Randy Nott
	Peter Oxenham
	Douglas Palmer
	Jesper Pedersen
	Emmanuel Pellereau
	Yanus Poluektovich
	Roshan Punnoose
	Jean-Baptiste Quenot
	Carl Quinn
	Damon Rand
	Geoff Reedy
	Torkild U. Resheim
	Christian Riege
	Frederic Riviere
	Jens Rohloff
	Andreas Sahlbach
	Brian Sanders
	Adrian Sandor
	Michael Scheetz
	Ben Schmidt
	Ruslan Shevchenko
	John Shields
	Nihal Sinha
	Gene Smith
	Simon Steiner
	Johan Stuyts
	John Tinetti
	Erwin Tratar
	Jason Trump
	Tjeerd Verhagen
	Richard Vowles
	Sven Walter
	James P. White
	Tom Widmer
	John Williams
	Chris Wood
	Patrick Woodworth
	Jaroslaw Wypychowski
	Sven Zethelius
	Aleksey Zhukov
	
   2.4.0-rc1
=====================================
- DOCUMENTATION: Broken link in <dependency> documentation (IVY-1405)
- DOCUMENTATION: Explicitly document that threaded use is not supported.

- NEW: the buildobr task can now work a set of resolved artifacts: useful for managing an OSGi target platform
- NEW: fixdeps task: serializes transitively resolved dependencies into an ivy.xml file
- NEW: IvyDependencyTree task : display a dependency tree on the console
- NEW: Support Conditional Setting of a Property (IVY-1367)
- NEW: Exposing some parent metadata (organisation, module, revision, branch) as properties (IVY-1288)
- NEW: symlinkmass feature based on symlink feature of ivy:retrieve (IVY-1252) (Thanks to Gene Smith)
- NEW: Agent authentication for SSH and SFTP transports (IVY-1421)
- NEW: New OSGi resolver 'osgi-agg': a chain resolver dedicated to better handle OSGi dependencies
- NEW: Add support for "packed" artifacts: .pack.gz bundles in an OSGi P2 repository for instance

- IMPROVEMENT: New LockStrategy available based on NIO FileLocks (IVY-1424)
- IMPROVEMENT: Optional <include> ivysettings directives (IVY-1392) (thanks to Yanus Poluektovich)
- IMPROVEMENT: add support for source bundles from p2 repositories
- IMPROVEMENT: add support for source URI from OBR repositories
- IMPROVEMENT: Also copy original metadata artifact (e.g. POM) on ivy:install (IVY-1431) (Thanks to Erwin Tratar)
- IMPROVEMENT: useOrigin will do avoid copy with url resolvers configured with a 'file:/' URL
- IMPROVEMENT: add support for source artifacts in buildobr task

- FIX: In IvyDE, Ivy fails to parse ivy-settings.xml file if it contains <pgp> element (thanks to Gregory Amerson) (IVY-1441)
- FIX: ParseException when "Bundle-Description" is present in OSGi MANIFEST.MF (IVY-1438)
- FIX: NIO FileLocker released locks too early (IVY-1424) (thanks to Charles Duffy)
- FIX: Ssh Resolver doesn't work with Java 7 (IVY-1408) (thanks to Mykhailo Delegan)
- FIX: Parsing publication date in Ant tasks not thread-safe (IVY-1412)
- FIX: NullPointerException when using httpclient and server doesn't return content-type header (IVY-1400) (thanks to Frederic Riviere)
- FIX: Properly handle evicted nodes in ResolveReport
- FIX: Artifact repository locking did not correctly handle threaded use (IVY-1454) (thanks to Carsten Pfeiffer)
- FIX: Better support for "Bundle-RequiredExecutionEnvironment" from an OSGi MANIFEST.MF
- FIX: When inheriting a module descriptor, also merge the exclude rules
- FIX: Correct application of mediators (ie. override) during conflict resolution (IVY-1455)
- FIX: Fix revision number mapping across namespaces (IVY-1423)
- FIX: fix a NPE when loading a composite P2 repository with no children
- FIX: fix missing configuration when fixdeps is used with a partial resolve
- FIX: XmlModuleDescriptorWritter doesn't support fully extra infos elements (IVY-1457)

   2.3.0
=====================================
- 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)

   2.3.0-rc2
=====================================
- DOCUMENTATION: Documentation and Implementation mismatch of makepom (IVY-1383) (thanks to Thomas Kurpick)
- DOCUMENTATION: added link to extra beginners guide (IVY-1381)

- 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

   2.3.0-rc1
=====================================
- 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)

- 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) (thanks to Jean-Louis Boudart)
- 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: 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) (thanks to Jean-Louis Boudart)
- 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) (thanks to Jean-Louis Boudart)
- 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)

   2.2.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)

- 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.

- IMPROVEMENT: the <artifact> 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 <description> element in the pom (IVY-1215) (thanks to Jesper Pedersen)

- 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)

   2.2.0-rc1
=====================================
- 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: Support ivy.xml parent mechanism (IVY-742) (thanks to Jason Trump and Jean-Louis Boudart)
- NEW: Make ivy.xml <conf description> available (IVY-1158)

- 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 <info/> 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: 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: <override> 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 <publications defaultconf> (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)

   2.1.0
=====================================
- DOCUMENTATION: little improvement of the documentations of the ivy:buildlist and ivy:resolve Ant tasks.
- FIX: Credentials were not set properly for URLs that require authentication when using HttpClient.

   2.1.0-rc2
=====================================
- 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)

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

- 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: 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)

   2.1.0-rc1
=====================================
- 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)

- 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: <ivy:buildnumber> 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)

   2.0.0
=====================================
- IMPROVEMENT: Extend packager resolver to allow arbitrary ant tasks in build instructions (IVY-994) (thanks to Archie Cobbs)
- IMPROVEMENT: Ivy Standalone setting to overwrite publications (IVY-976)
- IMPROVEMENT: Support useOrigin for artifacts with a set url attribute (IVY-965) (thanks to alex322)

- FIX: NullPointerException at PomModuleDescriptorBuilder.addDependency (IVY-995)
- FIX: Log levels aren't respected in certain cases using the standalone functionality (IVY-960) (thanks to Patrick Woodworth)
- FIX: NPE in LogReportOutputter (IVY-961)
- FIX: NullPointerException when resolving module wihout revision in the pattern (IVY-980)
- FIX: IO problem while parsing ivy file (Resetting to invalid mark) (IVY-975)
- FIX: Cannot parse maven2 poms containing an UTF-8 BOM
- FIX: Files with non-latin symbols fail to download (IVY-962)

   2.0.0-rc2
=====================================
- DOCUMENTATION: Filesystem resolver: talks about "patterns" but does not mention these must become absolute file paths (IVY-910)

- NEW: Allow authentication credentials to be specified in settings file (IVY-943) (thanks to Randy Nott)

- IMPROVEMENT: Error messages on use of relative paths can be cyrptic (IVY-909)
- IMPROVEMENT: Maven accepts illegal XML for its pom's, Ivy not (IVY-921)
- IMPROVEMENT: Ivy should set the ${basedir} property (IVY-953)

- FIX: NullPointerException in AbstractPatternsBasedResolver when organization is null (IVY-928)
- FIX: NullPointerException when Ivy cannot locate pom parent (IVY-927)
- FIX: Cannot configure items with java.io.File attributes (IVY-905)
- FIX: Environment properties in ivy settings are no longer resolved (IVY-907)
- FIX: Resolve failed on certain proxy environment (IVY-911)
- FIX: Ivy can't handle bare POM ${groupId} property (IVY-913) (thanks to Tom Widmer)
- FIX: Properties needed to parse version in POM (IVY-914) (thanks to Tom Widmer)
- FIX: build.xml: checkstyle + checkstyle-report dont work together (IVY-919)
- FIX: Maven packaging of "pom" should add a "jar" artifact if present (IVY-920)
- FIX: StackOverflow when using ivy:settings with "ivy.instance" as id (IVY-924)
- FIX: Maven Pom reader doesn't handle optional dependencies correctly in some instances (IVY-926) (thanks to Phil Messenger)
- FIX: ivy:settings doesn't work if id is a property (IVY-925)
- FIX: HttpClientHandler hanging in certain cases (IVY-930) (thanks to Scott Hebert)
- FIX: Can't download files containing space or + in their names by HTTP (IVY-923)
- FIX: Maven2 parser doesn't support POMs with <model> as root (IVY-932)
- FIX: Default retrieve, publish and deliver patterns doesn't include the [classifier] token (IVY-935)
- FIX: Can't use latest.release for pom dependencies (IVY-936)
- FIX: Unable to resolve snapshot versions depending on xml elements order (IVY-940)
- FIX: pre-resolve-dependency event doesn't export branch information (IVY-941) (thanks to Jaroslaw Wypychowski)
- FIX: cachefileset produces an empty fileset when the cache refers to libs in directories that only have the root directory in common (IVY-948) (thanks to Chris Wood)
- FIX: Extra Attributes specified in the Dependency's Module Descriptor are not available to resolvers (IVY-929) (thanks to Scott Hebert)
- FIX: Support for passing arbitrary arguments to the -main invoked class when using the standalone mode is severely limited (IVY-952) (thanks to Patrick Woodworth)
- FIX: Correctly set ivy.resolved.configurations property when the conf string includes a negation operator (IVY-951) (thanks to Patrick Woodworth)
- FIX: Maven pom license url can contain xml entities (IVY-950)
- FIX: Maven pom license has name as optional element (IVY-949)
- FIX: Ivy doesn't throw an error when the parent POM cannot be loaded (IVY-931)
- FIX: Maven pom parser is not handling pom property ${project.parent.version} (IVY-955)
- FIX: inline resolve ignores the transitive attribute (IVY-958)

   2.0.0-rc1
=====================================
- NEW: Report version of Ivy in HTTP headers (user-agent?) when Ivy downloads artifacts (IVY-878)
- NEW: Add publish support to URL resolver (IVY-848) (thanks to Brian Sanders)
- NEW: Better support for local builds (IVY-857)
- NEW: Retain original dependency constraint rules in resolved ivy file (IVY-739)
- NEW: Add a new resolve mode (optionally per module) to utilize dynamic constraint rule metadata (IVY-740)
- NEW: Add transitive dependency version and branch override mechanism (IVY-784)
- NEW: Add new packager resolver (IVY-829) (thanks to Archie Cobbs)

- IMPROVEMENT: DualResolver should also provide setDescriptor method instead of setAllownomd, which is deprecated for the other resolvers (IVY-903)
- IMPROVEMENT: Parse license information in poms (IVY-892)
- IMPROVEMENT: Change 'alwaysUseExactRevision' default value to false (IVY-891)
- IMPROVEMENT: Better and more homogeneous relative paths handling (IVY-387) 
- IMPROVEMENT: undeprecate configure task (IVY-849)
- IMPROVEMENT: Detect missing artifacts on publish asap (IVY-862)
- IMPROVEMENT: Allow to set the branch at deliver/publish time (IVY-859)
- IMPROVEMENT: Add defaultconf in publications tag of ivy file (IVY-801)
- IMPROVEMENT: Support atomic publish with sub directory structure (IVY-856)
- IMPROVEMENT: Provide ant task to retrieve information from published ivy modules (IVY-838) (thanks to David Maplesden)
- IMPROVEMENT: Install task fails but reason is not displayed without using -debug or -verbose (IVY-834)
- IMPROVEMENT: SSH resolver doesn't support keyboard-interactive authentication (IVY-836) (thanks to Tobias Himstedt)
- IMPROVEMENT: declare source and javadoc artifacts in maven2 modules (IVY-325)
- IMPROVEMENT: Set the last modified attribute of files downloaded from repositories (IVY-823)
- IMPROVEMENT: If DNS is playing up, Ivy takes a lot longer to sort project dependencies (IVY-817)
- IMPROVEMENT: make it possible to specify permissions of published files for the SSH resolver (IVY-764)
- IMPROVEMENT: Load Ivy version number into some Ant property (IVY-790)
- IMPROVEMENT: Make Ivy standalone runnable with no required dependencies (IVY-757)
- IMPROVEMENT: add branch attribute in ivy:install task (IVY-727)
- IMPROVEMENT: Parse description information in ivy files (IVY-766)
- IMPROVEMENT: Parse description and home page from poms (IVY-767)
- IMPROVEMENT: Change allownomd and skipbuildwithoutivy into a more semantically correct name (IVY-297)
- IMPROVEMENT: Smarter determination if an expression is exact or not for RegexpPatternMatcher and GlobPatternMatcher
- IMPROVEMENT: Check branch consistency during resolve (IVY-858)
- IMPROVEMENT: Give the possibility to not compute ivy.deps.changed (IVY-876)
- IMPROVEMENT: Add a memory cache for the module descriptor that are parsed from the cache (IVY-883)
- IMPROVEMENT: Improve performance (IVY-872)
- IMPROVEMENT: Additional descriptions of build.xml targets (IVY-499)

- FIX: Publish Ant Task 'warnonmissing' ignored (IVY-867)
- FIX: Ivy stand-alone ignores -cache argument (IVY-901) (thanks to Chris Chilvers)
- FIX: ivy.cache.dir.${settingsRef} is set to default instead of the defaultCacheDir from the ivysettings.xml after ivy:resolve (IVY-898)
- FIX: Ivy ibiblio resolver chokes on variables while checking descriptor consistency (IVY-818)
- FIX: Enable consistent support of the configuration negation operator (IVY-894) (thanks to Patrick Woodworth)
- FIX: add variable expansion in extra attributes (IVY-798)
- FIX: Invalid URL when using dynamic ranges (IVY-885)
- FIX: can't use gotoNode with a node which has not been visited yet (IVY-874)
- FIX: Ivy Publish Task Fails When XML Comments Exist Next to Dependency Declarations (IVY-888)
- FIX: Incorrect directory path resolve when running from a different directory (IVY-232)
- FIX: Ivy#listTokenValues(String, Map) does not filter returned values, and does not use maven-metadata.xml files with IBiblio resolver (IVY-886)
- FIX: Circular Dependency messages in a resolve do not reflect the configuration used during the resolve (IVY-708)
- FIX: Failure to transitively install Maven2 artifacts with namespace (IVY-440)
- FIX: Unwanted eviction of dependencies when optional attributes in dependency and info tags are in consistent (IVY-745)
- FIX: HTTP Handlers ignore unsuccessful response codes (IVY-864) (thanks to James P. White)
- FIX: Deliver delivers the wrong version when a dynamic revision is evicted before being resolved (IVY-707)
- FIX: Inconsistency with "multi-project" tutorial (IVY-667)
- FIX: URLRepository does not allow some valid file scheme uri's (IVY-884)
- FIX: Incorrect parsing artifactPattern attribute in a sftp resolver (IVY-661) (thanks to Alexey Kiselev)
- FIX: Maven2 "ejb" packaging is not supported (IVY-873)
- FIX: Config files with # in path can't be read (IVY-868) (thanks to Simon Steiner)
- FIX: Cache can't distinguish artifacts with classifiers (IVY-803) (thanks to James P. White)
- FIX: Reports showing double dependencies in certain cases (IVY-578)
- FIX: Dynamic revision resolve does not throw error when configuration is missing (IVY-861)
- FIX: Referenced resolver not found in macro (IVY-860)
- FIX: Ivy files are not retrieved when using useOrigin=true (IVY-713)
- FIX: NPE in Ivy:install task if the repository cache dir has been cleared (IVY-843)
- FIX: Maven version ranges with ( ) are not supported (IVY-678) (thanks to Michael Kebe)
- FIX: Ignore maven metadata files when listing revisions (IVY-765)
- FIX: haltonmissing on publish task does not prevent the other files to be published, even with an atomic publisher (IVY-656)
- FIX: Transitive dependencies resolves incorrectly when different modules uses the same dependency with different configurations in the same build (IVY-541)
- FIX: transitive attribute set to false because of dependency (IVY-105)
- FIX: Wrong check for defaultCacheArtifactPattern (IVY-840)
- FIX: NPE in ivy:install if ivy.settings.xml contains custom attribute for a module (IVY-838)
- FIX: Ivy unit tests fail because 'classifier' attribute of 'artifacts' element is missing in ivy.xsd (IVY-837)
- FIX: Ivy build system: fix build.xml to allow "ant coverage-report" behind a proxy (IVY-832)
- FIX: NPE in AbstractResolver.exists() if a resource cannot be found (IVY-831)
- FIX: Ivy distribution jars contains duplicate entries (IVY-828)
- FIX: ivy:report will generate an HTML file that references non-existent ivy-report.css (IVY-826)
- FIX: dynamic resolveMode not being dynamic on branch (IVY-825)
- FIX: Filesystem repositories can not have () in the path (IVY-797)
- FIX: Type tag in poms not supported (IVY-762)
- FIX: An empty exclusion tag results in an IllegalArgumentException (IVY-821)
- FIX: Maven scope defined in POM dependencyManagement section not honoured (IVY-811)
- FIX: SFTPRepository incorrectly calculates last modified time for resources (IVY-815)
- FIX: Filesystem resolver does not evaluate [branch] token when publishing (IVY-814)
- FIX: Using ivy:settings with the "id" attribute not behaving as expected (IVY-809)
- FIX: onMissingDescriptor doesn't work due to == comparison (IVY-805) (thanks to Ben Hale)
- FIX: revision token is not set in report outputpattern (IVY-272)
- FIX: Ivy uses the first set of configurations it sees when resolving multiple versions of a module (IVY-681)
- FIX: Eviction fails for libs not providing their ivy configuration and providing artifacts named different between lib versions (IVY-537)
- FIX: Memory leak in ModuleRevisionId.java (IVY-791)
- FIX: conflict manager scoping does not work as expected (IVY-465)
- FIX: ivy.original.xml file using artifact pattern in cache and causing problems (IVY-787)
- FIX: ivy:retrieve with sync="true" removes the .svn directory (IVY-763)
- FIX: Ivy silently fails XML errors in ivyrep (IVY-579)
- FIX: Extra Attributes are not available to resolver after resolve if cache was empty (IVY-773)
- FIX: NullPointerException during ResovleEngine.downloadArtifacts. (IVY-592)
- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437) (thanks to Jing Xue)
- FIX: unable to resolve snapshot versions (IVY-501)
- FIX: No error or warning when a resolver references a non-existent cache (IVY-777)
- FIX: ivy properties defined in an include file not available in the file that includes it (IVY-780)
- FIX: SFTPRepository.list(String) hides exceptions (IVY-751)
- FIX: Wrong error message for republishing a module (IVY-752)
- FIX: resolve fails to put metadata in cache (IVY-779)
- FIX: multiple cleancache and inline retrieve error (IVY-778)
- FIX: buildlist evicts modules with the same name, but different organisation (IVY-731)
- FIX: Out of memory/Stack overflow for new highly coupled project (IVY-595)
- FIX: Compatibility with maven's dependencyMangement (IVY-753)
- FIX: ivy:settings fails when override is not set to 'true' (IVY-771)
- FIX: NPE when specifying both resolveId and inline in an Ivy:Resolve (IVY-776)
- FIX: repreport task not working against a repository structured by branches (IVY-716)
- FIX: Ivy reports a conflict when the same file is supposed to be retrieved at the same location twice (or more) (IVY-743)
- FIX: StackOverflowError when configuration extends itself (IVY-696)
- FIX: XML schema ambiguity (IVY-750)
- FIX: ivy-resolve fails when a project has different dependencies in different branches (IVY-717)
- FIX: PublishEventsTest fails when Ivy sources are located in a directory with a + (IVY-755)
- FIX: XML entity parsing does not work properly (IVY-737) (thanks to Patrick Woodworth)
- FIX: Cachefileset task silently fails with parent dir ".." construct (IVY-638)
- FIX: SFTP should verify input parameter for hostname (IVY-734)
- FIX: Classpath issues with vfs ftp while being used as a bundle (IVY-785)
- FIX: Relative include in a settings must be evaluated relatively to the settings file (IVY-372)
- FIX: The Bundle-Version is 0.0.0 in the build artifacts (IVY-802)
- FIX: Fix the encoding used in XML reports (IVY-816)
- FIX: Properties tag in ivy conf do not support relative path (IVY-89)
- FIX: Ivy causes IveDE to fail where a properties file is relative to ivyconf.xml (IVY-573)

- DOCUMENTATION: Fixed more than a hundred (100+) obsolete "configuration" references; replaced with "settings" (IVY-863) (thanks to Sakari Maaranen)
- DOCUMENTATION: Elaborated documentation of ivy files and deliver/publish tasks (IVY-847) (thanks to Sakari Maaranen)
- DOCUMENTATION: Ivy terminology elaboration and illustration (IVY-852) (thanks to Sakari Maaranen)
- DOCUMENTATION: Broken link in documentation in Ivy files section, info element page (IVY-788)
- DOCUMENTATION: Add new cache information to resolver doc (IVY-772) (thanks to Carlton Brown)

   2.0.0-beta2
=====================================
- NEW: Introduce RepositoryManagementEngine (IVY-665)
- NEW: Add support for importing environment variables (IVY-608)
- NEW: Add ability for buildlist task to start build from specified module in the list (IVY-697) (thanks to Mirko Bulovic)
- NEW: Cache dynamic revision resolution (IVY-694)
- NEW: Make resolve console output configurable per resolve (IVY-715)

- IMPROVEMENT: branch and extra attributes missing from info Ant task (IVY-721)
- IMPROVEMENT: Review settings loading in Ant (IVY-703)
- IMPROVEMENT: Move useOrigin to repository cache manager (IVY-700)
- IMPROVEMENT: Make IBiblio resolver compatible with maven proxy (IVY-466)
- IMPROVEMENT: Use namespace aware validation (IVY-553)
- IMPROVEMENT: use ModuleRevisionId instead of ModuleId in IvySettings#getResolver (IVY-691)
- IMPROVEMENT: Flexible cache management (IVY-399) (With contribution of Adrian Sandor)
- IMPROVEMENT: Decrease memory footprint (IVY-662)
- IMPROVEMENT: Downgrade Ant version requirement to 1.6 to build Ivy (IVY-687)
- IMPROVEMENT: In the ResolveReport class, add the possibility to filter the evicted module while getting the list of DownloadArtifact (IVY-704) (thanks to Nicolas Lalev�e)
- IMPROVEMENT: Refactor the PomModuleDescriptorParser in order to allow easier integration of maven pom

- FIX: ivy:install task not using validate attribute (IVY-728)
- FIX: Bad conflict resolution leads to bad "configuration(s) not found" error (IVY-729)
- FIX: Resolving for muyltiple configurations when one is not in the list of available configurations does not abort the build (IVY-720)
- FIX: Branch attribute considered as both a standard and extra attribute on module info (IVY-726)
- FIX: Branch attribute not set on deliver when using a non default branch (IVY-724)
- FIX: NullPointerException reported instead of error in ivy:cachepath (IVY-690)
- FIX: NPE when calling retrieve if some artifacts are not available locally (IVY-712)
- FIX: When in ssh plugin we does not set username in scheme, Ivy always try to connect with guest username, even if we change one in panel. (IVY-710) (thanks to Ruslan Shevchenko)
- FIX: NPE in SshCache during publish with ssh resolver without passFile (IVY-709) (thanks to Ruslan Shevchenko)
- FIX: Update install ivy build file example (IVY-705) (thanks to Benjamin Francisoud)
- FIX: Ivy swallows ParseException when using a latest strategy requiring module descriptors (IVY-702) (thanks to Nicolas Lalev�e)
- FIX: Problem with cached Ivy files which have extra attributes (IVY-693)
- FIX: Detection of newer and better artifacts should not happen if 'checkModified' is set to 'false' (IVY-389) (with contribution from Johan Stuyts)
- FIX: Ivy doesn't respect the order of the ivy patterns as defined in the settings (IVY-676)
- FIX: XmlModuleDescriptorWriter doesn't write the deprecated attribute of the "ivy-module/configurations/conf" element (IVY-664)
- FIX: XMLModuleDescriptorWriter does not write extra attributes (IVY-471) (with contribution from Mikkel Bjerg)
- FIX: latest compatible conflict manager fails with circular dependencies and dynamic revision (IVY-663)
- FIX: Strict conflictmanager seems to not support dynamic revisions (IVY-474)
- FIX: NPE in namespace transformation during the ivy:findrevision and ivy:resolve task execution (IVY-659) (thanks to Andrea Bernardo Ciddio)
- FIX: Maven test scope includes all runtime dependencies (IVY-682)
- FIX: Inherit depedencies defined in parent pom (IVY-683)
- FIX: Incorrect ivy from maven pom generation when classifier are user (IVY-714) (thanks to Ruslan Shevchenko)
- FIX: m2 incompatibility - IVY does not recognize property section(IVY-637)
- FIX: Maven test scope not mapped to test conf (IVY-744) (thanks to Danno Ferrin)

- TASK: Remove cache attribute on Ant tasks (IVY-685)

- Improvement in coding conventions (IVY-511) (with contribution from Markus M. May)

   2.0.0-beta1
=====================================
- NEW: Share cache with locking (IVY-654)
- NEW: support atomic publish operation (IVY-492) (with contribution from Geoff Reedy)
- NEW: latest compatible conflict manager (IVY-648)
- NEW: Add a task/code to create M2 POM files from Ivy configurations (IVY-416)
- NEW: [Build] Publish the ivy sources (IVY-646) (thanks to Nicolas Lalev�e)

- IMPROVEMENT: Ease performance auditing (IVY-655)
- IMPROVEMENT: Maven Dependency Management is not used to determine artifact version (IVY-616) (thanks to Jim Bonanno)
- IMPROVEMENT: split the cache into an downloaded artifacts cache and a metadata cache (IVY-628)
- IMPROVEMENT: add publish triggers to event system (IVY-650) (thanks to Jason Trump)
- IMPROVEMENT: Only display unique circular dependencies during Resolve (IVY-653 IVY-514) (with contribution from John Williams)
- IMPROVEMENT: Adding option 'cp', which makes it possible for main to be loaded from file (IVY-543) (thanks to Tjeerd Verhagen)
- IMPROVEMENT: BasicURLHandler should use method=head for getURLInfo (IVY-611) (thanks to Jim Bonanno)
- IMPROVEMENT: artifactproperty should not overwrite the existing properties (IVY-587)
- IMPROVEMENT: Support *(private) and *(public) in the confs parameter of the resolve (IVY-588)
- IMPROVEMENT: replace * by *(public) when resolving inline (IVY-589)
- IMPROVEMENT: ivy html reports now refers http://ant.apache.org (partial IVY-414)
- IMPROVEMENT: Improvements on hello ivy example (IVY-626) (with contribution from Jacob Grydholt Jensen)
- IMPROVEMENT: Make the root attribute in the ivyrep resolver mandatory (IVY-625)
- IMPROVEMENT: New text representation for main module metadata concepts (IVY-649)

- FIX: m2 incompatibility - IVY does not recognize property section (IVY-637)
- FIX: m2 incompatibility - IVY does not recognize parent pom (IVY-636)
- FIX: Attempt to download a file with & in its name causes SAXParseException in Ivy (IVY-635)
- FIX: Bad IvyContext scope causing memory leak and bad handling of subproject builds (IVY-639)
- FIX: Resolution failure when no ivy.xml file present (IVY-630)
- FIX: ${parent.version} property is not recognized in maven2 pom (IVY-620)
- FIX: Handle relocation tag in maven 2 pom (IVY-586)
- FIX: Ivy doesn't work with Ant 1.6.2 (IVY-614)
- FIX: EmptyStackException when upgrading from 1.4 to 2.0 (IVY-610)
- FIX: Ivy:retrieve fails through proxy server (IVY-529)
- FIX: java.lang.IllegalArgumentException: Invalid uri when working with version ranges (IVY-390)
- FIX: Ivy settings include -tag url attribute does not work correctly (IVY-601)
- FIX: Static revision replacement is not working when a dynamic revision is evicted by a transitive dependency (IVY-603) (with contribution from Matthias Kilian)
- FIX: NullPointerException whilst resolving transitive dependencies (IVY-590)
- FIX: cachepath based on a resolve done in a previous build broken (IVY-583)
- FIX: Resolving dynamic version fails when using multiple patterns if only one pattern find a revision and others don't (IVY-602)
- FIX: Invalid character in IvyRetrieveTest causing most tests to fail (IVY-604)
- FIX: ivy:settings and ivy:retrieve with explicit id causes unwarranted DEPRECATED warning (thanks to Jacob Grydholt Jensen)

- REFACTORING: Extract a settings interface for the different engines

- TASK: Review all tutorials to make sure they are in sync with 2.0 (IVY-591) (with contribution from Jing Xue)
- TASK: Satisfy the US export control laws for software "specially designed" to use cryptography. (IVY-593)


   2.0.0-alpha2-incubating
=====================================
- NEW: Add cleancache task (IVY-565)
- NEW: A checkstyle report is generated (IVY-483) (thanks to Jan Materne)
- NEW: Hide private or specific conf when publishing (IVY-77)

- IMPROVEMENT: File buffer increased to 64KB (IVY-551)
- IMPROVEMENT: Expose default cache location as an ant property (IVY-563)
- IMPROVEMENT: Expose Ivy variables as Ant Properties (IVY-564)
- IMPROVEMENT: Change default cache location (IVY-530)
- IMPROVEMENT: Upgraded VFS dependency to 1.0 and removed dependency on VFS-sandbox (IVY-498)
- IMPROVEMENT: Use maven2 repository to download dependencies
- IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs)
- IMPROVEMENT: Remove @author tags (thanks to Stephane Bailliez)
- IMPROVEMENT: Remove use of deprecated elements in ivysettings.xml (IVY-505) (with contribution from Jan Materne)
- IMPROVEMENT: Buildlist onlydirectdep attribute (IVY-473 and IVY-504) (with contribution from Mikkel Bjerg)
- IMPROVEMENT: Code / XML Polished (IVY-554) (with contribution from Tjeerd Verhagen)
- IMPROVEMENT: Javadoc improvements (IVY-544) (with contribution from Tjeerd Verhagen)
- IMPROVEMENT: Unit test improvements (IVY-545) (thanks to Tjeerd Verhagen)
- IMPROVEMENT: Dependent jars missing in ivy binaries (IVY-481)

- FIX: Retrieval not expanding "[originalname]". (IVY-631)
- FIX: Ant target "clean" on Ivy multi-project tutorial points to wrong cache directory. (IVY-548)
- FIX: Variables not replaced during deliver (IVY-520) (thanks to John Williams)
- FIX: XmlModuleDescriptorWriter does not produce matcher attribute on include and exclude rules (IVY-556)
- FIX: pom.groupId is not recognized in maven 2 pom parser (IVY-550)
- FIX: Evicted modules report depends on the order of the dependencies (IVY-526)
- FIX: Ivy does not work on Turkish machines (IVY-65)
- FIX: Ivy does not handle multiple version dependencies in maven2 poms correctly (IVY-494)
- FIX: pom parser doesn't necessarily processes all important information (IVY-524)
- FIX: <info> element of Ivy file in cache is not updated when using namespaces (IVY-516)
- FIX: Retrieve Ant task ignores resolveId attribute (IVY-522) (thanks to Scott Goldstein)
- FIX: The deprecated "keep" attribute on post resolve tasks causes an error (IVY-517)
- FIX: Some circular dependencies not retrieved (IVY-400)
- FIX: ${version} property not recognized in poms (IVY-512)
- FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507)
- FIX: Configure fails when having httpclient in classpath without commons-logging (IVY-502)
- FIX: packaging data not parsed in maven 2 pom (IVY-500) (thanks to Jeffrey Blattman)
- FIX: install ant task: requires default resolver in ivy settings (IVY-477)
- FIX: Ant project reference lost from context on multiple ant calls in single thread (IVY-497) (thanks to Jaroslaw Wypychowski)
- FIX: EOL in the doc pages (IVY-470)
- FIX: Cache is storing ArtifactOrigin properties with no guarantee of unicity and types telescope during resolve. (IVY-430) (thanks to Stephane Bailliez)
- FIX: ivy:install ant task does not fail on error (IVY-475) (thanks to Jeffrey Blattman)
- FIX: Credentials are shown in build log even if debug is not enabled (IVY-486) (thanks to Gilles Scokart)
- FIX: Post-Resolve task shouldn't set the 'resolveid' (IVY-489)
- FIX: build fails without emma code coverage JARs present (IVY-478)
- FIX: buildlist broken - regression in 2.0.0-alpha1-incubating (IVY-493)
- FIX: Circular dependency startegy in buildlist (IVY-509)
- FIX: ivy should stop telling me off twice for ivyconf.xml files (IVY-513)
- FIX: Allow relative path in ivy.xml files (IVY-347)


   2.0.0-alpha1-incubating
=====================================
- NEW: define artifacts not declared by the dependency module descriptor (IVY-419)
- NEW: Module wide exclude (IVY-431)
- NEW: The default public resolver used is now ibiblio with m2 compatible mode (IVY-463)

- IMPROVE: OSGIfy ivy artifacts (IVY-464) (thanks to Costin Leau)
- IMPROVE: Let user specify Ivy file when using a post-resolve task (IVY-455)
- IMPROVE: IvyArtifactProperty and IvyArtifactReport tasks should be a post resolve task (IVY-452)
- IMPROVE: Rename ivy configuration in settings to remove ambiguity on configuration meaning (IVY-438)
- IMPROVE: Please typedef CacheResolver as "cache" for us (IVY-359)
- IMPROVE: ivy:retrieve should be able to create symlinks (IVY-353) (thanks to John Williams)
- IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
- IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Bailliez)
- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
- IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)

- FIX: ivy-retrieve failure when explicit absolute 'ivy.dep.file' path specified (IVY-396)
- FIX: IvyPostResolve Task doesn't reuse Ivy file of previous resolve (IVY-458)
- FIX: Ivy standalone is passing null args to main method when invoking with no args (IVY-457)
- FIX: Invalid error report with m2compatible resolver (IVY-456)
- FIX: IvyPostResolve Task doesn't use specified cache for the resolve (IVY-453)
- FIX: XmlModuleDescriptorWriterTest not working with Java 6 (IVY-374)
- FIX: Conflict managers ignored, when assigned to modules in Ivy configuration (setting, ivyconf.xml) (IVY-448)
- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
- FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
- FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
- FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)
- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437)
- FIX: ivy.revision property not set correctly for second resolve (IVY-429)
- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
- FIX: Invalid pom parsing when version is only declared in parent (IVY-436)
- FIX: ${project.groupId} and ${project.version} not processed correctly in poms (IVY-425)
- FIX: Incorrect pom parsing with profile (IVY-423)
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
- FIX: PomModuleDescriptorParser fails with nested profile dependency (IVY-392) (thanks to William Lyvers)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
- FIX: latest-time conflict manager not working properly (IVY-407)
- FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)
- FIX: IOException during publish causes NullPointerException (IVY-371)
- FIX: Comments in ivy.xml duplicated (IVY-336) (thanks to Gilles Scokart)
- FIX: Ivy failure when the ivy.xml file contains non US-ASCII characters (IVY-346) (thanks to Gilles Scokart)
- FIX: Urlresolver is not possible to use dynamic revisions on nonstandard repository structure (IVY-350) (thanks to Pierre H�gnestrand)


   version 1.4.1 - 2006-11-09
=====================================
- IMPROVE: ability to rebuild all dependent projects from a leaf (IVY-101)
- IMPROVE: Artifact pattern list attribute for the ivy:publish (IVY-113)
- IMPROVE: Measure code coverage (IVY-323)
- IMPROVE: add release target to build file (IVY-339)
- IMPROVE: Add a 'conf' parameter to the ivy 'publish' ant task (IVY-322) (thanks to Emmanuel Pellereau)

- FIX: retrieve fails when resolve is done with useOrigin set to true (IVY-304)
- FIX: IVY complains about non-existent reports in the cache directory (IVY-315)
- FIX: Typo in failureproperty attribute of Ant resolve task (IVY-327) (thanks to Jean-Baptiste Quenot)
- FIX: ivy:resolve useOrigin fails to behave correctly (IVY-332)
- FIX: ChainVersionMatcher doesn't handle IvyAware children version matchers (IVY-331)
- FIX: latest.<status> does not work properly when no matching revision exist (IVY-318)
- FIX: attribute name in macrodef is not handled as expected (IVY-319)
- FIX: confmappingoverride doesn't work for configurations extending from "*(public)" (IVY-326)


   version 1.4 - 2006-10-09
=====================================
Version 1.4-RC2 has been promoted to 1.4 on 2006-10-09, with documentation update.

Known bugs and limitations:
- references in resolvers are not resolved 'in-time' with macrodef (IVY-319)
- latest.<status> does not work properly when no matching revision exist (IVY-318)
- IVY complains about non-existent reports in the cache directory (IVY-315)
- retrieve fails when resolve is done with useOrigin set to true (IVY-304)


   version 1.4-RC2 - 2006-09-27
=====================================
- FIX: m2compatible flag is ignored for display of failed artifact searches (IVY-303)
- FIX: AntCallTriggerTest and AntBuildTriggerTest fail when run from ivy build.xml (IVY-310)
- FIX: Classloader problem with ant (IVY-311)
- FIX: Make resolve overview more compact (IVY-299)
- FIX: Could not write to "tmp:///webdav_tmp.c1" because it is read-only (IVY-312)

   version 1.4-RC1 - 2006-09-17
=================================
Incompatibility with previous versions:
---------------------------------------
* usage:
  - no known major incompatiblity
  - build list task now requires a configured ivy instance (configure will automatically be called if you don't call it explicitly)
  - publish now requires the published ivy file to have the published revision (automatic if you use deliver)
  
* API:
  - Numerous API changes especially in the BasicResolver class and subclasses due to the introduction of VersionMatcher, 
  	this may break some custom dependency resolvers or other tools or plugins depending directly on Ivy API

Changes:
--------
* thanks to Jayasoft:
  - NEW: ivy report generate full graph from automated build (IVY-155)
  - NEW: support for build number calculation (IVY-276)
  - NEW: find modules in repository (IVY-275)
  - NEW: explicitly specify artifact download URL (IVY-271)
  - NEW: introduce branch management (IVY-269)
  - NEW: resolve dependencies directly without using an ivy file (IVY-268)
  - NEW: ability to invoke any build scripts for dependencies (IVY-68)
  - NEW: support sftp repository (IVY-267)
  - NEW: pluggable version matcher (IVY-219)
  - NEW: support for version ranges (IVY-295)
  - NEW: dependency based on dependency status (IVY-47)
  - NEW: add possibility to define extra attributes in ivy files (IVY-217)
  - NEW: option to omit specific confs and allow the rest (IVY-66)
  - NEW: use custom classloader for plugins (IVY-220)
  - NEW: adding to SPECIAL_MEANINGS in LatestRevisionStrategy (IVY-121)
  - NEW: Allow use of system properties in ivyconf.xml (IVY-228)

  - IMPROVE: allow to use file-system repository directly without cache (IVY-211)
  - IMPROVE: deliver task use a default value for revision (IVY-252)
  - IMPROVE: better documentation distribution (IVY-274) - in progress
  - IMPROVE: define conflict manager per organisation/module in ivyconf (IVY-270)
  - IMPROVE: transitive parameter in resolve (IVY-21)
  - IMPROVE: add syncing feature in retrieve (IVY-33)
  - IMPROVE: use of md5 and/or sha1 files to check downloads (IVY-27)
  - IMPROVE: possible to use m2compatible without automatically using POMs as well (IVY-263)
  - IMPROVE: support for circular dependencies (IVY-202)
  - IMPROVE: make status list configurable (IVY-242)
  - IMPROVE: use only ivy patterns for listing revisions when module desciptor is required (allownomd = false) (IVY-166)
  - IMPROVE: implement strict haltonfailure if ivy.xml is not found (IVY-110)
  - IMPROVE: artifact's "name" attribute could be omitted (IVY-231)
  - IMPROVE: ivy standalone now return error status (IVY-152)
  - IMPROVE: log messages do not display most specfic resolver name (IVY-170)
  - IMPROVE: prints URL before downloading in verbose mode (IVY-257)
  - IMPROVE: incorrect value in status attribute causes silent failure (IVY-259)
  - IMPROVE: suport empty dependencies tag in an ivy file (IVY-281)
  - IMPROVE: isolate dependency resolution from artifact downloading (IVY-254)
  - IMPROVE: Pass artifact to repository when calling "put" (IVY-192)
  - IMPROVE: Do not publish ivy file with bad revision, and allow to force the deliver when calling publish task (IVY-245)

  - FIX: Problem with multiple artifact includes in transitive dependencies (IVY-283)
  - FIX: Endless recursion in report (IVY-284)
  - FIX: http url lister doesn't work when link text has spaces (IVY-282)
  - FIX: Incorrect ant log level (IVY-279)
  - FIX: Wrong resolution of dependencies if artifacts specified explicitly (IVY-261)
  - FIX: Multiple versions of dependencies appearing in retrieve (IVY-264)
  - FIX: Too many false CircularDependencyException errors thrown (IVY-230)
  - FIX: CircularDependencyException not always thrown (IVY-184)
  - FIX: NullPointer in BasicResolver (IVY-258)
  - FIX: Bad diagnostics message when no space left (IVY-250)
  - FIX: Maven2 POM support can find groupId from "parent" element (IVY-262)
  - FIX: Parent version is expected to be equal to the module version in POM (IVY-241)
  - FIX: problem with cache and returnFirst (IVY-207)
  - FIX: modules splitted across a chain are not handled correctly (IVY-206)
  - FIX: problem with conf extension and latest revisions (IVY-240)
  - FIX: The clean-cache target in /src/example/hello-ivy/build.xml file refers to ${user.home}/.ivy-cache instead of ${user.home}/.ivy/cache/ (IVY-265)

* thanks to Ivy Community:
  - NEW: SSH Resolver added and aligned with SFTP resolver (IVY-273) (thanks to Andreas Sahlbach)
  - NEW: ability to turn off transitivity at configuration level (IVY-103) (thanks to Karl Baum and Maarten Coene)
  - NEW: a conflict manager that is able to allow implementation changes but not api changes (1.2.x - OK), (1.x.x - Not OK) (IVY-223) (thanks to Anders Janmyr)
  - NEW: enhance standalone mode to execute java program by creating classloader of dependant jars from cache (IVY-210) (thanks to Peter Hayes)
  - NEW: addition of Vfs Resolver which uses Commons-Vfs to resolve files (IVY-128) (thanks to Glen Marchesani, Matt Inger and Stephen Nesbitt)

  - IMPROVE: use global properties in the recursive delivery (IVY-222) (with the contribution of Roshan Punnoose)
  - IMPROVE: better handling of authentication (thanks to Christian Riege)

  - FIX: Ant log messsages not embedded in task log (IVY-280) (thanks to Gilles Scokart)
  - FIX: Ivy fails when downloading from a server that supports NTLM authentication (IVY-213) (thanks to Damon Rand)
  - FIX: Delivered Ivy files with incomplete last line. (IVY-125) (thanks to Matthias Kilian)
  - FIX: the vfs resolver should not log passwords (IVY-292) (thanks to Antoine Levy-Lambert)

* thanks to Maarten Coene:
  - NEW: add failureproperty parameter to the resolve task (IVY-285)
  - NEW: Add type filtering to retrieve task (IVY-260)
  - NEW: Add selectors to the configuration mapping (IVY-253)
  - NEW: Add Ant task to retrieve information from an Ivy file without doing a resolve (IVY-255)
  - NEW: add option to cachepath task to create a path with local artifact paths (IVY-221)
  - NEW: allow extending configurations to override the mapping of their super configurations (IVY-218)

  - IMPROVE: Retain artifact filenames along the publish/resolve/retrieve process (IVY-54)
  - IMPROVE: report Ant-task doesn't process the reports in batch (IVY-247)
  - IMPROVE: make ReportOutputter pluggable and customizable (IVY-205)
  - IMPROVE: add wildcard support for extending configurations (IVY-235)
  - IMPROVE: add support for xslt parameters in the report task (IVY-227)
  - IMPROVE: comments now aren't lost when delivering ivy files (IVY-226)
  - IMPROVE: add sort of 'fallback'-mapping to the defaultconfmapping attribute (IVY-215)
  - IMPROVE: artifact origin is not included in the default report (IVY-251)

  - FIX: VFS Resolve fails when trying to resolve a + version (IVY-237)
  - FIX: report Ant-task doesn't use outputpattern for generating graphml reports (IVY-246)
  - FIX: report Ant-task doesn't call init() on the internal XSLTProcess (IVY-248)
  - FIX: value of confmappingoverride from imported configurations is lost when writing Ivy file (IVY-239)
  - FIX: including configurations doesn't import the confmappingoverride setting (IVY-238)
  - FIX: NullPointerException when the creation of Ivy file in cache fails (IVY-234)
  - FIX: Ivy file containing 2 different versions of the same module is not deliverd correctly (IVY-229)
  - FIX: ModuleRevisionId encode/decode doesn't work if revision is empty (IVY-233)
  - FIX: cachepath task should preserve the order of the dependencies (IVY-225)
  - FIX: specifying a defaultconfmapping adds dependencies of each unlisted configuration (IVY-214)

* thanks to Johan Stuyts:
  - NEW: always update artifacts when revision matches a regex pattern (IVY-189)
  - NEW: provide Ant task for generating report about artifacts depended upon (IVY-194)

  - IMPROVE: change default cache artifact pattern to handle missing extension (IVY-196)

* thanks to Karl Baum:
  - NEW: "this" symbol for configuration mappings (IVY-183)

  - IMPROVE: performances improved (IVY-187)

   version 1.3.1 - 2006-03-30
===============================
- FIX: retrieval of multiple artifacts in different configurations does not work as expected (IVY-188)
- FIX: configuration http url include doesn't work with commons http client (IVY-203)
- FIX: problem with conflict resolution in transitive dependencies (IVY-199)
- FIX: pb with force when it comes after a conflict which has already been solved (IVY-193)
- FIX: POM files that reference to the parent artifact download fails (IVY-195) (thanks to Tat Leung)
- FIX: M2 compatibility does not take into account the . replacement for publishing artifacts (IVY-191) (thanks to Peter Hayes)
- FIX: artifactproperty does not set the [conf] token in the pattern to the correct value. It is always set to 'default'. (IVY-123) (thanks to Peter Oxenham)

   version 1.3 - 2006-03-17
===============================
This version is the same as 1.3-RC3 promoted to release status.
For known bugs and limitations, please refer to http://jira.jayasoft.org/

   version 1.3-RC3 - 2006-03-06
===============================
- IMPROVE: Retrieve task now also optionally do ivy file downloads (IVY-167) (with the contribution of Costin Leau)

- FIX: ivy variable substitution in ivy files (IVY-186)
- FIX: force attribute is not treated as it should in some cases (IVY-182)
- FIX: problem reading 'invalid' POMs (IVY-153)
- FIX: cryptic NPE due to spelling error in ivy.xml (IVY-177)
- FIX: conflicts with dynamic revisions not resolved properly (IVY-181)
- FIX: incorrect configuration definition gives misleading NullPointerException (IVY-175)
- FIX: throw an error when using a non-existing conflict manager as default (IVY-179) (thanks to Maarten Coene)
- FIX: eviction problem with different conflicts in multiple confs (IVY-173)

   version 1.3-RC2 - 2006-02-15
===============================
- IMPROVE: ivy now supports ${pom.version} in poms (IVY-174)
- IMPROVE: adds the possibility to disable concistency check (IVY-163)
- IMPROVE: add possibility to choose matcher on include exclude and conflict manager rules in ivy files, and on resolver per module in ivyconf (IVY-161)
- IMPROVE: add regexp management in the install ant task (IVY-154)

- FIX: httclient is not registered for https urls (IVY-171)
- FIX: post resolve tasks like retrieve or cachepath should be able to run from cache information (IVY-169)
- FIX: resolve fails without appropriate message when cache is empty and a module in the repository has no revision (IVY-165)
- FIX: resolve problem with configuration inheritance (IVY-164)
- FIX: some files in cache detected by not used by Ivy for subsequent retrieves (IVY-159)
- FIX: HTML report shouldn't display the dependencies of evicted modules (IVY-158) (thanks to Maarten Coene)
- FIX: bug when an organisation or module or revision contains a space (IVY-157)
- FIX: cos-nonambig warnings (IVY-156)

   version 1.3-RC1 - 2006-01-25
===============================
--> compatiblity with previous version:
- the default place for the cache has changed, it is now in {USER_HOME}/.ivy/cache, instead of {USER_HOME}/.ivy-cache
  please move this directory if you want to avoid unnecessary downloads
- modules are now logged as they are found, set ivy.log.module.when.found variable to false to avoid this

- NEW: namespace system: a resolver can be declared to belong to a namespace, which itself
       specify the transformation to apply to convert it from and to system namespace (IVY-147)
- NEW: pluggable module descriptor parsers let define new kind of module descriptor (IVY-146) (thanks to Maarten Coene)
- NEW: a new install task let add modules found in a repository in another one, even transitively (IVY-141)
- NEW: maven2 pom compatibility: most resolvers are now able to handle m2 pom as project metadata
       and there is a new convertpom task able to convert a pom file to an ivy file (IVY-140)
- NEW: include configurations from external file (IVY-88)
- NEW: a new default resolver which let override ivy files and artifacts found on public repository
       (ivyrep / ibiblio) and let publish modules in a local repository (IVY-132)
- NEW: ivyconf file inclusion in ivyconf files (IVY-99)
- NEW: macrodef feature in ivyconf for defining macro resolvers with parameters (IVY-98)
- NEW: conf fallback mechanism (IVY-145)
- NEW: exclusion now let exclude whole modules (IVY-144)
- NEW: ability to use a dependency instead of an ivy file in standalone mode (IVY-96)
- NEW: ability to output a path of dependencies in cache from the standalone mode (IVY-92)
- NEW: it is now possible to reference existing resolver in resolver containers (IVY-35)
- NEW: overwrite attribute in the publish task now let force overwrite of read only files (IVY-83) 
- NEW: add a conflict manager ("strict") making build fail when a diamond conflict is found (thanks to Christer Jonsson) (IVY-118) 

- IMPROVE: generate xml report using ivy:report task (IVY-143)
- IMPROVE: possibility to configure ivy so that special revisions are not queried as fixed one at all (IVY-139)
- IMPROVE: better url querying management (IVY-138) (thanks to Bernard Niset)
- IMPROVE: do not add resolver info in ivy files in cache so that they can be safely used as usual ivy files in a repository (IVY-137)
- IMPROVE: review default conf mapping management (IVY-134)
- IMPROVE: add possibility for a chain to behave like a dual chain (IVY-131)
- IMPROVE: add possibility to avoid overwrite of an ivy variable when setting them in ivyconf.xml (IVY-127)
- IMPROVE: ability to exclude the root project from the buildlist (thanks to Constantine Vetoshev) (IVY-124)
- IMPROVE: exclusion of artifacts now works on transitive artifacts, and exclusion can specify organisation and/or module (IVY-116)
- IMPROVE: now dynamic revisions replacement by deliver task can be turned off (IVY-120)
- IMPROVE: better performance with deep transitive dependencies
- IMPROVE: allow optional parts in the patterns (IVY-102) (thanks to Maarten Coene)
- IMPROVE: ability to define variable directly in ivyconf.xml (IVY-100)
- IMPROVE: ability to use no revision in pattern with latest.integration dependency, artifacts being updated according to revision change in ivy file (if checkmodified is set to true) (IVY-95)
- IMPROVE: ability to specify a root module in buildlist to filter out unnecessary build files (IVY-93) (thanks to Kristian Cibulskis)
- IMPROVE: import system properties as ivy variables in standalone mode
- IMPROVE: string identifying a module is now clearly different from a path
- IMPROVE: better error message when publish fails due to readonly destination (IVY-83)
- IMPROVE: some javadoc improvements (IVY-136 IVY-129) (thanks to Stephen Nesbitt)

- FIX: problem resolving dependencies when 2 module versions have different configurations (IVY-151)
- FIX: problem with inheritance between public and private conf (IVY-149)
- FIX: no variable replacement during the deliver step (IVY-133)
- FIX: conflict badly solved in some complex cases (IVY-130)
- FIX: mapping on conf * now only takes public configurations (IVY-126)
- FIX: bad dependency ivy files now causes failure (IVY-112)
- FIX: stack overflow error in contradictory conflict cases (IVY-117)
- FIX: publish now doesn't call deliver when not necessary (IVY-119)
- FIX: cachefileset was returning all artifacts for empty configuration (IVY-108)
- FIX: transitive and changing attribute were not copied in ivy files in cache (IVY-94)
- FIX: chain resolver now support latest strategy configuration (IVY-90)
- FIX: raise a clean error when a cyclic variable definition is found (IVY-75)
- FIX: clean ant project reference at the end of the build to improve usability in ide launching multiple builds in the same vm (like netbeans) (IVY-87 - IVY-115)
- FIX: ivy is now able to use simple ivy files in cache (doesn't need resolver info, use default one if no resolver is given) (IVY-86)
- FIX: private conf not accessible from other modules (IVY-76)
- FIX: root module configurations isolation bug fixed (IVY-84)
- FIX: changed the place where ivy stores master ivy files in cache to not overlap
       with dependencies one (IVY-85)
- FIX: bug in ResourceHelper didn't let override resource easily (IVY-80)
- FIX: throws a circular dependency exception when a circular dependency is found 
       instead of failing silently (IVY-79)

   version 1.2a - 2005-09-14
===============================
Note : version 1.2 previously published on ivy site was not the real 1.2 due to a bad release operation
       version 1.2a should then be used instead
       
- new ivy.deps.changed property set if there are changes since last resolve (IVY-71)
- new buildlist task: calculate order of dependencies of subprojects for easy multi-projects builds (IVY-69)
- accept organization as token (IVY-55)
- added type filtering mechanism on resolve task (IVY-45)
- detect and warn about resolver using ivy cache as repository (IVY-53)
- new transitive attribute on dependency, which enable to disable transitive dependency
  management on a particular dependency (thanks to Ingo Adler) (IVY-20)
- new '@' in dependency configuration mapping declaration, used to indicate that a configuration maps to itself
  useful with *, '*->@' meaning that all configurations of the module maps to their equivalent (same name)
  in the dependency (IVY-52)
- new changing attribute on dependencies indicate that the dependency artifacts
  may change even without revision change, but with only a new ivy file with new 
  publication date
- new useRemoteConfig on conf tag in ivyconf.xml, tells to use remote configuration file
  for repository config
- new type filtering in cachepath task
- new cachefileset task: builds an ant fileset of artifacts in cache
- publish task now uses srcivypattern for ivy files finding and for delivery
- better debug and error messages (IVY-60 IVY-61)
- added a javadoc target in ant build (thanks to joshua nichols)
- FIX: module descriptors sort was failing in some case cases (fix by Karl Baum)
- FIX: Ivy complains about schema directive (IVY-64)
- FIX: 'null' status attribute in module descriptor (IVY-62)
- FIX: report header contains incorrect link after resolve for multiple, comma-separated configurations (IVY-57)
- FIX: error retrieving dependencies with a '+' in their revision if the ivy file doesn't exist - fixed by maarten coene (IVY-59)
- FIX: trying to resolve latest with no revision in pattern caused a StackOverflowError (IVY-56)
- FIX: now handle transitive eviction (IVY-51)
- FIX: resolve now store resolved file id in ivy variables, so that multiple resolve calls
  can be followed by multiple retrieve, each retrieve will use the last resolve info (IVY-49)
- FIX: IllegalStateException on retrieve done from command line
- FIX: checks ivy files data consistency with asked info (org, module name and revision)
- FIX: use AUTH configuration for configuration file
- IMPROVE: added publish handling from command line (IVY-48) 

   version 1.1 - 2005-06-13
===============================
- remote configuration (if available) of ivyrep and ibiblio patterns and roots
- new detailed messages when ivy fails to reach an url (thanks to Nicolas)
- new artifactproperty task, which enables to set a property for each dependency artifacts
  resolved by ivy
- new defaultconf attribute in ivy file dependencies, to change the default conf to use in the file
  when no conf is specified for a dependency
- add the ability to change the xsl file and report name pattern used by report task
- http listing now compatible with tomcat listing (tested with 5.0.28)
- pub revision in deliver task now defaults to timestamp if not provided by any other way
- debug messages improvements, with configuration dump among others
- new var task, enables to set ivy variables from ant
- now defaults for ivyrep and ibiblio resolver are configurable by variables
- refactoring: introduce the notion of BasicResolver, Repository, Resource, RepositoryResolver,
  making much easier the task of writing basic resolvers
- added checkmodified attribute on all basic resolvers, which defaults to ${ivy.resolver.default.check.modified}
  This makes ivy check last modified date of ivy files to see it its cache is up to date
- artifacts download are now first made to a temp file, which is renamed
  only at the end of the download. This prevent interrupted downloads to be
  considered as finished
- FIX: handle proxy configuration with http-client (thanks to Nicolas)
- FIX: remove dependency on ant outside of ant integration classes
- FIX: resolve problem when conflicts on latest revisions 
- FIX: allow use of any kind of URL in IvyRepResolver (both ivyroot and artroot) and IBibiblioResolver
- FIX: chain resolver can now be used for artifacts part of dual resolver
- FIX: now detects and warn about circular dependencies
- FIX: cachepath task now takes pathid as parameter instead of id, to prevent
  special handling from ant
- FIX: ivy.xsd: set artifact minOccurs to 0 in publications

Thanks to John Shields from Robert Half International, Inc.:
- FIX: no more infinite loop when a conflict occurs between a latest subversion and a fully resolved revision
- FIX: BasicURLHandler now closes its connections
- FIX: ApacheURLLister now works with capital letter in revisions and truncated names
- now use of ivy variables is allowed in ivy files
- added a null check in pattern helper substitute

   version 1.0 - 2005-04-26
===============================
1.0-rc3 has been promoted to 1.0 on 2005-04-26

Known bugs and limitations:
- cyclic dependencies result in StackOverflowError
- infinite loop in rare cases when a conflict occur between a latest subversion and a fully resolved revision
- url connections not closed properly when not using commons-httpclient
- latest does not work with http urls in some cases, when the name of the link is truncated in the web page

   version 1.0-rc3 - 2005-04-21
===============================
- IMPROVE: added debug messages on variables setting
- FIX: ivyconf now able to load a properties file given as url
- FIX: deliver pub date now actually defaults to 'now'
- FIX: all tasks attributes now substitute ivy variables

   version 1.0-rc2 - 2005-04-18
===============================
- IMPROVE: improved messages: more debug, more verbose, and more details on failures
- FIX: bug with '\' in path patterns
- FIX: bug with relative paths patterns
- FIX: configure task tries ivy.conf.file as relative to base dir and to current dir
- FIX: file system resolver publishes ivy files with ivy pattern
- FIX: 0 content length considered as non existing (behaviour of jre 5.0 on linux) 
       => empty ressources are now considered as non existing

   version 1.0-rc1 - 2005-04-12
===============================
- add report task, which enables to generates reports of dependencies, including a graph
  ready to be layed out by yEd
- add exclude feature in dependency
- include exclude feature now handles regexps
- new latest strategy: latest revision now uses a "php version_compare" like algorithm, whereas
  lexicographic comparison is now available in latest lexicographic
- enhance xml resolve report details
- FIX: better separation between root configurations
- FIX: XmlModuleDescriptorUpdater now preserves xml header
- FIX: modules number in report (displayed at the end of resolve)

   version 0.9 - 2005-04-06
===========================
- clearly differenciate pattern tokens from variables, by using brackets as delimiter in pattern tokens
  => WARNING: this introduce changes in all patterns syntax, and thus does not provide compatibility
              with previous versions
- ChainResolver are now able to publish (delegating the call to the first resolver in the chain)
- DualResolver sub resolvers are now registered in Ivy
- more precise message on eviction
- add validate attribute on most resolvers
- ivy files validation handling review
- use ivy variables in ant tasks to get default values for attributes
- documentation update for configuring ivy
- FIX: dependencies order not taken into account during resolve
- FIX: evicting modules also evict confs
- FIX: NPE during resolve when a dependency ivy file has no publication date
- FIX: check nullity of artifact download reports

   version 0.8 - 2005-03-30
===========================
- added validate attribute on resolve, retrieve and publish, which allows to disable ivy file validation
  against ivy.xsd (useful to parse future compatible ivy files)
- ant properties are now available in ivyconf file
- unified default properties in ivyconf, with better independance from url or file
- added ext on artifacts: this enable to distinguish artifact extension from artifact
  type, util in cases where it differs (example: 'src' type with 'zip' extension, 'ivy' type with 'xml' extension, ...)
- added publish artifacts feature, which enable to publish declared artifacts of a module to a repository
  described by a dependency resolver. It currently works only with filesystem resolver.
- url resolver now handles latest with file urls and http ones (tested only with apache server)
- added latest strategy concept: the way to determine which artifact is the latest
  is now configurable on resolvers handling latest. 
- added parameter on chain resolver to say if it should return first found or
  try to find the latest among all if asked
- a module can now publish no artifact, useful for virtual modules consisting only
  of integration of other modules
- added conflict management at resolve time: during resolve, modules in conflict can be evicted
  and thus not downloaded
- added ivyrep resolver, using ivyrep to find ivy files, and ibiblio for artifacts
- use ivyrep instead of ibiblio as default resolver
- added more info in ivy files (description, homepage, ivy authors, license, public repository, ...)
- now cache layout is configurable, using cacheIvyPattern and cacheArtifactPattern
  attributes on conf element in ivyconf.xml
- changed default cache layout: artifacts are separated by type
- added cachepath task, which enables to build an ant path of artifacts in cache required for a conf

   version 0.7 - 2005-03-11
===========================
- added latest sub revision feature: you can now select the latest sub revision of a module
  using a +. For instance, "1.0+" selects the latest revision starting with 1.0. (thanks to jonas for the idea)
- haltonfailure now defaults to true (as suggested by Jeroen)
- shorter info lines to better view important info (as suggested by Jeroen)
- retrieve now checks if files are up to date before copying them from cache. This feature
  can be disabled using the checkUpToDate attribute in ivy configuration file.
- do not download dependencies when not necessary during publication (as suggested by Daniele)
- bug fix: better handling of publish without recursive delivery

   version 0.6.1 - 2005-02-11
=============================
- bug fix: conf extends problem with publications
- bug fix: typedef badly handled in ivyconf.xml
- bug fix: default properties loading in ivy configure loaded using task classloader

   version 0.6 - 2005-02-03
===========================
+ functional
- added haltonfailure attribute on resolve and retrieve task, so that build can be halt when 
  resolve or retrieve fails
- added dependency artifacts filtering feature, enabling to work better with ibiblio
- ibiblio resolver can now be configured to use any maven like repository, with root and pattern attributes
- added download progression info on resolve
- default cache is now in user home (.ivy-cache in user home), so that cache is shared
  by default for all projects of the same user
- added public access to method getDependencies(...) in Ivy, which resolve dependencies without
  downloading artifacts
- added DualResolver, which allows to have ivy files in one place and artifacts in another one

+ non functional
- added some unit tests
- deep review of ivy file reference documentation

+ bugs and refactoring
- bug fix: SimpleURLResolver not handling the case when there is no ivy file
- refactoring: URLResolver renamed to AbstractURLResolver
- refactoring: SimpleURLResolver renamed to URLResolver

   version 0.5.1 - 2005-01-16
=============================
- Bug Fix: NPE in publish task when no delivery.list.file is provided
- documentation update

   version 0.5 - 2005-01-12
===========================
initial public version
