1.53
Summary
In this release we improved our Idempotency utility and storage layer is now faster and cheaper by leveraging conditional writes. We also made important changes to the Logger and Metrics utility.
Special thanks to @j-d-ha for reporting logging issues and @sdangol for their first contribution to the project.
Logging
We've enhanced the AddPowertoolsLogger
method with improved service registration and added automatic ILogger
interface registration. A new ClearExistingProviders
option is now available to prevent multiple logger providers.
builder.Logging.AddPowertoolsLogger(config =>
{
config.Service = "TestService";
config.LoggerOutputCase = LoggerOutputCase.PascalCase;
}, clearExistingProviders: true);
Metrics
Before this release, if you published invalid metrics they could fail silently, leading to data loss. Now Lambda will raise an exception if the following constraints do not hold:
- Metric Name: Validated according to CloudWatch constraints
- Metric Value: Validated for numeric values
- Metric Unit: Validated for allowed units
- Metric Resolution: Validated for allowed resolutions
- Dimension Name: Both Dimension name and value are validated for non empty, non-null values.
Idempotency
Several months ago AWS introduced support for ReturnValuesOnConditionCheckFailure
, a feature designed to streamline conditional write operations and reducing costs in Amazon DynamoDB. With this enhancement, Powertools for AWS Lambda now optimistically attempts to write items to DynamoDB. If the item already exists, it seamlessly returns it without requiring an additional operation.
Changes
🌟New features and non-breaking changes
- feat(metrics): Added runtime validation for the metric name (#943) by @sdangol
- feat: add support for ReturnValuesOnConditionCheckFailure in Idempotency (#930) by @hjgraca
📜 Documentation updates
🔧 Maintenance
- chore: Update version.json for release 1.53 (#945) by @hjgraca
- chore(deps): bump github/codeql-action from 3.29.3 to 3.29.4 (#941) by @dependabot[bot]
- chore(deps): bump aws-powertools/actions from 29979bc5339bf54f76a11ac36ff67701986bb0f0 to 7d2401cbbb232594bde7285bc5b8c0c78dcbe6e2 (#942) by @dependabot[bot]
- chore(deps): bump github/codeql-action from 3.29.2 to 3.29.3 (#939) by @dependabot[bot]
- chore: Add automatic registration of standard logging services and ILogger (#938) by @hjgraca
- chore: Console output overrides lambda console out (#936) by @hjgraca
- chore: Add missing PTENV to user agent (#927) by @hjgraca
This release was made possible by the following contributors:
@dependabot[bot], @hjgraca, @sdangol, @swopnildangol and dependabot[bot]