Skip to content

build(deps): bump aws-lambda-powertools from 3.29.0 to 3.31.0#111

Merged
github-actions[bot] merged 2 commits into
mainfrom
dependabot/pip/aws-lambda-powertools-3.31.0
Jul 7, 2026
Merged

build(deps): bump aws-lambda-powertools from 3.29.0 to 3.31.0#111
github-actions[bot] merged 2 commits into
mainfrom
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.29.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

[v3.30.0] - 2026-06-24

Bug Fixes

  • batch: add optional logger injection for BatchProcessors (#7553) (#8272)
  • docs: update broken AWS Lambda Metadata Endpoint link (#8209)
  • event-handler: handle CORS preflight OPTIONS in HttpResolverLocal (#8268)
  • event-handler: fix ruff lint violations in event_handler module (#8208)

Code Refactoring

  • event_handler: promote HttpResolver to stable (#8289)

Documentation

  • event-handler: add import path gotcha for dependency_overrides testing (#8269)
  • metadata: fix broken Lambda Metadata Endpoint link (#8212)

Features

  • event_handler: allow custom serializer on BedrockAgentResolver (#8271)

Maintenance

  • version bump
  • fix minor typos and grammar in docs and comments (#8245)
  • deps: bump the github-actions group across 1 directory with 5 updates (#8256)
  • deps: bump ujson from 5.12.1 to 5.13.0 (#8298)
  • deps: bump pydantic-settings from 2.14.1 to 2.14.2 (#8299)
  • deps: bump cryptography from 46.0.7 to 48.0.1 (#8286)
  • deps: consolidate Dependabot dependency updates (#8285)
  • deps: batch dependency updates (#8207)
  • deps: bump gitpython from 3.1.47 to 3.1.50 in /docs (#8213)
  • deps: bump urllib3 from 2.6.3 to 2.7.0 in /docs (#8216)
  • deps: consolidate dependabot updates (13052026) (#8228)
  • deps: bump the github-actions group with 3 updates (#8221)
  • deps: bump codecov/codecov-action from 6.0.1 to 7.0.0 in the github-actions group (#8260)
  • deps: consolidate all open Dependabot updates (#8241)
  • deps: bump the github-actions group with 2 updates (#8292)
  • deps: bump pydantic from 2.12.5 to 2.13.4 (#8252)

... (truncated)

Commits
  • 676c7cd chore: version bump
  • 2c6b5e0 feat(event_handler): support any Pydantic Field annotation in parameter (#8305)
  • 6c203ea chore(deps): bump redis from 7.4.0 to 8.0.1 (#8297)
  • a9cffe4 chore(deps-dev): bump sentry-sdk from 2.62.0 to 2.63.0 (#8296)
  • 29c5dc8 chore(deps-dev): bump boto3-stubs from 1.43.29 to 1.43.36 (#8295)
  • e7e6745 feat: adding circuit breaker feature (#8266)
  • 01e1e88 chore(ci): bump version to 3.30.0 (#8302)
  • 697c8d1 chore(ci): layer docs update (#8303)
  • ea8f79e chore(deps-dev): bump aws-cdk-lib from 2.259.0 to 2.260.0 (#8294)
  • b58376c chore(deps-dev): bump aws-cdk from 2.1127.0 to 2.1128.1 in the aws-cdk group ...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 6, 2026
@github-actions github-actions Bot enabled auto-merge (squash) July 6, 2026 13:16
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

🏗️ CDK infra diff — PR vs main

ServerlessApp-us-east-1-stage/ServerlessAppBackend-us-east-1
Stack ServerlessApp-us-east-1-stage/ServerlessAppBackend-us-east-1 (ServerlessAppBackend-us-east-1)
Resources
[-] AWS::Lambda::Version ServerlessAppBackend-us-east-1/App/ApiFunction/CurrentVersion AppApiFunctionCurrentVersion01C510AC8b22f4093f72d7fd2b8f6047d7c76862 destroy
[+] AWS::Lambda::Version ServerlessAppBackend-us-east-1/App/ApiFunction/CurrentVersion AppApiFunctionCurrentVersion01C510AC3f1d65f272b884e62cef2387146e55b2
[~] AWS::Lambda::Function ServerlessAppBackend-us-east-1/App/ApiFunction AppApiFunctionDE515850
 ├─ [~] Code
 │   └─ [~] .S3Key:
 │       ├─ [-] 05186ca688189613c266d1cb14cdbd460d7011458ab4f5a238fe2557084e47af.zip
 │       └─ [+] 632c9e4f0820a76d728b9764a2f84266948dc6e7a8ae3ea7eab17f983d9a1bda.zip
 └─ [~] Metadata
     └─ [~] .aws:asset:path:
         ├─ [-] ../asset.05186ca688189613c266d1cb14cdbd460d7011458ab4f5a238fe2557084e47af
         └─ [+] ../asset.632c9e4f0820a76d728b9764a2f84266948dc6e7a8ae3ea7eab17f983d9a1bda
[~] AWS::Lambda::Alias ServerlessAppBackend-us-east-1/App/LiveAlias AppLiveAlias3872472E
 └─ [~] FunctionVersion
     └─ [~] .Fn::GetAtt:
         └─ @@ -1,4 +1,4 @@
            [ ] [
            [-]   "AppApiFunctionCurrentVersion01C510AC8b22f4093f72d7fd2b8f6047d7c76862",
            [+]   "AppApiFunctionCurrentVersion01C510AC3f1d65f272b884e62cef2387146e55b2",
            [ ]   "Version"
            [ ] ]



✨  Number of stacks with differences: 1

@dependabot dependabot Bot force-pushed the dependabot/pip/aws-lambda-powertools-3.31.0 branch from 01d1d27 to 6a84989 Compare July 6, 2026 21:11
@dependabot dependabot Bot force-pushed the dependabot/pip/aws-lambda-powertools-3.31.0 branch from 6a84989 to 107361b Compare July 7, 2026 15:31
@dependabot dependabot Bot force-pushed the dependabot/pip/aws-lambda-powertools-3.31.0 branch from 107361b to 44d5bf4 Compare July 7, 2026 15:33
Bumps [aws-lambda-powertools](https://github.com/aws-powertools/powertools-lambda-python) from 3.29.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.29.0...v3.31.0)

---
updated-dependencies:
- dependency-name: aws-lambda-powertools
  dependency-version: 3.31.0
  dependency-type: direct:production
  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 44d5bf4 to bfcc8d9 Compare July 7, 2026 15:36
@github-actions github-actions Bot merged commit 6a0a2a3 into main Jul 7, 2026
8 checks passed
@dependabot dependabot Bot deleted the dependabot/pip/aws-lambda-powertools-3.31.0 branch July 7, 2026 15:42
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.

1 participant