Release Notes

XXXX DATE XXXXXX - The Apache Ivy project is pleased to announce its 2.5.0 release.

What is Ivy?

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

Download

You can download this release at https://ant.apache.org/ivy/download.cgi

Issues should either be discussed in the Ivy user mailing list or reported at https://issues.apache.org/jira/browse/IVY

More information about the project can be found on the website https://ant.apache.org/ivy/

Key features in this release

Key features of this 2.5.0 release are:

  • The minimum runtime Java version required is now Java 7

  • Ivy now uses BouncyCastle 1.52. Due to the non backward compatibility of that library, earlier versions are not supported.

  • Ivy now uses HttpComponents HttpClient 4.5.x version when dealing with HTTP backed resolvers. Users are expected to have this version of the library (and its dependencies) in their runtime classpath if they want to use such resolvers. The previous (similarly named but not the same) commons-httpclient library is no longer used or supported. (IVY-1563)

List of Changes in this Release

For details about the following changes, check our JIRA install at https://issues.apache.org/jira/browse/IVY

List of changes since Ivy 2.4.0:

  • FIX: Local conflict manager didn’t handle deeper conflicts in transitive dependencies (IVY-1404)

  • FIX: Made the Maven 'test' configuration public so we can use the test-jar as dependency (IVY-1444)

  • FIX: NullPointerException in dependencytree with no dependencies (IVY-1539)

  • FIX: checkIfChanged is not settable attribute for checkdepsupdate ant task (IVY-1549)

  • FIX: ArrayIndexOutOfBoundsException when using a p2 repository for dependencies (IVY-1504)

  • FIX: fixdeps remove transitive 'kept' dependencies

  • FIX: PomModuleDescriptorParser should parse licenses from parent POM (IVY-1526) (Thanks to Jaikiran Pai)

  • FIX: dynamic revisions are not cached per resolver (IVY-1430) (Thanks to Stephen Haberman)

  • FIX: Dependencies failed using branch attribute (and extra attributes) (IVY-1141) (Thanks to Stephen Haberman)

  • FIX: useCacheOnly should allow lookup of changing dependencies in cache (IVY-1515) (Thanks to Ilya)

  • FIX: Translation of POM to Ivy XML with * exclusion is removing main artifact (IVY-1531) (Thanks to Jaikiran Pai)

  • FIX: Have makepom task take description from ivy-module > info > description element (IVY-1520)

  • FIX: Fix RetrieveEngine to take into account the correct extension while dealing with unpacked artifacts (IVY-1478) (Thanks to Jaikiran Pai)

  • FIX: ParseException "Unsupported repository, resources names are not uris" for ivy.xml with parent on Windows (IVY-1448) (Thanks to Riccardo Foschia and Jaikiran Pai)

  • FIX: Ivy 2.4.0 improperly handles modules with colon (:) in version (IVY-1522) (Thanks to Jaikiran Pai)

  • FIX: Delay the processing of configured cache ttls, until the IvySettings object is usable (IVY-1495) (Thanks to Jaikiran Pai)

  • FIX: Including optional ivysettings of type 'file' doesn’t work when file doesn’t exist (IVY-1555) (Thanks to Jaikiran Pai)

  • FIX: Makepom ignores dependency classifiers (IVY-1528) (Thanks to Jaikiran Pai)

  • FIX: Infinite loop in dependencytree (IVY-1540) (Thanks to Jaikiran Pai)

  • FIX: HTTP issue: Basic authentication is stuck in 401 loop (IVY-1336)

  • FIX: command line: -types seems to not accept comma [IVY-1355]

  • FIX: Mixed use of symlinks leads to cache corruption [IVY-1498] (Thanks to Stephen Haberman)

  • FIX: Some cached location are badly stored which results in MalformedURLException [IVY-1566] (Thanks to Aurélien Pupier)

  • IMPROVEMENT: Throw an IllegalStateException when retrieving the resolutionCacheRoot on the DefaultResolutionCacheManager if the basedir (or IvySettings) is not set (IVY-1482)

  • IMPROVEMENT: Optimization: limit the revision numbers scanned if revision prefix is specified (Thanks to Ernestas Vaiciukevičius)

  • IMPROVEMENT: Update bouncycastle to 1.52 (IVY-1521) (Thanks to Michal Srb)

  • IMPROVEMENT: symlinkmass option of retrieve task has been deprecated in this release and will no longer be supported since, starting this version of Ivy, Ivy uses Java standard API(s) for symlink management and as such doesn’t spawn a process to execute symlink creation shell commands, like it used to do earlier. The symlinkmass option was previously there to launch just one single process instead of multiple processes for symlink creation. Now with the usage of the Java standard API(s), this option no longer is relevant.

  • IMPROVEMENT: Ivy command line now supports passing overwriteMode option to retrieve task (IVY-1447)

  • IMPROVEMENT: Support timestamped SNAPSHOT versions from Maven repository (IVY-1476)

  • NEW: Lets SSH-based resolvers use an ~/.ssh/config file to find username/hostname/keyfile options (Thanks to Colin Stanfill)

  • NEW: Add ivy.maven.lookup.sources and ivy.maven.lookup.javadoc variables to control the lookup of the additional artifacts. Defaults to true, for backward compatibility (IVY-1529)

  • NEW: Add (conditional) support for SHA-256 SHA-512 and SHA-384 checksum algorithms (IVY-1554) (Thanks to Jaikiran Pai)

Committers and Contributors

Here is the list of people who have contributed source code and documentation up to this release. Many thanks to all of them, and also to the whole IvyDE community contributing ideas and feedback, and promoting the use of Apache Ivy !

Committers:

  • Matt Benson

  • Jean-Louis Boudart

  • Maarten Coene

  • Charles Duffy

  • Xavier Hanin

  • Nicolas Lalevée

  • Jaikiran Pai

  • Jon Schneider

  • Gilles Scokart

Contributors:

  • Ingo Adler

  • alex322

  • Mathieu Anquetin

  • Andreas Axelsson

  • Stéphane Bailliez

  • Karl Baum

  • Andrew Bernhagen

  • 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

  • Riccardo Foschia

  • Benjamin Francisoud

  • Wolfgang Frank

  • Jacob Grydholt Jensen

  • John Gibson

  • Mitch Gitman

  • Evgeny Goldin

  • Scott Goldstein

  • Gintautas Grigelionis

  • Pierre Hägnestrand

  • Scott Hebert

  • Tobias Himstedt

  • Aaron Hachez

  • Ben Hale

  • Stephen Haberman

  • Peter Hayes

  • Scott Hebert

  • Payam Hekmat

  • Achim Huegen

  • Ilya

  • 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

  • Tony Likhite

  • 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

  • Carsten Pfeiffer

  • 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

  • Michal Srb

  • Colin Stanfill

  • Simon Steiner

  • Johan Stuyts

  • John Tinetti

  • Erwin Tratar

  • Jason Trump

  • David Turner

  • Ernestas Vaiciukevičius

  • Tjeerd Verhagen

  • Richard Vowles

  • Sven Walter

  • James P. White

  • Tom Widmer

  • John Williams

  • Chris Wood

  • Patrick Woodworth

  • Jaroslaw Wypychowski

  • Sven Zethelius

  • Aleksey Zhukov

  • Zhong Wang

  • Aurélien Pupier