최대 1 분 소요

소프트웨어 버전은 일반적으로 다음과 같은 형식을 따릅니다

이는 Semantic Versioning (시맨틱 버저닝) 규칙을 기반으로 하며, 소프트웨어 변경 내용을 사용자에게 명확히 전달하기 위한 목적을 가지고 있습니다.


📌 버전 구성 요소

🔹 1. MAJOR (주 버전)

  • 호환되지 않는 API 변경 시 증가
  • 기존 기능이나 구조를 완전히 변경할 경우
  • 예: 1.2.32.0.0
  • 기존 사용자 코드가 깨질 수 있음

🔹 2. MINOR (부 버전)

  • 기능 추가가 있을 때 증가
  • 기존 기능과 호환성 유지
  • 예: 1.2.31.3.0
  • 기존 사용자는 그대로 사용할 수 있으며, 새 기능을 활용할 수도 있음

🔹 3. PATCH (수정 버전)

  • 버그 수정 또는 안정성 향상 시 증가
  • API나 기능의 변경 없이 동작 개선
  • 예: 1.2.31.2.4

📘 예시

이전 버전 변경 후 버전 설명
1.2.3 2.0.0 호환성 깨지는 큰 변경 (MAJOR)
1.2.3 1.3.0 새 기능 추가, 호환성 유지 (MINOR)
1.2.3 1.2.4 버그 수정 (PATCH)

🔸 추가 사항

Pre-release 버전

  • 형식: 1.2.3-alpha, 2.0.0-rc.1
  • 정식 릴리스 전 테스트 용도

Build Metadata

  • 형식: 1.2.3+build20250527
  • 내부 빌드 식별용 정보 (배포와 무관)

🧩 실제 사례

Linux Kernel

  • 5.10.275.10.28: 버그 수정 (PATCH)
  • 5.10.275.11.0: 기능 추가 (MINOR)
  • 5.10.276.0.0: 구조적 변경, 호환성 이슈 가능 (MAJOR)

📚 참고

댓글남기기