CHANGES
=======

7.5.0
-----

* Accept uuid as a ref in ACLManager
* Handle new secrets delete microversion

7.4.0
-----

* Fix uuid ref support in ACL Manager

7.3.0
-----

* Add Secret Metadata API support to Key Manager
* Fix spacing in debug message
* Remove Python 3.9 support
* Replace deprecated datetime.datetime.utcnow

7.2.0
-----

* Update default envlist

7.1.0
-----

* Remove Python 3.8 support
* Drop unnecessary 'x' bit from doc config file

7.0.0
-----


6.0.0
-----

* Remove old excludes
* Remove support for certificate order
* Replace pytz
* Bump hacking
* Bump hacking
* coveragerc: Remove non-existent path
* Update python classifier in setup.cfg

5.7.0
-----

* Use py3 as the default runtime for tox
* Migrate back to Launchpad
* Cleanup py27 support

5.6.1
-----

* Use constraints for docs job
* Fix functional tests

5.6.0
-----

* Fixed typo in the release notes

5.5.0
-----

* Add secret consumers documentation
* Added secret consumers list functionality. Unit, smoke and functional tests were also added
* Added the force parameter to consumer removal and the corresponding CLI commands
* Add secret consumers Python API
* Unit tests for microversion, initial change for consumers
* Implement microversions
* Bump tox minversion to 3.18.0
* Make functional tests use stestr instead of nose
* Switch to 2023.1 Python3 unit tests and generic template name

5.4.0
-----

* Remove unicode literal
* Remove six
* Update the constraints url
* setup.cfg: Replace dashes by underscores
* Add Python3 zed unit tests
* Replace deprecated UPPER\_CONSTRAINTS\_FILE variable
* Fix unit test failue with cliff>=3.5.0
* Replace git.openstack.org URLs with opendev.org URLs
* Updating python testing as per Yoga testing runtime
* Add Python 3 only classifier
* Fix the import warning of secrets
* Drop lower-constraints.txt and its testing

5.3.0
-----

* bump py37 to py38 in tox.ini
* Add Python3 wallaby unit tests
* [goal] Migrate tox based testing to ubuntu focal

5.0.1
-----

* Zuul: port to native v3 job and add victoria unit tests
* add py38 package metadata
* Switch from unittest2 compat methods to Python 3.x methods

5.0.0
-----

* Update hacking for Python3
* Switch to newer openstackdocstheme and reno versions
* Use unittest.mock instead of third party mock
* [ussuri][goal] Drop python 2.7 support and testing
* Fix gate job failures and py3 compatibility

4.10.0
------

* Support two-way auth for barbicanclient
* PDF Documentation Build tox target
* docs: Turn on warning-as-error
* Fix lower-constraints tox target
* Bump the openstackdocstheme extension to 1.20

4.9.0
-----

* OpenDev Migration Patch
* Replace openstack.org git:// URLs with https://
* Update json module to jsonutils
* add python 3.7 unit test job

4.8.1
-----

* Update hacking version
* Secret payload should also be fetched by UUID
* Use template for lower-constraints
* Update mailinglist from dev to discuss
* Change openstack-dev to openstack-discuss
* Add Python 3.6 classifier to setup.cfg
* add python 3.6 unit test job
* Update min tox version to 2.0

4.8.0
-----

* Don't quote {posargs} in tox.ini
* Allow fetching by UUID, and respect interface
* Import python-barbicanclient-dsvm
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config

4.7.0
-----

* Switch to stestr
* fix tox python3 overrides
* use open() instead of file()
* Remove PyPI downloads
* Add --file flag for secrets
* Update the bugs link address
* Trivial: Update pypi url to new url
* add lower-constraints job
* Updated from global requirements
* pypy is not checked at gate
* Follow the new PTI for document build
* Supress client debug messages
* Update the old http links in docs
* Updating time for functional tests
* Update doc to use the correct order method

4.6.0
-----

* Updated from global requirements
* Updated from global requirements
* Pass OSC interface through to barbican plugin
* Fix some reST field lists in docstrings
* Updated from global requirements
* Avoid tox\_install.sh for constraints support
* Switch to use new barbican endpoint
* Updated from global requirements
* Add 'rm -f .testrepository/times.dbm' command in testenv
* Updated from global requirements
* Updated from global requirements
* Correct docs usage of keystoneauth1 session
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements

