Polityka wersjonowania API¶
Dotyczy publicznego REST (#46, ADR 0015). Wersja jest w ścieżce: /v1/...; każda odpowiedź /v1
ma nagłówek X-API-Version: v1.
Co jest stabilne w /v1¶
- Ścieżki, metody, nazwy i typy pól wejścia/wyjścia, format błędów i kody z errors.md.
Zmiany niełamiące (w /v1, wpis w CHANGELOG)¶
- Nowy endpoint, nowe opcjonalne pole wejścia, nowe pole w odpowiedzi, nowy kod błędu, nowa reguła w katalogu, nowy profil. Klient musi ignorować nieznane pola odpowiedzi.
- Zmiana treści
messagebłędów i opisów w OpenAPI.
Zmiany łamiące (tylko w nowej wersji, np. /v2)¶
- Usunięcie/zmiana nazwy pola lub endpointu, zmiana typu, nowe pole wymagane, zmiana znaczenia
code, zmiana semantyki wyniku (np. skaliscore). - Wyjątek bety (#142): w zamkniętej becie identyfikatory zasobów zmieniły się z liczb na nieprzejrzyste
publiczne id (
rep_…,prj_…, zob. Identifiers) bez/v2. - Wersjonowanie reguł (
ver) i promptu (PROMPT_VER) jest osobne: zmienia wyniki, nie kontrakt. Raport zawiera te wersje, więc klient widzi, czym go policzono.
Deprecjacja¶
- Wycofywany endpoint/wersja dostaje nagłówki
Deprecation(RFC 9745) iSunset(RFC 8594) z datą wyłączenia orazLink: <…>; rel="deprecation"do opisu migracji. - Okres wsparcia: minimum 6 miesięcy od ogłoszenia deprecjacji do
Sunset;/vNi/vN+1działają równolegle w tym czasie. - Ogłoszenie: CHANGELOG (sekcja API; osobny changelog
docs/api/— ADR 0015, planowany).