일반적으로 버전은 다음과 같이 정의 또는 규약한다.
버전은 이전의 산출물을 확장하여 이후 새로운 산출물을 만들기 위하여 숫자로 구분한다.
버전의 규칙
기본 : {Major} . {Minor} . {Patch}
확장 : {Major} . {Minor} . {Patch} . {Build Number}
버전의 의미
Major
- 소프트웨어가 대폭적 변경이 발생한 경우.
- 하위버전과 호환되지 않음.
- API, F/W 변경 및 상단한 변화가 있는 경우 증가함.
Minor
- 소프트웨어가 작은 기능 개선 및 변경이 발생한 경우.
- 하위버전과 호환됨.
- 기존 어떠한 기능도 중단시키지 않는 새로운 기능이 추가될때 증가함. (기능추가, 컨포넌트추가, 클래스추가, 함수추가등)
Patch
- 기능안에서 잔 버그들을 수정하거나 기능의 내부구조를 수정할 경우.
- 하위버전과 호환됨.
- 기타 버그를 수정할때 증가함.
Build Number
- 소프트웨어를 실제로 프로그램화 하는 과정.
- 하위버전과 호환됨.
- Patch 버전이 동일하며 추가 빌드가 발생되었을 경우 생성되거나, 증가함.
- 소프트웨어 개발 및 특별한 경우를 제외하고 자주 사용 되지 않음.
예시 )
- 1.0.0 : 버전1, 릴리즈가 되고 버그 수정 등이 한번도 되지 않는 최초 버전.
- 1.0.3 : 버전1, 릴리즈가 되고 버그 수정 등이 3번 발생.
- 1.1.0 : 버전1, 새로운 기능 1번 추가, 1.0.*, 1.1.*, 1.2.* 버전을 사용하던 프로젝트 호환 가능.
- 2.1.8 : 버전1 과 호환이 안되며, 새롭게 릴리즈가 되고 버그수정이 8번 발생, 2.0.* 과 호환이 가능.
Add Comment