AWS Security ChangesHomeSearch

AWS powertools documentation change

Service: powertools · 2025-11-16 · Documentation low

File: powertools/java/latest.md

Summary

Updated documentation for Java Powertools: Removed SAM CLI setup example, updated dependency versions from 2.5.0 to 2.7.0, changed logging artifact to powertools-logging-log4j, added guidance about functional approach replacing AspectJ configuration, extended supported Java versions to 25, and updated environment variable expiration dates.

Security assessment

The changes primarily focus on version updates, documentation restructuring, and feature enhancements rather than addressing specific security vulnerabilities. While dependency updates might include security patches, there's no explicit mention of security fixes in the changelog. The change from 'powertools-logging' to 'powertools-logging-log4j' appears to be a package restructuring rather than a security fix. The added note about AspectJ configuration being unnecessary for functional approach improves usability but doesn't directly address security concerns.

Diff

diff --git a/powertools/java/latest.md b/powertools/java/latest.md
index c20168b34..555f0f631 100644
--- a//powertools/java/latest.md
+++ b//powertools/java/latest.md
@@ -26,0 +27 @@ Initializing search
+  * [ Usage patterns  ](usage-patterns/)
@@ -89,92 +90 @@ This project separates core utilities that will be available in other runtimes v
-**Quick hello world example using SAM CLI**
-
-You can use [SAM](https://aws.amazon.com/serverless/sam/) to quickly setup a serverless project including Powertools for AWS Lambda (Java).
-    
-    
-     1
-     2
-     3
-     4
-     5
-     6
-     7
-     8
-     9
-    10
-    11
-    12
-    13
-    14
-    15
-    16
-    17
-    18
-    19
-    20
-    21
-    22
-    23
-    24
-    25
-    26
-    27
-    28
-    29
-    30
-    31
-    32
-    33
-    34
-    35
-    36
-    37
-    38
-    39
-
-| 
-    
-    
-    sam init
-    
-    Which template source would you like to use?
-        1 - AWS Quick Start Templates
-        2 - Custom Template Location
-    Choice: 1
-    
-    Choose an AWS Quick Start application template
-        1 - Hello World Example
-        2 - Data processing
-        3 - Hello World Example with Powertools for AWS Lambda
-        4 - Multi-step workflow
-        5 - Scheduled task
-        6 - Standalone function
-        7 - Serverless API
-        8 - Infrastructure event management
-        9 - Lambda Response Streaming
-        10 - Serverless Connector Hello World Example
-        11 - Multi-step workflow with Connectors
-        12 - Full Stack
-        13 - Lambda EFS example
-        14 - DynamoDB Example
-        15 - Machine Learning
-    Template: 3
-    
-    Which runtime would you like to use?
-        1 - dotnet6
-        2 - java17
-        3 - java11
-        4 - java8.al2
-        5 - java8
-        6 - nodejs18.x
-        7 - nodejs16.x
-        8 - nodejs14.x
-        9 - python3.9
-        10 - python3.8
-        11 - python3.7
-        12 - python3.10
-    Runtime: 2, 3, 4 or 5
-      
-  
----|---  
-  
-**Manual installation** Powertools for AWS Lambda (Java) dependencies are available in Maven Central. You can use your favourite dependency management tool to install it
+Powertools for AWS Lambda (Java) dependencies are available in Maven Central. You can use your favourite dependency management tool to install it
@@ -261,0 +172 @@ MavenGradle
+    73
@@ -271 +182 @@ MavenGradle
-            <version>2.5.0</version>
+            <version>2.7.0</version>
@@ -275,2 +186,2 @@ MavenGradle
-            <artifactId>powertools-logging</artifactId>
-            <version>2.5.0</version>
+            <artifactId>powertools-logging-log4j</artifactId>
+            <version>2.7.0</version>
@@ -281 +192 @@ MavenGradle
-            <version>2.5.0</version>
+            <version>2.7.0</version>
@@ -292 +203,2 @@ MavenGradle
-    <!-- configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambda-powertools-java aspects into your project -->
+    <!-- Configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambda-powertools-java aspects into your project -->
+    <!-- Note: This AspectJ configuration is not needed when using the functional approach -->
@@ -365,0 +278 @@ MavenGradle
+    24
@@ -386,3 +299,4 @@ MavenGradle
-            aspect 'software.amazon.lambda:powertools-logging:2.5.0'
-            aspect 'software.amazon.lambda:powertools-tracing:2.5.0'
-            aspect 'software.amazon.lambda:powertools-metrics:2.5.0'
+            // Note: This AspectJ configuration is not needed when using the functional approach
+            aspect 'software.amazon.lambda:powertools-logging-log4j:2.7.0'
+            aspect 'software.amazon.lambda:powertools-tracing:2.7.0'
+            aspect 'software.amazon.lambda:powertools-metrics:2.7.0'
@@ -397 +311 @@ MavenGradle
-Why a different configuration?
+Don't want to use AspectJ?
@@ -399,2 +313 @@ Why a different configuration?
-Powertools for AWS Lambda (Java) is using [AspectJ](https://eclipse.dev/aspectj/doc/released/progguide/starting.html) internally to handle annotations. Recently, in order to support Java 17 we had to move to `dev.aspectj:aspectj-maven-plugin` because  
-`org.codehaus.mojo:aspectj-maven-plugin` does not support Java 17. Under the hood, `org.codehaus.mojo:aspectj-maven-plugin` is based on AspectJ 1.9.7, while `dev.aspectj:aspectj-maven-plugin` is based on AspectJ 1.9.8, compiled for Java 11+.
+Powertools for AWS Lambda (Java) now provides a functional API that doesn't require AspectJ configuration. Learn more about the [functional approach](usage-patterns/#functional-approach).
@@ -404 +317 @@ Powertools for AWS Lambda (Java) is using [AspectJ](https://eclipse.dev/aspectj/
-Powertools for AWS Lambda (Java) supports all Java version from 11 up to 21 as well as the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
+Powertools for AWS Lambda (Java) supports all Java versions from 11 to 25 in line with the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
@@ -406 +319 @@ Powertools for AWS Lambda (Java) supports all Java version from 11 up to 21 as w
-For the following modules, Powertools for AWS Lambda (Java) leverages the **aspectj** library to provide annotations: \- Logging \- Metrics \- Tracing \- Parameters \- Idempotency \- Validation \- Large messages
+In addition to the functional approach, [Logging](core/logging/), [Metrics](core/metrics/), [Tracing](core/tracing/), [Parameters](utilities/parameters/), [Idempotency](utilities/idempotency/), [Validation](utilities/validation/), and [Large Messages](utilities/large_messages/) utilities support annotations using AspectJ, which require configuration of the `aspectjrt` runtime library.
@@ -408 +321 @@ For the following modules, Powertools for AWS Lambda (Java) leverages the **aspe
-You may need to add the good version of `aspectjrt` to your dependencies based on the jdk used for building your function:
+You may need to add the appropriate version of `aspectjrt` to your dependencies based on the JDK used for building your function:
@@ -429 +342 @@ You may need to add the good version of `aspectjrt` to your dependencies based o
-Use the following [dependency matrix](https://github.com/eclipse-aspectj/aspectj/blob/master/docs/dist/doc/JavaVersionCompatibility.md) between this library and the JDK:
+Use the following [dependency matrix](https://github.com/eclipse-aspectj/aspectj/blob/master/docs/release/JavaVersionCompatibility.adoc) to understand which AspectJ version to use based on your JDK version:
@@ -434,0 +348 @@ JDK version | aspectj version
+`25` | `1.9.25` (or higher)  
@@ -440 +354 @@ Info
-**Explicit parameters take precedence over environment variables.**
+Explicit parameters take precedence over environment variables.
@@ -453 +367 @@ Environment variable | Description | Utility
-2025-09-02 
+2025-11-13