CHANGES
=======

2.3.0
-----

* Log unmaintained warning on import
* Add pbr as dep, remove hacking
* Add pre-commit, apply ruff
* Drop support for Python < 3.10
* tests: Remove duplicated tests
* Stop using private SDK methods in config unit tests
* Fix unit tests to pass locally
* Drop usage of six
* Bump hacking
* Drop usage of extras.hasattr
* Update python classifier in setup.cfg
* Remove untested lower-constraints.txt
* Bump CI jobs to Python 3.11
* replace "-" with "\_" in setup.cfg
* Remove ceilometerclient
* Add support for tox 4
* Fix zuul jobs
* Switch to newer openstackdocstheme and reno versions
* Cap jsonschema 3.2.0 as the minimal version
* Cleanup py27 support
* Update master for stable/ussuri

2.1.0
-----

* Use unittest.mock instead of third party mock
* Uncap jsonschema

2.0.0
-----

* Add a release note for Python 2 support removal
* Fix pep8 issue in o\_c\_c/\_\_init\_\_
* Stop testing python2.7
* Update the constraints url
* Update master for stable/train

1.33.0
------

* Fix broken link to openstacksdk
* Add Python 3 Train unit tests
* Update for opendev
* OpenDev Migration Patch
* Update master for stable/stein
* Update hacking version

1.32.0
------

* Applying the HTTPS protocal in configuration.rst
* Use template for lower-constraints
* Change openstack-dev to openstack-discuss
* Update min tox version to 2.0
* Fix the conflict of urlparse between python2 and python3
* Remove setup.py check from pep8 job
* Change python3.5 job to python3.7 job on Stein+
* fix bug link in readme
* fix bug link in readme
* add lib-forward-testing-python3 test job
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config
* Update reno for stable/rocky
* Invalid link of doc reference
* Add release note link in README
* Shift Limestone Networks profile to openstacksdk
* Update links in README

1.31.2
------

* fix tox python3 overrides
* Remove app\_name config tests
* Add release note for the vendor data regression
* fix saltstack breakage introduced in v1.31.0
* Remove service-type override tests
* Fix F405 additional strictness

1.31.1
------

* Add cache methods back to OpenSackConfig
* fix link to openstacksdk in deprecation block

1.31.0
------

* Replace guts with openstack.config

1.30.0
------

* Remove DataCentred from list of vendors
* add lower-constraints job
* Add Limestone Networks vendor info
* Rename python-openstacksdk to openstacksdk
* pypy is not checked at gate
* Add image\_format for VEXXHOST profile
* Updated from global requirements
* Use 'none' auth plugin
* Updated from global requirements
* Add os-client-config tips jobs
* Updated from global requirements
* Add osc tips jobs back
* Add missing auth url from betacloud to docs
* Update reno for stable/queens
* Updated from global requirements

1.29.0
------

* Updated from global requirements
* Split docs requirements and update tox.ini
* Zuul: Remove project name
* Add betacloud to the vendors
* Make the get\_service\_type() overrides tolernat of no defaults
* Remove osc devstack tips jobs
* Do not apply format expansions to passwords
* Updated from global requirements
* Remove setting of version/release from releasenotes
* Add shade-functional-tips jobs
* Consume the osc-functional-devstack-tips job
* Fix doc typo
* Added nat\_source flag for networks
* Add shade-tox-tips jobs
* Update make\_rest\_client to work with version discovery
* Protect against p\_opt not having prompt attribute
* Treat clouds.yaml with one cloud like envvars
* Updated from global requirements
* Fix requires\_floating\_ip
* Updates for stestr
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* DataCentred supports Keystone V3 and Glance V2
* Update globals safely
* Update the documentation link for doc migration
* Remove OSIC
* Update reno for stable/pike
* Updated from global requirements
* Manually sync with g-r

1.28.0
------

* use openstackdocstheme html context
* switch from oslosphinx to openstackdocstheme
* turn on warning-is-error in documentation build
* rearrange existing documentation to follow the new standard layout
* Don't pop from os.environ
* Keep a singleton to support multiple get\_config calls
* Revert "Revert "Use interface not endpoint\_type for keystoneclient""
* Revert "Use interface not endpoint\_type for keystoneclient"
* Add ironicclient to constructors list
* Add helper method to fetch service catalog
* Fix interactions with keystoneauth from newton

1.27.0
------

