   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