ChangeLog

1.12.0 (unreleased)

Removed:

  • Drop support of Python 3.5 which reached EOL in September 2020
  • Drop support of Python 3.6 which reached EOL in September 2021

1.11.1 (2022-01-21)

Bugfix:

  • Fix support for simple enum.Enum objects (not inheriting str) in getenum getter.
  • Delay default value validation in getenum getter.

Note:

  • Switch test runner to pytest
  • Add official support of Python 3.10
  • Python 3.5 and 3.6 support will be dropped in the next minor version.

1.11.0 (2022-01-17)

New:

  • Add support for enum.Enum based objects through the new getenum getter.

1.10.0 (2020-11-04)

New:

  • Add support of pathlib.Path objects, both in loading the config and through the new getpath getter.
  • Add mandatory_section option to ConfigGetter to enforce the use of a section in requested keys (and its underlying option key_validator on BaseConfigGetter to validate keys format)

Removed:

  • Drop support of Python 2.7 which reached EOL in January 2020
  • Drop support of Python 3.4 which reached EOL in 2019

1.9.0 (2019-02-01)

Removed:

  • Drop support of Python 3.3 which reached EOL in September 2017

Deprecated:

  • Use of list of non-strings as getconf.getlist() default value is deprecated

1.8.0 (2018-01-30)

New:

  • Add BaseConfigGetter and the notion of “finders” to ease customization.

Note:

  • Python 2.7 and 3.3 support will be dropped in next minor version.

1.7.1 (2017-10-20)

Bugfix:

  • Allows to override a configuration containing a dash.

1.7.0 (2017-02-23)

New:

  • Allow using an empty namespace (ConfigGetter(namespace=getconf.NO_NAMESPACE) to load unprefixed environment variables.

1.6.0 (2017-02-03)

New:

  • Remove support for string interpolation in .ini file If this undocumented getconf feature is still needed by some users, we might consider restoring it in a future release.

1.5.2 (2017-01-23)

New:

  • Add a new gettimedelta function to parse simple durations expressed as strings (10 days as ‘10d’, 3 hours as ‘3h’, etc.)

1.5.1 (2016-12-15)

New:

  • Display the key of the value that triggers an error to help resolve.

1.5.0 (2016-05-11)

New:

  • Better AssertionError messages when default values have the wrong type.
  • Add ConfigGetter.get_ini_template() method

1.4.1 (2015-08-28)

New:

  • Improve error reporting when raising on wrongly typed defaults

1.4.0 (2015-08-27)

New:

  • Enforce type checking on every getconf.getXXX() call
  • Add getconf.getstr() method
  • Enable using None as default value for every function
  • Better support for Python 3.3, 3.4 and wheel distribution

Deprecated:

  • Use of strings as default values for getconf.getlist()
  • Use of getconf.get() in favor of getconf.getstr()

1.3.0 (2015-04-14)

New:

  • Add getfloat() method
  • Allow globs in config_files
  • <PROJECT>_CONFIG env var will now have the same behaviour than config_files items

1.2.1 (2014-10-24)

Bugfix:

  • Fix version number

1.2.0 (2014-10-20)

New:

  • Add support for directory-based configuration and providing defaults through a dict

Removed:

  • Remove support for ConfigGetter(namespace, file1, file2, file3) syntax (deprecated in 1.1.0), use ConfigGetter(namespace, [file1, file2, file3]) instead

1.1.0 (2014-08-18)

New:

  • New initialization syntax

Deprecated

  • Using argument list for config file paths when initializing ConfigGetter is now deprecated, you need to use a list (use ConfigGetter(namespace, [‘settings_1.ini’, ‘settings_2.ini’]) instead of ConfigGetter(namespace, ‘settings_1.ini’, ‘settings_2.ini’))

1.0.1 (2014-04-13)

Bugfix:

  • Fix packaging (missing requirements files)

1.0.0 (2014-04-12)

New:

  • First version