Co všechno mám zvážit při přidávání nové verze GraphQL API?
Přemýšlím o tom, jak přidat novou verzi našeho GraphQL API a mám několik otázek, které mi vrtají hlavou. Jaké jsou nejlepší praktiky, které bych měl vzít v úvahu při navrhování nové verze? Měl bych se zaměřit na zpětnou kompatibilitu, nebo je lepší implementovat breaking changes a vyčistit starý kód? Jakým způsobem by se měly řešit problémy s verzováním? Je lepší dodržet URL strukturu pro různé verze, nebo to nějak elegantněji vyřešit pomocí hlaviček? Zajímá mě také otázka dokumentace – jak důležité je mít podrobnou dokumentaci pro každou verzi API, aby vývojáři mohli snadno přejít na novou verzi? A co testování? Jak nejlépe testovat nové funkce v rámci API před jejich nasazením do produkce? Jaký je ideální způsob monitorování výkonu a chyb po nasazení nové verze? Mám se obávat možných problémů s cache, když se změní struktura dotazů nebo typy? Co vlastně dělat, pokud se objeví nenadálé problémy po nasazení nové verze? A jak tohle všechno komunikovat našim uživatelům, aby byli na změny dostatečně připraveni? Kdy je správný čas na odhalení nových funkcí a jak zabezpečit, že naši uživatelé budou mít dostatek informací o tom, co se změnilo? Je toho tolik na zvážení a já bych rád slyšel názory ostatních vývojářů, co všechno byste vzali v potaz při přidávání nové verze GraphQL API.