> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/etc/semantic-version.md).

# Semantic Version

## Semantic Version

소프트웨어의 버전을 체계적으로 관리하기 위한 버전 관리 규칙. 줄여서 <mark style="color:blue;">**`SemVer`**</mark>라고도 한다.

{% embed url="<https://semver.org/lang/ko/>" %}

## SemVer 명세

버전 관리는 반드시 다음과 같은 규칙을 따라야 한다.

### Major, Minor, Patch 버전

버전은 **`x.y.z`** 형태로 구성할 것을 권장한다.

* x - Major(주) 버전. 하위 버전과 호환되지 않는 업데이트가 발생하는 경우 변경한다.
* y - Minor(부) 버전. 하위 버전과 호환되며 기능이 추가된 경우 변경한다.
* z - Patch(수) 버전. 하위 버전과 호환되며 버그를 수정한 경우 변경한다.

{% hint style="info" %}
일반적으로 1.0.0 버전을 상용화 소프트웨어로 간주한다. 따라서 배포 전 베타 테스트 중인 경우 0.y.z 형태로 버전을 부여해서 관리한다.
{% endhint %}

버전을 변경하는 규칙은 다음과 같다.

* 각 버전은 증가만 가능하며, 감소는 불가하다.
* 상위 버전이 변경되면 하위 버전은 0으로 초기화된다.
  * (ex) 1.2.3에서 minor 버전이 바뀌면 1.3.0이다.

## FAQ

{% embed url="<https://semver.org/lang/ko/#faq>" %}
