AWS Developer Tools Blog

AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 align with the Node.js release schedule

The AWS CRT for JavaScript is adopting a policy that aligns with the official Node.js release schedule, providing a predictable timeline for when support for older Node.js versions is dropped. The AWS IoT Device SDK for JavaScript v2 is built on top of AWS CRT for JavaScript, so it shares the same minimum Node.js version. When AWS CRT for JavaScript drops a Node.js version, the AWS IoT Device SDK for JavaScript v2 drops it at the same time.

New support policy

Currently, AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 still support Node.js 14.x, which reached end of life in April 2023. Starting in January 2027, AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 will begin dropping support for end-of-life Node.js versions following the Node.js release schedule.

Under this policy, AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 will support each Node.js LTS version until 8 months past its end-of-life date, in line with the AWS SDKs and Tools maintenance policy. Each time a Node.js LTS version passes that 8-month mark, we raise the minimum supported version to the next supported Node.js LTS version. For example, Node.js 22.x reaches end of life in April 2027. Under this policy it remains the minimum supported version until January 2028, after which the floor moves to Node.js 24.x. Each increase in the minimum supported version will be recorded in the release notes, including the exact AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 versions in which it takes effect.

The following table lists the Node.js version support details for AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2.

Node.js version Release date Node.js end of life Support drop date New minimum Node.js version
14.x Apr 2020 Apr 2023 January 2027 22.x
16.x Apr 2021 Sep 2023 January 2027 22.x
18.x Apr 2022 Apr 2025 January 2027 22.x
20.x Apr 2023 Apr 2026 January 2027 22.x
22.x Apr 2024 Apr 2027 January 2028 24.x
24.x May 2025 Apr 2028 January 2029 26.x
26.x May 2026 Apr 2029 January 2030 27.x

In January 2027, when the minimum supported version moves to Node.js 22.x, AWS CRT for JavaScript will also upgrade the Node-API to version 8. Node-API (formerly N-API) is a stable ABI layer built into Node.js that lets native add-ons run across different Node.js versions without recompilation. Because Node-API is forward compatible, a binary built against version 8 continues to run on newer Node.js releases, unless a newer Node-API feature is specifically required.

Deprecation warning

If you are using the latest AWS CRT for JavaScript with a Node.js version that has reached end of life, creating a client instance prints a deprecation warning.

JavaScript
// test_client.mjs
import { mqtt } from "aws-crt";

const client = new mqtt.MqttClient();

For example, running this file produces the following message:

Console
>> node test_client.mjs
  (node:73432) NodeDeprecationWarning:
  
  Starting in January 2027, the AWS CRT for JavaScript will require Node.js 22.x or later.
  Support for Node.js 14.x, 16.x, 18.x and 20.x will be dropped.
  
  You are currently on Node.js v18.20.8.
  
  To continue receiving updates for AWS CRT for JavaScript, bug fixes, and security updates,
  please upgrade to a supported version of Node.js (ideally the latest LTS).
  
  More information: https://github.com/awslabs/aws-crt-nodejs
  (Use `node --trace-warnings ...` to show where the warning was created)

Conclusion

In this post, we announced that AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2 align with the official Node.js release schedule beginning in January 2027. We strongly recommend upgrading to a supported Node.js LTS version ahead of this change. Going forward, we will support each Node.js LTS version until 8 months past its end of life, in line with the AWS SDKs and Tools maintenance policy, and every increase in the minimum supported version will be noted in the release notes for AWS CRT for JavaScript and AWS IoT Device SDK for JavaScript v2.

For feedback, you can reach the team on GitHub Discussions for aws-crt-nodejs or aws-iot-device-sdk-js-v2.

Rakshilkumar Modi

Rakshilkumar Modi

Rakshilkumar is a Software Development Engineer at AWS on the AWS IoT Device SDK team, where he builds and maintains the AWS Common Runtime (CRT) and the AWS IoT Device SDK. He holds a master's degree from Arizona State University. You can find him on GitHub as @rakshil14-2