Skip to content

build(deps): bump aws-lambda-powertools from 3.29.0 to 3.31.0 in /lambda#106

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/lambda/aws-lambda-powertools-3.31.0
Closed

build(deps): bump aws-lambda-powertools from 3.29.0 to 3.31.0 in /lambda#106
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/lambda/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:14
@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/lambda/aws-lambda-powertools-3.31.0 branch from 7069fd0 to ae81e0c Compare July 6, 2026 21:11
@dependabot dependabot Bot force-pushed the dependabot/pip/lambda/aws-lambda-powertools-3.31.0 branch from ae81e0c to 80c54ac Compare July 7, 2026 15:34
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/lambda/aws-lambda-powertools-3.31.0 branch from 80c54ac to d676cf6 Compare July 7, 2026 15:36
@dependabot @github

dependabot Bot commented on behalf of github Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

Looks like aws-lambda-powertools is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Jul 7, 2026
auto-merge was automatically disabled July 7, 2026 15:44

Pull request was closed

@dependabot dependabot Bot deleted the dependabot/pip/lambda/aws-lambda-powertools-3.31.0 branch July 7, 2026 15:44
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