다운 규약 문서

규약 목록 개발 규약

버전·태그·릴리스 규약

SemVer A.B.C 판단 기준, 프로젝트별 태그 접두 유지, 릴리스 노트·라벨 관리 규칙.

공개범위
공개
버전
1.0.0
수정일
2026-10-27
담당
서버개발팀
원본
마크다운

#semver#tag#release#changelog#label

이 문서의 목차
  1. 버전 번호 — SemVer A.B.C
  2. 태그 — 프로젝트의 기존 접두를 유지
  3. 릴리스 — 릴리스 노트 + CHANGELOG
  4. 라벨
  5. 우선순위

버전 번호 — SemVer A.B.C

버전업이 필요할 만큼 큰 수정이면, 내용에 따라 어느 자리를 올릴지 판단합니다.

자리언제 올리나예
A (major)호환이 깨지거나 구조가 바뀔 때통신 전문의 필수 필드 변경, 설정 파일 형식 변경, 구조 전환
B (minor)새 기능(큰 기능 단위)을 추가할 때새 화면, 새 제어 기능
C (patch)버그·보안 수정, 작은 개선오표기 수정, 오판정 수정, 취약점 조치
  • 사소한 수정(문구·스타일 등)은 그때마다 올리지 않고 다음 릴리스에 묶습니다.
  • 상위 자리를 올리면 하위 자리는 0 으로 되돌립니다. (1.4.7 → 새 기능 → 1.5.0)
  • 버전 번호는 제품마다 따로 관리합니다. 한 제품의 번호를 다른 제품의 기본값으로 쓰지 않습니다.

왜 — 버전 번호만 보고도 "업데이트해도 기존 설정·연동이 그대로 동작하는가"를 판단할 수 있어야 합니다.

태그 — 프로젝트의 기존 접두를 유지

한 저장소에서 여러 산출물을 내거나 제품을 구분해야 하는 경우, 태그 앞에 프로젝트 고유 접두를 붙입니다. 이미 쓰고 있는 접두는 바꾸지 않습니다.

예뜻
sv-v1.12.0서버 릴리스
cl-v1.12.0클라이언트(웹 화면) 릴리스
v2.3.1접두가 없는 단일 제품 저장소

왜 — 접두가 중간에 바뀌면 태그 목록이 두 갈래로 나뉘어, 과거 릴리스를 찾거나 비교하기 어려워집니다.

릴리스 — 릴리스 노트 + CHANGELOG

릴리스할 때는 다음을 함께 남깁니다.

  1. 태그 — 위 접두 규칙대로
  2. 릴리스 노트 (예: GitHub Release) — 이번 버전에서 바뀐 점, 업데이트 시 주의점
  3. CHANGELOG — 저장소 안의 누적 변경 기록

릴리스 노트에는 사용자·협력사가 알아야 할 것을 씁니다.

## sv-v1.12.0 (2026-10-27)

### 새 기능
- 세척 설정 화면에서 로봇이 거부한 항목을 표시 (#120)

### 수정
- 예약세척 취소 후 우유밀기가 계속 막히던 오판정 수정 (#118)

### 업데이트 시 주의
- 없음 (기존 설정 그대로 동작)
  • 큰 기능은 별도 기능 브랜치·별도 릴리스로 분리합니다 ('브랜치 운영' 문서 참조).
  • 릴리스 노트·이슈 본문에 비밀값(비밀번호·토큰·키) 을 넣지 않습니다.

라벨

이슈·PR 에 라벨을 붙여 분류합니다.

라벨 묶음용도예
type/*변경 유형type/feat, type/fix, type/docs
semver/*올릴 버전 자리semver/major, semver/minor, semver/patch
area/*영향 영역area/server, area/client, area/protocol

협업 저장소에는 그 저장소 고유의 라벨이 따로 있을 수 있습니다(예: 요청 방향을 나타내는 from:robot / from:server). 그 경우 저장소 규약이 우선합니다.

우선순위

  1. 각 프로젝트 고유 규칙(저장소의 README·에이전트 규약 문서)
  2. 푸시·외부 공개에 대한 승인, 자동 배포 트리거(예: 특정 브랜치 푸시 시 자동 배포) 확인
  3. 이 문서의 공통 규칙