티스토리 뷰

개발/프로젝트

소프트웨어 버전(Version) 참고 자료

개발자와코더사이가 PM일까? 2021. 1. 25. 00:00
반응형

제품을 만들려면 버전 규칙을 정해야하는데.. 규칙을 정하기 전에 참고 자료를 확인 했다.

[Semantic versioning 2.0.0-ko2] : (https://semver.org/lang/ko/)

  • Major.Minor.Patch 기준으로 함.
    • Major[주(主)] 버전: 기존 버전과 호환되지 않게 API가 바뀌면 올린다.
      공개 API에 기존과 호환되지 않는 변화가 있을 때는 반드시 주 버전 X(X.y.z | X > 0)를 올린다. 
      부 버전이나 수 버전급 변화를 포함할 수 있다. 주 버전 번호를 올릴 때는 반드시 부 버전과 수 버전을 0으로 초기화 한다.
    • Minor[부(部)] 버전 : 기존 버전과 호환되면서 새로운 기능을 추가할 때 올린다.
      공개 API에 기존과 호환되는 새로운 기능을 추가할 때는 반드시 부 버전 Y(x.Y.z | x > 0)를 올린다. 
      공개 API의 일부를 앞으로 제거할 것(deprecate)으로 표시한 경우에도 반드시 올리도록 한다. 
      내부 비공개 코드에 새로운 기능이 대폭 추가되거나 개선사항이 있을 때도 올릴 수 있다. 
      부 버전을 올릴 때 수 버전을 올릴 때만큼의 변화를 포함할 수도 있다. 부 버전이 올라가면 수 버전은 반드시 0에서 다시 시작한다.
    • Patch[수(修)] 버전: 기존 버전과 호환되면서 버그를 수정한 것이라면 올린다.
      주.부.수 형식에 정식배포 전 버전이나 빌드 메타데이터를 위한 라벨을 덧붙이는 방법도 있다.
      수 버전 Z (x.y.Z | x > 0)는 반드시 그전 버전 API와 호환되는 버그 수정의 경우에만 올린다. 버그 수정은 잘못된 내부 기능을 고치는 것이라 정의한다.

[Apache Portable Runtime Project] : (https://apr.apache.org/versioning.html)

  • MAJOR.MINOR.PATCH 기준으로 함.

    • MAJOR : 호환되지 않는 API의 대규모 업그레이드일 때 올린다.

      상수 제거 또는 변경, (더 이상 사용되지 않는) 함수 제거, 매크로 화 된 함수 대체를 함께 올림.
    • MINOR : 이전 마이너 버전과 소스 및 바이너리 호환성을 유지하면서 새로운 기능, 새로운 상수, 기능 교체할 때 올린다.

      • PATCH : 앞뒤로 완변하게 호환되고 결함 수정일때 올린다.

        완벽한 소스 및 바이너리 호환성을 유지하기 위해 패치 릴리스는 기능 구현 만 변경할 수 있음. API, 공용 함수의 서명 또는 함수 매개 변수의 해석에 대한 변경은 허용됨. 
        사실상 이러한 릴리스는 순수한 버그 수정 릴리스입니다.
    • 기타

      더 이상 사용되지 않는 기능은 삭제는 하지 않고. 기능 업데이트만 함.

[릴리즈 노트 참고]

[그외]

(https://jinnydown.tistory.com/43)
(https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EB%B2%84%EC%A0%84_%EC%9E%91%EC%84%B1)
(https://okayoon.tistory.com/entry/%EA%B0%9C%EB%B0%9C-%EB%B2%84%EC%A0%84%ED%91%9C%EA%B8%B0-%EB%8C%80%EB%9E%B5%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함