CHANGES

3.18.0

  • Fix wrong usage of DuplicateOptError
  • Enable release notes translation
  • Updated from global requirements
  • Disable warning for missing oslo.config.opts.defaults
  • Updated from global requirements
  • Updated from global requirements
  • Add doc about config option name and comment in config file
  • modify the home-page info with the developer documentation
  • Correct nits in Iedf808
  • Updated from global requirements
  • Fix missing option types to config doc
  • Add ‘schemes’ argument to URIOpt
  • Fix repr for tuples in choices
  • Add some documentation about option deprecation
  • test: add enforce_type test
  • standardize release note page ordering
  • Warn user about enforce_type default change
  • Ensure test_config_dir_doesnt_exist() dir doesn’t exist
  • Update reno for stable/newton
  • Add HostnameOpt and URIOpt types to sphinxext
  • Add missing exceptions to the documentation
  • Add IPOpt and PortOpt names for sphinxext
  • Updated from global requirements
  • Add Range type

3.17.0

  • Updated from global requirements

3.16.0

  • Fix: default value of prog should remove extension
  • Add Port type to allow configuration of a list of tcp/ip ports

3.15.0

  • Advanced Option
  • Add set_override method test with ListOpt

3.14.0

  • disable lazy translation in sphinx extension
  • Trivial: adjust import order to fit the import order guideline
  • Make error message more clear
  • Add min and max values to Float type and Opt
  • Fix parameters of assertEqual are misplaced
  • Updated from global requirements
  • Add max_length to URIOpt
  • Remove discover from test-requirements
  • update docs for sphinxconfiggen
  • Add URIOpt to doced option types

3.13.0

  • Add Python 3.5 classifier and venv
  • Enabling your project for mutable-config
  • Add namespace to _list_opts() in test
  • decode subprocess output so doc build works on python3
  • Updated from global requirements
  • Updated from global requirements

3.12.0

  • Add URIOpt
  • Add support for a deprecated version
  • Updated from global requirements
  • Support template substitution of DictOpt
  • fixture: Provide parameter enforce_type for method config

3.11.0

  • Fix typo: ‘olso’ to ‘oslo’
  • Return [] for .config_dirs when config files are not parsed
  • generator: format string default value for List type properly
  • Updated from global requirements
  • Required Option
  • Updated from global requirements
  • Make sure ConfigType is an abstract class
  • Added i18n formatting to log messages
  • Remove duplicated code in method test_equal of HostnameTypeTests
  • Incorrect group name when deprecated_group is not specified
  • Handle some native python types in config generation

3.10.0

  • sphinxconfiggen to generate multiple sample files
  • Fix typo in sphinxconfiggen docs
  • Updated from global requirements
  • fix wrong module name sphinxgenconfig in doc
  • Update Beta development status from classifiers
  • Add ‘DEPRECATED: ‘ prefix for deprecated opts
  • Avoid duplicate sections in generator output
  • Updated from global requirements
  • Updated from global requirements
  • Add * to .coverage in .gitignore
  • Add enfore_type parameter for set_default,
  • Don’t set html_last_updated_fmt without git
  • Updated from global requirements
  • Updated from global requirements
  • cfg: do not add –version if not version provided
  • Disallow config option name as same as attribute of ConfigOpts
  • doc:Log warning when can’t get information from git
  • Explicitly exclude tests from bandit scan
  • Fix typo error in docstrings of oslo_config.cfg.py
  • improve documentation about registering entry points for config generator
  • Fix isinstance call
  • Replace deprecated LOG.warn with LOG.warning
  • Update reno for stable/mitaka
  • Fallback if git is absent
  • Move bandit into pep8
  • Cleanup open file handles in test cases

3.9.0

  • remove redundant call to set explicit target
  • clear the cache before mutating the config files
  • Updated from global requirements
  • Add None-check to find_file
  • add support for mutable options in the config generator
  • add unreleased page to release notes build
  • add a release note mentioning our use of reno
  • Add reno for release notes management

