본문 바로가기

Backend/Node.js

Node.js LTS schedule 정리

Node.js 릴리즈 버전은 일정한 스케줄에 의해 돌아갑니다.

공식 사이트에 나와있는 부분을 토대로 정리해 보도록 하겠습니다.

 

  1. Current release status (6개월)
    • Node.js Major 버전 (10, 11, 12, ...) 라이프 사이클의 시작
    • 이 기간은 다음 Major 버전이 나올때까지 유지되며, 중요한 변경사항이 공개됩니다. 또한 이 기간 내에 라이브러리 작성자는 해당 버전에 대한 지원을 추가할 수 있습니다.
    • 해당 기간이 지난 후 다음 상태는 Major 버전의 숫자에 따라 차이가 있습니다.
      • 홀수 버전 (9, 11, ...) : 지원이 종료되며 곧 사라집니다. (EOL 상태)
      • 짝수 버전 (10, 12, ...) : Active LTS 상태로 변경됩니다.
  2. LTS status (30개월)
    • Long Term Support 의 약자이며, 일반적으로 이 기간동안 중요한 버그들은 수정될 것을 보장합니다.
    • Active / Maintenance 두가지 상태가 있으며 대략 Active 기간이 1년 ~ 1년반, 이후 남은 기간을 Maintenance 라고 합니다. (버전 별로 차이는 있을 수 있습니다.)
    • Active status
      • 이 상태는 최신 feature, 기능, 개선사항 에 대한 backporting 지원 / 버그 픽스, 보안 취약점 패치 등 해당 Node.js 버전이 적극적으로 유지관리 및 업그레이드 됨을 뜻합니다. (backporting : 새로운 버전의 기능을 패치나 라이브러리 형태로 지원해 이전 버전에서도 사용할 수 있게 하는 것)
    • Maintenance status
      • EOL status 에 가까워 졌으며, 짧은 기간 동안 보안 패치나 버그 픽스의 지원만 이뤄집니다.
  3. EOL (End-Of-Life)
    • 이 상태의 Node.js 버전은 알려진 보안 취약점이나 버그 픽스가 이루어지지 않고 더이상 유지되지 않습니다.

 

  • 위 그림에서처럼 v12 의 경우 짝수 버전이기 때문에 Current -> Active LTS -> Maintenence LTS -> EOL 의 순서대로 진행됩니다.
    • Current 상태에서 6개월 후 Active LTS 상태로 변경 / 총 30개월의 LTS 기간을 거친 후 2022년 4월 30일에 EOL 상태로 변경이 예정되어 있습니다.
    • Active 상태가 v12 는 1년이지만, v10 은 약 1년 5개월 정도의 기간인 것처럼 버전별로 약간의 차이가 있습니다. 최대 18개월은 넘지 않는 듯 합니다.
  • v13 은 홀수 버전이므로 Current 상태 이후 바로 EOL 상태가 되었습니다.
  • 단순 개발목적으로는 어떤 버전을 사용해도 무방하지만, production level 의 프로그램에는 Active LTS 혹은 Maintenance LTS 버전 사용을 권하고 있습니다.
  • 따라서 Node.js 버전 선택 시 개인 프로젝트 등 중요도가 적은 레벨의 개발 작업이라면 Current 상태의 버전을 택하고 production level (일반적인 업무용) 의 api 서버 혹은 웹서버 라면 LTS 버전을 선택하면 될 것 같습니다.

 

자료 참고

 

Releases | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org