SemVer 계산기 — 무료 온라인 도구
시맨틱 버전 범프를 계산하고 npm 버전 범위 호환성을 즉시 검증합니다.
버전 범프 계산기
버전 범위 검사기
버전 히스토리 — 범프 시뮬레이션
시맨틱 버전 관리란?
시맨틱 버전 관리(SemVer)는 세 자리 숫자 형식인 MAJOR.MINOR.PATCH(예: 2.4.1)를 사용하는 버전 관리 명세입니다. 각 릴리스의 변경 사항을 표준화된 방식으로 전달하여, 개발자가 의존성을 업데이트할 때 어떤 영향이 있는지 이해할 수 있도록 합니다.
SemVer 명세(semver.org)는 명확한 규칙을 정의합니다: 호환성 파괴 변경 시 MAJOR 증가, 하위 호환되는 새 기능 추가 시 MINOR 증가, 하위 호환되는 버그 수정 시 PATCH 증가.
각 버전 파트를 올려야 하는 시점
- MAJOR (호환성 파괴 변경): 공개 API 메서드 제거, 함수 시그니처 변경, 이전 동작의 폐기 및 제거, 인증 흐름 변경.
- MINOR (새 기능): 새 엔드포인트 추가, 기존 함수에 선택적 매개변수 추가, 새 설정 옵션 추가.
- PATCH (버그 수정): 크래시 수정, 잘못된 동작 수정, API 변경 없는 성능 개선, 문서 수정.
npm 버전 범위 구문
^1.2.3— 1.2.3과 호환. MINOR 및 PATCH 업데이트 허용 (>=1.2.3 <2.0.0)~1.2.3— 대략적으로 동등. PATCH 업데이트만 허용 (>=1.2.3 <1.3.0)>=1.2.3 <2.0.0— 명시적 범위, 의도가 매우 명확1.x— Major 버전 1의 모든 버전*— 모든 버전 (프로덕션에 위험)1.2.3— 정확한 버전만 (업데이트 없음)
시맨틱 버전 관리에 대한 자주 묻는 질문
npm에서 ^1.0.0과 ~1.0.0의 차이점은 무엇입니까?
캐럿(^)은 동일한 Major 버전 내에서 호환되는 업데이트를 허용합니다. ^1.0.0은 >=1.0.0이고 <2.0.0인 모든 버전을 허용하며 Minor 및 Patch 업데이트가 가능합니다. 틸드(~)는 더 제한적입니다. ~1.0.0은 Patch 업데이트만 허용하며 >=1.0.0이고 <1.1.0인 버전만 일치합니다. npm은 기본적으로 캐럿(^)을 사용합니다. 설치되는 버전을 더 엄격하게 제어해야 할 때 틸드를 사용하십시오.
Major 버전 번호를 올려야 하는 시점은 언제입니까?
이전 버전과 호환되지 않는 호환성 파괴 변경이 있을 때만 Major를 올리십시오(예: 1.x.x → 2.0.0). 여기에는 공개 API 메서드의 제거 또는 이름 변경, 함수의 매개변수 시그니처 변경, 이전에 지원하던 런타임 또는 환경의 지원 중단, 기존 통합을 깨뜨리는 기본 동작 변경이 포함됩니다. 호환성 파괴 없는 추가 기능은 항상 Minor, 버그 수정은 항상 Patch로 관리합니다.
0으로 시작하는 버전 번호는 무엇을 의미합니까?
0으로 시작하는 버전(예: 0.x.x)은 소프트웨어가 초기 개발 중이며 공개 API가 아직 안정적이지 않음을 나타냅니다. SemVer 규정에 따르면 0.x 개발 중에는 Minor 버전 범프(0.1.0 → 0.2.0)에서도 호환성 파괴 변경이 발생할 수 있습니다. 안정적이고 문서화된 공개 API에 대한 하위 호환성을 유지할 준비가 되었을 때만 1.0.0으로 올리십시오.
SemVer를 사용하여 프리릴리스 버전을 배포하는 방법은?
하이픈 뒤에 프리릴리스 식별자를 추가합니다: 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1. 프리릴리스 버전은 정식 릴리스보다 낮은 우선순위를 가집니다: 1.0.0-alpha < 1.0.0-beta < 1.0.0-rc.1 < 1.0.0. npm에서는 npm publish --tag next로 배포하여 기본 설치에 포함되지 않도록 합니다. 캐럿과 틸드 범위 선택자는 프리릴리스 버전을 자동으로 매칭하지 않습니다.
관련 개발자 도구
- Git 명령어 찾기 — 태깅, 브랜치, 릴리스를 위한 정확한 Git 명령어 검색
- Docker Compose 생성기 — 프로덕션 수준의 docker-compose.yml 설정 생성
- .ENV 파일 검사기 — 환경 파일 검증 및 노출된 시크릿 탐지
- JWT 디코더 및 검사기 — JWT 토큰을 디코딩하고 클레임을 브라우저에서 안전하게 검사
- 모든 무료 개발자 도구 보기