Skip to content

build(deps-dev): bump aws-lambda-powertools from 3.30.0 to 3.31.0#137

Merged
github-actions[bot] merged 1 commit into
developfrom
dependabot/pip/aws-lambda-powertools-3.31.0
Jul 6, 2026
Merged

build(deps-dev): bump aws-lambda-powertools from 3.30.0 to 3.31.0#137
github-actions[bot] merged 1 commit into
developfrom
dependabot/pip/aws-lambda-powertools-3.31.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 6, 2026

Copy link
Copy Markdown
Contributor

Bumps aws-lambda-powertools from 3.30.0 to 3.31.0.

Release notes

Sourced from aws-lambda-powertools's releases.

v3.31.0

Summary

This release adds a new Circuit Breaker utility (in alpha) that stops your Lambda from sending requests to an unhealthy downstream and gives it time to recover. We also made parameter validation in the Event Handler more flexible, so any Pydantic Field annotation now works with any parameter type.

A huge thanks to everyone who helped shape the Circuit Breaker RFC and reviewed this release!

Circuit Breaker (alpha)

Docs

When a downstream service is failing, retries and Lambda's scaling only make it worse: more clients sending requests to something that is already down. The Circuit Breaker stops sending traffic to an unhealthy dependency, then probes it to see when it is safe to resume.

It ships as circuit_breaker_alpha on purpose. We want about a month of real-world feedback before we lock the public API and promote it to GA.

The smallest setup is a persistence store and a name. You wrap the function that makes the downstream call:

from aws_lambda_powertools.utilities.circuit_breaker_alpha import circuit_breaker
from aws_lambda_powertools.utilities.circuit_breaker_alpha.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)

With no config, sensible defaults apply: open after 5 failures in a row, probe after 30s, close after 3 successes, and treat any exception as a failure. A few things make it a good fit for Lambda:

  • It's free when healthy. The failure counter lives in memory, so a healthy circuit writes nothing. We only save state when it changes, so you pay during an incident, which is when you want to.
  • State is shared across environments. Circuit state lives in DynamoDB, so the first environment that opens the circuit protects all the others.
  • It fails open. If the state store can't be reached, the request goes through. A circuit breaker should never become the outage it's meant to prevent.
  • One probe on recovery. When the timer is up, only one environment is selected to test the backend, instead of all of them sending requests at the same time.

When the circuit is open, you decide what happens to the rejected request with an on_circuit_open callback (buffer it, drop it, return a cached value), or let it raise CircuitBreakerOpenError. You can also watch state changes with an on_transition hook to emit your own metrics.

import json
from uuid import uuid4
from aws_lambda_powertools.utilities.circuit_breaker_alpha import circuit_breaker
</tr></table>

... (truncated)

Changelog

Sourced from aws-lambda-powertools's changelog.

[v3.31.0] - 2026-06-29

Features

  • event_handler: support any Pydantic Field annotation in parameter (#8305)

Maintenance

  • version bump

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 6, 2026
Bumps [aws-lambda-powertools](https://github.com/aws-powertools/powertools-lambda-python) from 3.30.0 to 3.31.0.
- [Release notes](https://github.com/aws-powertools/powertools-lambda-python/releases)
- [Changelog](https://github.com/aws-powertools/powertools-lambda-python/blob/develop/CHANGELOG.md)
- [Commits](aws-powertools/powertools-lambda-python@v3.30.0...v3.31.0)

---
updated-dependencies:
- dependency-name: aws-lambda-powertools
  dependency-version: 3.31.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/aws-lambda-powertools-3.31.0 branch from 2d5a437 to 1ebec7b Compare July 6, 2026 03:10
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@github-actions github-actions Bot merged commit 6e6d740 into develop Jul 6, 2026
6 checks passed
@github-actions github-actions Bot deleted the dependabot/pip/aws-lambda-powertools-3.31.0 branch July 6, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants