Skip to content

Releases: fabfuel/circuitbreaker

2.0.0 Async Support

15 May 13:08
Compare
Choose a tag to compare

Async Support

With version 2.0.0 circuitbreaker now supports async functions, as easy as:

@circuit
async def external_call():
    ...

A big thank you to @pauloromeira for your great contribution! 💪 🙌

Python2 not supported anymore

⚠️ We finally stripped support for Python2 and some early Python3 versions.

Supported Python versions now are:

  • 3.11
  • 3.10
  • 3.9
  • 3.8
  • 3.7

1.4.0

13 Jul 05:57
Compare
Choose a tag to compare

Big News

The circuitbreaker project has been classified as "Critical Project" on PyPI, meaning it belongs to the top 1% of all projects on PyPI based on the downloads over the last 6 months. We're working an important peace here 🙂

https://pypi.org/project/circuitbreaker/

Therefore a big Thank You! to all contributors of this release!
🙌 @AugPro @matthewhughes934 @major @pabs3 @Freaky @ozooxo @xtaje 🙌

Change Log

Fallback Function

By default, the circuit breaker will raise a CircuitBreaker exception when the circuit is opened. You can instead specify a function to be called when the circuit is opened. This function can be specified with the fallback_function parameter and will be called with the same parameters as the decorated function would be.

Custom callable for handling exceptions

The logic for handling thrown exceptions as failures can now be customized by passing a callable. The callable will be passed the exception type and value, and should return True if the exception should be treated as a failure.

Monotonic clock

Using the wall clock to measure durations is vulnerable to changes in the system clock causing misbehavior - a clock accidentally set far in the future and later reset could result in the circuit breaker remaining open for a great deal longer than expected. To solve this, a monotonic clock is now used for timing open states.

Circuitbreaker default name

The circuitbreaker default names are now taken from __qualname__ if available for more precise default naming.

Fixes and tooling

  • the project is now built on Github Action instead of Travis CI
  • building for python 3.10
  • applied smaller flake8 fixes

1.3.2

01 Feb 13:11
Compare
Choose a tag to compare
no message

1.2.0

30 Jun 04:00
Compare
Choose a tag to compare
  • New circuit breaker property last_failure allows accessing the last recorded exception (thanks @luiscoms)
  • Test library with Python 3.7 (thanks @luiscoms)
  • Fixed some typos in readme