3.8.0

  • Hooks around mutate_config_files
  • Add hostname config type
  • Add config_dirs property with a list of directories
  • Fix wrong check with non-None value when format group

3.7.0

  • add generator hook for apps to update option defaults
  • Updated from global requirements
  • refactor generator._list_opts for further enhancement

3.6.0

  • Add debtcollector as requirement
  • always show coverage output from tests
  • handle group objects in sphinxext
  • refactor sphinxext and add unit tests
  • have show-options load the generator config file
  • support multiple namespaces in sphinxext
  • refactor sphinxext to make reformatting easier
  • refactor generator closures to private methods
  • Updated from global requirements
  • remove specially attribute handling from _Namespace

3.5.0

  • Fix unrecognized subparser args
  • Add test for BoolOpt with no default
  • Fix bandit entry in tox.ini
  • Removal of bandit.yaml
  • Log mutated options at INFO
  • Fix version ‘mutable’ was added
  • Fix PortOpt versionchanged
  • treat option group names as section headers when documenting them
  • Fix MultiConfigParser removal version
  • Retain correct order of defined config options

3.4.0

  • Do not fail on certain config option help strings
  • Make list_all_sections return a list
  • Report mutated options
  • Warn if immutable options change
  • Add ‘mutable’ param to Opt
  • Fake attrs on _Namespace
  • Make _Namespace the value-holder
  • Updated from global requirements
  • enhance sphinx integration to allow links to option definitions

3.3.0

  • Remove argparse from requirements
  • Updated from global requirements
  • replace reference to default value in option help text in docs
  • add built-in options to auto-generated documentation
  • register the built-in options for the config generator to find
  • Add reST work label for configuration options
  • Allow port number with 0
  • Replace deprecated library function os.popen() with subprocess
  • Fix can’t generate config sample with non-None value

3.2.1

  • Fixed deprecated_for_removal warning generation
  • Module index grouping
  • Docs class links
  • generator: ignore doubles
  • Numerous corrections to the docstrings
  • Make oslo-config-generator fail gracefully when no arguments
  • Replace assertEqual(*, None) with assertIsNone in tests
  • Python 3 deprecated the logger.warn method in favor of warning
  • Replace assertEqual(None,*) with assertIsNone(*)
  • Cleanly handle an undefined attribute reference
  • Replace assertEqual with assertTrue and assertFalse
  • assertIsNone(val) instead of assertEqual(None,val)

3.2.0

  • Capitalize IP
  • Add support for a deprecation reason
  • Clarify option types documentation
  • Correct warnings during doc build
  • Remove warning for option type not a ConfigType
  • Removes MANIFEST.in as it is not needed explicitely by PBR
  • Correct the docstring parameters for PortOpt
  • Make PortOpt accept choices parameter
  • Test equality of types.String choices as a set
  • Add new parameter choices to Integer type

3.1.0

  • [fix-compat] Tolerate non-string defaults in String type
  • [fix-compat] Support older use case for Opt type
  • Handle None section name in MultiOptConfigParser#get
  • Update the list_opts documentation for new api
  • Remove duplicated profiles section from bandit.yaml
  • Revert “Add ‘mutable’ param to Opt”
  • Drop python 2.6 support
  • Update docstrings in cfg.py
  • Add ‘mutable’ param to Opt
  • Allow method set_override with parameter override=None for all types

3.0.0

  • Move type formatting from generator to type
  • Add a bandit target to tox.ini
  • Updated from global requirements
  • Allow naming of custom types
  • Remove python 2.6 classifier
  • improve wording of comment in previous commit
  • Remove ‘raise’ in _get
  • Remove python 2.6 and cleanup tox.ini
  • Add DEFAULT group in NoSuchOptError when group=None
  • Adjust docstring of module cfg

2.7.0

  • Add help text generation for OptGroups
  • Add max length check to StrOpt
  • Remove “Kept for backward-compatibility” comment
  • Fix StrOpt to allow setting quotes and regex
  • Improve default type checking
  • Use versionadded and versionchanged in doc
  • update doc to use new type PortOpt
  • Fix versionchanged
  • Raise exception when wrong type is used as default

