Gå til hovedinnhold

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>.")