Releases: aws-powertools/powertools-lambda-java
v1.8.2
Changes
Security
Upgrading Log4j to version 2.16.0 for CVE-2021-45046
This release was made possible by the following contributors:
@dependabot, @dependabot[bot] and @msailes
v1.8.1
Changes
Security
Upgrade Log4j to v2.15.0 in response to CVE-2021-44228
Maintenance
deps: Bump third party dependencies to the latest versions.
This release was made possible by the following contributors:
@dependabot, @dependabot[bot], @msailes and @pankajagrawal16
v1.8.0
Changes
Powertools Cloudformation module (NEW)
New module simplifying AWS Lambda-backed custom resources written in Java. #560
SQS Large message processing
Utility now adds ability to override the default S3Client
use to fetch payload from S3. #602
- chore: prep release 1.8.0 (#608) by @pankajagrawal16
- feat(sqs:large-message): Expose SDK v2 s3 client (#602) by @pankajagrawal16
- feat: create Java cfn-response equivalent (#558) (#560) by @bdkosher
- ci: Build with Java 17 (#590) by @pankajagrawal16
- fix: LoggingAspect precedence to be last for accepting mutated args (#567) by @pankajagrawal16
- chore: spotbug check (#565) by @pankajagrawal16
This release was made possible by the following contributors:
v1.7.3
Changes
With this release, If you want certain exceptions to be treated as permanent failures during batch processing, i.e. exceptions where the result of retrying will always be a failure and want these can be immediately moved to the dead letter queue associated to the source SQS queue, you can use SqsBatch#nonRetryableExceptions()
to configure such exceptions.
- docs(batch-processing): Support for moving non retryable msg to DLQ (#531) by @pankajagrawal16
- feat(batch-processing): move non retry-able message to DLQ (#500) by @pankajagrawal16
- fix: reset cold start only when placed on handler (#508) by @pankajagrawal16
This release was made possible by the following contributors:
v1.7.2
Changes
-
Powertools All Modules: Upgrade to the latest(1.14.0) aspectj-maven-plugin which also supports Java 9 and newer versions.
Users no longer need to depend on com.nickwongdev as a workaround. #489 -
Logging: Performance optimisation to improve cold start. #484
-
SQS Batch processing/Large message: Module now lazy loads default SQS client. #484
- chore: Logging and SQS utility Optimisations (#484) by @pankajagrawal16
- Fix imports @logging after upgrade (#479) by @drissamri
This release was made possible by the following contributors:
v1.7.1
Changes
This release fixes static code analysis violations identified using spotbugs. For future, these checks are now part of our build workflows as well, making sure none of these issues slips through in any of the future releases.
- Static analysis spotbugs (#458) by @pankajagrawal16
This release was made possible by the following contributors:
v1.7.0
Changes
Logging
- You can now inject correlation IDs coming from any Event Source using Json Pointer expressions, or by manually injecting a string with
setCorrelationId()
inLoggingUtils
.
- As we initialize Logger in the global scope, logging state can persist across invocations. It is a good practice to always append new keys and use default values, so Logger can update and remove keys on a per invocation basis. However, sometimes you might add keys conditionally depending on the incoming event. For these type of use cases, you can now use
clearState
attribute on@Logging
annotation.
- feat: Clear logger state (#453) by @pankajagrawal16
- feat:Correlation id injection (#448) by @pankajagrawal16
This release was made possible by the following contributors:
v1.6.0
Changes
Added
- Tracing: Support for Boolean and Number type as value in
TracingUtils.putAnnotation()
- Logging: API to remove any additional custom key from logger entry using
LoggingUtils.removeKeys()
Maintenance
- deps: Bump third party dependencies to the latest versions.
- feat: #421 Support for Boolean and Number type as value in TracingUtils putAnnotation (#423) by @dmahapatro
- feat: logger-Remove custom keys interface (#395) by @pankajagrawal16
- Java core fix (#383) by @msailes
- core: setup-java v2 (#353) by @sullis
- chore: add JDK 16 to build matrix (#367) by @sullis
This release was made possible by the following contributors:
v1.5.0
Changes
Metrics
- Ability to set multiple dimensions as default dimensions via
MetricsUtils.defaultDimensions()
.
Introduced in v1.4.0,MetricsUtils.defaultDimensionSet()
is deprecated now for better user experience.
This release was made possible by the following contributors:
v1.4.0
Changes
Metrics
-
Removed validation of having minimum one dimension to capture metrics. EMF now support Dimension set being empty as well.
-
Now Customers have ability to set default dimension for metrics via
MetricsUtils.defaultDimensionSet()
. This is will be automatically applied to any metrics captured via@Metrics
annotation as well aswithSingleMetric
api calls.
- feat: Default dimensions from powertools instead of emf library (#317) by @pankajagrawal16