Summary
We're really happy to say the Circuit Breaker utility is now GA. It shipped as alpha in 3.31.0 to collect real-world feedback, and that's exactly what happened, so it's time to drop the _alpha suffix and call it stable.
A big thank you to everyone who used it, reported issues and sent fixes during the alpha. It's in much better shape because of you.
Circuit Breaker is now GA
The only change you need to make is the import path. circuit_breaker_alpha becomes circuit_breaker:
from aws_lambda_powertools.utilities.circuit_breaker import circuit_breaker
from aws_lambda_powertools.utilities.circuit_breaker.persistence import (
CircuitBreakerDynamoDBPersistence,
)
from aws_lambda_powertools.utilities.typing import LambdaContext
persistence = CircuitBreakerDynamoDBPersistence(table_name="CircuitBreakerState")
@circuit_breaker(name="payment-backend", persistence_store=persistence)
def charge(order: dict) -> dict:
return payment_api.charge(order)
def lambda_handler(event: dict, context: LambdaContext) -> dict:
return charge(event)Everything else stays the same. Same API, same defaults (open after 5 consecutive failures, probe after 30 seconds, close after 3 probe successes), same behaviour. If you were using it during the alpha, update the import and you're done.
A note on 3.32.0 and 3.33.0
You'll notice we jumped from 3.31.1 straight to 3.34.0. Nothing to worry about: our release pipeline accidentally skipped 3.32.0 and 3.33.0, so they were never built or published. No package went to PyPI and no Lambda layer was published for either of them, so there's no impact for anyone. Everything that was meant to go out in those two releases is included here in 3.34.0.
Changes
- fix(event_handler): omit Content-Type header from OpenAPI (#8374) by @DebadityaHait
- fix(tracer): declare in_subsegment_async as an async context manager (#8367) by @vishwakt
📜 Documentation updates
- feat: promote circuit breaker to GA (#8373) by @leandrodamascena
- chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 in /docs (#8370) by @dependabot[bot]
- chore(deps): bump gitpython from 3.1.57 to 3.1.58 in /docs (#8368) by @dependabot[bot]
- chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 in /docs (#8358) by @dependabot[bot]
- chore(deps): bump gitpython from 3.1.50 to 3.1.57 in /docs (#8362) by @dependabot[bot]
🔧 Maintenance
- chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 in /docs (#8370) by @dependabot[bot]
- chore(deps): bump gitpython from 3.1.57 to 3.1.58 in /docs (#8368) by @dependabot[bot]
- chore(deps-dev): bump gitpython from 3.1.57 to 3.1.58 (#8369) by @dependabot[bot]
- chore(deps-dev): bump pymdown-extensions from 11.0 to 11.0.1 (#8371) by @dependabot[bot]
- chore(deps-dev): bump pymdown-extensions from 10.21.3 to 11.0 (#8359) by @dependabot[bot]
- chore(deps-dev): bump types-requests from 2.33.0.20260518 to 2.33.0.20260712 (#8343) by @dependabot[bot]
- chore(deps): bump valkey-glide from 2.4.1 to 2.5.0 (#8345) by @dependabot[bot]
- chore(deps): bump mkdocstrings-python from 1.19.0 to 2.0.5 (#8344) by @dependabot[bot]
- chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 in /docs (#8358) by @dependabot[bot]
- chore(deps-dev): bump aws-cdk from 2.1129.0 to 2.1130.0 in the aws-cdk group (#8339) by @dependabot[bot]
- chore(deps): bump the github-actions group across 1 directory with 9 updates (#8357) by @dependabot[bot]
- chore(deps): bump aws-cdk-lib from 2.223.0 to 2.253.0 in /layer_v3 (#8360) by @dependabot[bot]
- chore(deps-dev): bump gitpython from 3.1.50 to 3.1.57 (#8363) by @dependabot[bot]
- chore(deps): bump aws-encryption-sdk from 4.0.5 to 4.0.6 (#8346) by @dependabot[bot]
- chore(deps): bump cryptography from 48.0.1 to 50.0.0 (#8364) by @dependabot[bot]
- chore(deps): bump gitpython from 3.1.50 to 3.1.57 in /docs (#8362) by @dependabot[bot]
This release was made possible by the following contributors:
@DebadityaHait, @leandrodamascena, @vishwakt and @dependabot[bot]