2.6.0

  • Add PortOpt for integer with range 1 to 65535

2.5.0

  • Fix typos in cfg.py
  • Case insensitiveness when comparing choices values
  • Add missing tests and generator code for IPOpt
  • Fix coverage configuration and execution
  • Add item_type and bounds to ListOpt
  • Fix bad exception for StrOpt with invalid choice value
  • fix literal rendering in dictionary options docs
  • Fix home-page value in setup.cfg with Oslo wiki
  • docs - Set pbr ‘warnerrors’ option for doc build
  • Include changelog/history in docs
  • Document DictOpt class
  • Correct the comment of __call__ method
  • Updated from global requirements
  • Demonstrate that MultiStr values from multiple sources are merged

2.4.0

  • Updated from global requirements
  • Make Integer type class honor zero for min/max

2.3.0

  • Add sphinx extension to embed pretty descriptions of options
  • Add sphinx extension to build sample config
  • Updated from global requirements

2.2.0

  • Updated from global requirements
  • preserve preformatted help text

2.1.0

  • Updated from global requirements
  • Add regex validation to String type

2.0.0

  • Add enforce_type option when setting an override
  • Updated from global requirements
  • Add .egg to .gitignore
  • Updated from global requirements
  • Remove oslo namespace package

1.15.0

  • Fix use of mock for 1.1.0
  • Updated from global requirements
  • Expose min and max to IntOpt
  • Don’t convert ValueError into NoSuchOptError in ConfigOpts

1.14.0

  • Updated from global requirements
  • Add FAQ entry for why we do not treat config options as API
  • Add set_default() method to fixture
  • fix fixture tests for fixtures 1.3.x
  • Add tox target to find missing requirements

1.13.0

  • Do not use oslo namespace for oslo.i18n lib
  • Fixes example for cfg
  • Updated from global requirements
  • Fix sorting of optional arguments
  • Switch badges from ‘pypip.in’ to ‘shields.io’
  • Updated from global requirements

1.12.1

  • Fix sorting issue in python 3
  • Fix typo in Opt class doc string

1.12.0

  • Remove pbr requirement
  • Document properties as properties
  • make registering a cli opt on a filter object work
  • Remove outdated release notes
  • cfg: support interpolation of config option from other groups
  • Advertise support for Python3.4 / Remove support for 3.3
  • Do not sync run_cross_tests.sh
  • Updated from global requirements
  • Fix issue when generating code with cfg.OptGroup
  • Option name missing from ConfigFileValueError
  • Remove run_cross_tests.sh
  • Enforce alphabetic loading order for –config-dir contents

1.11.0

  • Uncap library requirements for liberty
  • Allow loading custom config files into Config Fixture

1.10.0

  • Added Raw Value Loading to Test Fixture
  • Add pypi download + version badges
  • Update hacking to kilo level
  • Fix logging of deprecated opts with dest override
  • Add deprecated_for_removal support to the config generator
  • Generate docs for constructor
  • Fix doc build warning
  • Updated from global requirements

1.9.3

  • Switch to non-namespaced module imports

1.9.2

  • print better message when choices has an empty string
  • None in config choices breaks oslo-config-generator

1.9.1

  • Generate help text indicating possible values
  • Expand and clean up documentation for the config generator
  • Add FAQ section to documentation

1.9.0

  • fix bug link in readme
  • Add ability to deprecate opts for removal
  • Typo in StrOpt docstring: Integer to String

1.8.0

  • Add exception handling for entry points

1.7.0

  • Updated from global requirements
  • Add expose_opt to CfgFilter
  • Log a warning when deprecated opts are used
  • Do not import our namespace package
  • Fixes deprecation warning for oslo.config in cfg.py

