Node.js 릴리즈 버전은 일정한 스케줄에 의해 돌아갑니다.
공식 사이트에 나와있는 부분을 토대로 정리해 보도록 하겠습니다.
- Current release status (6개월)
- Node.js Major 버전 (10, 11, 12, ...) 라이프 사이클의 시작
- 이 기간은 다음 Major 버전이 나올때까지 유지되며, 중요한 변경사항이 공개됩니다. 또한 이 기간 내에 라이브러리 작성자는 해당 버전에 대한 지원을 추가할 수 있습니다.
- 해당 기간이 지난 후 다음 상태는 Major 버전의 숫자에 따라 차이가 있습니다.
- 홀수 버전 (9, 11, ...) : 지원이 종료되며 곧 사라집니다. (EOL 상태)
- 짝수 버전 (10, 12, ...) : Active LTS 상태로 변경됩니다.
- LTS status (30개월)
- Long Term Support 의 약자이며, 일반적으로 이 기간동안 중요한 버그들은 수정될 것을 보장합니다.
- Active / Maintenance 두가지 상태가 있으며 대략 Active 기간이 1년 ~ 1년반, 이후 남은 기간을 Maintenance 라고 합니다. (버전 별로 차이는 있을 수 있습니다.)
- Active status
- 이 상태는 최신 feature, 기능, 개선사항 에 대한 backporting 지원 / 버그 픽스, 보안 취약점 패치 등 해당 Node.js 버전이 적극적으로 유지관리 및 업그레이드 됨을 뜻합니다. (backporting : 새로운 버전의 기능을 패치나 라이브러리 형태로 지원해 이전 버전에서도 사용할 수 있게 하는 것)
- Maintenance status
- EOL status 에 가까워 졌으며, 짧은 기간 동안 보안 패치나 버그 픽스의 지원만 이뤄집니다.
- 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 버전을 선택하면 될 것 같습니다.
자료 참고
'Backend > Node.js' 카테고리의 다른 글
[Node.js] Http 라이브러리 비교 (3) | 2020.06.08 |
---|---|
Node.js v14 - Optional Chaining / Nullish / Intl.* (0) | 2020.05.06 |
Medium 번역 - Node.js version 14 available now (0) | 2020.04.26 |
' nvm ls ' 출력에 대한 정리 (0) | 2020.02.16 |
NVM (Node Version Manager) 설치 (in mac) (0) | 2020.02.13 |