Skip to content

Commit 2646f26

Browse files
svozzadreamorosi
andauthored
chore: drop Node.js 20 support (#5218)
Co-authored-by: Andrea Amorosi <[email protected]>
1 parent 8f72707 commit 2646f26

34 files changed

Lines changed: 89 additions & 111 deletions

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ body:
6969
options:
7070
- 24.x
7171
- 22.x
72-
- 20.x
7372
validations:
7473
required: true
7574
- type: dropdown

.github/workflows/quality_check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
NODE_ENV: dev
2121
strategy:
2222
matrix:
23-
version: [20, 22, 24]
23+
version: [22, 24]
2424
workspace: [
2525
"packages/batch",
2626
"packages/commons",

.github/workflows/reusable-run-linting-check-and-unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
NODE_ENV: dev
4141
strategy:
4242
matrix:
43-
version: [20, 22, 24]
43+
version: [22, 24]
4444
workspace: [
4545
"packages/batch",
4646
"packages/commons",

.github/workflows/run-e2e-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
packages/batch,
3737
layers,
3838
]
39-
version: [20, 22, 24]
39+
version: [22, 24]
4040
arch: [x86_64, arm64]
4141
fail-fast: false
4242
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!-- markdownlint-disable MD013 -->
22
# Powertools for AWS Lambda (TypeScript)
33

4-
![NodeSupport](https://img.shields.io/static/v1?label=node&message=%2020|%2022&style=flat&logo=nodedotjs)
4+
![NodeSupport](https://img.shields.io/static/v1?label=node&message=%2022|%2024&style=flat&logo=nodedotjs)
55
![GitHub Release](https://img.shields.io/github/v/release/aws-powertools/powertools-lambda-typescript?style=flat)
66
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=aws-powertools_powertools-lambda-typescript&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-typescript)
77
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=aws-powertools_powertools-lambda-typescript&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-typescript)

docs/getting-started/lambda-layers.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
111111
"CreatedDate": "2025-04-08T07:38:30.424+0000",
112112
"Version": 24,
113113
"CompatibleRuntimes": [
114-
"nodejs20.x",
115114
"nodejs22.x",
116115
"nodejs24.x"
117116
],

docs/versioning.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ Most AWS SDKs have underlying dependencies, such as language runtimes, AWS Lambd
3737

3838
The following terms are used to classify underlying third party dependencies:
3939

40-
* [**AWS Lambda Runtime**](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html): Examples include `nodejs20.x`, `python3.12`, etc.
41-
* **Language Runtime**: Examples include Python 3.12, NodeJS 20, Java 17, .NET Core, etc.
40+
* [**AWS Lambda Runtime**](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html): Examples include `nodejs22.x`, `python3.12`, etc.
41+
* **Language Runtime**: Examples include Python 3.12, NodeJS 22, Java 17, .NET Core, etc.
4242
* **Third party Library**: Examples include Pydantic, AWS X-Ray SDK, AWS Encryption SDK, Middy.js, etc.
4343

4444
Powertools for AWS Lambda follows the [AWS Lambda Runtime deprecation policy cycle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy), when it comes to Language Runtime. This means we will stop supporting their respective deprecated Language Runtime _(e.g., `nodejs20.x`)_ without increasing the major SDK version.

examples/app/cdk/function-with-logstream-construct.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ type BindTableProps = {
4343
*
4444
* The function is created with the following properties:
4545
* - `handler` set to `handler`
46-
* - `runtime` set to `Runtime.NODEJS_20_X`
46+
* - `runtime` set to `Runtime.NODEJS_22_X`
4747
* - `tracing` set to `Tracing.ACTIVE`
4848
* - `architecture` set to `Architecture.ARM_64`
4949
* - `timeout` set to `Duration.seconds(30)`
@@ -60,7 +60,7 @@ export class FunctionWithLogGroup extends NodejsFunction {
6060
super(scope, id, {
6161
...props,
6262
handler: 'handler',
63-
runtime: Runtime.NODEJS_20_X,
63+
runtime: Runtime.NODEJS_22_X,
6464
tracing: Tracing.ACTIVE,
6565
architecture: Architecture.ARM_64,
6666
timeout: Duration.seconds(30),

examples/snippets/commons/testingMetadata.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ describe('function: getMetadata', async () => {
2525
vi.stubEnv('AWS_LAMBDA_METADATA_API', '127.0.0.1:1234');
2626
vi.stubEnv('AWS_LAMBDA_METADATA_TOKEN', 'test-token');
2727

28-
const payload = { runtime: 'nodejs20.x' };
28+
const payload = { runtime: 'nodejs22.x' };
2929
fetchMock.mockResolvedValue({
3030
ok: true,
3131
json: vi.fn().mockResolvedValue(payload),

examples/snippets/idempotency/templates/tableCdk.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class IdempotencyStack extends Stack {
1818
});
1919

2020
const fnHandler = new NodejsFunction(this, 'helloWorldFunction', {
21-
runtime: Runtime.NODEJS_20_X,
21+
runtime: Runtime.NODEJS_22_X,
2222
handler: 'handler',
2323
entry: 'src/index.ts',
2424
environment: {

0 commit comments

Comments
 (0)