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.
For example, running this file produces the following message:
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.