Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 2, 2026

Bumps aws-lambda-powertools from 2.35.1 to 3.24.0.

Release notes

Sourced from aws-lambda-powertools's releases.

v3.24.0

Summary

This release adds support for Lambda durable function replay in idempotency, a new parser model for DynamoDB Stream on-failure destinations, and a fix for batch processor. We've also dropped Python 3.9 support.

A super thanks to @​ConnorKirk for implementing the idempotency replay feature and @​exg for the batch processor fix and DynamoDB Stream parser model 🚀🌟

Idempotency: Allow durable functions to replay

Docs

AWS Lambda durable functions enable you to build resilient multi-step applications that can execute for up to one year while maintaining reliable progress despite interruptions. When a durable function resumes from a wait point or interruption, the system performs replay - running your code from the beginning but skipping completed checkpoints.

This release adds support for durable function replay in idempotency. When using the @idempotent decorator on lambda_handler, replay is automatically detected from the DurableContext - no manual configuration needed.

from aws_lambda_powertools.utilities.idempotency import idempotent, DynamoDBPersistenceLayer, IdempotencyConfig
persistence_layer = DynamoDBPersistenceLayer(table_name="idempotency_store")
config = IdempotencyConfig(event_key_jmespath="body")
@​idempotent(config=config, persistence_store=persistence_layer)
def lambda_handler(event, context):
# Replay is automatically detected when context is a DurableContext
# During replay, INPROGRESS records are handled gracefully
return {"statusCode": 200}

DynamoDB Stream On-Failure Destination parser model

Docs

A new parser model DynamoDBStreamLambdaOnFailureDestinationModel is now available for parsing DynamoDB Stream on-failure destination events.

from aws_lambda_powertools.utilities.parser import parse
from aws_lambda_powertools.utilities.parser.models import DynamoDBStreamLambdaOnFailureDestinationModel
def lambda_handler(event, context):
parsed = parse(event=event, model=DynamoDBStreamLambdaOnFailureDestinationModel)
batch_info = parsed.ddb_stream_batch_info
print(f"Failed batch from shard: {batch_info.shard_id}")
print(f"Stream ARN: {batch_info.stream_arn}")

Changes

... (truncated)

Changelog

Sourced from aws-lambda-powertools's changelog.

[v3.24.0] - 2026-01-05

