Releases: aws-powertools/powertools-lambda-java
v1.12.0
Changes
Added
- Easy Event Deserialization: Extraction and deserialization of the main content of events (body, messages, ...) #757
Bug Fixes
- Different behavior while using SSMProvider with or without trailing slash in parameter names #758
- chore:Prep release 1.12.0 (#775) by @pankajagrawal16
- feat: Easy Event Deserialization (#757) by @jeromevdl
- chore: remove examples from the project as it was moved to aws-lambda… (#772) by @kozub
- fix(docs): fix title for custom resources page (#763) by @michaelbrewer
- fix: #758 (#759) by @jeromevdl
- chore: remove SQS and Idempotency examples (#754) by @pankajagrawal16
This release was made possible by the following contributors:
v1.11.0
Changes
Idempotency module
New module to get your Lambda function Idempotent.
Key features:
- Use DynamoDB as a persistence layer for state including Bring Your Own Persistence Store Layer
- Optional in-memory caching, idempotency state auto-expiration for cost reasons
- JMESPath support to select a subset of your payload to serialize and hash as idempotency key
- Payload validation in case we shouldn’t return the previous result in case X parameter has changed in your request
- Last but not least, the documentation is super comprehensive with over 600 lines of content.
- feature: Idempotency module (#717) by @jeromevdl
This release was made possible by the following contributors:
v1.10.3
Changes
Bug Fixes
- SQS Batch processing: Prevent message to be marked as success if failed sending to DLQ for non retryable exceptions. #731
Documentation
- SQS Batch processing: Improve documentation on IAM premissions required by function when using utility with an encrypted SQS queue with customer managed KMS keys.
- chore: move core utilities example to aws-samples/aws-lambda-powertools-examples (#733) by @pankajagrawal16
- fix: Prevent message to be marked as success if failed sending to DLQ (#731) by @pankajagrawal16
- fix(gradle): Fix gradle example and docs to work with java 12+ (#703) by @michaelbrewer
This release was made possible by the following contributors:
v1.10.2
Changes
Tracing
Ability to override object mapper used for serializing method response as trace metadata when enabled. This provides users ability to customize how and what you want to capture as metadata from method response object. You might
want to supply custom object mapper in order to control how serialization is done, for example, when you want to serialize only
specific fields from received response due to security.
- feat(tracing): ability to override object mapper (#698) by @pankajagrawal16
- chore(docs): Add FAQs section to docs with information about Lombok support. (#680) by @kozub
This release was made possible by the following contributors:
v1.10.1
Changes
Security
Upgrading Log4j to version 2.17.1 for CVE-2021-44832
This release was made possible by the following contributors:
@dependabot, @dependabot[bot], @pankajagrawal16 and @poprahul
v1.10.0
Changes
Logging
With 1.10.0 we have deprecated configuring log4j using < LambdaJsonLayout \>
plugin since underlying JsonLayout is deprecated too. New configuration is based on the recommended JSON Template Layout.
While utility still supports the old configuration, we strongly recommend upgrading the log4j2.xml configuration to JsonTemplateLayout
instead. Switching to JsonTemplateLayout
is straight forward. Please refer docs to upgrade to JsonTemplateLayout
from deprecated LambdaJsonLayout
configuration in log4j2.xml.
JsonTemplateLayout is a customizable, efficient, and garbage-free JSON generating layout. It encodes LogEvents according to the structure described by the JSON template provided.
🐛 Bug
- SQS Batch: Support batch size greater than 10. #667
- feat: Json layout modern implementation (#670) by @pankajagrawal16
- fix: support batch size greater than 10 processing (#667) by @pankajagrawal16
This release was made possible by the following contributors:
v1.9.0
Changes
Tracing
Tracing now automatically adds a Service
annotation if either namespace
parameter or POWERTOOLS_SERVICE_NAME is set - This makes it easier to slice and dice all of your traces by the exact service you have deployed.
Logging
Upgrade Log4j to version 2.17.0 for CVE-2021-45105
- chore: localise abstract json layout implementation (#664) by @pankajagrawal16
- build(deps): bump log4j-api from 2.16.0 to 2.17.0 in /example/HelloWorldFunction (#659) by @dependabot
- build(deps): bump log4j-core from 2.16.0 to 2.17.0 in /example/HelloWorldFunction (#661) by @dependabot
- build(deps): bump log4j-api from 2.16.0 to 2.17.0 (#660) by @dependabot
- chore: Update docs to reflect latest gradle plugin fix (#656) by @pankajagrawal16
- feat(tracing): add service annotation (#655) by @pankajagrawal16
This release was made possible by the following contributors:
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