CHANGES
=======

2.7.0
-----

* Fix duplicate encode
* typing: Fix issues introduced by recent types-requests
* Deprecate version attribute
* tox: Use new constraints option
* zuul: Add functional gate job
* typing: Loosen signature of Client commands"
* Remove unnecessary type: ignore statements

2.6.0
-----

* Fix README file
* typing: Use typed dicts return values
* typing: Expand kwargs
* typing: Use literals for enum values
* typing: Tighten signature of Client commands
* typing: Accept integer timeouts
* typing: Improve types of Client.get
* Inline error handling
* tests: Fix race
* Add typing
* lock: Add check for unset lease
* Apply ruff
* docs: Remove cruft from conf files
* pre-commit: Bump versions
* Allow session parameter for custom configuration
* Delay string interpolations at logging calls
* tox: Fix outdated functional test env
* pre-commit: Bump dependencies
* Migrate setup configuration to pyproject.toml
* Drop Python 3.9 support

2.5.0
-----

* Bump etcd to 3.5.x
* Allow overriding etcd version in tests
* add pyproject.toml to support pip 23.1
* Skip installation to speed up pep8
* Bump etcd in tests
* Use API version detection in tests
* Detect etcd endpoint from pifpaf environments
* Replace nose
* Replace outdated tox environments
* Enable forward testing
* Add note about requirements lower bounds
* Remove Python 3.8 support
* Replace old link for hacking
* Run pyupgrade to clean up Python 2 syntaxes
* Use pre-commit to run pep8 tests
* Declare Python 3.12 support

2.4.2
-----


2.4.1
-----

* Fix watcher failing with huge payloads
* Remove fallback to time.clock()
* Drop extras from test requirements

2.4.0
-----

* Apply timeout in each request call
* Update README
* Bump hacking
* Update python classifier in setup.cfg
* Remove unused babel.cfg

2.3.0
-----

* Discover API version automatically

2.2.0
-----

* Fix warnings in doc build
* Use py3 as the default runtime for tox
* Cleanup py27 support
* Revert "Moves supported python runtimes from version 3.8 to 3.10"
* Moves supported python runtimes from version 3.8 to 3.10
* Fix the docs job
* Allow override of api path via ETCD3GW\_API\_PATH envvar

2.1.0
-----

* Pass api\_path thru etcd3gw.client

2.0.0
-----

* Handle refreshing of expired lease
* Drop python3.6/3.7 support in testing runtime
* Handle key has only metadata and no value

1.0.2
-----

* Remove six
* Update python testing classifier
* Add py38-etcd tox env

1.0.1
-----

* watch: Avoid double-decoding in python3

1.0.0
-----

* setup.cfg: Replace dashes with underscores
* Use unittest.mock instead of mock
* remove unicode in code
* Drop py2 support and clean things up
* Add doc/requirements
* Fix .gitreview file
* [CI] Add jobs
* Restore previous endpoint default (v3alpha)
* Raise hacking checks to recent version
* Add mock to test dependencies

v0.2.6
------

* Add basic usage example in usage.rst
* Fix for CVE-2018-18074 - bump requests
* Add lease param into create()
* Fix pep8
* Make API path configurable
* Use time.perf\_counter instead of time.clock that was removed in Python 3.8
* Include resp.text as detail in all etcd exceptions

v0.2.5
------

* Fix exception signature
* When gateway sends failure response, include text in raised exception
* Make the package reproducible
* Fix for python 3

v0.2.4
------

* Revert "utils: fix bug when decoding"

v0.2.3
------

* Support for protocol type while creating client

v0.2.2
------

* utils: fix bug when decoding
* Update lock.py
* Set transport options on requests session
* Fix sort\_target parameter off-by-one
* Use the socket shutdown() workaround on Python 2

v0.2.1
------

* Fix the watch prefix bug

v0.2.0
------

* Check for ipv6 hosts when creating the url
*  Add the option to receive data in any encoding
* Better way to shutdown the socket under python3
* Allow failures for non-py2.7 tests
* Add a "create" method for the client
* Use py.test to better find hung tests
* Update etcd version, add py36

v0.1.0
------

* Support for listing members

v0.0.4
------

* update requirements
* Better UX - similar to python-etcd3
* Add a bunch of exceptions

v0.0.3
------

* Support green threads, run coverage with py27
* Improve coverage
* switch to futurist with a hack to close the streaming connection
* Support pypy testing
* prep for next rev

v0.0.2
------

* Cut 0.0.2 with support for watch etc
* Switch back to threading
* Use constant for sort order/target
* Support for watch()
* Support method for atomic replace
* Add delete\_prefix method
* update to latest etcd
* Add get\_all and support sort\_order
* return metadata with get\_prefix response
* Add support for a get\_prefix method
* test for lock.uuid
* Generate documentation for using pbr autodoc feature
* Add comments for all the user facing classes/methods
* Prep for next version

v0.0.1
------

* Prepare version 0.0.1
* Fix classifier
* Add separate codecov target
* Avoid readme in docs
* Add labels and coverage report
* More code coverage for key/value pair scenarios
* Add tests for key/value store/fetch
* More code coverage for locks
* Skip tests and examples for coverage
* oops, signal py35 support not py34
* Add more tests, add method for lock in Client
* Add tox targets that run tests with etcd
* Get tox cover target working
* Examples tox target against a real etcd3 process
* Initial implementation with py27,py35,pep8 working
* Initial Cookiecutter Commit
