AWS Developer Tools Blog

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

This blog post is about AWS SDK for JavaScript (v3), and not AWS Lambda. As of Oct 2022, Lambda is planning Node.js 12.x deprecation on Mar 31, 2023. If your code uses Lambda Provided SDK, it’s v2 which continues to support Node.js 12.x

Starting November 1, 2022, AWS SDK For JavaScript (v3) will no longer support Node.js 12.x which was EOL on April 30, 2022.

We encourage you to upgrade to Node.js 14.x or later. We recommend Node.js 16.x, which was released on April 26, 2021 and became active LTS on October 28, 2021. For Lambda users, AWS Lambda supports Node.js 16.

Why are we doing it?

Node.js 12.x version has reached end-of-life. We are seeing support drop within the Node.js community. To make sure we are providing up-to-date and secure libraries, we’re joining this migration. We encourage you to do the same to ensure your applications and services remain secure.

What is going to happen?

If you’re using AWS SDK for JavaScript (v3) in Node.js 12.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
v12.22.12

$ node test.mjs
...
NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
no longer support Node.js v12.22.12 on November 1, 2022.

To continue receiving updates to AWS services, bug fixes, and security
updates please upgrade to Node.js 14.x or later.

For details, please refer our blog post: https://a.co/48dbdYz
...

On November 1, 2022, the GitHub and npm release for AWS SDK for JavaScript (v3) will update engines field in package.json to drop support for Node.js 12.x. The installation for newer versions of AWS SDK for JavaScript (v3) will fail in Node.js <14.x if you have set engine-strict=true as follows:

$ node --version
v12.22.12

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

You can continue to use AWS SDK for JavaScript (v3) versions released before November 1, 2022 in Node.js <14.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. v12.x, v14.x, v16.x etc) are released in April, while odd-numbered versions (e.g. v15.x, v17.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

We value your feedback, so please tell us what you like and don’t like by opening a discussion on GitHub.

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.