TAŇBA-OOH Developers

Versioning and deprecation policy

This page says what you can rely on when you build against the platform, and how a change reaches you.

What carries a version

Statuses

StatusWhat it meansNotice before a breaking change
LiveStable. Built to be depended onAt least 12 months
BetaWorks and is used, but may still change. The device protocol and the evidence files are beta while the identifiers of the signed attributes sit in a provisional arcAt least 30 days, when we can; the changelog says what changed
DraftA proposal. Not on the index of the search enginesNone

Changes that are not breaking

We make these at any time, without notice, in the current version. Your client must tolerate them:

So: ignore fields you do not know, and treat a value you do not know as "other", not as an error. Match on code, never on the texts of title or detail.

Breaking changes

These are breaking and only come in a new major version, next to the old one:

A new major version has its own path (/v2) or its own schema (tanba.pop/2). The old version keeps working for the whole notice period.

How a deprecation runs

  1. The operation or field is marked deprecated in the reference and in the OpenAPI file (deprecated: true), with what to use instead and the date it stops working.
  2. The changelog gets an entry the same day.
  3. The deprecated thing keeps working until that date. The notice period is the one of the status in the table, counted from the entry in the changelog.
  4. After that date it is removed, and the changelog says so.

A change that closes a security hole, or that the law requires, can take effect at once. We publish the entry in the changelog as soon as we can, and say what you have to do.

Where to look

Every change to the contract is in the changelog, newest first, in plain words. The raw OpenAPI files on each connection page are the source of this site, so a client generated from them always matches the pages.