1.8 KiB
1.8 KiB
릴리즈 준비
목표
명확한 package version, 프로토콜 호환성 설명, 언어별 릴리즈 검사를 갖춰 프로젝트를 반복 가능한 외부 사용 상태로 준비한다.
단계
릴리즈 준비
상태
보류
범위
- 언어별 package publication target과 릴리즈 순서를 명확히 한다.
- 배포된 각 package가 구현하는 프로토콜 version을 명시하게 한다.
- Package version은 프로토콜 호환성 version과 독립적으로 유지한다.
- 릴리즈 검사와 호환성 메모를 문서화한다.
필수 기능
- 사용 가능 언어별 package registry target을 확정한다.
- 언어별 릴리즈 checklist를 정의한다.
- Package 문서가 지원 프로토콜 version을 명시하게 한다.
- Changelog 또는 release notes를
VERSIONING.md와 맞춘다. - 릴리즈 전 동일 언어 및 크로스 언어 테스트를 검증한다.
완료 기준
- 유지보수자는 호환성 checklist를 추측하지 않고 언어 package를 릴리즈할 수 있다.
- Package release는 package version 변경과 별도로 protocol version 지원을 전달한다.
- 릴리즈 문서는 wire format 또는 required behavior가 바뀌지 않는 한 protocol bump를 암시하지 않는다.
범위 제외
- 프로토콜 호환성 정책을 변경하지 않는다.
- 새 언어 구현을 추가하지 않는다.
- 검증 마일스톤이 완료되지 않은 상태에서 package를 배포하지 않는다.
작업 컨텍스트
현재는 Git 기반 사용으로 충분하고 package registry 릴리즈 필요성이 낮아 보류한다. 릴리즈 호환성 기준 문서는 VERSIONING.md다. README는 package가 아직 배포되지 않았더라도 저장소에 포함된 구현체가 문서화된 프로토콜 계약을 유지해야 한다고 설명한다.