버저닝

Sponge는 Semver 버전 정의 방식을 따릅니다. Semver 사용법은 https://semver.org/ 에서 확인할 수 있습니다.

SpongeAPI와 구현체(SpongeForge / SpongeVanilla)들은 두 가지 정책을 따릅니다. 버전에 대해 알려면 Semver 버저닝 문자열을 참고하세요. SpongeAPI 버전은 Semver 버저닝 문자열 중 메이저마이너 만을, 구현체들은 메이저, 마이너 그리고 패치 를 사용합니다.

API

플러그인 개발자들은 SpongeAPI의 특정 버전 사용해 플러그인을 만들 수 있습니다. 일컨데 7.0 이나 7.3` 또는 ``7.9 버전처럼 사용할 수 있습니다. 이를 통해 플러그인이 특정 버전이 제공하는 기능을 사용할 수 있습니다. 기능이 추가되거나 제거되거나 또는 수정될 때 버전은 증가합니다. 버전 번호 변경은 플러그인이 얼마나 달라졌는지 나타내는 지표입니다.

메이저

메이저 번호(X.Y.Z)의 변경은 이전 버전에서 작동하도록 보장된 몇몇 API가 사용할 수 없음을 나타냅니다. 이러한 버전 변경을 통해 팔러그인이 멈출 수도 있습니다. 예를 들어, 6.9 버전 플러그인은 7.0 버전 플러그인에서 실행되지 않을 수도 있습니다.

마이너

마이너 번호(X.**Y**.Z)의 변경은 새 API가 추가되었지만 동일한 메이저 번호의 구 버전의 마이너 번호에서 작동할 수 있음을 보장합니다. 예를 들어, 7.3 버전은 7.4 버전이나 7.5 버전에서 실행될 수 있습니다. 하지만 반대로는 반드시 같지 않습니다. 7.4 버전이 7.3 버전에서 실행되지 않을 수도 있습니다.

참고

마이너 번호는 메이저 번호가 변경되면 항상 0에서부터 다시 시작해야 합니다.

SpongeAPI 버전 문자열의 예시로 spongeapi-7.1.0``과 ``spongeapi-7.2.0 이 있습니다.

구현체

Sponge 구현체들의 버전 문자열은 SpongeAPI와 마인크래프트 버전이 포함되어 있습니다. 여기에 SpongeForge 구현체는 Forge와의 호환성을 보장하는 Forge **권장 버전**도 포함됩니다.

패치

패치 번호(X.Y.**Z**)는 구현체가 빌드될 때 변경됩니다. 빌드는 버그 수정이나 성능 향상, 환경 설정 변경이나 API와 관련되거나 다른 변경점을 포함합니다. 패치 번호가 숫자일 경우 이 빌드는 **권장 버전**임을 나타냅니다. SpongeAPI 용으로 개발된 모든 플러그인은 해당 버전의 문자열이나 해당 버전과 호환되는 경우 작동합니다. 있습니다.

참고

패치 번호는 마이너 번호가 변경되면 항상 0에서부터 다시 시작해야 합니다.

Sponge 구현체 버전 문자열의 예시로 spongevanilla-1.12.2-7.1.5spongeforge-1.12.2-2768-7.1.5 가 있습니다.

경고

플러그인 개발자는 플러그인 개발을 위한 특정 구현체를 선택해야 할 수도 있습니다. 플러그인의 Ore 페이지에는 버전별 태그로 선택한 결정을 기록해야 합니다. Sponge는 태그가 표시된 경우 플러그인의 호환성을 보장하지 않습니다.

스냅샷

-SNAPSHOT 라벨링이 된 릴리즈는 개발 중인 다음 API 버전임을 나타냅니다. 예를 들어 7.2.0-SNAPSHOT``은 ``7.2.0``이 개발 중임을 의미합니다. 다른 예로 ``8.0.0-SNAPSHOT``은 다음 *메이저* 릴리즈(``8.0.0)이 개발 중임을 의미합니다. 스냅샷에 추가된 새로운 기능은 언제든지 사라질 수 있습니다.

참고

만약 마이너 버전이 0인 경우 (예, 8.0-SNAPSHOT) 무엇이든 릴리즈 되기 전에 사라질 수 있으며 플러그인이 안정성을 기대할 수 없습니다. 만약 마이너 버전이 0보다 클 경우 (예. 7.2-SNAPSHOT) 이전 마이너 버전의 모든 기능이 여전히 작동하도록 보장하지만 새로이 추가된 기능은 언제든지 사라질 수도 있습니다.

마이너 번호와 패치 번호가 0이고 -SNAPSHOT 라벨링이 붙은 버전은 SpongeAPI의 다음 메이저 버전만을 테스트하기 위한 블리딩 빌드이고 언제든지 사라질 수 있습니다.

The -SNAPSHOT label on a SpongeCommon file means the implementation is nearly complete but is still not a stable release. More importantly, Gradle determines whether or not to append the -RC{build number} to the version string by the presence of the label.

릴리즈 후보

*권장 빌드*가 아닌 GitHub의 모든 푸시는 *릴리즈 후보*입니다. 이 릴리즈 후보가 제대로 동작하지 않을 수도 있고, 아니면 추가 테스트 후 권장 빌드가 될 수도 있습니다.

*SNAPSHOT*은 SpongeAPI와 SpongeCommon 버전 문자열에 붙는 반면 *RC*는 구현체 버전 문자열에만 붙습니다.