새로운 질서 위키

시맨틱 버저닝

시맨틱 버저닝(Semantic Versioning, SemVer)은 소프트웨어의 공개 API 변경을 세 자리 버전 번호로 전달하는 규칙이다. 먼저 다른 프로그램이 의존해도 된다고 약속하는 기능과 사용법을 분명히 해야 한다. 숫자는 작업량이나 완성도의 점수가 아니라 호환성에 관한 신호다. (시맨틱 버저닝 2.0.0 명세)

  • 공식 웹사이트

  • MAJOR.MINOR.PATCH에서 첫 숫자는 기존 사용법과 호환되지 않는 변경, 둘째는 호환되는 기능 추가, 셋째는 호환되는 버그 수정에 대응한다. 상위 숫자를 올릴 때 그 아래 숫자는 0으로 돌린다.

  • 예를 들어 공개한 포스터 생성기의 필수 입력 이름을 title에서 heading으로 바꿔 기존 호출이 실패한다면 주요 버전 변경 사유가 된다. 선택 입력을 추가하면서 기존 호출을 유지하는 변경과 구분할 수 있다.

  • 이미 배포한 버전의 내용을 몰래 바꾸지 않는다. 수정한 내용은 새 버전으로 내놓아 사용자가 번호로 결과물을 구분하게 한다. 버전 관리의 수정 이력과 배포 버전 번호는 서로 연결할 수 있지만 같은 것은 아니다.

  • 0.y.z는 초기 개발을 위한 구간으로, 공개 API가 안정적이라고 간주하지 않는다. 1.0.0부터 공개 API와 이후 변경 규칙을 기준으로 버전을 정한다.

기타 등등

  • 1.0.0-rc.1처럼 붙는 사전 배포 표시는 같은 숫자의 정식 버전보다 낮은 우선순위를 갖는다. 따라서 1.0.0-rc.1은 1.0.0보다 앞선다. 출처
  • 1.0.0+build.7의 + 뒤는 빌드 메타데이터다. 이 부분은 버전의 우선순위를 비교할 때 무시되므로 숫자가 커져도 더 높은 버전이 되지는 않는다. 출처

#개념 #소프트웨어 #버전관리

검색