버전 관리¶
UCP는 YYYY-MM-DD 형식의 날짜 기반 버전 식별자를 사용하며, 이를 통해 하위 호환이 깨지는 변경이 마지막으로 발생한 날짜를 나타냅니다.
신규 개발은 main 브랜치에서 이루어집니다.
명세의 모든 지원 릴리스에 대해 장기 유지 브랜치를 운영합니다.
- Tech Council이 새로운 UCP 버전을 승인하면,
현재
main상태에서release/YYYY-MM-DD라는 이름의 새 브랜치를 분기합니다.release/YYYY-MM-DD branch가 생성되는 즉시 해당 릴리스 브랜치에는 코드 프리즈를 적용합니다. 이 기간에는 치명적 버그 수정만 허용합니다.- 릴리스 브랜치 분기 이후 발견된 치명적 이슈는 다음 두 방식 중 하나로 수정합니다.
- 릴리스 브랜치에서 수정하고
main에 병합합니다. main에서 수정하고 릴리스 브랜치에 cherry-pick 합니다.
- 최종 확정 후 릴리스 브랜치를
main에 병합하고 태그를 생성합니다 (예:git tag -a vYYYY-MM-DD). GitHub Action으로 새 Tag를 감지해 릴리스 노트 초안을 자동 생성하고 아티팩트를 업로드합니다. - 임시 기능 브랜치와 달리
release/YYYY-MM-DD브랜치는 장기 유지되며, 이력 참조 및 유지보수를 위한 명세의 특정 버전에 대응됩니다.
브레이킹 PR¶
- 브레이킹 체인지가 포함된 PR 제목에는
!를 포함해야 합니다. - 일정: 브레이킹 체인지를 병합하기 2주 전에 Discussions에서 공지합니다.