API 안정성

쟝고는 API의 안정성과 앞으로의 호환성에 대해서 1.0 버전 부터 보장하고 있습니다. 요컨대, 새로 나올 쟝고 버전에서도 기존에 작성한 코드는 문제 없이 돌아갈 것이라는 뜻 입니다. 그렇지만 업그레이드 시에 프로젝트 별 소소한 변경 작업 들은 해줘야 할 수 있습니다. 이에 대해서는 "이전 버전과 호환되지 않는 변경사항" 섹션에서 릴리즈 노트 기존 버전 혹은 업그레이드 대상 버전의 문서를 참조하시기 바랍니다.

"안정적인 것"의 의미

이 문맥에서, 안정적인 것은 다음을 의미합니다:

  • 공개된 모든 API(이 문서에 있든 모든것)들이 이전 버전과 호환되는 별명을 제공하지 않고 이동되거나 이름이 바뀌지 않을 것 입니다.

  • 이 API들에 새로운 기능이 추가된다면, 이 기능들은 이미 존재하는 메소드들의 의미를 바꾸거나 중단시키지 않을 것 입니다. 다시 말하면 "안정적인 것"의 의미는 (어쩔 수 없이) "완벽한 것"이 아닙니다.

  • 만약 어떤 이유로 안정적인 것에 선언된 API가 삭제되야 하거나 대체되야 한다면, 이것은 사용 금지로 선언될 것 입니다 그러나 이것은 앞으로 두번의 릴리스에서 API에 포함될 것 입니다. 사용이 금지된 메소드가 호출될 때 경고들이 발생될 것 입니다.

    :ref:`official-releases`를 보시면 장고 버전 숫자를 만드는 기준에 대한 자세한 설명이 있고, 어떻게 기능들이 비활성화 되는지 알 수 있습니다.

  • 저희는 버그나 보안 문제가 완전히 피할 수 없는 문제가 되지 않는 이상 이전 버전 호환성을 지킵니다.

안정적인 API들

In general, everything covered in the documentation -- with the exception of anything in the internals area is considered stable.

예외

안정성, 하위 호환성 보장에 대한 몇가지 예외가 여기 있다.

보안 패치

저희가 보안 문제를 인지하면, security reporting policy 를 따라주세요. 저희는 그것을 해결하기 위해 무엇이든 할것입니다. 이것은 하위버전 호환성을 깰 수도 있다는 말입니다. 보안 문제는 호환성을 보장 보다 우선시 됩니다.

API들은 내부것으로 표시됩니다.

어떤 API들은 다양한 방법으로 "internal"로 표시됩니다.

  • Some documentation refers to internals and mentions them as such. If the documentation says that something is internal, we reserve the right to change it.
  • Functions, methods, and other objects prefixed by a leading underscore (_). This is the standard Python way of indicating that something is private; if any method starts with a single _, it's an internal API.