Changelog

FORK 2.0.0 (TBD)

  • Move breaker state to enum

FORK 1.1.0 (Jan 14, 2019)

  • Add logic to stop calling decorator trigger twice

  • Fix bug with timeout window growing with additional breakers defined (Thanks @shawndrape)

  • Remove threading support (unneeded with asyncio)

FORK 1.0.0 (Aug 12, 2018)

  • Move over to asyncio

  • Drop < 3.4 support

  • Drop tornado support

  • Async call support

Version 0.4.4 (May 21, 2018)

  • Fix PyPI release

Version 0.4.3 (May 21, 2018)

  • Re-initialize state on Redis if missing (Thanks @scascketta!)

  • Add trigger exception into the CircuitBreakerError (Thanks @tczhaodachuan!)

Version 0.4.2 (November 9, 2017)

  • Add optional name to CircuitBreaker (Thanks @chrisvaughn!)

Version 0.4.1 (October 2, 2017)

  • Get initial CircuitBreaker state from state_storage (Thanks @alukach!)

Version 0.4.0 (June 23, 2017)

  • Added optional support for asynchronous Tornado calls (Thanks @jeffrand!)

  • Fixed typo (issue #19) (Thanks @jeffrand!)

Version 0.3.3 (June 2, 2017)

  • Fixed bug that caused pybreaker to break (!) if redis package was not present (Thanks @phillbaker!)

Version 0.3.2 (June 1, 2017)

  • Added support for optional Redis backing (Thanks @phillbaker!)

  • Fixed: Should listener.failure be called when the circuit is closed and a call fails? (Thanks @sj175 for the report!)

  • Fixed: Wrapped function is called twice during successful call in open state (Thanks @jstordeur!)

Version 0.3.1 (January 25, 2017)

  • Added support for optional Redis backing

Version 0.3.0 (September 1, 2016)

  • Fixed generator issue. (Thanks @dpdornseifer!)

Version 0.2.3 (July 25, 2014)

  • Added support to generator functions. (Thanks @mauriciosl!)

Version 0.2.1 (October 23, 2010)

  • Fixed a few concurrency bugs.

Version 0.2 (October 20, 2010)

  • Several API changes, breaks backwards compatibility.

  • New CircuitBreakerListener class that allows the user to listen to events in a circuit breaker without the need to subclass CircuitBreaker.

  • Decorator now uses ‘functools.wraps’ to avoid loss of information on decorated functions.

Version 0.1.1 (October 17, 2010)

  • Instance of CircuitBreaker can now be used as a decorator.

  • Python 2.6+ is now required in order to make the same code base compatible with Python 3+.

Version 0.1 (October 16, 2010)

  • First public release.