Skip to content

Releases: aws-powertools/powertools-lambda-java

v1.0.1

26 Nov 17:15
8ffa054
Compare
Choose a tag to compare

Changes

This release adds some performance improvement to parameters utility when fetching params using default SSM/Secret manager client.

Docs are also updated with official blog link and also fixes broken links to github.

This release was made possible by the following contributors:

@pankajagrawal16, @stevehouel

v1.0.0

04 Nov 14:08
154e87a
Compare
Choose a tag to compare

Changes

With this release, we move from beta to General Availability 🎉🎉🎉!

Quick links: 📜Documentation | Maven | Feature request | Bug Report | Detailed blog post

image

Tracing

Provides a simple way to send traces from functions to AWS X-Ray. It provides visibility into function calls, interactions with other AWS services, or external HTTP requests. You can add annotations to traces to allow filtering based on key information. For example, when using @Tracing, it creates a ColdStart annotation for you. You can easily group and analyze traces where there was an initialization overhead.

image

Logging

Based on log4j2, outputs structured JSON. It allows you to pass in strings, or more complex objects, and takes care of serializing the log output. Common use cases—such as logging the Lambda event payload and capturing cold start information—are handled for you. You can also include your own custom keys to the logger at any time.

image

Metrics

Makes collecting custom metrics from your application simple, without the need to make synchronous requests to external systems. This functionality, which is powered by Amazon CloudWatch Embedded Metric Format (EMF), allows for capturing metrics asynchronously. Again, convenient functionality provides for common cases, such as validating metrics against CloudWatch EMF specification and tracking cold starts.

image

Helper utilities

Utilities removes most of the heavy lifting that customers have to do across a wide range of use cases. New utilities get added based on community feedback. If you have an idea, feel free to open an RFC. Some of the utilities already made available as part of GA:

image

image

image

image

Sample projects using Powertools Java

🧐What's New for Beta customers

If you've been following the Beta, GA version is released with all the functionalities in our latest beta release v0.6.0-beta

Breaking changes from v0.6.0-beta to GA:

We have renamed some of the annotations to make it more concise and consistent in usage. Refer this issue for more details.

Beta GA
PowertoolsTracing Tracing
PowertoolsLogging Logging
PowertoolsMetrics Metrics
LargeMessageHandler SqsLargeMessage
SqsBatchProcessor SqsBatch

All the functionality remains the same. So for beta customers, it should be just about fixing to correct imports.

Preview release v0.6.0-beta

27 Oct 11:49
d8297ce
Compare
Choose a tag to compare
Pre-release

Changes

Validation utility

This utility provides JSON Schema validation for payloads held within events and response used in AWS Lambda.

Key features include:

  • Validate incoming events and responses
  • Native support for the most common AWS Lambda event sources (API Gateway, SNS, SQS, ...)
  • JMESPath support validate only a sub part of the event

Use our annotation to get started straight away.

validation

For more control, use the utility directly.

validation_utility

🐛 Bug and hot fixes

This release was made possible by the following contributors:

@bmicklea, @dependabot, @dependabot[bot], @jeromevdl, @msailes and @pankajagrawal16

Preview release v0.5.0-beta

06 Oct 11:13
4afaf47
Compare
Choose a tag to compare
Pre-release

Changes

SQS batch processing utility

image
image

Add a new utility to handle partial failures when processing batches of SQS messages in Lambda. The default behavior with Lambda - SQS is to return all messages to the queue when there is a failure during processing. This utility provides functionality to handle failures individually at the message level, and avoid re-processing messages.

🐛 Bug and hot fixes

This release was made possible by the following contributors:

@pankajagrawal16

Preview release v0.4.0-beta

02 Oct 07:59
febb426
Compare
Choose a tag to compare
Pre-release

Changes

Sample code snippet of the parameters utility

Add a new utility to fetch and cache parameter values from AWS Systems Manager Parameter Store, AWS Secrets Manager. It also provides a base class to create your parameter provider implementation.

Retrieve values from Systems Manager Parameter Store:

 public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input,
                                                   Context context) {
        SSMProvider ssmProvider = ParamManager.getSsmProvider();
        // Retrieve a single parameter
        String value = ssmProvider.getValue("/my/parameter");
        // Retrieve multiple parameters from a path prefix recursively
        // This returns a map with the parameter name as key
        Map<String, String> multipleValue = ssmProvider.getMultiple("/my/path/prefix");
}

Retrieve secrets from AWS Secrets Managers:

public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input,
                                                   Context context) {
        SecretsProvider secretsProvider = ParamManager.getSecretsProvider();
        // Retrieve a single secret
        String secretValue = secretsProvider.get("my-secret");
}

🌟 Minor Changes

This release was made possible by the following contributors:

@jeromevdl, @pankajagrawal16 and @rb2010

Preview release v0.3.1-beta

25 Sep 12:13
e05c291
Compare
Choose a tag to compare
Pre-release

Changes

This release fixes import of unused dependencies for tracing utility.

  • fix: Removing Log4J dependencies from the tracing module. (#106) by @msailes
  • fix: Removing v1 Java SDK dependencies for X-Ray (#105) by @msailes
  • docs: fixes to the documentation (#102) by @msailes

This release was made possible by the following contributors:

@dependabot, and @msailes

Preview release v0.3.0-beta

22 Sep 09:20
f99db35
Compare
Choose a tag to compare
Pre-release

Changes

Lambda Powertools for Java now supports the creation of CloudWatch metrics asynchronously. We follow a convention over configuration approach to simplify the developer experience.

This release was made possible by the following contributors:

@pankajagrawal16 @msailes

Preview release v0.2.0-beta

01 Sep 09:22
ee3d55f
Compare
Choose a tag to compare
Pre-release

Changes

🌟New features and non-breaking changes

📜 Documentation updates

🐛 Bug and hot fixes

This release was made possible by the following contributors:

@michaelbrewer, @msailes, @pankajagrawal16, @stevehouel and Pankaj Agrawal

Preview release v0.1.0-beta

31 Aug 08:57
583d187
Compare
Choose a tag to compare
Pre-release

Changes

  • feat: Structured JSON logging
  • feat: Additional tracing support for X-Ray

This release was made possible by the following contributors:

@msailes, @pankajagrawal16 and @stevehouel