- 신규 프로젝트에서는 Node.js 18 사용을 고려해야 할 때입니다.
---
작년 6월, Node.js 에서는 LTS 16 버전의 지원 종료 일자를 2023년 9월 11일로 앞당긴다고 발표했습니다. 공식적인 지원 종료일은 2024년 4월이었기 때문에, 지원 종료일이 7개월이나 앞당겨진 것이죠. 어느새 지원 기간이 종료되었기 때문에, 신규 프로젝트 도입 시에는 Node.js 18을 기본 버전으로 도입하는 것이 바람직해보입니다.
Node.js 에서는 짝수 버전을 LTS(Long Time Support), 즉 장기 지원 버전으로 칭합니다. 통상적으로 30개월 이상의 기간 동안 유지보수를 지원하기 때문에 더 안정적이고 프로덕션 용도에 적합한 것으로 여겨지죠.
Node.js 16 버전의 공식 지원 종료일이 앞당겨진 이유는 Node.js 내부에 포함된 OpenSSL 이라는 라이브러리의 지원 종료 일자 때문입니다. OpenSSL은 SSL, TLS처럼 보안과 관련된 레이어에서 동작하는데요, 우리가 잘 알고 있는 HTTPS 가 이를 기반으로 동작합니다. Node.js 16 버전의 릴리스에 OpenSSL 3를 사용하고 싶었지만, 릴리스 일정 문제로 이것이 불가능하여 부득이하게 OpenSSL 1.1.1을 사용했다고 합니다. OpenSSL 1.1.1의 지원 일자가 일찍 종료되는 바람에 Node.js 16에 대한 공식 지원도 더 일찍 마무리가 되었네요.
현재 Node.js 16 버전을 쓰고 있는 프로젝트라고 해도 이러한 지원 종료가 당장 큰 문제를 일으키지는 않습니다. 다만 Node.js 버전 업의 이유 자체가 신규 기능을 제공할 뿐만 아니라 취약점을 개선하기 위한 목적도 있으니, 신규 프로젝트에서 Node.js 를 사용해야 하거나 Node.js 버전 업을 고려해야 할 때 적용할 근거가 될 수 있어보입니다.
https://nodejs.org/en/blog/announcements/nodejs16-eol