Compartilhar via


Políticas para o construtor de API de Dados

Um conjunto de políticas rege o construtor de API de Dados relacionado a alterações interruptivas, notificações, versões e controle de versão.

Controle de versão e versões

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.

Responsabilidade de atualização de contêiner

O contêiner do construtor de API de Dados não é atualizado automaticamente. Os clientes são responsáveis por monitorar novas versões, avaliar sua importância (incluindo atualizações de segurança) e atualizar contêineres implantados adequadamente.

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

Stable releases

A stable version of Data API builder is backwards compatible. Compatível com versões anteriores implica que qualquer código que você escrever que dependa de uma versão de um construtor de API de Dados pode adotar uma versão estável mais recente sem exigir alterações de código para manter a correção ou a funcionalidade existente.

Versões de alteração interruptivas

Uma versão de alteração significativa do construtor de API de Dados não é compatível com versões anteriores. A adoção de uma versão de alteração significativa no código do cliente existente pode exigir alterações de código para garantir que o cliente se comporte exatamente como fez ao direcionar a versão anterior.

Versões de alteração interruptivas são anunciadas por meio do artigo da lista de alterações significativas e na descrição de alterações de uma versão do GitHub. A publicação de uma versão de pré-visualização/lançamento do candidato precede versões de alteração significativas, a menos que as alterações corrijam problemas críticos de segurança, privacidade ou legal. Embora as versões anteriores do Construtor de API de Dados possam permanecer disponíveis na página de versões do GitHub, recomendamos que você atualize para a versão mais recente, o que pode incluir correções de bug.

Preview releases

As versões prévias do construtor de API de dados são identificadas com o X.Y.Z-rc esquema de controle de versão. O -rc sufixo indica que o build é um "candidato à liberação". Versões prévias são usadas para coletar comentários sobre novos recursos e outras alterações.

A menos que planejemos fazer alterações significativas da última versão estável, publicaremos a próxima versão prévia com tudo, desde a versão estável mais recente e os novos recursos de visualização. A próxima atualização do Construtor de API de Dados pode interromper alguns dos novos recursos de visualização que adicionamos entre versões prévias. Esse comportamento de falha significa que talvez seja necessário alterar seu código para fazer as coisas funcionarem novamente.

Versões de visualização não são destinadas ao uso de longo prazo ou produção. Quando uma nova versão estável ou de visualização estiver disponível, as versões prévias mais antigas poderão não estar mais acessíveis. É melhor usar versões de visualização somente quando você estiver trabalhando ativamente em novos recursos e estiver pronto para mudar para uma versão não prévia logo após o lançamento. Se alguns recursos de uma versão prévia forem incluídos em uma nova versão estável, os recursos de visualização restantes serão adicionados a uma nova versão prévia para você experimentar.

Tabela de alteração de versão

Important

Podemos introduzir uma alteração significativa em uma versão secundária ou de patch quando a alteração resolver bugs críticos do produto, questões legais, de segurança ou de privacidade.

Release type Previous Version New Version Notes
Breaking Change 1.Y.Z 2.Y.Z Novos recursos e correções de bugs, juntamente com quaisquer alterações interruptivas.
Stable 1.1.Z 1.2.Z Novos recursos e correções de bugs sem alterações significativas, a menos que as alterações resolvam bugs críticos do produto, questões legais, de segurança ou de privacidade.
Stable 1.1.1 1.1.2 Correções de bug sem novos recursos ou alterações interruptivas, a menos que as alterações resolvam bugs críticos do produto, questões legais, de segurança ou de privacidade.
Preview X.Y.1-rc X.Y.2-rc Novos recursos de visualização e correções de bug. (Alterações interruptivas serão incluídas se a versão principal for alterada.)

Breaking Changes

Para priorizar a segurança, aprimorar os recursos e manter a qualidade do código, as novas versões do nosso software podem incluir alterações significativas. Embora nos esforcemos para minimizar essas mudanças por meio de escolhas arquitetônicas cuidadosas, elas ainda podem ocorrer. Nesses casos, fazemos com que seja uma prioridade anunciá-los e fornecer soluções possíveis.

Important

Podemos fazer alterações sem aviso prévio se a alteração for considerada não interruptiva ou se for uma alteração significativa que está sendo feita para resolver bugs críticos de produtos ou questões legais, de segurança ou de privacidade.

O que é uma alteração interruptiva?

Uma alteração significativa é uma modificação que exige que você atualize seu aplicativo para evitar interrupções. No construtor de API de Dados, alterações interruptivas podem incluir alterações em contratos de API REST, geração de esquema do GraphQL e outros elementos que afetam a compatibilidade e a funcionalidade.

Exemplos de alteração de falha

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

  • Modificações de contrato da API REST
  • Alterações na geração de esquema do GraphQL
  • Alterações que afetam a compatibilidade com versões anteriores
  • Remoção ou renomeação de APIs ou parâmetros
  • Alterações nos códigos de erro
  • Ajustes na funcionalidade de definição de permissão
  • Remoção de parâmetros permitidos, campos de solicitação ou campos de resposta
  • Adição de parâmetros obrigatórios ou campos de solicitação sem valores padrão
  • Modificações na funcionalidade de ponto de extremidade da API pretendida

Definição de uma alteração sem quebra

A non-breaking change refers to a change that can be integrated into your application without causing disruption. As alterações sem quebra são normalmente comunicadas após a implementação. Seu aplicativo deve ser projetado para lidar com essas alterações sem aviso prévio.

Exemplos de alteração sem interrupção

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

  • Introdução de novos pontos de extremidade
  • Adição de métodos a pontos de extremidade existentes
  • Incorporação de novos campos em respostas e solicitações
  • Ajustes na ordem de campo dentro de respostas
  • Introdução de cabeçalhos de solicitação opcionais
  • Alterações no tamanho e no tamanho da resposta dos dados
  • Alterações em mensagens de erro e códigos
  • Correções em códigos de resposta HTTP
  • Metadados extras em documentos OpenAPI gerados

Como comunicamos alterações interruptivas?

Fazemos dele uma prioridade informá-lo prontamente sobre alterações interruptivas. Você pode encontrar notificações de alteração interruptivas nas notas de versão das versões do construtor de API de Dados no GitHub.

Lista de alterações de falha atual

Alterações significativas e desativações de recursos são anunciadas neste artigo.

  • A partir de agora, não há alterações significativas