CHANGES
=======

3.3.0
-----

* Implement '+' operator for wait strategies

3.2.1
-----

* Initialize statistics at runtime

3.2.0
-----

* Rename `_retrying` attribute to `retry` and document it
* Store retrying object as an attribute of retried function
* Make sure statistics are thread locals
* Remove NOTICE file

3.1.1
-----

* Fix reraise when no exception

3.1.0
-----

* Add support for reraise
* doc: fix text legend for retry_if_result
* Add a useful __repr__

3.0.0
-----

* wait: fix wait_random to return floating point numbers
* Remove milliseconds usage in modules
* Stop using millisecond values for callbacks
* Add pbr generated files to ignore list

2.0.0
-----

* Use seconds everywhere instead of miliseconds
* Fix retry_if_exception_type usage in doc
* Add and use a nice ordinal func when logging before/after
* Add before/after strategies
* Add wait_chain()
* Add basic stats
* Fix comment stating rejection
* Rename reject to retry
* Enable pep8 checks on Travis
* Remove Python 2.6 support
* Fix pep8 errors
* Move to a folder structure
* Remove dead versions of py 3.x
* Allow to raise TryAgain to force a retry at any time
* Use monotonic time
* Fix doc with retry_if_exception_type
* Add retry_if_exception(predicate)
* Rename retry_if_exceptino to retry_if_exception_type
* Remove dead code
* Use futures
* Add docstring on wait_jitter
* Allow to specify exp_base
* Simplify wait min/max computing
* test: add test for RetryError.__str__
* Always wrap exceptions
* Add project name in doc
* Add .tox to .gitignore
* Add doc
* Remove retry select strategy, use a functional composition approach
* test: replace assertTrue by assertGreaterEqual
* Make stop have a default value
* Make README doc8 compliant
* Allow to specify sleep function
* Implement wait strategy combination to replace jitter argument
* Fix typo in README
* Simplify wait strategy picking by forcing a func in kwargs
* Fix stop examples in README
* Simplify stop strategy picking by always requiring a function
* Add some copyrights
* Depends on nose in tox
* Move some methods to staticmethods
* Fix tox command
* Fix pep8 errors
* Add tox.ini
* Switch to pbr
* Rename to tenacity
* Update README
* Remove AUTHORS
* Remove HISTORY.rst
* Declutter __init__ by using strategy selection
* Dynamically compute MAX_WAIT
* Add Python 3.5
* updated
* Adds two additional parameters to the Retrying() constructor:
* Add a upper bound on incrementing wait
* Allow providing exception tuple for 'retry_on_exception' argument
* bump version up to 1.3.4-dev, align badges in README.rst with a service that still works
* Declare a few methods static
* prepare for 1.3.3 release
* update history for 1.3.3 release
* add a few more contributors
* Adding in minimum version since anything lower doesn't work
* prepare for 1.3.2 release
* remove six license boilerplate since we're not embedding it anymore
* update HISTORY.rst for 1.3.2
* adding Maxym Shalenyi to AUTHORS.rst
* fix up some some pep8 stuff
* bump version up to 1.3.2-dev
* Allow a jitter value to be passed in
* Ensure we wrap the decorated functions
* Add requirements.txt to MANFEST.in
* prepare for 1.3.0 release
* update AUTHORS.rst to add contributors
* Replaced bundled code with using six
* update AUTHORS.rst
* bump version up to 1.2.4-dev
* Ensure file handles are closed using with statement
* prepare for 1.2.3 release
* add Daniel Nephin to AUTHORS.rst
* Support custom wait and stop functions
* bump version to 1.2.3-dev, add 3.3/3.4 classifiers
* add Saul Shanabrook to AUTHORS.rst
* Add python 3.3 and 3.4 support
* prepare for 1.2.2 release
* update HISTORY.rst for 1.2.2 release
* add comments from rdooley, add comment around stop behavior
* Update AUTHORS.rst
* If possible, raise the last exception when stopping
* Test exception type on failure
* bump version up to 1.2.2-dev
* update HISTORY.rst, bump version up to 1.2.1 for release
* Fix AttributeError when explicitly specifying wait type, and add appropriate regression tests. (fixes #4)
* update HISTORY.rst for 1.2.0 release
* prepare for 1.2.0 release
* add a crude check for a custom exception message in the test suite
* remove need for specification of stop/wait type
* prepare for 1.1.0 release
* Update HISTORY.rst
* add even moar Python 3.x compatibility hacks from the six project, update license
* let's see if Python 3.2.x is happy now..
* Fix up Python 2.6 and Python 3.2 compatibility
* propagate complete tracebacks such that they show up in nested stack frames, adjust api and tests #1
* adding version and download badges
* clean up the classifiers so they appear correctly on pypi, add license metadata, prep for release
* add note about Python 2.x/3.x compatibility and patch up test suite to run under Python 3
* fixed a bug where classes not extending from the Python exception hierarchy could slip through, preparing for 1.0.1 release
* add missing files..
* typo... um... yeah..
* clean up RST for PyPI, add some better annotations to examples
* Python 3.2 compatibility fix, since we don't have sys.maxint anymore..
* sanitize setup.py one more time before release
* add a few more tests for some edge cases
* add configurable support for wrapping any raised Exception in a RetryError instead of just raising it directly, add a few more comments
* stop committing nonsense examples..
* add a bunch of examples since they're more succinct than a full api description
* adding AUTHORS.rst
* flushing out the README.rst a bit more
* default to retry on any exception, handle @retry and @retry() behavior
* update history
* add test suite, clean up packaging
* ignore packaging and pyc's
* add Travis CI support
* drop in an __init__.py
* adding HISTORY.rst
* clean up some TODO's and comments
* adding first stable implementation, reasonable passing test coverage
* add minimal readme
* add license and other project boilerplate
