Версиониране на API & LTS политика
Версиониране на API & LTS политика
Схема на версиониране
qr3.app използва версиониране, базирано на URL: /v1/, /v2/ и т.н.
https://qr3.app/v1/codes ^^^ VersionspräfixDie aktuelle stabile Version ist v1 LTS .
Versionslebenszyklus
Neu → Stable (LTS) → Maintenance → End-of-Life Beta-Phase Aktiv Nur Fixes Eingestellt (0–3 Monate) (12+ Monate) (6 Monate) (danach)| Версия | Статус | Поддръжка до | Бележки |
|---|---|---|---|
| v1 | ✅ Stable (LTS) | Мин. март 2027 г. | Текуща производствена версия |
| v2 | 📋 Планирана | — | Пътна карта: Фаза 5+ |
Дефиниция за Breaking Changes
Breaking Change е всяка промяна, която нарушава работата на съществуващите клиенти без допълнителна адаптация:
- Премахване или преименуване на полета в заявката (Request) или отговора (Response)
- Промяна на HTTP статус кодове за съществуващи сценарии
- Премахване на крайни точки (Endpoints)
- Промяна на метода за автентификация
- Несъвместими промени във формата на грешките
Не са Breaking Changes (съвместими разширения):
- Добавяне на незадължителни полета в заявката
- Добавяне на нови полета в отговора
- Нови крайни точки (Endpoints)
- Нови незадължителни параметри на заявката (Query parameters)
- Нови кодове за грешки (RFC 7807 остава съвместим)
Комуникация при Breaking Changes
Breaking Changes никога не се извършват без предизвестие:
- Предизвестие: Най-малко 90 дни преди извършването на Breaking Change
- Канал: Имейл до всички потребители на API + банер в таблото за управление (Dashboard) +
CHANGELOG.md - Помощ при миграция: Ръководство за миграция и примери за код
- Заглавки за оттегляне (Deprecation Headers): API предоставя HTTP заглавки
Deprecation+Sunset
HTTP/1.1 200 OKDeprecation: trueSunset: Sat, 01 Mar 2027 00:00:00 GMTLink: <https://docs.qr3.app/de/api/versioning>; rel="deprecation"LTS гаранции (v1)
За текущата LTS версия v1 важи следното:
| Гаранция | Период |
|---|---|
| Без Breaking Changes | Мин. 12 месеца от получаване на статус Stable |
| Пачове за сигурност (Security Patches) | За целия период на LTS |
| Корекции на грешки (Bug Fixes) | За целия период на LTS |
| Режим на поддръжка (Maintenance Mode) | 6 месеца след края на LTS |
| Пълна поддръжка | Мин. до март 2027 г. |
Разпознаване на версията
Всеки отговор (Response) от API съдържа метаданни за текущата версия:
{ "data": { ... }, "meta": { "request_id": "req_abc123", "api_version": "1.0.0" }}Крайната точка GET /v1/health допълнително връща:
{ "version": "1.0.0", "environment": "production", "status": "ok"}Миграция между версиите
Когато се появи нова основна версия, старата версия остава активна паралелно в продължение на поне 6 месеца.
Ние предоставяме:
- Пълен списък с разликите (Diff) за всички променени крайни точки
- Инструмент за автоматична миграция (където е възможно)
- Персонална поддръжка при миграция за клиенти с планове Business/Agency
Политика за оттегляне на отделни крайни точки
Отделни крайни точки могат да бъдат маркирани като остарели (deprecated) дори в рамките на една и съща версия:
GET /v1/codes HTTP/1.1
HTTP/1.1 200 OKDeprecation: trueSunset: Thu, 01 Jan 2026 00:00:00 GMTLink: <https://docs.qr3.app/de/api/codes>; rel="deprecation"История на промените (Changelog)
Всички промени в API се документират във файла CHANGELOG.md в хранилището.
| Дата | Версия | Тип | Описание |
|---|---|---|---|
| Март 2026 г. | v1.0.0 | Първоначална | Първа стабилна версия: QR кодове, Redirect, Auth, Billing |
| Март 2026 г. | v1.1.0 | Функция | Batch-API, A/B-Destinations, Expiry, PDF-Export |
| Март 2026 г. | v1.2.0 | Функция | Organizations, Workspaces, Audit-Logs, Comments, DSGVO-Endpoints |
Въпроси?
При въпроси относно политиката за версиониране: [email protected]