1.6.1

  • Clear up MultiStrOpt and related documentation
  • Add a list_all_sections method to ConfigOpts
  • Better check for integer range to account for 0
  • Reword DeprecatedOpt docstring
  • Support i18n messages in config generator
  • Fix of wrong cli opts unregistration

1.6.0

  • Set the version string
  • Stop sorting options on output
  • Move files out of the namespace package
  • Workflow documentation is now in infra-manual
  • Fix wrong order of positional args in cli
  • add tests coverage for an oslo.messaging use case

1.5.0

  • Refactored help string generation
  • Updated from global requirements
  • Updated from global requirements
  • Fix class constant indentation
  • Updated from global requirements
  • Activate pep8 check that _ is imported
  • Updated from global requirements
  • Updated from global requirements
  • Add pbr to installation requirements
  • Updated from global requirements
  • Add some guidance for group names
  • delay formatting debug log message
  • Check config default value is correct type
  • Report permission denied when parsing config
  • Fix docs example using generator config files
  • Updated from global requirements
  • do not use colons in section titles
  • Stop using intersphinx

1.4.0

  • Looks for variable subtitution in the same group
  • Fixed typo in docstring for _get_config_dirs
  • Update contributing instructions

1.4.0.0a4

  • Updated from global requirements
  • Work toward Python 3.4 support and testing
  • warn against sorting requirements
  • Explain groups for DeprecatedOpts
  • Add missing newline to stderr output when argument value is wrong
  • Log a fixed length string of asterisks for obfuscation
  • Added link to bug tracker and documentation in oslo.config readme
  • Bump hacking to version 0.9.2

1.4.0.0a3

  • Update 1.4.0.0a2 release notes

1.4.0.0a2

  • Changes imports order to pass H305, enables check
  • generator: tweak how MultiStrOpt defaults are handled
  • Add release notes for 1.3.0 and 1.4.0.0a1/2
  • Hook up config fixture docs
  • Hook IPOpt class into the docs
  • Replaced ‘e.g.’ with ‘for example’
  • Add cfgfilter.ConfigFilter
  • generator: remove the default sanitizer feature
  • cfg,generator: add Opt.sample_default attribute
  • generator: refactor MultiStrOpt handling
  • Fix flaws in methods’ docstring
  • Introduce Opts for IP addresses
  • Refactors _Namespace to make the code clearer
  • Add oslo-config-generator
  • Add CLI option support to config fixture

1.4.0.0a1

  • Updated from global requirements
  • Remove print statement from types.Dict
  • Add warning about interpolating values from groups
  • Add more tests for positional CLI opts
  • Add test case for hyphenated option names
  • Fixes an issue validating max integer values
  • Bump hacking to 0.9.x series
  • Updated from global requirements
  • Add a doc sample for how to use the required field
  • log: string format arguments changed to function parameters
  • Fix deprecated_opts for cli options
  • Reject option names prefixed with ‘_’
  • Graduate config fixture
  • Updated from global requirements
  • Fix test_version on Python 3.4
  • Add section titles and fix markup of docstring
  • Avoid using too generic names in _Namespace
  • Import run_cross_tests.sh from oslo-incubator
  • Move py33 env before py2x

1.3.0

  • Include the ‘meta’ trove classifiers for python versions
  • Do substitution on overrides and defaults too
  • Follow style guide for help strings
  • Updated from global requirements
  • Fix docstring for _Namespace._get_cli_value
  • Convert to oslo.test
  • Fix a whitespace in a comment
  • Fix docstring of parsing order
  • Switch over to oslosphinx
  • Remove extraneous vim configuration comments
  • Fix misspellings in oslo.config
  • Add py33 trove classifier
  • Support building wheels (PEP-427)
  • Add Style Guide for help of config options
  • Add docs for types
  • Throw exception if –config-dir doesn’t exist
  • Remove copyright from empty files
  • Implemented support for custom opt types
  • Fix for parsing error with Dollar Sign ($) in values
  • Utilizes assertIsNone and assertIsNotNone
  • Fix spelling errors in docstrings and comments
  • Added support of operator ‘==’
  • Updated from global requirements
  • Updated from global requirements
  • Fix to make ConfigOpts no longer obscure IOErrors
  • Replace assertEquals with assertEqual
  • Updated from global requirements
  • Add the ability to validate default options value

