최근 사내 npm 패키지를 배포하다가 version은 어떤 규칙으로 정해지는지에 대해 궁금증이 떠올랐다.
그래서 버전 관리에 대해서 검색을하다가 우연히 시멘틱 버전이라는 개념을 알게되었다.
버전을 주.부.수 숫자로 하고:
- 기존 버전과 호환되지 않게 API가 바뀌면 “주(主) 버전”을 올리고,
- 기존 버전과 호환되면서 새로운 기능을 추가할 때는 “부(部) 버전”을 올리고,
- 기존 버전과 호환되면서 버그를 수정한 것이라면 “수(修) 버전”을 올린다.
주.부.수 형식에 정식배포 전 버전이나 빌드 메타데이터를 위한 라벨을 덧붙이는 방법도 있다.
위와 같은 아이디어를 가지고 유의미하게 주/부/수 버전을 갱신하는 버전 관리방법이다.
시멘틱 버저닝은 사용자가 해당 패키지가 어떻게 업데이트되어 왔는지를 알 수 있게 해준다.
시멘틱 버전에 대한 자세한 설명은 아래 링크에서 확인할 수 있다.
https://semver.org/lang/ko/
중요한 내용만 요약하자면