Summary
We are thrilled to announce support for querying Powertools Lambda layers ARN using SSM public parameters.
We also added support for API Gateway WebSocket events in the parser utility and added Lambda layer support in the AWS Malaysia region (ap-southeast-5).
Thanks to @tcysin, we have added deprecated
flag support when working with OpenAPI operations in the Event handler.
π β Congratulations to our new contributors @TurnrDev and @tcysin for getting their first PR merged!
Using Powertools SSM public parameters
Customers can now retrieve the latest Powertools for AWS Lambda (Python) layer ARN for Python versions 3.8 through 3.13 on both x86_64 and arm64 architectures using AWS Systems Manager Parameter Store.
To do this, simply use the AWS CLI command aws ssm get-parameter
with the appropriate parameter name. For example, use /aws/service/powertools/python/<architecture>/<python_version>/latest
, replacing with either "x86_64" or "arm64", and <python_version> with your desired Python version (e.g., "python3.8", "python3.9", etc.).
New parser models
We have improved the Parser utility by adding support for events from API Gateway WebSocket.
Here are all the modules we have added for EventModel:
- APIGatewayWebSocketMessageEventModel - For WebSocket messages events
- APIGatewayWebSocketConnectEventModel - For WebSocket $connect events
- APIGatewayWebSocketDisconnectEventModel - For WebSocket $disconnect events
π Thanks @ran-isenberg for another great contribution!
Using deprecated flag in the OpenAPI schema
You can now use the deprecated
flag in your OpenAPI schema to mark operations that are no longer recommended. This helps customers clarify which parts of your API should be avoided in favor of newer options.
Last but not least, thanks to @junkor-1011 for catching a bug in the Parser utility.
Changes
- refactor(event_handler): add type annotations for router decorators (#5601) by @rafrafek
- refactor(event_handler): add type annotations for
resolve
function (#5602) by @rafrafek
πNew features and non-breaking changes
- feat(ssm): Parameters for resolving to versioned layers (#5754) by @sthulb
- feat(event_handler): mark API operation as deprecated for OpenAPI documentation (#5732) by @tcysin
- feat(layer): add new ap-southeast-5 region (#5769) by @sthulb
- feat(metrics): warn when overwriting dimension (#5653) by @anafalcao
- feat(parser): add models for API GW Websockets events (#5597) by @ran-isenberg
- feat(event_handler): add exception handling mechanism for AppSyncResolver (#5588) by @leandrodamascena
π Documentation updates
- fix(docs): typo in homepage extra dependencies command (#5681) by @TurnrDev
- feat(parser): add models for API GW Websockets events (#5597) by @ran-isenberg
- feat(event_source): Extend CodePipeline Artifact Capabilities (#5448) by @mw-root
- docs(layer): update layer version number - v3.3.0 (#5562) by @leandrodamascena
π Bug and hot fixes
- fix(parser): remove AttributeError validation from event_parser function (#5742) by @anafalcao
- fix(ci): add overwrite to SSM workflow (#5775) by @sthulb
- fix(parser): remove 'aws:' prefix from SelfManagedKafka model (#5584) by @anafalcao
- fix(openapi): Allow values of any type in the examples of the Schema Object. (#5575) by @tonsho
π§ Maintenance
- chore(ci): adding missing region in matrix (#5777) by @leandrodamascena
- chore(deps-dev): bump ruff from 0.8.3 to 0.8.4 (#5772) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.173.1a0 to 2.173.2a0 (#5771) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.84 to 1.35.85 (#5770) by @dependabot
- chore(ci): disable dry run in layer balancing workflow (#5768) by @sthulb
- chore(deps-dev): bump aws-cdk-lib from 2.173.1 to 2.173.2 (#5759) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.81 to 1.35.84 (#5765) by @dependabot
- chore(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (#5764) by @dependabot
- chore(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0 (#5763) by @dependabot
- chore(deps): bump pydantic from 2.10.3 to 2.10.4 (#5760) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.173.1 to 2.173.2 (#5762) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.173.0a0 to 2.173.1a0 (#5755) by @dependabot
- chore(ci): add workflow to balance layers per region (#5752) by @sthulb
- chore(deps-dev): bump aws-cdk-lib from 2.173.0 to 2.173.1 (#5747) by @dependabot
- chore(deps-dev): bump mkdocs-material from 9.5.48 to 9.5.49 (#5748) by @dependabot
- chore(deps): bump docker/setup-buildx-action from 3.7.1 to 3.8.0 (#5744) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.173.0 to 2.173.1 (#5745) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
d485eb6
toba73db5
in /docs (#5746) by @dependabot - chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.17 to 3.0.18 (#5743) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.22.1 to 1.22.2 (#5749) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.80 to 1.35.81 (#5750) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.172.0a0 to 2.173.0a0 (#5736) by @dependabot
- chore(deps): bump pydantic-settings from 2.6.1 to 2.7.0 (#5735) by @dependabot
- chore(deps-dev): bump mkdocs-material from 9.5.47 to 9.5.48 (#5717) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.172.0 to 2.173.0 (#5731) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.78 to 1.35.80 (#5730) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.22.0 to 1.22.1 (#5729) by @dependabot
- chore(deps-dev): bump ruff from 0.8.2 to 0.8.3 (#5728) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.172.0 to 2.173.0 (#5727) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.171.1a0 to 2.172.0a0 (#5724) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.77 to 1.35.78 (#5723) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.21.0 to 1.22.0 (#5718) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.171.1 to 2.172.0 (#5719) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.76 to 1.35.77 (#5716) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.20.2 to 1.21.0 (#5711) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
3f571e7
tod485eb6
in /docs (#5710) by @dependabot - chore(deps-dev): bump aws-cdk from 2.171.1 to 2.172.0 (#5712) by @dependabot
- chore(deps): bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 (#5709) by @dependabot
- chore(deps): bump codecov/codecov-action from 5.1.0 to 5.1.1 (#5703) by @dependabot
- chore(deps-dev): bump httpx from 0.28.0 to 0.28.1 (#5702) by @dependabot
- chore(deps): bump redis from 5.2.0 to 5.2.1 (#5701) by @dependabot
- chore(deps-dev): bump types-python-dateutil from 2.9.0.20241003 to 2.9.0.20241206 (#5700) by @dependabot
- chore(deps-dev): bump sentry-sdk from 2.19.1 to 2.19.2 (#5699) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.285 to 0.1.287 (#5685) by @dependabot
- chore(deps-dev): bump sentry-sdk from 2.19.0 to 2.19.1 (#5694) by @dependabot
- chore(deps-dev): bump pytest from 8.3.3 to 8.3.4 (#5695) by @dependabot
- chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.0 (#5692) by @dependabot
- chore(deps-dev): bump ruff from 0.8.1 to 0.8.2 (#5693) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.71 to 1.35.74 (#5691) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.20.1 to 1.20.2 (#5686) by @dependabot
- chore(deps): bump pydantic from 2.10.2 to 2.10.3 (#5682) by @dependabot
- chore(deps-dev): bump mkdocs-material from 9.5.46 to 9.5.47 (#5677) by @dependabot
- chore(deps-dev): bump ruff from 0.8.0 to 0.8.1 (#5671) by @dependabot
- chore(deps): bump fastjsonschema from 2.20.0 to 2.21.1 (#5676) by @dependabot
- chore(deps-dev): bump httpx from 0.27.2 to 0.28.0 (#5665) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
d063d84
to3f571e7
in /docs (#5678) by @dependabot - chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.171.0a0 to 2.171.1a0 (#5666) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.171.0 to 2.171.1 (#5662) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.171.0 to 2.171.1 (#5661) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.69 to 1.35.71 (#5660) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.20.0 to 1.20.1 (#5659) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.284 to 0.1.285 (#5642) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.170.0a0 to 2.171.0a0 (#5655) by @dependabot
- chore(deps): bump pydantic from 2.10.1 to 2.10.2 (#5654) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
ef0b45e
tod063d84
in /docs (#5649) by @dependabot - chore(deps-dev): bump mkdocs-material from 9.5.45 to 9.5.46 (#5645) by @dependabot
- chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.16 to 3.0.17 (#5643) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.170.0 to 2.171.0 (#5647) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.170.0 to 2.171.0 (#5648) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.67 to 1.35.69 (#5652) by @dependabot
- chore(deps-dev): bump ruff from 0.7.4 to 0.8.0 (#5630) by @dependabot
- chore(ci): replace closed-issue-message action with powertools action (#5641) by @dreamorosi
- chore(ci): revert closed issue action update (#5637) by @leandrodamascena
- chore(deps): bump datadog-lambda from 6.102.0 to 6.104.0 (#5631) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.169.0 to 2.170.0 (#5628) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.167.2a0 to 2.170.0a0 (#5629) by @dependabot
- chore(deps): bump pydantic from 2.10.0 to 2.10.1 (#5632) by @dependabot
- chore(deps-dev): bump sentry-sdk from 2.18.0 to 2.19.0 (#5633) by @dependabot
- chore(ci): remove poetry cache in quality check pipeline (#5626) by @leandrodamascena
- chore(deps-dev): bump mkdocs-material from 9.5.44 to 9.5.45 (#5610) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.64 to 1.35.67 (#5621) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.167.2 to 2.170.0 (#5622) by @dependabot
- chore(deps): bump codecov/codecov-action from 5.0.3 to 5.0.7 (#5617) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.167.2 to 2.169.0 (#5618) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.282 to 0.1.284 (#5607) by @dependabot
- chore(deps): bump actions/dependency-review-action from 4.4.0 to 4.5.0 (#5616) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
ce587cb
toef0b45e
in /docs (#5603) by @dependabot - chore(deps): bump aws-actions/closed-issue-message from 80edfc24bdf1283400eb04d20a8a605ae8bf7d48 to 37548691e7cc75ba58f85c9f873f9eee43590449 (#5606) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.167.1a0 to 2.167.2a0 (#5619) by @dependabot
- chore(deps): bump pydantic from 2.9.2 to 2.10.0 (#5611) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.281 to 0.1.282 (#5594) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.19.0 to 1.20.0 (#5595) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.167.1 to 2.167.2 (#5593) by @dependabot
- chore(deps): bump codecov/codecov-action from 5.0.2 to 5.0.3 (#5592) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.167.1 to 2.167.2 (#5596) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.63 to 1.35.64 (#5582) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.167.0a0 to 2.167.1a0 (#5583) by @dependabot
- chore(deps): bump datadog-lambda from 6.101.0 to 6.102.0 (#5570) by @dependabot
- chore(deps): bump aws-encryption-sdk from 3.3.0 to 4.0.0 (#5564) by @dependabot
- chore(deps): bump codecov/codecov-action from 4.6.0 to 5.0.2 (#5567) by @dependabot
- chore(deps-dev): bump boto3-stubs from 1.35.60 to 1.35.63 (#5581) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.167.0 to 2.167.1 (#5572) by @dependabot
- chore(deps-dev): bump ruff from 0.7.3 to 0.7.4 (#5569) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.167.0 to 2.167.1 (#5568) by @dependabot
- chore(layers): balance Python 3.13 layers in GovCloud partition (#5579) by @leandrodamascena
This release was made possible by the following contributors:
@TurnrDev, @anafalcao, @dependabot, @dependabot[bot], @dreamorosi, @github-actions, @github-actions[bot], @leandrodamascena, @mw-root, @rafrafek, @ran-isenberg, @sthulb, @tcysin and @tonsho