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.
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.