AWS Developer Tools Blog

Announcing the end of support for Node.js 16.x in the AWS SDK for JavaScript (v3)

This blog post is about AWS SDK for JavaScript (v3) announcing the end of support for Node.js 16.x, and not AWS Lambda, which started their Node.js 16.x deprecation on June 12, 2024.

Starting January 6, 2025, the AWS SDK For JavaScript (v3) will no longer support Node.js 16.x, which reached end-of-life on September 11, 2023.

We encourage you to upgrade to a Node.js Active Long Term Support (LTS) version, which is Node.js 20.x as of July 2024. For AWS Lambda users, AWS Lambda supports Node.js 20.

Why are we doing it?

The JavaScript community is dropping support for Node.js 16.x since it has reached end-of-life. There will be no further bug fixes or security updates for Node.js 16.x. To make sure we are providing up-to-date and secure libraries, we are joining this migration. To ensure that your applications and services remain secure, please upgrade to an actively supported version of Node.js, such as 20.x.

What is going to happen?

If you’re using AWS SDK for JavaScript (v3) in Node.js 16.x, the following message will be shown when you create an instance of any client:

// test.mjs or test.js with type:module
import { DynamoDB } from "@aws-sdk/client-dynamodb";

const client = new DynamoDB({});
$ node --version
v16.20.2

$ node test.mjs
...
NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
no longer support Node.js v16.x on January 6, 2025.

To continue receiving updates to AWS services, bug fixes, and security
updates please upgrade to a supported Node.js LTS version.

More information can be found at: https://a.co/74kJMmI
...

On January 6, 2025, the GitHub and NPM releases for the AWS SDK for JavaScript (v3) will contain release notes stating the end-of-support for Node.js 16.x. The exact SDK version will be included in the same release notes. If you are using Node.js 16.x, installing the later versions of the SDK will cause an engine deprecation warning to appear. If you have set engine-strict=true, an NPM installation error with code ENOTSUP will occur as follows.

$ node --version
v16.20.2

$ npm install @aws-sdk/client-s3
...
npm ERR! code ENOTSUPnpm ERR! notsup Unsupported engine for aws-sdk@<version>: wanted: {"node":">=18.0.0"} (current: {"node":"16.20.2","npm":"8.19.4"})
...

The AWS SDK for JavaScript (v3) versions released without Node.js 16.x support on or after January 6, 2025 may continue to work on Node.js 16.x. This does not imply a continuation of support. You can continue to use older versions of the AWS SDK for JavaScript (v3) released before January 6, 2025 with Node.js 16.x.

Maintenance Policies

The Node.js Release Schedule

Please see the Node.js release schedule for a complete list of Node.js versions and their maintenance status.

Node.js Release Schedule

The new even-numbered versions (e.g. v16.x, v18.x, v20.x etc) are released in April, while odd-numbered versions (e.g. v17.x, v19.x) are released in October. When a new odd-numbered release are available, the previous even-numbered version transitions to LTS.

AWS SDKs and Tools

For more information regarding maintenance and deprecation for AWS SDKs, please see the AWS SDKs and Tools Maintenance Policy. Our policy is to continue supporting SDK dependencies for at least 6 months after the community or vendor ends support for the dependency.

Feedback

Your feedback is greatly appreciated. You can engage with the AWS SDK for JavaScript team directly by opening a discussion or issue on our GitHub repository at aws/aws-sdk-js-v3.

Trivikram Kamat

Trivikram Kamat

Trivikram is maintainer of AWS SDK for JavaScript in Node.js and browser. Trivikram is also a Node.js Core collaborator and have contributed to HTTP, HTTP/2 and HTTP/3 over QUIC implementations in the past. He has been writing JavaScript for over a decade. You can find him on Twitter @trivikram and GitHub @trivikr.