diff --git a/CHANGELOG.md b/CHANGELOG.md
index 738eace1c..20a04c488 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,12 @@ This project follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) fo
## [Unreleased]
+## [1.20.1] - 2025-04-08
+
+* docs: fix 2 typos (#1739) by @ntestor
+* docs: Correct XML formatting for Maven configuration in Large Messages utility docs (#1796) by @jreijn
+* fix: Load version.properties file as resource stream to fix loading when packaged as jar (#1813) by @phipag
+
## [1.20.0] - 2025-03-25
* feat(cfn-custom-resource): Add optional 'reason' field for detailed failure reporting (#1758) by @moizsh
diff --git a/README.md b/README.md
index 0edd22e07..49f11d663 100644
--- a/README.md
+++ b/README.md
@@ -20,17 +20,17 @@ Powertools for AWS Lambda (Java) is available in Maven Central. You can use your
software.amazon.lambdapowertools-tracing
- 1.20.0
+ 1.20.1software.amazon.lambdapowertools-logging
- 1.20.0
+ 1.20.1software.amazon.lambdapowertools-metrics
- 1.20.0
+ 1.20.1
...
@@ -217,7 +217,7 @@ More info [here](https://github.com/aws-powertools/powertools-lambda-java/pull/1
## Examples
-See the latest release of the **[examples](https://github.com/aws-powertools/powertools-lambda-java/tree/v1.20.0/examples)** for example projects showcasing usage of different utilities.
+See the latest release of the **[examples](https://github.com/aws-powertools/powertools-lambda-java/tree/v1.20.1/examples)** for example projects showcasing usage of different utilities.
Have a demo project to contribute which showcase usage of different utilities from powertools? We are happy to accept it [here](CONTRIBUTING.md#security-issue-notifications).
diff --git a/docs/core/logging.md b/docs/core/logging.md
index 30ae20a76..5a2eaf143 100644
--- a/docs/core/logging.md
+++ b/docs/core/logging.md
@@ -152,7 +152,7 @@ Powertools for AWS Lambda (Java) extends the functionality of Log4J. Below is an
!!! info "LambdaJsonLayout is now deprecated"
- Configuring utiltiy using `` plugin is deprecated now. While utility still supports the old configuration, we strongly recommend upgrading the
+ Configuring utility using `` plugin is deprecated now. While utility still supports the old configuration, we strongly recommend upgrading the
`log4j2.xml` configuration to `JsonTemplateLayout` instead. [JsonTemplateLayout](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html) is recommended way of doing structured logging.
Please follow [this guide](#upgrade-to-jsontemplatelayout-from-deprecated-lambdajsonlayout-configuration-in-log4j2xml) for upgrade steps.
diff --git a/docs/utilities/large_messages.md b/docs/utilities/large_messages.md
index c4947a6e8..39aaf45c8 100644
--- a/docs/utilities/large_messages.md
+++ b/docs/utilities/large_messages.md
@@ -105,44 +105,44 @@ Depending on your version of Java (either Java 1.8 or 11+), the configuration sl
=== "Maven Java 11+"
```xml hl_lines="3-7 16 18 24-27"
-...
-
-software.amazon.lambda
-powertools-large-messages
-{{ powertools.version }}
-
-...
+ ...
+
+ software.amazon.lambda
+ powertools-large-messages
+ {{ powertools.version }}
+
+ ...
...
-
-...
-
-dev.aspectj
-aspectj-maven-plugin
-1.13.1
-
-11
-11
-11
-
-
-software.amazon.lambda
-powertools-large-messages
-
-
-
-
-
-
-compile
-
-
-
-
-...
-
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.13.1
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-large-messages
+
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
```
@@ -416,4 +416,4 @@ If you need to customize this `S3Client`, you can leverage the `LargeMessageConf
It gives more control, especially when dealing with partial failures with SQS (see the batch module).
- The new module only provides an annotation, an equivalent to the `SqsUtils` class is not available anymore in this new version.
-Finally, if you are still using the `powertools-sqs` library for batch processing, consider moving to `powertools-batch` at the same time to remove the dependency on this library completely; it has been deprecated and will be removed in v2.
\ No newline at end of file
+Finally, if you are still using the `powertools-sqs` library for batch processing, consider moving to `powertools-batch` at the same time to remove the dependency on this library completely; it has been deprecated and will be removed in v2.
diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md
index 85d30d77e..c221e3a88 100644
--- a/docs/utilities/parameters.md
+++ b/docs/utilities/parameters.md
@@ -580,7 +580,7 @@ You could specify a different provider as long as it extends `BaseProvider` and/
}
```
- In this case ```SecretsProvider``` will be used to retrieve a raw value that is then trasformed into the target Object by using ```JsonTransformer```.
+ In this case ```SecretsProvider``` will be used to retrieve a raw value that is then transformed into the target Object by using ```JsonTransformer```.
To show the convenience of the annotation compare the following two code snippets.
diff --git a/examples/pom.xml b/examples/pom.xml
index 492f14efd..e115be665 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -20,7 +20,7 @@
software.amazon.lambdapowertools-examples
- 1.20.0
+ 1.20.1pomPowertools for AWS Lambda (Java) library Examples
diff --git a/examples/powertools-examples-batch/pom.xml b/examples/powertools-examples-batch/pom.xml
index 9c5695dba..49a7238ce 100644
--- a/examples/powertools-examples-batch/pom.xml
+++ b/examples/powertools-examples-batch/pom.xml
@@ -5,7 +5,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-batchjarPowertools for AWS Lambda (Java) library Examples - Batch
diff --git a/examples/powertools-examples-cloudformation/pom.xml b/examples/powertools-examples-cloudformation/pom.xml
index dd06c6e5c..fad22a2e8 100644
--- a/examples/powertools-examples-cloudformation/pom.xml
+++ b/examples/powertools-examples-cloudformation/pom.xml
@@ -3,7 +3,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-cloudformationjar
diff --git a/examples/powertools-examples-core/cdk/infra/pom.xml b/examples/powertools-examples-core/cdk/infra/pom.xml
index a128fc8be..eacb00d3f 100644
--- a/examples/powertools-examples-core/cdk/infra/pom.xml
+++ b/examples/powertools-examples-core/cdk/infra/pom.xml
@@ -4,7 +4,7 @@
4.0.0software.amazon.lambda.examplescdk
- 1.20.0
+ 1.20.1UTF-82.178.1
diff --git a/examples/powertools-examples-core/gradle/build.gradle b/examples/powertools-examples-core/gradle/build.gradle
index 282c5319e..1b32d4704 100644
--- a/examples/powertools-examples-core/gradle/build.gradle
+++ b/examples/powertools-examples-core/gradle/build.gradle
@@ -28,8 +28,8 @@ dependencies {
implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2'
implementation 'com.amazonaws:aws-lambda-java-events:3.11.0'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2'
- aspect 'software.amazon.lambda:powertools-tracing:1.20.0'
- aspect 'software.amazon.lambda:powertools-logging:1.20.0'
- aspect 'software.amazon.lambda:powertools-metrics:1.20.0'
+ aspect 'software.amazon.lambda:powertools-tracing:1.20.1'
+ aspect 'software.amazon.lambda:powertools-logging:1.20.1'
+ aspect 'software.amazon.lambda:powertools-metrics:1.20.1'
}
diff --git a/examples/powertools-examples-core/kotlin/build.gradle.kts b/examples/powertools-examples-core/kotlin/build.gradle.kts
index 94dcbe071..82f37b27b 100644
--- a/examples/powertools-examples-core/kotlin/build.gradle.kts
+++ b/examples/powertools-examples-core/kotlin/build.gradle.kts
@@ -14,9 +14,9 @@ dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.17.2")
implementation("com.amazonaws:aws-lambda-java-events:3.11.0")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2")
- aspect("software.amazon.lambda:powertools-tracing:1.19.0")
- aspect("software.amazon.lambda:powertools-logging:1.19.0")
- aspect("software.amazon.lambda:powertools-metrics:1.19.0")
+ aspect("software.amazon.lambda:powertools-tracing:1.20.1")
+ aspect("software.amazon.lambda:powertools-logging:1.20.1")
+ aspect("software.amazon.lambda:powertools-metrics:1.20.1")
testImplementation("junit:junit:4.13.2")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
diff --git a/examples/powertools-examples-core/sam/pom.xml b/examples/powertools-examples-core/sam/pom.xml
index ede67bba4..1ae1feee4 100644
--- a/examples/powertools-examples-core/sam/pom.xml
+++ b/examples/powertools-examples-core/sam/pom.xml
@@ -3,7 +3,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-core-samjar
diff --git a/examples/powertools-examples-core/serverless/pom.xml b/examples/powertools-examples-core/serverless/pom.xml
index 6857c8b79..d8f1895d8 100644
--- a/examples/powertools-examples-core/serverless/pom.xml
+++ b/examples/powertools-examples-core/serverless/pom.xml
@@ -3,7 +3,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-core-serverlessjar
diff --git a/examples/powertools-examples-core/terraform/pom.xml b/examples/powertools-examples-core/terraform/pom.xml
index 9f02e1d99..d9be62aa4 100644
--- a/examples/powertools-examples-core/terraform/pom.xml
+++ b/examples/powertools-examples-core/terraform/pom.xml
@@ -3,7 +3,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-core-terraformjar
diff --git a/examples/powertools-examples-idempotency/pom.xml b/examples/powertools-examples-idempotency/pom.xml
index 7d8c27a8f..ea00e7178 100644
--- a/examples/powertools-examples-idempotency/pom.xml
+++ b/examples/powertools-examples-idempotency/pom.xml
@@ -17,7 +17,7 @@
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-idempotencyjarPowertools for AWS Lambda (Java) library Examples - Idempotency
diff --git a/examples/powertools-examples-parameters/pom.xml b/examples/powertools-examples-parameters/pom.xml
index 6fa7745ca..22e5717d1 100644
--- a/examples/powertools-examples-parameters/pom.xml
+++ b/examples/powertools-examples-parameters/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-parametersjarPowertools for AWS Lambda (Java) library Examples - Parameters
diff --git a/examples/powertools-examples-serialization/pom.xml b/examples/powertools-examples-serialization/pom.xml
index e5b6637dd..aead4324d 100644
--- a/examples/powertools-examples-serialization/pom.xml
+++ b/examples/powertools-examples-serialization/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-serializationjarPowertools for AWS Lambda (Java) library Examples - Serialization
diff --git a/examples/powertools-examples-sqs/pom.xml b/examples/powertools-examples-sqs/pom.xml
index 8509a12f8..8efac8247 100644
--- a/examples/powertools-examples-sqs/pom.xml
+++ b/examples/powertools-examples-sqs/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-sqsjarPowertools for AWS Lambda (Java) library Examples - SQS
diff --git a/examples/powertools-examples-validation/pom.xml b/examples/powertools-examples-validation/pom.xml
index bb28e2b40..1e10b743c 100644
--- a/examples/powertools-examples-validation/pom.xml
+++ b/examples/powertools-examples-validation/pom.xml
@@ -16,7 +16,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0software.amazon.lambda.examples
- 1.20.0
+ 1.20.1powertools-examples-validationjarPowertools for AWS Lambda (Java) library Examples - Validation
diff --git a/mkdocs.yml b/mkdocs.yml
index 62bfcfb8d..76750d409 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -93,7 +93,7 @@ extra_javascript:
extra:
powertools:
- version: 1.20.0 # to update after each release (we do not want snapshot version here)
+ version: 1.20.1 # to update after each release (we do not want snapshot version here)
repo_url: https://github.com/aws-powertools/powertools-lambda-java
edit_uri: edit/main/docs
diff --git a/pom.xml b/pom.xml
index 8abbaff92..119535eb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
software.amazon.lambdapowertools-parent
- 1.20.0
+ 1.20.1pomPowertools for AWS Lambda (Java) library Parent
diff --git a/powertools-batch/pom.xml b/powertools-batch/pom.xml
index bd32c57b6..3fc4e0d72 100644
--- a/powertools-batch/pom.xml
+++ b/powertools-batch/pom.xml
@@ -6,7 +6,7 @@
software.amazon.lambdapowertools-parent
- 1.20.0
+ 1.20.1A suite of utilities that makes batch message processing using AWS Lambda easier.
diff --git a/powertools-cloudformation/pom.xml b/powertools-cloudformation/pom.xml
index 8159366a5..ae367ab74 100644
--- a/powertools-cloudformation/pom.xml
+++ b/powertools-cloudformation/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java)library Cloudformation
diff --git a/powertools-core/pom.xml b/powertools-core/pom.xml
index 1bea00f4d..63e6be53b 100644
--- a/powertools-core/pom.xml
+++ b/powertools-core/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) library Core
diff --git a/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/UserAgentConfigurator.java b/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/UserAgentConfigurator.java
index 354305d33..da6287b70 100644
--- a/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/UserAgentConfigurator.java
+++ b/powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/UserAgentConfigurator.java
@@ -16,14 +16,13 @@
import static software.amazon.lambda.powertools.core.internal.SystemWrapper.getenv;
-import java.io.FileInputStream;
import java.io.IOException;
-import java.net.URL;
+import java.io.InputStream;
import java.util.Properties;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
/**
* Can be used to create a string that can server as a User-Agent suffix in requests made with the AWS SDK clients
*/
@@ -54,32 +53,36 @@ static String getProjectVersion() {
return getVersionFromProperties(VERSION_PROPERTIES_FILENAME, VERSION_KEY);
}
-
/**
* Retrieves the project version from a properties file.
* The file should be in the resources folder.
* The version is retrieved from the property with the given key.
*
- * @param propertyFileName the name of the properties file
- * @param versionKey the key of the property that contains the version
+ * @param propertyFileName
+ * the name of the properties file
+ * @param versionKey
+ * the key of the property that contains the version
* @return the version of the project as configured in the given properties file
*/
static String getVersionFromProperties(String propertyFileName, String versionKey) {
-
- URL propertiesFileURI = Thread.currentThread().getContextClassLoader().getResource(propertyFileName);
- if (propertiesFileURI != null) {
- try (FileInputStream fis = new FileInputStream(propertiesFileURI.getPath())) {
- Properties properties = new Properties();
- properties.load(fis);
- String version = properties.getProperty(versionKey);
- if (version != null && !version.isEmpty()) {
- return version;
- }
- } catch (IOException e) {
+ try (final InputStream is = Thread.currentThread().getContextClassLoader()
+ .getResourceAsStream(propertyFileName)) {
+ if (is == null) {
LOG.warn("Unable to read {} file. Using default version.", propertyFileName);
- LOG.debug("Exception:", e);
+ return NA;
}
+
+ Properties properties = new Properties();
+ properties.load(is);
+ String version = properties.getProperty(versionKey);
+ if (version != null && !version.isEmpty()) {
+ return version;
+ }
+ } catch (IOException e) {
+ LOG.warn("Unable to read {} file. Using default version.", propertyFileName);
+ LOG.debug("Exception:", e);
}
+
return NA;
}
@@ -90,9 +93,10 @@ static String getVersionFromProperties(String propertyFileName, String versionKe
* The PT_EXEC_ENV is automatically retrieved from the AWS_EXECUTION_ENV environment variable.
* If it AWS_EXECUTION_ENV is not set, PT_EXEC_ENV defaults to "NA"
*
- * @param ptFeature a custom feature to be added to the user agent string (e.g. idempotency).
- * If null or empty, the default PT_FEATURE is used.
- * The default PT_FEATURE is "no-op".
+ * @param ptFeature
+ * a custom feature to be added to the user agent string (e.g. idempotency).
+ * If null or empty, the default PT_FEATURE is used.
+ * The default PT_FEATURE is "no-op".
* @return the user agent string
*/
public static String getUserAgent(String ptFeature) {
diff --git a/powertools-e2e-tests/handlers/pom.xml b/powertools-e2e-tests/handlers/pom.xml
index dff3f1caa..75c92a181 100644
--- a/powertools-e2e-tests/handlers/pom.xml
+++ b/powertools-e2e-tests/handlers/pom.xml
@@ -10,7 +10,7 @@
Fake handlers that use Powertools for AWS Lambda (Java).
- 1.20.0
+ 1.20.1UTF-81.81.8
diff --git a/powertools-e2e-tests/pom.xml b/powertools-e2e-tests/pom.xml
index 660b00bb9..c75f6da03 100644
--- a/powertools-e2e-tests/pom.xml
+++ b/powertools-e2e-tests/pom.xml
@@ -20,7 +20,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1powertools-e2e-tests
diff --git a/powertools-idempotency/pom.xml b/powertools-idempotency/pom.xml
index 4fa45699a..d0eef0b5c 100644
--- a/powertools-idempotency/pom.xml
+++ b/powertools-idempotency/pom.xml
@@ -21,7 +21,7 @@
software.amazon.lambdapowertools-parent
- 1.20.0
+ 1.20.1powertools-idempotency
diff --git a/powertools-large-messages/pom.xml b/powertools-large-messages/pom.xml
index bd030714b..635d79146 100644
--- a/powertools-large-messages/pom.xml
+++ b/powertools-large-messages/pom.xml
@@ -23,7 +23,7 @@
software.amazon.lambdapowertools-parent
- 1.20.0
+ 1.20.1powertools-large-messages
diff --git a/powertools-logging/pom.xml b/powertools-logging/pom.xml
index a5cc227de..f0d13d7c5 100644
--- a/powertools-logging/pom.xml
+++ b/powertools-logging/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) library Logging
diff --git a/powertools-metrics/pom.xml b/powertools-metrics/pom.xml
index 04d474d69..b8efd9d72 100644
--- a/powertools-metrics/pom.xml
+++ b/powertools-metrics/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) library Metrics
diff --git a/powertools-parameters/pom.xml b/powertools-parameters/pom.xml
index df27990c7..196124972 100644
--- a/powertools-parameters/pom.xml
+++ b/powertools-parameters/pom.xml
@@ -21,7 +21,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1powertools-parameters
diff --git a/powertools-serialization/pom.xml b/powertools-serialization/pom.xml
index e207c5ba4..a1136b5e7 100644
--- a/powertools-serialization/pom.xml
+++ b/powertools-serialization/pom.xml
@@ -21,7 +21,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1powertools-serialization
diff --git a/powertools-sqs/pom.xml b/powertools-sqs/pom.xml
index b88c1144a..8de480d88 100644
--- a/powertools-sqs/pom.xml
+++ b/powertools-sqs/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) library SQS
diff --git a/powertools-test-suite/pom.xml b/powertools-test-suite/pom.xml
index f823fa4ed..43fc6180b 100644
--- a/powertools-test-suite/pom.xml
+++ b/powertools-test-suite/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1
diff --git a/powertools-tracing/pom.xml b/powertools-tracing/pom.xml
index 0c525da06..90b600e06 100644
--- a/powertools-tracing/pom.xml
+++ b/powertools-tracing/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) library Tracing
diff --git a/powertools-validation/pom.xml b/powertools-validation/pom.xml
index 3c14fe642..0b2010d7e 100644
--- a/powertools-validation/pom.xml
+++ b/powertools-validation/pom.xml
@@ -24,7 +24,7 @@
powertools-parentsoftware.amazon.lambda
- 1.20.0
+ 1.20.1Powertools for AWS Lambda (Java) validation library