# Node.js 버전 정책

**개요**

Node.js는 안정성과 최신 기능 제공을 위해 체계적인 버전 정책을 유지한다. 이 정책은 주요 버전 릴리스, LTS(Long Term Support) 릴리스, 비정기 릴리스, 그리고 각 릴리스의 수명 주기를 포함한다. 이를 통해 개발자와 기업은 신뢰성 있고 예측 가능한 방식으로 Node.js를 사용할 수 있다.

**버전 번호 체계**

Node.js는 [Semantic Versioning (SemVer)](https://semver.org/)을 따른다. 버전 번호는 `MAJOR.MINOR.PATCH` 형식을 사용하며 각 부분의 의미는 다음과 같다:

* **MAJOR (주 버전):** 기존 API와 호환되지 않는 변경이 있을 때 증가한다.
* **MINOR (부 버전):** 기존 API와 호환되는 새로운 기능이 추가될 때 증가한다.
* **PATCH (패치 버전):** 기존 API와 호환되는 버그 수정이 있을 때 증가한다.

**릴리스 일정**

Node.js는 정기적으로 새로운 버전을 릴리스한다. 주요 릴리스 일정은 다음과 같다:

* **4월:** 새로우며 실험적인 기능이 포함된 Current 버전이 릴리스된다.
* **10월:** 6개월간 Current 상태를 유지한 후, 안정화된 버전이 LTS로 지정된다. 이 버전은 기업 사용자를 대상으로 안정성과 장기 지원을 제공한다.

**Long Term Support (LTS)**

LTS는 장기 지원 릴리스로, 안정성과 보안 업데이트가 보장된다. LTS 릴리스는 다음과 같은 단계로 진행된다:

* **Active LTS (활성 LTS):** 릴리스 후 18개월 동안 활성 지원을 받는다. 새로운 기능, 버그 수정, 보안 패치가 포함된다.
* **Maintenance LTS (유지 관리 LTS):** 활성 LTS 이후 12개월 동안 유지 관리 모드로 전환된다. 이 단계에서는 주로 보안 패치와 주요 버그 수정만 제공된다.

**Current 릴리스**

Current 릴리스는 최신 기능과 개선 사항을 포함하며, 실험적인 상태로 간주된다. 이 릴리스는 새로운 기능을 시험하고, 피드백을 수집하며, 최종 LTS 릴리스 전에 안정성을 확보하기 위한 목적으로 제공된다. 개발자들은 최신 기술을 사용해보고 싶을 때 Current 릴리스를 사용할 수 있다.

**버전 수명 주기**

각 Node.js 버전의 수명 주기는 다음과 같다:

* **Major 버전 릴리스:** 약 6개월마다 새로운 Major 버전이 릴리스된다.
* **Active LTS:** 새로운 Major 버전 릴리스 후 약 18개월 동안 활성 LTS 상태를 유지한다.
* **Maintenance LTS:** 활성 LTS 단계가 끝난 후 12개월 동안 유지 관리 LTS 상태를 유지한다.
* **End-of-Life (EOL):** LTS 기간이 끝나면 해당 버전은 EOL로 지정되어 더 이상 업데이트나 지원을 받지 않는다.

**주요 릴리스의 예시**

* **Node.js 16.x (2021년 4월 릴리스):** 현재 버전으로 2021년 10월 LTS로 전환되었다.
* **Node.js 18.x (2022년 4월 릴리스):** 현재 버전으로 2022년 10월 LTS로 전환되었다.
* **Node.js 20.x (2023년 4월 릴리스):** 현재 버전으로 2023년 10월 LTS로 전환되었다.

**버전 관리의 중요성**

Node.js 버전 정책을 준수하면 안정성과 보안이 보장된다. 개발자는 최신 LTS 릴리스를 사용하여 안정적인 환경을 유지할 수 있다. 동시에, 새로운 기능을 시험하고자 하는 경우 Current 릴리스를 활용할 수 있다. Node.js 버전 정책을 이해하고 따르는 것은 안정적이고 예측 가능한 소프트웨어 개발을 위한 필수적인 부분이다.
