Dela via


Principer för Data API Builder

En uppsättning principer styr data-API-byggare som rör icke-bakåtkompatibla ändringar, meddelanden, versioner och versionshantering.

Versionshantering och versioner

A release in the context of Data API builder refers to every published version of the software, identified by the Major.Minor.Patch format. These releases fall into three categories: stable, breaking change, and preview.

Ansvar för containeruppdatering

Data API Builder-containern uppdateras inte automatiskt. Kunderna ansvarar för att övervaka nya versioner, utvärdera deras betydelse (inklusive säkerhetsuppdateringar) och uppdatera distribuerade containrar i enlighet med detta.

Keeping the container up to date is the customer’s responsibility.

Stable releases

A stable version of Data API builder is backwards compatible. Bakåtkompatibel innebär att all kod som du skriver som förlitar sig på en version av en Data API-byggare kan anta en nyare stabil version utan att kräva några kodändringar för att upprätthålla korrekthet eller befintliga funktioner.

Icke-bakåtkompatibla ändringsversioner

En icke-bakåtkompatibel ändringsversion av Data API Builder är inte bakåtkompatibel. Att anta en icke-bakåtkompatibel ändringsversion i befintlig klientkod kan kräva kodändringar för att säkerställa att klienten fungerar exakt som den gjorde när den riktade sig mot den tidigare versionen.

Icke-bakåtkompatibla ändringsversioner tillkännages via artikeln om icke-bakåtkompatibla ändringar och i en GitHub-versions ändringsbeskrivning. Publicering av en förhandsversion/versionsversion föregår icke-bakåtkompatibla ändringsversioner om inte ändringarna åtgärdar kritiska säkerhets-, sekretess- eller juridiska problem. Även om tidigare versioner av Data API Builder kan vara tillgängliga på GitHub-versionssidan rekommenderar vi att du uppgraderar till den senaste versionen, vilket kan inkludera felkorrigeringar.

Preview releases

Förhandsversioner av Data API Builder identifieras med X.Y.Z-rc versionsschemat. Suffixet -rc anger att versionen är en "versionskandidat". Förhandsversioner används för att samla in feedback om nya funktioner och andra ändringar.

Om vi inte planerar att göra betydande ändringar från den senaste stabila versionen publicerar vi nästa förhandsversion med allt från den senaste stabila versionen och nya förhandsversionsfunktioner. Nästa uppdatering av Data API Builder kan bryta några av de nya förhandsversionsfunktioner som vi har lagt till mellan förhandsversioner. Det här beteendet innebär att du kan behöva ändra koden för att få saker att fungera igen.

Förhandsversioner är inte avsedda för långsiktig användning eller produktionsanvändning. När en ny stabil version eller förhandsversion blir tillgänglig kanske äldre förhandsversioner inte längre är tillgängliga. Det är bäst att bara använda förhandsversioner när du aktivt arbetar med nya funktioner och är redo att byta till en version som inte är förhandsversion strax efter lanseringen. Om vissa funktioner från en förhandsversion ingår i en ny stabil version läggs de återstående förhandsversionsfunktionerna till i en ny förhandsversion som du kan prova.

Tabell för versionsändring

Important

Vi kan införa en icke-bakåtkompatibel ändring av en mindre version eller korrigeringsversion när ändringen åtgärdar viktiga produktbuggar, juridiska problem, säkerhet eller sekretessproblem.

Release type Previous Version New Version Notes
Breaking Change 1.Y.Z 2.Y.Z Nya funktioner och buggkorrigeringar tillsammans med eventuella icke-bakåtkompatibla ändringar.
Stable 1.1.Z 1.2.Z Nya funktioner och buggkorrigeringar utan icke-bakåtkompatibla ändringar såvida inte ändringarna åtgärdar viktiga produktbuggar, juridiska problem, säkerhet eller sekretessproblem.
Stable 1.1.1 1.1.2 Buggkorrigeringar utan nya funktioner eller icke-bakåtkompatibla ändringar såvida inte ändringarna åtgärdar viktiga produktbuggar, juridiska problem, säkerhet eller sekretessproblem.
Preview X.Y.1-rc X.Y.2-rc Nya förhandsgranskningsfunktioner och buggkorrigeringar. (Icke-bakåtkompatibla ändringar inkluderas om huvudversionen stöts.)

Breaking Changes

För att prioritera säkerhet, förbättra funktioner och upprätthålla kodkvaliteten kan nya versioner av vår programvara omfatta icke-bakåtkompatibla ändringar. Vi strävar efter att minimera dessa ändringar genom noggranna arkitekturval, men de kan fortfarande inträffa. I sådana fall prioriterar vi att tillkännage dem och tillhandahålla möjliga lösningar.

Important

Vi kan göra ändringar utan föregående meddelande om ändringen anses vara icke-bakåtkompatibel, eller om det är en icke-bakåtkompatibel ändring som görs för att åtgärda kritiska produktbuggar eller juridiska problem, säkerhets- eller sekretessproblem.

Vad är en icke-bakåtkompatibel förändring?

En icke-bakåtkompatibel ändring är en ändring som kräver att du uppdaterar programmet för att förhindra avbrott. I Data API Builder kan icke-bakåtkompatibla ändringar omfatta ändringar i REST API-kontrakt, GraphQL-schemagenerering och andra element som påverkar kompatibilitet och funktionalitet.

Exempel på icke-bakåtkompatibla ändringar

The following examples are a nonexhaustive list of breaking changes to Data API builder:

  • Rest API-kontraktsändringar
  • Ändringar i GraphQL-schemagenerering
  • Ändringar som påverkar bakåtkompatibilitet
  • Ta bort eller byta namn på API:er eller parametrar
  • Ändringar i felkoder
  • Justeringar av behörighetsdefinitionsfunktioner
  • Borttagning av tillåtna parametrar, begärandefält eller svarsfält
  • Tillägg av obligatoriska parametrar eller fält för begäran utan standardvärden
  • Ändringar av avsedda API-slutpunktsfunktioner

Definition av en icke-inbrytningsändring

A non-breaking change refers to a change that can be integrated into your application without causing disruption. Icke-inbrytningsändringar kommuniceras vanligtvis efter implementeringen. Programmet bör utformas för att hantera dessa ändringar utan föregående meddelande.

Icke-icke-bakåtkompatibla ändringsexempel

The following examples are a nonexhaustive list of nonbreaking changes to Data API builder:

  • Introduktion av nya slutpunkter
  • Tillägg av metoder till befintliga slutpunkter
  • Införliva nya fält i svar och begäranden
  • Justeringar i fältordning inom svar
  • Introduktion av valfria begärandehuvuden
  • Ändringar i datalängd och svarsstorlek
  • Ändringar av felmeddelanden och koder
  • Korrigeringar av HTTP-svarskoder
  • Extra metadata i genererade OpenAPI-dokument

Hur kommunicerar vi icke-bakåtkompatibla ändringar?

Vi gör det till en prioritet att informera dig om icke-bakåtkompatibla ändringar. Du hittar meddelanden om icke-bakåtkompatibla ändringar i viktig information om versioner av Data API Builder på GitHub.

Aktuell lista över icke-bakåtkompatibla ändringar

Icke-bakåtkompatibla ändringar och funktionsavbrott meddelas i den här artikeln.

  • Från och med nu finns det inga icke-bakåtkompatibla