* Make \_fix\_argv() somewhat compatible with Argparse action='append'
* Add ability to pass in user\_agent
* Docs: add a note about rackspace API keys
* Remove out of date comment
* Stop special-casing idenity catalog lookups
* Add designateclient to constructors list
* OVH supports qcow2
* Use interface not endpoint\_type for keystoneclient
* Add support for bailing on invalid service versions
* modify test-requirement according to requirements project
* [Fix gate]Update test requirement
* Pass ironic microversion through from api\_version
* Add ability to skip yaml loading
* Remove the keystoneclient auth fallback
* Add support for overriding mistral service type
* Add helper scripts to print version discovery info
* Add support for indicating required floating IPs
* Update reno for stable/ocata
* fix location of team tags in README
* Fix typo for baremetal\_service\_type

1.26.0
------

* Revert "Fix interface\_key for identity clients"
* Add support for Murano

1.25.0
------

* Add OpenTelekomCloud to the vendors
* Remove 3.4 from tox envlist
* Use upper-constraints for tox envs
* Update swift constructor to be Session aware
* Magnum's service\_type is container\_infra
* Add docutils contraint on 0.13.1 to fix building
* Fix interface\_key for identity clients
* Show team and repo badges on README

1.24.0
------

* Revert "Remove validate\_auth\_ksc"

1.23.0
------

* Remove validate\_auth\_ksc
* Add fuga.io to vendors
* Support token\_endpoint as an auth\_type
* Add support for volumev3 service type
* Normalize cloud config before osc-lib call
* Fix a bunch of tests
* Clarify how to set SSL settings
* Update ECS image\_api\_version to 1

1.22.0
------