Maintenance

  • version bump
  • ci: remove daily changelog rebuild schedule (#7897)

[v3.23.0] - 2025-11-13

Bug Fixes

  • layer: bump cdk version (#7677)

Documentation

  • batch: fix error handling code highlight line number (#7638)
  • openapi: Update docstring's openapi default version to match current default version (#7669)

Maintenance

  • version bump
  • ci: new pre-release 3.22.2a0 (#7642)
  • ci: new pre-release 3.22.2a1 (#7646)
  • ci: adding support for Python 3.14 - WIP (#7431)
  • ci: new pre-release 3.22.2a2 (#7652)
  • ci: new pre-release 3.22.2a3 (#7659)
  • ci: new pre-release 3.22.2a4 (#7674)
  • deps: bump actions/dependency-review-action from 4.8.1 to 4.8.2 (#7662)
  • deps: bump pydantic from 2.12.3 to 2.12.4 (#7641)
  • deps: bump docker/setup-qemu-action from 3.6.0 to 3.7.0 (#7639)
  • deps: bump squidfunk/mkdocs-material from 58dee36 to 980e11f in /docs (#7661)
  • deps: bump mkdocstrings-python from 1.18.2 to 1.19.0 in /docs (#7655)
  • deps: bump mkdocs-material from 9.6.23 to 9.7.0 in /docs (#7663)
  • deps-dev: bump aws-cdk-lib from 2.222.0 to 2.223.0 (#7656)
  • deps-dev: bump types-python-dateutil from 2.9.0.20251008 to 2.9.0.20251108 (#7657)
  • deps-dev: bump aws-cdk from 2.1031.1 to 2.1031.2 (#7645)
  • deps-dev: bump boto3-stubs from 1.40.70 to 1.40.71 (#7672)
  • deps-dev: bump sentry-sdk from 2.43.0 to 2.44.0 (#7665)
  • deps-dev: bump aws-cdk-aws-lambda-python-alpha from 2.222.0a0 to 2.223.0a0 (#7664)
  • deps-dev: bump boto3-stubs from 1.40.64 to 1.40.69 (#7654)
  • deps-dev: bump types-protobuf from 6.32.1.20250918 to 6.32.1.20251105 (#7640)
  • deps-dev: bump pytest-benchmark from 5.2.1 to 5.2.3 (#7658)
  • deps-dev: bump nox from 2025.10.16 to 2025.11.12 (#7671)
  • deps-dev: bump ruff from 0.14.3 to 0.14.4 (#7649)
  • docs: fix broken images (#7644)

[v3.22.1] - 2025-11-05

Bug Fixes

... (truncated)

Upgrade guide

Sourced from aws-lambda-powertools's upgrade guide.


title: Upgrade guide description: Guide to update between major Powertools for AWS Lambda (Python) versions

End of support v2

!!! warning "On March 25st, 2025, Powertools for AWS Lambda (Python) v2 reached end of support and will no longer receive updates or releases. If you are still using v2, we strongly recommend you to read our upgrade guide and update to the latest version."

Given our commitment to all of our customers using Powertools for AWS Lambda (Python), we will keep Pypi{target="_blank"} v2 releases and documentation 2.x versions to prevent any disruption.

Migrate to v3 from v2

!!! info "We strongly encourage you to migrate to v3. However, if you still need to upgrade from v1 to v2, you can find the upgrade guide."

We've made minimal breaking changes to make your transition to v3 as smooth as possible.

Quick summary

Area Change Code change required
Pydantic We have removed support for Pydantic v1 No
Parser We have replaced DynamoDBStreamModel AttributeValue with native Python types Yes
Parser We no longer export Pydantic objects from parser.pydantic. Yes
Lambda layer Lambda layers are now compiled according to the specific Python version and architecture No
Event Handler We have deprecated the get_header_value function. Yes
Batch Processor @batch_processor and @async_batch_processor decorators are now deprecated Yes
Event Source Data Classes We have updated default values for optional fields. Yes
Parameters The default cache TTL is now set to 5 minutes No
Parameters The config parameter is deprecated in favor of boto_config Yes
JMESPath Functions The extract_data_from_envelope function is deprecated in favor of query Yes
Types file We have removed the type imports from the shared/types.py file Yes

First Steps

Before you start, we suggest making a copy of your current working project or create a new branch with git.

  1. Upgrade Python to at least v3.10.
  2. Ensure you have the latest version via Lambda Layer or PyPi{target="_blank"}.
  3. Review the following sections to confirm if you need to make changes to your code.

Drop support for Pydantic v1

!!! note "No code changes required"

As of June 30, 2024, Pydantic v1 has reached its end-of-life, and we have discontinued support for this version. We now exclusively support Pydantic v2.

Use Pydantic v2 Migration Guide{target="_blank"} to migrate your custom Pydantic models to v2.

... (truncated)

Commits
  • d561d12 chore: version bump
  • 608df1b chore(ci): remove daily changelog rebuild schedule (#7897)
  • 33f2c8f docs(homepage): reorganize homepage and create dedicated installation page (#...
  • c30d9d4 chore(ci): remove automated pre-release schedule (#7894)
  • 2696e54 chore(deps-dev): bump boto3-stubs from 1.42.19 to 1.42.21 (#7892)
  • 10226f9 chore(deps): bump the github-actions group with 2 updates (#7893)
  • f0102a9 chore(ci): improve dependabot workflow to reduce noise (#7890)
  • 787bcae chore(deps-dev): bump boto3-stubs from 1.42.17 to 1.42.19 (#7873)
  • 6721e91 docs(readme): update features list and improve readability (#7889)
  • 26abeee chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.232.2a0 to 2.233...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Feb 2, 2026
@dependabot dependabot bot requested a review from a team as a code owner February 2, 2026 01:50
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Feb 2, 2026
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

💥 Something went wrong while deploying the pull request environment.
Check Output Logs

Bumps [aws-lambda-powertools](https://github.com/aws-powertools/powertools-lambda-python) from 2.35.1 to 3.24.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)
- [Upgrade guide](https://github.com/aws-powertools/powertools-lambda-python/blob/develop/docs/upgrade.md)
- [Commits](aws-powertools/powertools-lambda-python@v2.35.1...v3.24.0)

---
updated-dependencies:
- dependency-name: aws-lambda-powertools
  dependency-version: 3.24.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/aws-lambda-powertools-3.24.0 branch from 3d323e7 to b9bb1a1 Compare February 9, 2026 01:34
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 9, 2026

@github-actions
Copy link

github-actions bot commented Feb 9, 2026

🚀 PR environment successfully deployed.
Commit Hash: b9bb1a16dfb489fcee7b40ab468c5dd7a5744eda
URL: https://01ba47.api.record-locator.dev.national.nhs.uk/

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