Utfasing og bakoverinkompatible endringer
Utfasing og bakoverinkompatible endringer må følge API-kontraktens regler for feltets stabilitetsnivå.
Hvis man ønsker å gjøre bakoverinkompatible endringer på et felt, men beholde feltnavnet skal man lage et midlertidig felt med de framtidige endringene slik at konsumenter kan bruke dette i en overgangsfase.
Varsling i beta og produksjon
Varsling på bakoverinkompatible endringer og utfasing blir gjennomført ved at man markerer som deprecated i skjema, og det blir plukket opp i den genererte changeloggen.
Følgende skal være inkludert i begrunnelsen (reason) for deprecation:
- Tidligste dato for fjerning eller endringer i test og produksjon
- Eventuelle erstatninger som skal brukes i stedet
- Grunnen til at det fjernes (hvis det fjernes uten erstatning)
For eksempel:
skalEndres: Int @deprecated(reason: "Bruk <erstatningsfelt> i stedet. Dette feltet er tilgjengelig t.o.m. <DATO>.")
skalFjernes: Int @deprecated(reason: "Dette feltet fjernes fordi <grunn>. Feltet er tilgjengelig t.o.m. <DATO>.")