You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,9 +52,9 @@ Next, configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lam
52
52
<artifactId>aspectj-maven-plugin</artifactId>
53
53
<version>1.14</version>
54
54
<configuration>
55
-
<source>11</source>
56
-
<target>11</target>
57
-
<complianceLevel>11</complianceLevel>
55
+
<source>17</source>
56
+
<target>17</target>
57
+
<complianceLevel>17</complianceLevel>
58
58
<aspectLibraries>
59
59
<aspectLibrary>
60
60
<groupId>software.amazon.lambda</groupId>
@@ -120,14 +120,14 @@ Next, configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lam
120
120
implementation "org.aspectj:aspectjrt:1.9.22"
121
121
}
122
122
123
-
sourceCompatibility = 11
124
-
targetCompatibility = 11
123
+
sourceCompatibility = 17
124
+
targetCompatibility = 17
125
125
```
126
126
</details>
127
127
128
128
129
129
### Java Compatibility
130
-
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).
130
+
Powertools for AWS Lambda (Java) supports all Java versions from 17 to 25 in line with the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
131
131
132
132
For the modules that provide annotations, Powertools for AWS Lambda (Java) leverages the **aspectj** library.
133
133
You may need to add the appropriate version of `aspectjrt` to your dependencies based on the JDK used for building your function:
@@ -146,10 +146,10 @@ You may need to add the appropriate version of `aspectjrt` to your dependencies
146
146
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:
Powertools for AWS Lambda (Java) now provides a functional API that doesn't require AspectJ configuration. Learn more about the [functional approach](./usage-patterns.md#functional-approach).
192
192
193
193
### Java Compatibility
194
-
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).
194
+
Powertools for AWS Lambda (Java) supports all Java versions from 17 to 25 in line with the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
195
195
196
196
In addition to the functional approach, [Logging](./core/logging.md), [Metrics](./core/metrics.md), [Tracing](./core/tracing.md), [Parameters](./utilities/parameters.md), [Idempotency](./utilities/idempotency.md), [Validation](./utilities/validation.md), and [Large Messages](./utilities/large_messages.md) utilities support annotations using AspectJ, which require configuration of the `aspectjrt` runtime library.
197
197
@@ -208,10 +208,10 @@ You may need to add the appropriate version of `aspectjrt` to your dependencies
208
208
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:
Copy file name to clipboardExpand all lines: docs/upgrade.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,29 +22,29 @@ We've made minimal breaking changes to make your transition to `v2` as smooth as
22
22
23
23
The following table shows a summary of the changes made in `v2` and whether code changes are necessary. Each change that requires a code change links to a section below explaining more details.
|**Logging**| The [logging module was re-designed](#redesigned-logging-utility) from scratch to support popular Java logging paradigms and libraries like `log4j2`, `logback`, and `slf4j`. | Yes |
28
-
|**Metrics**|[Changed public interface](#updated-metrics-utility-interface) to remove direct coupling with `aws-embedded-metrics-java`. | Yes |
29
-
|**Tracing**|[Removed deprecated `captureResponse` and `captureError` options](#deprecated-capture-mode-related-tracing-annotation-parameters) on `@Tracing` annotation. | Yes |
30
-
|**Idempotency**| The [`powertools-idempotency` module was split by provider](#idempotency-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
31
-
|**Idempotency**| Updated `IdempotencyConfig` interface to support addition of response hooks. | No |
32
-
|**Parameters**| The [`powertools-parameters` module was split by provider](#parameters-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
|**Logging**| The [logging module was re-designed](#redesigned-logging-utility) from scratch to support popular Java logging paradigms and libraries like `log4j2`, `logback`, and `slf4j`. | Yes |
28
+
|**Metrics**|[Changed public interface](#updated-metrics-utility-interface) to remove direct coupling with `aws-embedded-metrics-java`. | Yes |
29
+
|**Tracing**|[Removed deprecated `captureResponse` and `captureError` options](#deprecated-capture-mode-related-tracing-annotation-parameters) on `@Tracing` annotation. | Yes |
30
+
|**Idempotency**| The [`powertools-idempotency` module was split by provider](#idempotency-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
31
+
|**Idempotency**| Updated `IdempotencyConfig` interface to support addition of response hooks. | No |
32
+
|**Parameters**| The [`powertools-parameters` module was split by provider](#parameters-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
33
33
|**Batch Processing**|[Removed deprecated `powertools-sqs` module](#removed-powertools-sqs-module-in-favor-of-powertools-batch) in favor of the more generic [Batch Processing](./utilities/batch.md) utility. | Yes |
34
-
|**Batch Processing**| Updated Batch Processing `BatchMessageHandler` interface to add support for parallel processing. | No |
35
-
|**Validation**| The `@Validation` utility returns 4xx error codes instead of 5xx error codes when used with API Gateway now. | No |
36
-
|**Validation**| Validating batch event sources now adds failed events as partial batch failures and does not fail the whole batch anymore. | No |
37
-
|**Custom Resources**|[Removed deprecated `Response.failed()` and `Response.success()` methods](#custom-resources-updates-the-response-class). | Yes |
38
-
|**Custom Resources**| Changed interface of `Response` class to add an optional `reason` field. | No |
39
-
|**Dependencies**| Renamed `powertools-core` to `powertools-common`. This module should not be used as direct dependency and is listed here for completeness. | No |
40
-
|**Dependencies**|[Removed `org.aspectj.aspectjrt` as project dependency](#aspectj-runtime-not-included-by-default-anymore) in favor of consumers including the version they prefer. | Yes |
41
-
|**Language support**| Removed support for Java 8. The minimum required Java version is Java 11. | N/A |
34
+
|**Batch Processing**| Updated Batch Processing `BatchMessageHandler` interface to add support for parallel processing. | No |
35
+
|**Validation**| The `@Validation` utility returns 4xx error codes instead of 5xx error codes when used with API Gateway now. | No |
36
+
|**Validation**| Validating batch event sources now adds failed events as partial batch failures and does not fail the whole batch anymore. | No |
37
+
|**Custom Resources**|[Removed deprecated `Response.failed()` and `Response.success()` methods](#custom-resources-updates-the-response-class). | Yes |
38
+
|**Custom Resources**| Changed interface of `Response` class to add an optional `reason` field. | No |
39
+
|**Dependencies**| Renamed `powertools-core` to `powertools-common`. This module should not be used as direct dependency and is listed here for completeness. | No |
40
+
|**Dependencies**|[Removed `org.aspectj.aspectjrt` as project dependency](#aspectj-runtime-not-included-by-default-anymore) in favor of consumers including the version they prefer. | Yes |
41
+
|**Language support**| Removed support for Java 11. The minimum required Java version is Java 17.| N/A |
42
42
43
43
### First Steps
44
44
45
45
Before you start, we suggest making a copy of your current working project or create a new branch with `git`.
46
46
47
-
1.**Upgrade** Java to at least version 11. While version 11 is supported, we recommend using the [newest available LTS version](https://downloads.corretto.aws/#/downloads){target="\_blank"} of Java.
47
+
1.**Upgrade** Java to at least version 17. While version 17 is supported, we recommend using the [newest available LTS version](https://downloads.corretto.aws/#/downloads){target="\_blank"} of Java.
48
48
2.**Review** the following section to confirm if you need to make changes to your code.
0 commit comments