* Revert "Split auth plugin loading into its own method"
* Add setter for session constructor
* Enable release notes translation
* cloud\_config:get\_session\_endpoint: catch Keystone EndpointNotFound
* Using assertIsNone() instead of assertEqual(None, ...)
* Update homepage with developer documentation page
* List py35 in the default tox env list
* Fix AttributeError in \`get\_config\`
* modify the home-page info with the developer documentation
* Don't create envvars cloud if cloud or region are set
* Don't build releasenotes in normal docs build
* Update reno for stable/newton
* Add ability to configure Session constructor
* Split auth plugin loading into its own method

1.21.1
------

* Go ahead and handle YAML list in region\_name

1.21.0
------

* Add prompting for KSA options
* Clean up vendor support list

1.20.1
------

* Precedence final solution

1.20.0
------

* Add support for configuring split-stack networks
* Pop domain-id from the config if we infer values
* Update Internap information

1.19.1
------

* Add test for precedence rules
* Pass the argparse data into to validate\_auth
* Revert "Fix precedence for pass-in options"

1.19.0
------

* Add release notes for 1.19.0 release
* Add the new DreamCompute cloud
* Fix precedence for pass-in options
* Update citycloud to list new regions
* Add support for listing a cloud as shut down
* Add support for deprecating cloud profiles
* Refactor fix magic in get\_one\_cloud()

1.18.0
------

* Reword the entries in the README a bit
* Add shade constructor helper method
* Rename session\_client to make\_rest\_client
* Add helper method for OpenStack SDK constructor
* Add missing "cloud" argument to \_validate\_auth\_ksc
* Workaround bad required params in troveclient
* Trivial: Remove 'MANIFEST.in'
* Trivial: remove openstack/common from flake8 exclude list
* drop python3.3 support in classifier
* Fix formatting in readme file
* Remove discover from test-requirements.txt
* Add version string

1.17.0
------

* Pull the network settings from the actual dict
* Clarify one-per-cloud network values
* Flesh out netowrk config list
* Change network info indication to a generic list
* Update reno for stable/mitaka
* Add osic vendor profile

1.16.0
------

* Update the README a bit
* Allow session\_client to take the same args as make\_client
* Fix formulation

1.15.0
------

* Add release notes
* Send swiftclient username/password and token
* Remove HP and RunAbove from vendor profiles
* Added SSL support for VEXXHOST
* Add support for zetta.io
* Stop ignoring v2password plugin
* Go ahead and remove final excludes
* Don't set project\_domain if not project scoped
* Clean up removed hacking rule from [flake8] ignore lists
* set up release notes build

1.14.0
------

* Fix a precedence problem with auth arguments
* Return empty dict instead of None for lack of file
* Pass version arg by name not position
* Use \_get\_client in make\_client helper function
* Add barbicanclient support
* Remove openstack-common.conf
* Add IBM Public Cloud
* Replace assertEqual(None, \*) with assertIsNone in tests
* Update auth urls and identity API versions
* Stop hardcoding compute in simple\_client
* Update volume API default version from v1 to v2
* Debug log a deferred keystone exception, else we mask some useful diag
* Fix README.rst, add a check for it to fit PyPI rules
* Use reno for release notes
* add URLs for release announcement tools
* Allow filtering clouds on command line

1.13.1
------

* Munge region\_name to '' if set to None
* Fix some README typos
* Fix token\_endpoint usage
* remove python 2.6 os-client-config classifier
* If cloud doesn't list regions expand passed name

1.13.0
------

* Fix glance endpoints with endpoint\_override
* Allow passing in explicit version for legacy\_client
* Pass endpoint override to constructors
* Support backwards compat for \_ args
* Add backwards compat mapping for auth-token
* Replace assertEqual(None, \*) with assertIsNone in tests
* Allow arbitrary client-specific options
* Add ceilometer constructor to known constructors
* Add support for generalized per-region settings
* Fix a README typo - hepler is not actually a thing
* Make client constructor optional
* Updated README to clarify legacy client usage
* Add simple helper function for client construction
* Add method for registering argparse options
* Update vexxhost to Identity v3
* Make sure that cloud always has a name
* Remove optional keystoneauth1 imports

1.12.0
------

* Add BHS1 to OVH
* Handle cinder v2
* Add support for secure.yaml file for auth info

1.11.1
------

* Fix lack of parenthesis around boolean logic

1.11.0
------

* Only pass timeout to swift if we have a value
* Fix name of the object-store api key
* Refactor per-service key making
* Add support for legacy envvar prefixes
* Fix JSON schema

1.10.2
------

* Workaround a dispute between osc and neutronclient
* Workaround for int value with verbose\_level
* Remove unneeded workaround for ksc
* Add default API version for magnum service

1.10.1
------

* Work around a bug in keystoneclient constructor
* Return cache settings as numbers not strings
* Add method to get a mounted session from config

1.10.0
------

* Convert floats to string
* Don't assume pass\_version\_arg=False for network
* Update network api version in defaults.json
* Dont turn bools into strings
* Use requestsexceptions for urllib squelching
* Normalize int config values to string
* Disable spurious urllib warnings
* Add logging module support
* Add methods for getting Session and Client objects
* Update conoha's vendor profile to include SJC
* Use json for in-tree cloud data
* Update auro to indicate move to neutron
* Copy values in backwards\_interface differently
* Fix typo in Catalyst region configs
* Aligned a few words in the docs
* Sort vendor list
* Add conoha public cloud
* Allow for templated variables in auth\_url
* Use assertDictEqual to test dict equality
* Always pull regions from vendor profiles

1.9.0
-----

* Clean up cache interface, add support for services
* Add Rackspace LON region
* Validate requested region against region list
* Fix documentation around regions
* Add an API reference to the docs
* Pass OpenStackConfig in to CloudConfig for caches
* Add auth hook for OpenStackClient
* Adds some lines to complete table formatting

1.8.1
-----

* Add universal=1 to setup.cfg to build python 3 wheels
* Some cleanup

1.8.0
-----

* Fix two typos
* Put in override for Rackspace broken neutron
* Support passing force\_ipv4 to the constructor
* identity version is 2.0
* Handle OS\_CLOUD and OS\_REGION\_NAME friendly-like
* Added SWITCHengines vendor file
* update RST for readme so pypi looks pretty

1.7.5
-----

* Fix a little error with the None auth type
* Add support for Catalyst as vendor
* Change ignore-errors to ignore\_errors

1.7.4
-----

* Handle ksa opt with no deprecated field

1.7.3
-----

* Fall back to keystoneclient arg processing
* Fix typo in ovh region names

1.7.2
-----

* Move plugin loader creation to try block

1.7.1
-----

* Convert auth kwargs '-' to '\_'
* Properly handle os- prefixed args in fix\_args
* Test kwargs passing not just argparse

1.7.0
-----

* Allow configuring domain id once
* Add internap to the vendor list
* Fix typo in comment - we use ksa not ksc
* Defer plugin validation to keystoneauth

1.6.4
-----

* Remove an extra line
* Add Datacentred to the vendor list
* Add ultimum to list of vendors
* Add Enter Cloud Suite to vendors list
* Add elastx to vendor support matrix
* Switch the image default to v2
* Update auro auth\_url and region information
* Add citycloud to the vendors list
* Return keystoneauth plugins based on auth args
* Remove duplicate lines that are the same as default
* Add default version number for heat
* Update OVH public cloud information
* Handle empty defaults.yaml file
* Do not treat project\_name and project\_id the same
* Revert "Revert "Use the correct auth\_plugin for token authentication""

1.6.3
-----

* Revert "Use the correct auth\_plugin for token authentication"

1.6.2
-----

* Ignore infra CI env vars
* Use the correct auth\_plugin for token authentication

1.6.1
-----

* Align to generic password auth-type

1.6.0
-----

* Clarify floating ip use for vendors
* Add per-service endpoint overrides

1.5.0
-----

* Remove requirements.txt from tox.ini
* Remove py26 and py33 from tox.ini
* Rename 'endpoint\_type' to 'interface'
* Have service name default to None
* Remove region list from single cloud
* Fix set\_default() when used before config init
* Specify the config file with environment variable
* Add support for configuring region lists with yaml
* Fix rendering issue in Readme
* Clean up vendor data
* Add support for indicating preference for IPv6
* Normalize project\_name aliases

1.4.0
-----

* Add some accessor methods to CloudConfig
* Add missing tests
* Add test to check cert and key as a tuple
* Use one yaml file per vendor
* Raise warning when a vendor profile is missing
* Some cleanup in the README.rst
* Add support for OVH Public Cloud
* Add SSL documentation to README.rst
* Stringify project details
* Raise a warning with conflicting SSL params
* Change references of "clouds.yaml" for real file
* Raise a warning when using 'cloud' in config
* Add cloud vendor files config in doc

1.3.0
-----

* Provide a helper method to get requests ssl values
* Add more defaults to our defaults file
* Change naming in vendor doc to match vendors.py
* Add auro to list of known vendors
* Add list of image params needed to disable agents

1.2.0
-----

* Add set\_one\_cloud method
* Add tests for get\_cloud\_names
* Add flag to indicate handling of security groups
* Don't normalize too deeply

1.1.0
-----

* Add tests for cloud config comparison
* Add inequality method
* Add an equality method for CloudConfig
* Capture the filename used for config
* Normalize all keys down to \_ instead of -
* Expose method for getting a list of cloud names
* Rename cloud to profile
* Don't pass None as the cloud name

1.0.0
-----

* Change overriding defaults to kwarg
* Add tests for OSC usage
* Use appdirs for platform-independent locations
* Add UnitedStack
* Expose function to get defaults dict
* Add default versions for trove and ironic
* Sort defaults list for less conflicts
* Only add fall through cloud as a fall through

0.8.2
-----

* Add flag to indicate where floating ips come from
* get\_one\_cloud should use auth merge
* Also accept .yml as a suffix
* Remove crufty lines from README
* Update vendor support to reflect v2 non-task

0.8.1
-----

* Add flag to trigger task interface for rackspace

0.8.0
-----

* Document vendor support information
* Reset cache default to 0
* add .venv to gitignore
* Move region\_names out of auth dict
* Add runabove to vendors
* Add image information to vexxhost account
* Add vexxhost
* Add DreamCompute to vendors list
* Allow overriding envvars as the name of the cloud
* Put env vars into their own cloud config
* Add keystoneclient to test-requirements
* Actually put some content into our sphinx docs

0.7.0
-----

* Update .gitreview for git section rename
* Change dogpile cache defaults
* Add cover to .gitignore

0.6.0
-----

* Flesh out api version defaults
* Handle project\_name/tenant\_name in the auth dict
* Add two newlines to the ends of files
* Rename auth\_plugin to auth\_type

0.5.0
-----

* Add support for configuring dogpile.cache
* Fix coverage report
* Add more testing of vendor yaml loading
* More comprehensive unit tests for os-client-config
* Allow keystone validation bypass for noauth usage
* Add basic unit test for config

0.4.3
-----

* Prefer dest value when option is depricated
* Allow region\_name to be None

0.4.2
-----

* Don't return the auth dict inside the loop
* Make sure we're deep-copying the auth dict

0.4.1
-----

* Remove runtime depend on pbr
* Provide Rackspace service\_name override

0.4.0
-----

* Start keeping default versions for all services
* Support keystone auth plugins in a generic way
* Replace defaults\_dict with scanning env vars
* Workflow documentation is now in infra-manual
* Corrections to readme
* Use yaml.safe\_load instead of load
* Throw error if a non-existent cloud is requested

0.3.0
-----

* Fix a missed argument from a previous refactor
* Map CloudConfig attributes to CloudConfig.config
* Add support for argparse Namespace objects
* Add support for command line argument processing
* Handle lack of username for project\_name defaults
* Handle the project/tenant nonesense more cleanly
* Add cache control settings
* Handle no vendor clouds config files
* Remove unused class method get\_services
* Add clouds-public.yaml
* Prep for move to stackforge

0.2.0
-----

* Handle missing vendor key
* Make env vars lowest priority
* Handle null region
* Update the README file for more completeness

0.1.0
-----

* Get rid of extra complexity with service values
* Remove babel and add pyyaml
* Port in config reading from shade
* Initial Cookiecutter Commit
