Apache Commons logo Commons Configuration

Migration Guide Between 2.x Versions

This document aims to assist with the migration between different versions within the 2.x line. While all Commons Configuration artifacts maintain binary compatibility with previous versions with the same major number, there are some behavioral and/or configuration differences that may need to be addressed when upgrading.

v2.8.0

Version 2.8.0 of Commons Configuration introduced a change in the variable interpolation lookups included by default. In previous versions, all lookups defined in the DefaultLookups enum were included by default. With version 2.8.0, some of these lookups are disabled. Specifically, the dns, url, and script lookups must now be enabled explicitly. As described in the user guide, this can be done either programmatically or through a system property. If the behavior of previous versions must be maintained exactly without changes to the code, then the following system property can be used:

org.apache.commons.configuration2.interpol.ConfigurationInterpolator.defaultPrefixLookups=BASE64_DECODER,BASE64_ENCODER,CONST,DATE,DNS,ENVIRONMENT,FILE,JAVA,LOCAL_HOST,PROPERTIES,RESOURCE_BUNDLE,SCRIPT,SYSTEM_PROPERTIES,URL,URL_DECODER,URL_ENCODER,XML
If the disabled lookups listed above are not used by the target application, then no changes are required.