호환성
함께 동작하는 터미널, API, 클라이언트의 버전과 v1 안에서 변하지 않는 것.
터미널, API, 클라이언트 패키지는 각자 버전이 있습니다.
버전 확인
meta = terminal.meta()
print(meta.app_version, meta.api_version)app_version은 터미널의 버전입니다. 예: 2.0.0.
api_version은 API의 버전입니다. /v1 아래의 모든 주소에서 1입니다.
discover()가 API 버전을 대신 확인합니다. 클라이언트가 그 버전을 지원하지
않으면 discover()는 Python에서 IncompatibleTerminal을, TypeScript에서
IncompatibleTerminalError를 발생시킵니다.
함께 동작하는 버전
| 클라이언트 | API | 터미널 |
|---|---|---|
| 0.1.x | v1 | Local API가 들어간 첫 릴리스와 그 이후의 모든 릴리스 |
클라이언트보다 새로운 터미널은 항상 동작합니다. 터미널보다 새로운
클라이언트도 동작합니다. 터미널에 아직 없는 메서드는 not_found로
응답합니다.
v1이 약속하는 것
v1 안에서 API는 늘어나기만 합니다. 필드, 오류 코드, 토픽, 작업이 추가될 수 있습니다. 기존 항목은 그대로 남고 타입도 유지됩니다.
모르는 필드를 무시하면 더 새로운 터미널이 프로그램을 깨뜨리지 않습니다. 클라이언트는 이미 그렇게 합니다.
형태가 바뀌는 변경은 새 API 버전인 /v2에서만 이루어집니다.