작성자가 남기는 변경 의도
코드 변경만으로 사용자에게 어떤 영향을 주는지 모두 알기는 어렵다. Changesets는 기여자가 자신의 변경을 어떻게 릴리스해야 할지 선언하는 흐름을 제공한다. 이 기록을 바탕으로 패키지 버전과 변경 기록을 갱신하고 게시 과정을 관리한다.
여러 패키지를 함께 관리
모노레포에서는 한 패키지의 변경이 그것을 사용하는 다른 패키지에도 영향을 줄 수 있다. Changesets는 서로 의존하는 패키지를 함께 최신 상태로 유지하고 여러 패키지에 걸친 변경을 다루는 문제를 고려한다. 각 패키지를 서로 완전히 분리된 릴리스로 보는 접근과 차이가 있다.
단일 패키지에서도 같은 흐름
주된 관심은 모노레포지만 변경 설명과 릴리스 의도를 기록하는 흐름은 단일 패키지 저장소에도 적용할 수 있다. 다만 버전 관리 도구가 실제 변경의 호환성을 자동으로 완전히 판단하는 것은 아니다. 작성한 변경 설명과 버전 증가 의도가 구현에 맞는지 검토해야 한다.
관련 문서
Changie / Git-cliff / Semantic-release / Commitlint / Commitizen