Summary
We're excited to introduce some significant new features and improvements in this release:
- Support for creating and updating Parameters and Secrets
- Custom timestamps are now available with the EMF Metrics Provider for creating metrics
- New flag for optimized batch processing with SQS Fifo queues
- Introducing the new CloudWatchAlarmEvent data class
We also made enhancements to our OpenAPI and type checking, and fixed some bugs!
⭐ Huge thanks to our new contributors: @rafrafek, @xquek, and @par6n!
Creating and updating Parameters and Secrets
In response to our customer requests, Powertools now provides an enhanced experience for effortlessly creating and updating Parameters and Secrets. Recognizing the critical importance of parameters and secrets management, we created this new feature to empower customers with a seamless experience in managing their sensitive information.
A big thank you to @stephenbawks for their dedicated effort in implementing this new feature.
EMF Metrics with custom timestamp
Some customers may need to create metrics with specific timestamps, to address this use case we've added the capability set custom metrics with specific timestamps to improve customer flexibility. Previously, this was not possible and all metrics were generated with the current timestamp.
New flag for optimized batch processing with SQS Fifo queues
We've created a new flag to enable seamless processing of messages from different group IDs. Activating this flag ensures that messages from a failed group ID are returned to SQS, allowing uninterrupted processing of messages from subsequent group IDs.
Thank you @duc00, for highlighting such an important matter and contributing to the improvement of this utility.
New CloudWatchAlarmEvent data class
Customers now have the ability to utilize CloudWatchAlarmEvent
, which provides Type hinting and code completion support for this event, enhancing the development experience.
Last but not least, we've made significant improvements to our OpenAPI utility and fixed bugs to ensure a smoother experience. See all the latest improvements and bugfix in the changes section.
Changes
- refactor(logger): add type annotation for append_keys method (#3988) by @rafrafek
- refactor(parameters): improve typing for get_secret method (#3910) by @TonySherman
🌟New features and non-breaking changes
- feat(metrics): allow custom timestamps for metrics (#4006) by @leandrodamascena
- feat(parameters): add feature for creating and updating Parameters and Secrets (#2858) by @stephenbawks
- feat(batch): add flag in SqsFifoProcessor to enable continuous message processing (#3954) by @leandrodamascena
- feat(tracer): auto-disable tracer when for AWS SAM and Chalice environments (#3949) by @leandrodamascena
- feat(event_handler): define exception_handler directly from the router (#3979) by @leandrodamascena
- feat(event-handler): add compress option when serving Swagger HTML (#3946) by @xquek
- feat(data_classes): Add CloudWatchAlarmEvent data class (#3868) by @par6n
📜 Documentation updates
- docs(batch): improved the example demonstrating how to create a custom partial processor. (#4024) by @leandrodamascena
- docs(tutorial): fix "Simplifying with Tracer" section in the tutorial (#3962) by @leandrodamascena
- docs(bedrock-agents): fix type in Bedrock operation example (#3948) by @eldritchideen
🐛 Bug and hot fixes
- fix(tracer): add name sanitization for X-Ray subsegments (#4005) by @leandrodamascena
- fix(event_handler): always add 422 response to the schema (#3995) by @rubenfonseca
- fix(event_handler): make decoded_body field optional in ApiGateway resolver (#3937) by @leandrodamascena
🔧 Maintenance
- chore(deps-dev): bump aws-cdk-lib from 2.133.0 to 2.134.0 (#4031) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.104 to 0.1.105 (#4030) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.133.0 to 2.134.0 (#4032) by @dependabot
- chore(deps-dev): bump the boto-typing group with 1 update (#4029) by @dependabot
- chore(deps): bump codecov/codecov-action from 4.1.0 to 4.1.1 (#4021) by @dependabot
- chore(deps): bump actions/setup-python from 5.0.0 to 5.1.0 (#4022) by @dependabot
- chore(deps): bump actions/dependency-review-action from 4.2.4 to 4.2.5 (#4023) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.101 to 0.1.104 (#4020) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
6c81a89
to3307665
in /docs (#4017) by @dependabot - chore(deps-dev): bump mkdocs-material from 9.5.14 to 9.5.15 (#4016) by @dependabot
- chore(deps-dev): bump pytest-cov from 4.1.0 to 5.0.0 (#4013) by @dependabot
- chore(deps-dev): bump filelock from 3.13.1 to 3.13.3 (#4014) by @dependabot
- chore(deps): bump actions/dependency-review-action from 4.2.3 to 4.2.4 (#4012) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.99 to 0.1.101 (#4015) by @dependabot
- chore(deps-dev): bump pytest-mock from 3.13.0 to 3.14.0 (#4007) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.96 to 0.1.99 (#4008) by @dependabot
- chore(deps-dev): bump cfn-lint from 0.86.0 to 0.86.1 (#3998) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.94 to 0.1.96 (#4002) by @dependabot
- chore(deps-dev): bump pytest-mock from 3.12.0 to 3.13.0 (#3999) by @dependabot
- chore(deps-dev): bump ruff from 0.3.3 to 0.3.4 (#3996) by @dependabot
- chore(deps): bump slsa-framework/slsa-github-generator from 1.9.0 to 1.10.0 (#3997) by @dependabot
- chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 1 update (#4001) by @dependabot
- chore(deps-dev): bump sentry-sdk from 1.42.0 to 1.43.0 (#3992) by @dependabot
- chore(deps): bump actions/dependency-review-action from 4.1.3 to 4.2.3 (#3993) by @dependabot
- chore(deps-dev): bump the boto-typing group with 1 update (#3991) by @dependabot
- chore(deps-dev): bump pytest-asyncio from 0.23.5.post1 to 0.23.6 (#3984) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.91 to 0.1.94 (#3985) by @dependabot
- chore(deps): bump aws-encryption-sdk from 3.1.1 to 3.2.0 (#3983) by @dependabot
- chore(deps-dev): bump the boto-typing group with 2 updates (#3982) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.132.1a0 to 2.133.0a0 (#3976) by @dependabot
- chore(deps-dev): bump mkdocs-material from 9.5.13 to 9.5.14 (#3978) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.90 to 0.1.91 (#3975) by @dependabot
- chore(deps-dev): bump types-python-dateutil from 2.9.0.20240315 to 2.9.0.20240316 (#3977) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
3678304
to6c81a89
in /docs (#3973) by @dependabot - chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates (#3972) by @dependabot
- chore(deps-dev): bump the boto-typing group with 2 updates (#3974) by @dependabot
- chore(deps-dev): bump ruff from 0.3.2 to 0.3.3 (#3967) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.132.1 to 2.133.0 (#3965) by @dependabot
- chore(deps-dev): bump black from 24.2.0 to 24.3.0 (#3968) by @dependabot
- chore(deps-dev): bump types-python-dateutil from 2.8.19.20240311 to 2.9.0.20240315 (#3966) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.132.1 to 2.133.0 (#3963) by @dependabot
- chore(deps-dev): bump the boto-typing group with 1 update (#3964) by @dependabot
- chore(deps): bump datadog-lambda from 5.90.0 to 5.91.0 (#3958) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.89 to 0.1.90 (#3957) by @dependabot
- chore(deps-dev): bump the boto-typing group with 1 update (#3956) by @dependabot
- chore(deps): bump docker/setup-buildx-action from 3.1.0 to 3.2.0 (#3955) by @dependabot
- chore(deps-dev): bump coverage from 7.4.3 to 7.4.4 (#3959) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.88 to 0.1.89 (#3952) by @dependabot
- chore(deps-dev): bump sentry-sdk from 1.41.0 to 1.42.0 (#3951) by @dependabot
- chore(deps-dev): bump the boto-typing group with 1 update (#3950) by @dependabot
- chore(deps): bump datadog-lambda from 5.89.0 to 5.90.0 (#3941) by @dependabot
- chore(deps-dev): bump the boto-typing group with 2 updates (#3940) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.87 to 0.1.88 (#3942) by @dependabot
- chore(deps-dev): bump pytest from 8.0.2 to 8.1.1 (#3943) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.131.0a0 to 2.132.1a0 (#3944) by @dependabot
- chore(deps): bump actions/checkout from 4.1.1 to 4.1.2 (#3939) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.132.0 to 2.132.1 (#3938) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.131.0 to 2.132.1 (#3936) by @dependabot
- chore(deps): bump redis from 5.0.2 to 5.0.3 (#3929) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.131.0 to 2.132.0 (#3928) by @dependabot
- chore(deps-dev): bump types-redis from 4.6.0.20240218 to 4.6.0.20240311 (#3931) by @dependabot
- chore(deps-dev): bump types-python-dateutil from 2.8.19.20240106 to 2.8.19.20240311 (#3932) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.83 to 0.1.87 (#3930) by @dependabot
- chore(deps-dev): bump ruff from 0.3.0 to 0.3.2 (#3925) by @dependabot
- chore(deps-dev): bump mypy from 1.8.0 to 1.9.0 (#3921) by @dependabot
- chore(deps-dev): bump bandit from 1.7.7 to 1.7.8 (#3920) by @dependabot
- chore(deps-dev): bump pytest-asyncio from 0.23.5 to 0.23.5.post1 (#3923) by @dependabot
- chore(deps): bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#3918) by @dependabot
- chore(deps-dev): bump the boto-typing group with 2 updates (#3919) by @dependabot
This release was made possible by the following contributors:
@TonySherman, @dependabot, @dependabot[bot], @eldritchideen, @github-actions, @github-actions[bot], @leandrodamascena, @par6n, @rafrafek, @rubenfonseca, @stephenbawks and @xquek