Skip to main content

api-versioning-patterns

API versioning strategies, breaking change detection, deprecation lifecycle, and migration guides

Informações da origem

Repositório
vibeeval/vibecosystem
Última atividade na origem
12 de abril de 2026 às 23:35
Idioma detectado do SKILL.md
turco
Estrelas
537
Forks
44

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
api-versioning-patterns
description
API versioning strategies, breaking change detection, deprecation lifecycle, and migration guides
# API Versioning Patterns ## Versioning Strategies | Strateji | Örnek | Pros | Cons | |----------|-------|------|------| | URL Path | `/v1/users` | Açık, cache-friendly | URL kirliliği | | Header | `Accept: application/vnd.api+json;v=2` | Clean URL | Debug zor | | Query Param | `/users?version=2` | Basit | Cache sorunlu | | Content Negotiation | `Accept: application/vnd.company.v2+json` | RESTful | Karmaşık | **Öneri:** URL Path (`/v1/`) — en yaygın, en anlaşılır. ## Breaking Change Detection ```typescript // Breaking changes const breakingChanges = [ 'Required field ekleme', 'Field silme veya rename', 'Type değiştirme (string → number)', 'Enum value silme', 'Response structure değiştirme', 'Error code değiştirme', 'Auth requirement ekleme' ] // Non-breaking changes const nonBreaking = [ 'Optional field ekleme', 'Yeni endpoint ekleme', 'Enum value ekleme', 'Response'a optional field ekleme', 'Performance improvement' ] ``` ## Deprecation Lifecycle ``` Phase 1: ANNOUNCE (3 ay önce) → Deprecation header: Sunset: Sat, 01 Jan 2027 00:00:00 GMT → API docs'ta uyarı → Consumer'lara email Phase 2: WARN (2 ay önce) → Response header: Deprecation: true → Log: deprecated endpoint kullanımı → Dashboard: kullanım metrikleri Phase 3: THROTTLE (1 ay önce) → Rate limit düşür → Warning response body'ye ekle Phase 4: SUNSET → 410 Gone döndür → Migration guide link'i ile ``` ## Migration Guide Template ```markdown # Migration: v1 → v2 ## Breaking Changes 1. `GET /v1/users` → `GET /v2/users` - Response: `{ data: User[] }` → `{ items: User[], meta: {...} }` 2. `POST /v1/orders` - New required field: `currency` (ISO 4217) ## Step-by-Step 1. Update client SDK to v2 2. Add `currency` field to order creation 3. Update response parsing for `items` + `meta` 4. Test against v2 staging 5. Switch production to v2 ## Compatibility Period v1 available until: 2027-06-01 ``` ## Checklist - [ ] Versioning stratejisi seçilmiş - [ ] Breaking change policy documented - [ ] Deprecation lifecycle tanımlı - [ ] Sunset header ekleniyor - [ ] Migration guide var - [ ] Version usage metrikleri tracked - [ ] Consumer notification sistemi var - [ ] Minimum 6 ay backward compatibility ## Anti-Patterns - Version'sız API (her değişiklik breaking) - Eski version'u ani kapatma (sunset lifecycle uygula) - Breaking change without version bump - Her küçük değişiklikte yeni version - Consumer'lara haber vermeden deprecate
Ver no GitHub