AWS Security ChangesHomeSearch

AWS powertools documentation change

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

File: powertools/java/latest/utilities/validation.md

Summary

Updated documentation to introduce functional validation approach with ValidationUtils, updated dependency versions, and clarified AspectJ configuration requirements

Security assessment

The changes primarily focus on introducing a new functional validation method and dependency updates. While the note about handling validation errors could improve error handling practices, there's no explicit mention of addressing a specific security vulnerability or weakness. The version update from 2.5.0 to 2.7.0 might include security improvements, but the diff doesn't provide evidence of security-related release notes.

Diff

diff --git a/powertools/java/latest/utilities/validation.md b/powertools/java/latest/utilities/validation.md
index 69d5f2ba4..a57e5d321 100644
--- a//powertools/java/latest/utilities/validation.md
+++ b//powertools/java/latest/utilities/validation.md
@@ -22,0 +23 @@ Initializing search
+  * [ Usage patterns  ](../../usage-patterns/)
@@ -41 +42 @@ Initializing search
-        * Validate function 
+        * Functional approach with ValidationUtils 
@@ -64 +65 @@ Table of contents
-    * Validate function 
+    * Functional approach with ValidationUtils 
@@ -138,0 +140 @@ MavenGradle
+    49
@@ -148 +150 @@ MavenGradle
-            <version>2.5.0</version>
+            <version>2.7.0</version>
@@ -153,0 +156 @@ MavenGradle
+    <!-- Note: This AspectJ configuration is not needed when using the functional approach with ValidationUtils.validate() -->
@@ -210,0 +214 @@ MavenGradle
+    16
@@ -217 +221 @@ MavenGradle
-            id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0'
+            id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach with ValidationUtils.validate()
@@ -225 +229,2 @@ MavenGradle
-            aspect 'software.amazon.lambda:powertools-validation:2.5.0'
+            aspect 'software.amazon.lambda:powertools-validation:2.7.0' // Not needed when using the functional approach with ValidationUtils.validate()
+            implementation 'software.amazon.lambda:powertools-validation:2.7.0' // Use this instead of 'aspect' when using the functional approach
@@ -236 +241,5 @@ MavenGradle
-You can validate inbound and outbound events using `@Validation` annotation.
+You can validate inbound and outbound events using either the `@Validation` annotation or the functional approach with `ValidationUtils.validate()` methods:
+
+  * **@Validation annotation** \- Simpler syntax with automatic validation, but requires AspectJ configuration
+  * **ValidationUtils.validate()** \- No AspectJ required, provides more control over the validation process such as handling validation errors
+
@@ -238 +246,0 @@ You can validate inbound and outbound events using `@Validation` annotation.
-You can also use the `Validator#validate()` methods, if you want more control over the validation process such as handling a validation error.
@@ -240 +248 @@ You can also use the `Validator#validate()` methods, if you want more control ov
-We support JSON schema version 4, 6, 7, 2019-09 and 2020-12 using the [NetworkNT JSON Schema Validator](https://github.com/networknt/json-schema-validator). ([Compatibility with JSON Schema versions](https://github.com/networknt/json-schema-validator/blob/master/doc/compatibility.md)).
+We support JSON schema version 4, 6, 7, 2019-09 and 2020-12 using the [NetworkNT JSON Schema Validator](https://github.com/networknt/json-schema-validator) ([Compatibility with JSON Schema versions](https://github.com/networknt/json-schema-validator/blob/master/doc/compatibility.md)).
@@ -246 +254 @@ The validator is configured to enable format assertions by default even for 2019
-`@Validation` annotation is used to validate either inbound events or functions' response.
+The `@Validation` annotation is used to validate either inbound events or functions' response.
@@ -291 +299 @@ MyFunctionHandler.java
-### Validate function¶
+### Functional approach with ValidationUtils¶
@@ -293 +301 @@ MyFunctionHandler.java
-Validate standalone function is used within the Lambda handler, or any other methods that perform data validation.
+The `ValidationUtils.validate()` method provides a functional approach that can be used within the Lambda handler or any other methods that perform data validation. This approach does not require AspectJ configuration.
@@ -295 +303 @@ Validate standalone function is used within the Lambda handler, or any other met
-You can also gracefully handle schema validation errors by catching `ValidationException`.
+With this approach, you can gracefully handle schema validation errors by catching `ValidationException`.
@@ -650 +658 @@ ConstructorStatic Initializer
-2025-08-27 
+2025-11-13