1.3.0a0

  • Updated from global requirements

1.2.1

  • Fix subparsers add_parser() regression
  • Expand DeprecatedOpt documentation

1.2.0

  • Release notes for 1.2.0
  • Raises error if duplicate keys found in DictOpt
  • Fix DictOpt to split only the first colon
  • Update requirements
  • Release notes for 1.2.0a4
  • Remove explicit version from setup.cfg

1.2.0a4

  • Fix first param in __eq__ impl to be self
  • Bump hacking to 0.7.0
  • Add auto-create support for OptGroup instances
  • NoSuchOptError should be used not AttributeError
  • Fixes six imports
  • Fix python 3.3 test configuration
  • Allow use of hacking 0.6.0 and fix min version
  • Add eclipse project files to .gitignore
  • Add Python 3 support
  • Raise an exception when _oparser is not initialized
  • Hook docstrings into the published docs
  • Use oslo.sphinx and remove local copy of doc theme

1.2.0a3

  • Add release notes for 1.2.0a3
  • Ensure namespace package is installed
  • Add reload_config_files function
  • Modify __clear_cache function
  • Use assertEqual() rather than assertEquals()
  • python3: Fix traceback while running tests
  • Tar up .testr.conf as well
  • Rename tools/(pip|test)-requires to *requirements.txt
  • python3: Fix traceback while running tests
  • python3: Fix traceback while running tests
  • python3: More python3 compat updates
  • python3: Remove mox support from oslo.config
  • Fix config help order to be alphabetical
  • Enable pep8 E125 check (w/o any changes)
  • python3: Introduce py33 to tox.ini
  • Fix the priority of CLI args vs config file values
  • Parse config files in an argparse callback
  • Revert additions to ConfigParser public APIs
  • Refactor type conversion
  • Adds group name normalization tests
  • Simplify help string for –config-file
  • Add release notes for 1.2.0a2
  • Add release notes for 1.1.1

1.2.0a2

  • Restrict StrOpt to just a few allowed values
  • Fix MultiConfigParser API breakage
  • Add release notes for 1.2.0a1

1.2.0a1

  • Allow Multiple sets of deprecated name/group for options
  • Add CLI vs config file priority test
  • Add test cases for default_config_files
  • Move –config-dir tests into their own test case
  • Remove some redundant code for bool opt actions
  • Normalizes non lowercase option group names in conf files
  • Switch to flake8/hacking instead of pep8+pyflakes
  • Made a couple minor textual documentation / typo fixes
  • Re-work test_cli to use testscenarios
  • Upgrade testing to use testr
  • Update build to use pbr
  • Add python3 compatability support
  • Use builtin startswith and endswith methods in iniparser
  • Fixes OptGroup title set typo
  • Remove debug print statements from tests
  • Python 3.x compatibility
  • Support for Dictionary Options
  • set_defaults does not work for more than one kwarg
  • Adds pylint section in tox.ini in oslo.config to check for unused imports
  • Removes unused imports in the oslo.config.tests module
  • Improve test cases for boolean values
  • Rename oslo-config to oslo.config
  • Fix copyright - from LLC to Foundation
  • Add Environment::OpenStack classifier
  • Open 1.2.x development

1.1.0

  • Copyright rename LLC to Foundation
  • Correct some typos in docstrings in cfg.py

1.1.0b1

  • Change the name of the project to oslo.config
  • Switch to semantic versioning
  • Explicitly set ConfigOpts._args to sys.argv[1:]

2013.1b5

  • Add deprecated_group Opt kwarg
  • Add AUTHORS and ChangeLog to .gitignore
  • Add missing files to the tarball

2013.1b4

  • Make sure to install the oslo package as well
  • Add LICENSE file

