34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
|
|
# Politique de versioning API — Veza v1.0
|
||
|
|
|
||
|
|
**Référence** : v0.971
|
||
|
|
**Contrat stable** : `/api/v1/`
|
||
|
|
|
||
|
|
## 1. Routes stables vs beta
|
||
|
|
|
||
|
|
| Type | Exemple | Engagement |
|
||
|
|
|------|---------|------------|
|
||
|
|
| **Stable** | `/api/v1/tracks`, `/api/v1/auth/*`, `/api/v1/playlists`, `/api/v1/marketplace/*` | Rétro-compatibilité garantie pour v1.x |
|
||
|
|
| **Beta** | Fonctionnalités derrière feature flag (ex. WEBRTC_CALLS) | Peut évoluer sans préavis en v1.x |
|
||
|
|
|
||
|
|
## 2. Politique de dépréciation
|
||
|
|
|
||
|
|
- Les routes dépréciées conservent un header `X-API-Deprecated: true` et une date de fin de vie dans la réponse.
|
||
|
|
- Période de dépréciation : minimum 6 mois avant suppression.
|
||
|
|
- Documentation : `API_REFERENCE.md` et Swagger reflètent le statut des routes.
|
||
|
|
|
||
|
|
## 3. Headers de version
|
||
|
|
|
||
|
|
- `X-API-Version: v1` — optionnel, le path `/api/v1/` suffit.
|
||
|
|
- `Accept: application/vnd.veza.v1+json` — supporté pour content negotiation.
|
||
|
|
|
||
|
|
## 4. Engagement rétro-compatibilité v1.x
|
||
|
|
|
||
|
|
- Aucun breaking change sur les routes stables pendant v1.x.
|
||
|
|
- Les ajouts (nouveaux champs, nouvelles routes) sont rétro-compatibles.
|
||
|
|
- En cas de breaking change : nouvelle version majeure (v2).
|
||
|
|
|
||
|
|
## 5. Breaking changes v0.803 → v1.0
|
||
|
|
|
||
|
|
- **Pagination cursor** : certains endpoints utilisent `cursor` / `next_cursor` au lieu de `page` / `limit` (v0.931).
|
||
|
|
- Voir `CHANGELOG.md` pour la liste complète des changements.
|