Versioning

Semver API policy DYOGG — v1 stable, v2 roadmap, deprecation notice.

DYOGG API mengikuti URL path versioninghttps://api.dyogg.com/v{n}/…. Setiap major bump = base URL baru; v1 dan v2 hidup paralel sekurang-kurangnya 12 bulan setelah rilis v2.

Version Matrix

VersionStatusRilisSunset (planned)
v1stable2026-01-15— (belum di-deprecate)
v2roadmapQ3 2026
v0deprecated2025-08-012026-02-01 (REMOVED)

Header X-API-Deprecation-Warning akan aktif otomatis 90 hari sebelum sunset.

Perubahan yang tidak breaking (allowed di v1)

Kami boleh melakukan tanpa bump versi:

  • Tambah field baru di response object.
  • Tambah endpoint baru.
  • Tambah query param opsional dengan default backward-compat.
  • Tambah enum value baru (pastikan client kamu tidak crash).
  • Tambah header baru.

Client SDK kami parse JSON dengan pola additive — field tak-dikenal di-forward, tidak error.

Perubahan yang breaking (require v2)

Bump v2 dilakukan jika:

  • Hapus atau rename field response.
  • Ubah tipe field (mis. numberstring).
  • Ubah semantik field (mis. level sebelumnya 1-90, sekarang 1-100 di GI).
  • Hapus/rename endpoint.
  • Ubah error envelope struktur.

Deprecation flow

  1. Announce — post di Changelog + email semua akun dengan API key aktif.
  2. Header warning — response endpoint deprecated menyertakan X-API-Deprecation-Warning: This endpoint will be removed on 2026-XX-XX. Migrate to /v2/….
  3. Sunset date — minimum 6 bulan dari announce, tergantung magnitude.
  4. Removal — endpoint return 410 Gone.

Beta / experimental endpoint

Beberapa endpoint di prefix /v1/beta/* — schema BOLEH BREAKING kapan saja. Jangan pakai di production tanpa monitoring.

Contoh: POST /v1/beta/damage-calculator/simulate-hsr — beta karena reaction modelling HSR belum stabil.

Version pinning

Semua SDK official menerima parameter apiVersion untuk pin:

const dyo = new DyoClient({ apiKey: "...", apiVersion: "v1" });

Default = v1. Setelah v2 rilis, SDK akan default v1 selama 3 bulan pertama untuk grace period.