시맨틱 버저닝 이란
버전 번호 표준 MAJOR.MINOR.PATCH
시맨틱 버저닝(SemVer)——MAJOR.MINOR.PATCH 형식의 소프트웨어 버전 번호 표준으로, 각 부분에 특정 의미가 있습니다.
버전 구조
- MAJOR (1.x.x) — 호환되지 않는 API 변경
- MINOR (x.1.x) — 하위 호환성 있는 새 기능
- PATCH (x.x.1) — 하위 호환 버그 수정
- 프리릴리스 — 1.0.0-alpha, 1.0.0-beta.1
- 빌드 메타데이터 — 1.0.0+build.123
규칙
- 초기 버전 — 0.1.0
- 첫 번째 안정 릴리스 — 1.0.0
- MAJOR 증가 시 — MINOR와 PATCH 리셋
- MINOR 증가 시 — PATCH 리셋
- 버전은 왼쪽에서 오른쪽으로 비교
변경 예시
- MAJOR: 함수 제거, 메서드 시그니처 변경
- MINOR: 새 엔드포인트 추가, 새 선택적 매개변수
- PATCH: 버그 수정, 성능 개선
도구
- npm — 패키지에 SemVer 사용
- Composer — PHP 패키지 관리자
- Maven — Java 종속성
- semantic-release — 릴리스 자동화
- commitizen — 구조화된 커밋
이점
- 예측 가능성 — 업데이트에 대한 명확한 기대
- 자동화 — 자동 버전 결정
- 문서화 — 커밋에서 변경 로그
- 호환성 — 안전한 종속성 업데이트