이 글은 Node.js TSC 디렉터이면서 Google Cloud 개발자 지원을 하는
Myles Borins가 작성했습니다.
Node.js 프로젝트는 항상 4월은 바쁜 달입니다. 이번 달에 장기 지원을 받을 새 Semver-Major 릴리스를
내보냅니다. 10.x 버전은 현재 버전 릴리스 라인이 되어 Semver-Minor와 Semver-Patch 릴리스를
할 것입니다. 하위호환성을 깨뜨리지 모든 기능은 이 현재 버전 릴리스 라인에 추가됩니다.
10월에 10.x는 장기 지원 릴리스 라인이 됩니다. Node.js의 장기지원 전력과 릴리스 주기를 잘 모른다면
Node.js Release Working Group를 확인해 보세요.
요약:
4.x 릴리스 라인은 4월 30일에 지원이 중단될 예정입니다
- 더는 업데이트를 하지 않습니다.(보안 업데이트도 없습니다.)
- 이 버전은 성공적이었습니다. 🎉
6.x 릴리스 라인은 4월 30일에 유지보수 모드가 됩니다
- 비정기적으로 중요한 버그나 보안 릴리스만 업데이트합니다.
8.x 릴리스 라인은 계속 활성 LTS 버전입니다
- 월별 semver-patch 릴리스를 합니다.
- 분기별 semver-minor 릴리스를 합니다.
9.x 릴리스 라인은 더는 적극적으로 유지 보수하지 않습니다
- 짧은 기간은 비정기적으로 중요한 버그나 보안 릴리스를 업데이트할 것입니다.
10.x 릴리스 라인은 4월 24일에 나옵니다
- 6개월 동안 현재 버전 릴리스 라인이 될 것입니다.
- 6개월은 현재 버전 기간입니다.(정기적인 semver-minor와 semver-patch 릴리스를 합니다.)
- 18개월은 활성 LTS 기간입니다.(월별 semver-patch 릴리스와 분기별 semver-minor 릴리스를 합니다.)
- 12개월은 유지보수 LTS 기간입니다.(비정기적으로 중요한 버그와 보안 릴리스 업데이트를 합니다.)
어떤 규모의 애플리케이션이든 안정적인 플랫폼을 제공하려고 장기지원(LTS) 릴리스 라인을 만들었습니다.
LTS 릴리스 라인은 안정성과 확장된 지원을 제공하는 방면 현재 버전 릴리스 라인은 더 자주 업데이트되면서
LTS와의 간극을 메꾸는 역할을 합니다. 대부분 개발자는 LTS 릴리스 라인을 사용합니다.
18개월의 활성 LTS 기간 동안 릴리스 팀은 릴리스를 내보낼 때 현재 버전 릴리스 라인에서 적극적으로 커밋을
백포트합니다. Node.js 10은 2018년 10월에 활성 LTS가 시작됩니다.
이 글에서는 두 LTS 릴리스 라인 Node.js 4.x와 Node.js 6.x에 무슨 일이 벌어지는지에 집중합니다.
Node.js 10에 대해서는 4월 24일 릴리스 했을 때 더 설명할 것입니다.
4월에 첫 LTS 릴리스 라인인 Node.js 4.x의 "생명이 종료"됩니다. 즉, 더는 보안 업데이트나 버그 수정을
적용하지 않습니다. 추가로 Node.js 6.x는 유지보수 모드가 되어 심각한 버그나 중요한 보안 수정사항,
문서 업데이트만 적용합니다.
현재 Node.js 4.x Argon를 사용하고 있지만 Node.js 8.x Carbon의 최신 버전으로 마이그레이션
하기를 강력하게 권장합니다. Node.js 홈페이지에서
Carbon 최신 버전을 찾을 수 있습니다.
아직 Node.js 4.x Argon을 사용하고 있다면 무엇을 해야 하나요?
Node.js 4.x Argon을 사용하는 사용자는 최신 버전의 Node.js 8.x으로 즉시 마이그레이션 하기를
권장합니다. Node.js 4.x Argon에서 Node.js 8.x Carbon으로 바꾸는 데 문제가 있다면
Node.js 6.x Boron으로 바꿀 수도 있습니다. Boron의 지원이 멈추기까지 유지보수 지원이
1년 남았다는 것을 기억해야 합니다.
Node.js 6.x Boron이 유지보수 모드가 되었으므로 바꾸어야 하나요?
Boron은 중요한 버그와 보안 수정사항을 적용하면서 지원이 중단되기 까지 1년만 남았습니다.
프로덕션에서 Node.js 애플리케이션을 중용할 계획이 있다면 8.x로 업그레이드할 계획을 세우기 좋을 때이고
가능하다면 6개월 안에 10.x를 사용할 수도 있습니다.
Node.js 4.x와 Node.js 6.x를 계속 사용한다면 보안 문제가 있나요?
6.x는 유지보수하는 다른 릴리스 브랜치와 같은 수준으로 보안 지원을 계속할 것입니다. 4.x는
2018년 4월 이후에는 보안 업데이트를 하지 않으므로 최대한 빨리 Argon 릴리스에서 벗어나야 합니다.
Node.js 9.x는 어떻게 되나요?
Node.js 9.x는 "현재 버전 릴리스"이고 2018년 6월에 생명이 끝날 것입니다. 9.x가 홀수 버전
릴리스이므로 LTS 지원을 받지 않을 것입니다.
현재 Node.js 9.x를 사용하고 있고 최신 릴리스 라인으로 업데이트하고자 한다면 4월 24일에 나올
Node.js 10으로 업데이트하기를 권장합니다. Node.js 9.x가 2018년 6월 생명이 끝나면
중요한 보안 업데이트를 더는 적용하지 않을 것입니다.
이러한 릴리스 주기를 선택한 이유는 무엇인가요?
이 릴리스 주기로 안정성을 훼손시키지 않고 Node.js에 최신 기능을 추가할 수 있습니다.
우리는 수많은 개발자가 Node.js를 사용하면서 일부는 프로덕션에서
사용하고(LTS 릴리스 라인을 선택한 사람들) 일부는 더 빠른 릴리스를 기대하는 것을 모두 만족시키려고 합니다.
Node.js 10에서 무엇을 기대해야 하나요?
Node.js 10은 이번 달 말에 릴리스 될 것입니다.(4월 24일이 목표입니다) 공식적으로 릴리스했을 때
더 자세한 내용을 볼 수 있습니다.
Node.js의 한 버전에서 다른 버전으로 마이그레이션 할 때 도움이 될만한 추천 자료 등이 있나요?
위키에서 호환성을 깨뜨린
변경사항 목록을 볼 수 있습니다. Waleed Ashraf도
Node.js의 다른 버전으로 업그레이드할 때 생각해 보아야 할 내용과 변경사항에 대해서
블로그에 글을 올렸습니다.
다른 질문이 있으면 어디에서 질문해야 하나요?
이 Medium 글에서
편하게 질문해도 됩니다. 아니면 https://github.com/nodejs/help에서 질문할 수도 있습니다.