Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/danielfm/pybreaker/llms.txt

Use this file to discover all available pages before exploring further.

PyBreaker has been actively maintained since 2010. This page lists all releases with their changes.

Version 1.4.0 — July 6, 2025

  • Add success_threshold parameter (Thanks @sideshowbandana)

Version 1.3.0 — March 5, 2025

  • Dropped support for Python 3.8
  • Fix DeprecationWarning: datetime.datetime.utcnow()

Version 1.2.0 — February 14, 2024

  • Fixed type hints
  • Improved building and testing
  • Dropped support for Python 3.7

Version 1.1.0 — January 09, 2024

  • Added calling() method to CircuitBreaker, returning a context manager (Thanks @martijnthe)

Version 1.0.3 — December 22, 2023

  • Added py.typed file (Thanks @martijnthe)

Version 1.0.2 — June 9, 2023

  • Update redis (Thanks @rodrigobraga)

Version 1.0.1 — August 12, 2022

  • Fix state parameter type hint (Thanks @Kludex)

Version 1.0.0 — August 11, 2022

  • Highlight Python code in README (Thanks @Kludex)
  • Add linter & format setup (Thanks @Kludex)
  • Drop Python 3.6 support (Thanks @Kludex)
  • Fully type annotate pybreaker.py (Thanks @Kludex)

Version 0.8.0 — December 14, 2021

  • Add support to redis cluster storage, without transaction on opened… (Thanks @felipeagger)
  • Replace Travis by GitHub Actions workflow

Version 0.7.0 — March 3, 2021

  • Option for throwing original error on circuit trip (Thanks @Cruuncher)

Version 0.6.0 — October 22, 2019

  • Use generator.throw to fix generator error raising (Thanks @phillbaker)

Version 0.5.0 — March 19, 2019

  • Add support for Python 3.7, where StopIteration behaviour changes due to PEP 479 (Thanks @jshiell)
  • Allow excluded exceptions to be specified as callables (Thanks @jshiell)

Version 0.4.5 — October 26, 2018

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

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: listener.failure should 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

Build docs developers (and LLMs) love