blog
유의적 버전(SemVer): 어떤 숫자를 올려야 할까
Front-end / Tooling#SemVer#버전 관리#npm
Semantic Versioning은 MAJOR.MINOR.PATCH 형식이며, 변경의 성격에 따라 올릴 자리가 정해진다.
| 변경 | 올리는 자리 | 예시 |
|---|---|---|
| 하위 호환되는 버그 수정 | PATCH | 1.2.3 → 1.2.4 |
| 하위 호환되는 기능 추가 | MINOR | 1.2.3 → 1.3.0 |
| 하위 호환이 깨지는 변경 | MAJOR | 1.2.3 → 2.0.0 |
앞자리를 올리면 뒷자리는 0으로 초기화한다.
함께 알아두면 좋은 것
- 0.x 버전:
0.y.z는 초기 개발 단계로, 공개 API가 언제든 바뀔 수 있다고 본다. npm의^0.2.3은0.2.x까지만 허용하는 것도 이 때문이다. - 프리릴리스:
1.0.0-alpha.1,2.0.0-rc.1처럼 하이픈 뒤에 붙이며, 정식1.0.0보다 낮은 버전으로 취급된다. - npm 범위 지정자
^1.2.3:>=1.2.3 <2.0.0(MINOR·PATCH 업데이트 허용)~1.2.3:>=1.2.3 <1.3.0(PATCH 업데이트만 허용)
npm version patch|minor|major명령은package.json버전을 올리고 git 태그까지 만들어 준다.