2013.1b3

  • Fix setup.py to install the correct package
  • Allow MultiConfigParser get from mutliple sections
  • Refactor _cparser_get_with_deprecated()

2013.1b2

  • sort options to make –help output prettier

2013.1b1

  • Implements import_group
  • Fixes “is not”, “not in” syntax usage
  • Add sphinx documentation
  • Fix version to 2013.1
  • Start using fixtures and testtools
  • Sync latest setup code from oslo-incubator
  • Move logging config options into the log module
  • Add setuptools magic
  • Add oslo-config project infrastructure
  • Move files to new locations for oslo-config
  • Fixes import order errors
  • Make tox run doctests
  • Verbose should not enable debug level logging
  • Fix pep8 E125 errors
  • Revert “Support lookup of value using “group.key”“
  • Support lookup of value using “group.key”
  • Add deprecated –logdir common opt
  • Add deprecated –logfile common opt
  • Allow nova and others to override some logging defaults
  • Fixing the trim for ListOp when reading from config file
  • Fix set_default() with boolean CLI options
  • Improve cfg’s argparse sub-parsers support
  • Fix regression with cfg CLI arguments
  • Fix ListOpt to trim whitespace
  • Add another duplicate opt test case
  • Hide the GroupAttr conf and group attributes
  • Fix broken –help with CommonConfigOpts
  • updating sphinx documentation
  • Don’t reference argparse._StoreAction
  • Fix minor coding style issue
  • Remove ConfigCliParser class
  • Add support for positional arguments
  • Use stock argparse behaviour for optional args
  • Use stock argparse –usage behaviour
  • Use stock argparse –version behaviour
  • Remove add_option() method
  • Completely remove cfg’s disable_interspersed_args()
  • argparse support for cfg
  • Add a missing comma in a docstring
  • cfg: fix required if option has a dash
  • cfg: clean up None value handling
  • Allow set_default and set_override to use None
  • Tilde expansion for –config-file and –config-dir
  • Add import_opt() method to ConfigOpts
  • Modifies _is_opt_registered fcn to check for duplicate opts
  • cfg: allow empty config values
  • cfg: Fix typo in documentation
  • Update common code to support pep 1.3. bug 1014216
  • Use ‘is not None’ instead of ‘!= None’
  • Fix a pep8 error
  • Adds support for bol and eol spaces to ini files
  • Add support to include config aliases
  • Fix pep8 errors
  • cfg: add a global CONF object
  • cfg: add generators for iterating over all options
  • cfg: move constructor args to __call__() args
  • Run pep8 on tests
  • Alphabetize imports in openstack/common/cfg.py
  • cfg: make reset() clear defaults and overrides
  • cfg: automatically create option groups
  • cfg: allow options to be marked as required
  • cfg: use a list comprehension instead of map()
  • New ConfigOpts.find_file() for locating conf files
  • Support for directory source of config files
  • Provide file extension when when looking for files
  • Some refactoring of the cfg cache
  • Add caching to openstack.common.cfg
  • Typofix, OptionGroup should be OptGroup
  • Use absolute import for iniparser
  • Finish implementing MultiStrOpt
  • Avoid leaking secrets into config logging
  • Fix bug 954488
  • fix restructuredtext formatting in docstrings
  • Add ConfigOpts.print_help()
  • cfg: fix a small comment typo
  • cfg: unneeded multiple inheritance
  • PEP8 cleanup (openstack-common)
  • Backslash continuations (misc.)
  • Disable ConfigParser interpolation (lp#930270)
  • Implements blueprint separate-nova-volumeapi
  • Makes common/cfg.py raise AttributeError
  • PEP8 type comparison cleanup
  • Add the Mapping interface to cfg.ConfigOpts
  • Add cfg test case for recursive substitution
  • Add support to cfg for disabling interspersed args
  • Get cfg test cases to 100%
  • Add cfg test case for exceptions’ __str__ methods
  • Fix some cfg test case naming conflicts
  • Add new cfg module