4.5.2
-----

* Support import modules from barbicanclient.client module

4.5.1
-----

* Workaround for importing objects from old path

4.5.0
-----

* Update api references according to refactor result
* Add secret\_type filter to CLI
* Updated from global requirements
* Update the documentation link for doc migration
* Updated from global requirements
* fix default version
* Updated from global requirements
* Update doc references
* import content from cli-reference in openstack-manuals
* rearrange the existing docs into the new standard layout
* Switch from oslosphinx to openstackdocstheme

4.4.0
-----

* Updated from global requirements
* Refactor barbicanclient
* Updated from global requirements
* Updated from global requirements

4.3.0
-----

* Updated from global requirements
* Updated from global requirements
* Use generic auth plugin instead of specific version
* Add client list filter functionality
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Extend pep8 test coverage
* Updated from global requirements
* Update keystone endpoint for functional tests
* Updated from global requirements
* Correct the regex for parsing output
* Replace six.iteritems() with .items()
* Enable F and H flake8 rules
* Set client module \_\_version\_\_
* Clean up all secrets in functional tests
* Updated from global requirements
* Updated from global requirements
* Fix gate failure on pep8
* Updated from global requirements
* Make test directory more specific
* Change parent class of \`WhenTestingCertificateOrders\`
* Fix serializable issues when retrieving json format resources
* [openstack-manuals] description of command barbican ca list
* Remove support for py34
* Updated from global requirements
* Remove unused barbicanclient/common directory

4.2.0
-----

* Updated from global requirements
* Skip order with 'None' payload content type
* Remove invalid smoke test that is failing in the gate
* Fix doc referencing --payload-content-type
* Update .gitignore
* Removes unnecessary utf-8 encoding
* Updated from global requirements
* Remove discover from test-requirements
* Replaces uuid.uuid4 with uuidutils.generate\_uuid()
* Accept 'pass\_phrase' for AsymmetricOrder constructor
* Updated from global requirements
* Add missing param to certificate order initialization
* Fix error in doc
* Removed openstack/common from tox.in
* Updated from global requirements
* Updated from global requirements
* Add Python 3.5 classifier and venv
* Updated from global requirements
* Use keystoneauth
* Fix bug when uploading secret using unified CLI
* Fix order of arguments in assertEqual
* Add plug-in summary for osc doc
* Support upper-constraints in tox.ini
* Updated from global requirements
* Use 'code-block' for pieces of code
* Remove redundant space in docstring
* Using assertTrue/False() instead of assertEqual(True/False)
* Using assertEqual instead of assertEquals
* Remove imported but unused
* Add oslo.config to requirements
* Handle container list command correctly
* Fix CLI message in CA module
* Replaced bare except
* Cast sets to lists in acl functional tests
* Validate key order meta fields
* Use international logging message

4.1.0
-----

* Updated from global requirements
* Fix jenkins failing on coverage report
* Do not write except:, use except Exception instead
* Fix argument order for assertEqual to (expected, observed)
* Fixed python-barbicanclient functional tests
* Updated from global requirements
* Remove unused import
* Updated from global requirements
* Update mailmap for Douglas Mendizábal
* Update the home-page with developer documentation link
* Issue deprecation message for the barbican CLI
* Fixed python-barbicanclient functional tests
* Censoring secrets payload value from debug log
* Fix argument order for assertEqual to (exp, obs)
* Fixed barbican client order list
* Display error description
* Updated from global requirements

4.0.0
-----

* Replace assertEqual(None, \*) with assertIsNone in tests
* Updated from global requirements
* Use six.moves.urllib.parse to replace urlparse
* Updated from global requirements
* Remove argparse from requirements
* Updated from global requirements
* Updated from global requirements
* Replace deprecated keystoneclient...exceptions
* Update typos
* Remove unused import logging
* Update Order Create Type Help Dialog
* Removes MANIFEST.in as it is not needed explicitely by PBR
* Deprecated tox -downloadcache option removed
* Remove py26 support
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Make Client test documentation similar to Barbican
* Updated from global requirements
* Update Readme to include new/updated CLI commands
* Allow tox to be able to run independent functional tests
* Make CLI Order's type field a required argument
* Remove invalid skipping of tests
* Fix Secrets Filter
* Updated from global requirements
* Updated from global requirements
* README.rst devstack link not properly displayed
* improve readme contents
* Updated from global requirements
* Add to\_dict method to EntityFormatter
* Updated from global requirements
* Part 3: Adding ACL functional tests
* Updated from global requirements
* Initialize optional attributes in CA object
* Fix keystone version selection
* Part 2: Adding ACL support for CLI commands and docs
* Fix incorrect error when performing Barbican Secret Update
* Part 1: Adding ACL support for Client API
* Fix error where barbican order create returns invalid error
* Create Openstack CLI plugin for Barbican
* Fix OS\_PROJECT\_ID not getting read by client
* Remove Client V1 Behaviors
* enable barbican help without authentication
* Fix barbican-client README.rst
* Add functional test for updating a Secret
* Remove test behaviors abstraction for containers smoke tests
* Remove test behaviors abstraction for orders smoke tests
* Remove test behaviors abstraction for secrets smoke tests
* Remove test behaviors abstraction for containers
* Remove test behaviors abstraction for orders
* Remove test behaviors abstraction for secrets
* Create Common functions used for cleaning up items used for testing
* Add epilog to parser
* Add Unit Tests for Store and Update Payload when Payload is zero
* Allow Barbican Client Secret Update Functionality

3.3.0
-----

* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Add ability to add and list CAs
* Remove unneeded dependency in tox.ini
* Adding Documentation for running Functional Tests on the Python-Barbican Client
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Added secret type command line option
* Updated from global requirements
* New mock release(1.1.0) broke unit/function tests
* Enable endpoint filter parameters for the CLI
* Updated from global requirements
* Use keystone discovery instead of endpoint\_override
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements

3.2.0
-----

* Drop incubating theme from docs
* Remove tempest config dependency in functional tests
* Add capability of specifying Barbican version to client
* Remove instances of \_base\_url
* Re-merge CLI test update for auth URL and version
* Add CLI smoke functional tests for containers
* Create behaviors for secrets
* Pass in keystone version and correct v2 URL to CLI
* Add support for certificate order
* Updated from global requirements
* Adding new tests to cover failure scenarios
* Drop use of 'oslo' namespace package

3.1.1
-----

* Updated from global requirements
* Add Secret CLI smoke tests
* Fix bug in CLI authentication
* Updated from global requirements
* Refactored barbican.py for better testability
* Update stdout and stderr capture in functional tests
* Use keystoneclient to get endpoint if it's empty
* Initial setup for command line tests
* Fixing misspelling in client docstring
* Adding support for token based authentication
* Cleaning up validate\_ref()
* Update README to work with release tools
* Cleaning up Keystone auth tests

3.1.0
-----

* Excluding tests from coverage report
* Fix the clientrc file to match defaults and add docs
* Updating client and client docs for accuracy
* Porting over more documentation to RST from cli wiki
* Uncap library requirements for liberty
* Adding payload flag to get secret
* Raising errors from the client instead of ksclient
* Fix order listing on the command line
* Fixing the broken functional tests
* Use the ksc Adapter instead of custom HTTPClient

3.0.3
-----

* Fix --decrypt command line option
* Fix order creation on the command line
* Don't ignore payload\_content\_encoding if set
* Consolidate Payload Exceptions
* Negative tests for orders
* Container negative tests
* Updated from global requirements
* Second set of negative secrets tests
* First set of negative functional test for secrets
* Fix smoke test for client with bad data set
* Fixed deprecated type and encoding test and encoding bug
* Removing assertItemsEqual workaround, fixed upstream
* Fixes tests on invalid payload secret creation and adds new exception
* Ensuring secret ref is not none with payload
* Added new exception, renamed test, and adjusted test
* Fixed max payload size error
* Fix secret-store empty-key filtering bug
* Enable usage of 'payload' path to fetch decrypted secrets
* Don't use tempest log
* Deprecate setting the payload type and encoding
* Use functional\_test.conf for devstack gate
* Fix when submitting with empty string, none and zero
* Fix delete a secret that does not exist
* Refactor test modules
* Pass correct api object to Container constructor
* Moved parameterized test from smoke to functional
* Add default max payload to functional test conf registry
* Adds positive orders functional tests
* Updated functional tests to use both identity v2 and v3
* Do not filter empty strings
* Add secret\_type to Secret constructor
* Update functionaltests to be able to run tox -e functional
* Additional requests-mock testing
* Remove cyclical dependency
* Convert CRUD tests to requests-mock
* Adds orders behaviors and smoke tests
* Run client functional tests
* Updated from global requirements
* Adds positive container functional tests
* Add hooks for devstack testing
* update tox.ini files to run functional tests
* Fix serialization of datetime objects
* Remove py33 tox environment
* Updated from global requirements
* All of the containers behaviors and container smoke tests
* Update documentation
* Adds positive secrets functional tests
* Update documentation
* Change usage example to show plain/text secret
* Adds base behaviors, secret behaviors and the secret smoke tests
* Initial directory changes and files for python-babricanclient functional tests
* Drop old namespace for some oslo libraries

3.0.2
-----

* Updated from global requirements
* Replace httpretty with requests\_mock
* Enable usage of oslo\_debug\_helper from tox
* Updated from global requirements
* Updated from global requirements
* Enable passing test regex to testr from tox
* Updated from global requirements
* Replace trivial docstring instances of tenant
* Workflow documentation is now in infra-manual
* Correctly set pbr version name
* Trivial change to docs
* Defer loading Secret meta-data until requested
* Updated from global requirements
* Updated from global requirements
* Add Usage documentation
* Updated from global requirements
* Add Python 3 classifiers
* Updated from global requirements

3.0.1
-----

* Sync with global requirements
* update cliff requirement to >=1.7.0

3.0.0
-----

* Remove unnecessary try/except in container delete
* Update Order models
* Add sphinx docs
* Refactored Client to use Keystone Sessions
* Remove outdated examples
* Fix consistency between Order/Secret/Container
* Remove code from oslo-incubator
* Change object \_\_str\_\_() to use pretty formatting
* Add Containers to python-barbicanclient
* Work toward Python 3.4 support and testing
* Refactor client models in python-barbicanclient
* Remove hardcoded version
* remove tenant-id from uri
* Introduce cliff for cli framework

2.2.1
-----

* Update tox.ini to match rest of project

2.2.0
-----

* Fix Testing Failure due to Argparse
* Move docstring inside relevant class
* Fixed typos in the example files
* Add Keystone V3 compliant session/auth plugin support
* Added PyPy env to tox.ini
* Updating documentation from stackforge to openstack
* Added py33 to tox
* Fix the gitreview
* Remove unnecessary coding line
* debug level logs should not be translated
* Metaclass Python 3.x Compatibility
* Remove Tox from test-requirements.txt
* python 3 support
* port tests to testtools, add branch coverage, omit openstack common
* sync oslo
* Remove OpenStack log in favor of native logging
* Conditionally validate KeystoneAuthV2 credentials
* Add missing tenant\_id to Keystone init
* Add version to setup.cfg

2.1.0
-----

* Drop version requirement for argparse

2.0.0
-----

* Remove version from setup.cfg
* Use summary not description for the short summary
* Switch README.md to README.rst
* Migrate to pbr
* Rename the command line client to barbican
* Add auth plugin for Rackspace Identity
* Removing conditional around client status code check
* Add filtering CLI options to 'secrets list' sub command
* secrets.get should verify that the request is for a single secret
* Add .gitreview file for StackForge

v1.0.0
------

* Version bump for Icehouse M1
* Add mailmap file
* Remove extra header (H2) in the readme
* Update README.md to mention the pypi location, and to add verification information
* Client should use endpoint from command line if it is not found in the auth catalog
* Add mods per peer review; Added new testing log files to gitignore file;
* Remove unused utils file
* Fix merge conflicts
* Add remaining verification unit test and keep files/mods
* Rework logging to support importing externally
* Revamped unit tests to remove redundant testing, added some tests for the verification service
* Add unit tests for secrets
* Add verifications resource
* Adding the --insecure cli argument
* Fixing typo in exception message
* Fixed typo in keep Client initialization
* Version bump
* Fix a couple of bugs caused by typos

v0.4.0
------

* Version bump
* Remove unused exception
* Update unit tests for Client
* Add total() to both secrets and orders
* pep-8 fixes
* Update README.md
* Rename KeystoneAuth to KeystoneAuthV2
* Update keep to use URIs instead of UUIDs
* Last of the changes to Client
* Update Client to use hrefs instead of parsing IDs
* Raise exceptions for error responses from the server
* Update README.md
* Clean up imports and update requirements
* Add store command to keep.  Rename options to match other openstack clients
* Update keep to use refactored client
* Client.py cleanup
* Moved order crud to order manager
* Move raw secret get to secret manager
* Added get and delete to secret manager
* Moved secret create and list into secret manager
* Use KeystoneAuth in authenticate method
* Added KeystoneAuth class for auth stuff
* Added auth param to Client
* Rename Connection to Client
* Update tox to run pep8 by default
* Move tests inside main package
* PEP 8/Pyflakes fixes
* Change the lookup method for Secret dict fields
* Remove payload\_content\_encoding from orders
* Modify default behaviors and the create\_order signature
* Modifications to reflect payload\_content\_encoding being required for order creation
* Make payload\_content\_type in keep default to 'text/plain' for secrets and 'application/octet-stream' for orders, and stop constraining the content options
* Modify client library to comply with MIME revamp
* Update keep to comply with the MIME type revamp
* Add the option to provide a secret expiration date when creating orders
* Change setup.py so that it reads the version from version.py
* Bump client version to 0.2.1
* Add the skeleton for keep\_test, and make a small change to client\_test
* Fixed a bug involving secret expiration dates
* Bump client version to 0.2.0
* Change the SERVICE\_TOKEN env variable to AUTH\_TOKEN
* Add an option to provide arguments through kwargs for testing
* Move keep script into barbicanclient module
* Change the SERVICE\_ENDPOINT env variable to BARBICAN\_ENDPOINT
* Delete and stop tracking an OSX metadata file
* Complete docstrings in the client library and make them uniform
* Stop overriding the endpoint when it's provided without a token
* Stop overriding the endpoint when it's provided without a token
* Fix authentication and service endpoint fetching
* Add docstrings to the client library along with a couple minor changes
* In keep, make environment variables the defaults of several args
* In keep, modify 'get' and 'delete' to use UUIDS
* Add complete functionality to the command line tool
* Implement secret and order list paging
* Add the intial version of the client command line tool Currently the only implemented action is 'create'
* Add a method to the client unit test that checks for equivalence and remove the \_\_eq\_\_() and \_\_ne\_\_() methods of secrets and orders
* Split several unit tests into separate tests
* Add more unittests for client.py
* Make create\_secret() and create\_order() return objects rather than dicts and get metadata before returning
* Minor fixes and adjustments
* Add a test file, a configuration file, and various generated files
* Add logging
* remove last marconi refs
* get rid of a stray debug print
* First stab at packaging
* modified get/delete methods on order and secrets and renamed dicts
* change string formatting to use .format()
* updated property on orders should default to none
* orders & secrets now use \_\_str\_\_ instead of \_\_repr\_\_ + example fixes
* collapsed \_\_repr\_\_ methods to one line per jarret's comments
* add get order and get secret metadata functionality
* create, delete, get secret
* expand exception text to return text reason from endpoint
* added generic .venv dirs to the gitignore
* New objects and methods for create/read/delete
* pep8 fixes
* List Secrets
* WIP: Architecture
* pip requirements
* Copied auth.py and tests from python-reddwarf client
* Initial copy of oslo commons code
* Placeholder for v1 of api
* Openstack Common init
* Initial setup.py configuration
* Adding tox configuration
* Adding Apache license
* Updating .gitignore to ignore PyCharm files
* Initial commit
