티스토리 뷰

728x90

X.Y.Z (메이저.마이너.패치) 버전 관리 규칙

소프트웨어 버전 관리는 보통 시맨틱 버전(Semantic Versioning, SemVer)을 따릅니다.
크롬 익스텐션뿐만 아니라, 대부분의 소프트웨어에서 X.Y.Z 형식을 사용합니다.

X.Y.Z  (Major.Minor.Patch)
              버전 형식                      의미                                예시
X (Major, 메이저 버전) 기존과 호환되지 않는 큰 변경 1.0.0 → 2.0.0
Y (Minor, 마이너 버전) 새로운 기능 추가 (기존 기능과 호환 가능) 1.0.0 → 1.1.0
Z (Patch, 패치 버전) 버그 수정, 성능 개선 (기능 변화 없음) 1.1.0 → 1.1.1

X (Major, 메이저 버전)

메이저 버전은 크게 변경된 사항이 있을 때 증가합니다.
이전 버전과 호환되지 않는 Breaking Change(하위 호환성 깨짐)가 포함될 때 사용됩니다.

 

언제 올려야 할까?

  • 기존 기능과 완전히 다른 방식으로 작동하는 업데이트가 포함될 때
  • 이전 버전과 호환되지 않는 변경이 있을 때
  • 대규모 리팩토링, API 변경, 데이터 구조 변경

예시

"version": "1.0.0" → "2.0.0"
  • UI/UX 대규모 개편
  • 주요 기능 변경 (이전 사용 방식과 다름)
  • 기존 API를 삭제하고 새로운 API 추가

Y (Minor, 마이너 버전)

마이너 버전은 새로운 기능이 추가되지만, 기존 기능과 호환성이 유지될 때 증가합니다.
즉, 사용자는 기존 기능을 그대로 사용할 수 있습니다.

 

언제 올려야 할까?

  • 기존 기능을 그대로 두고, 새로운 기능을 추가했을 때
  • UI 변경, UX 개선 등 기능 확장이 포함될 때

예시

"version": "1.0.0" → "1.1.0"
  • 다크 모드 추가
  • 검색 필터 기능 추가
  • 기존 버튼 스타일 변경

Z (Patch, 패치 버전)

패치 버전은 기능 추가 없이 버그 수정 및 최적화가 있을 때 증가합니다.
사용자에게 눈에 띄는 변화는 없지만, 성능 개선 및 안정성 향상을 포함합니다.

 

언제 올려야 할까?

  • 버그 수정 (오류 해결, 충돌 수정 등)
  • 성능 최적화 (속도 개선, 메모리 사용 최적화 등)
  • UI/UX 마이너 개선 (색상 변경, 텍스트 수정 등)

예시

"version": "1.1.0" → "1.1.1"
  • 로그인 버튼이 클릭되지 않는 버그 수정
  • 일부 기기에서 깨지는 UI 문제 해결
  • 네트워크 요청 속도 최적화
728x90

추가적인 버전 관리 (Optional)

때때로 추가적인 네 번째 자리를 사용하기도 합니다.
예를 들어:

X.Y.Z.W (Major.Minor.Patch.Build)
        버전 형식                       설명                              예시
X (Major) 큰 변경 (호환되지 않음) 2.0.0.0
Y (Minor) 기능 추가 (호환됨) 2.1.0.0
Z (Patch) 버그 수정 2.1.1.0
W (Build) 작은 수정, 내부 배포 2.1.1.1

이 방식은 보통 테스트 버전이나 내부 배포용으로 사용됩니다.

실제 예제 (버전 업데이트 흐름)

기본 버전

"version": "1.0.0"

버그 수정

"version": "1.0.1"

새로운 기능 추가

"version": "1.1.0"

대규모 변경 (호환되지 않음)

"version": "2.0.0"

정리

  • X (Major, 메이저 버전) → 큰 변화, 호환되지 않는 업데이트
  • Y (Minor, 마이너 버전) → 기능 추가, 기존 기능과 호환 가능
  • Z (Patch, 패치 버전) → 버그 수정, 성능 최적화
728x90