Compatibility
Which versions of the terminal, the API and the clients work together, and what stays stable inside v1.
The terminal, the API and the client packages each have their own version.
Check the versions
meta = terminal.meta()
print(meta.app_version, meta.api_version)app_version is the version of the terminal, for example 2.0.0.
api_version is the version of the API: 1 for every address under /v1.
discover() checks the API version for you. If the client does not support
it, discover() raises IncompatibleTerminal in Python and
IncompatibleTerminalError in TypeScript.
Which versions work together
| Client | API | Terminal |
|---|---|---|
| 0.1.x | v1 | The first release with the Local API, and every later one |
A terminal newer than the client always works. A client newer than the
terminal works too. A method the terminal does not have yet answers
not_found.
What v1 promises
Inside v1 the API only grows. Fields, error codes, topics and operations can be added. The existing ones stay and keep their type.
Ignore fields you do not know, and a newer terminal will not break your program. The clients already do this.
A change of shape comes only with a new API version, /v2.