Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 5 Próxima »

O controle de versão das especificações do Open Finance Brasil é composto pelos tipos de versionamento major, minor e patch. Os nomes e o formato de numeração utilizados pelos tipos de versionamento são idênticos aos utilizados no semantic versioning, no entanto, a definição utilizada diverge.
A seguir, as definições para cada um dos tipos de versionamento:

  • Major:

    • Contempla alterações de especificações derivadas de grandes lançamentos planejados pelo GT baseados nas prioridades do ecossistema e do Banco Central;

    • Contêm grandes mudanças de arquitetura ou de escopo como inclusão de novos arranjos de pagamento e atualizações na máquina de estados;

    • Pode conter várias dessas mudanças agrupadas;

    • Não possui restrição quanto aos tipos de alterações existentes;

    • Permite todas as alterações não aceitas nos versionamentos minor e patch;

    • Exemplos: v1.0.0, v2.0.0

  • Minor:

    • Permite alterações com quebra de contrato nos casos de correção de bugs que estejam impactando negativamente o ecossistema e adequações regulatórias que não podem aguardar o próximo versionamento major;

    • Permite adição de novas funcionalidades, desde que não haja quebra de contrato;

    • Para toda proposta de alteração minor, deve ser feita uma análise de risco/retorno pelo GT responsável, pois o versionamento minor subentende um processo de testes simplificado, se comparado à major;

    • Permite ajustes (adição, alteração, exclusão) para valores dos campos do tipo ENUM, mesmo que haja quebra de contrato, sendo necessário análise de risco/retorno pelo GT responsável;

    • Exemplos: v1.1.0, v1.2.0

  • Patch:

    • Contempla alterações de documentação para promover esclarecimentos no texto ou correções feitas no Swagger que não impactam em nada na funcionalidade das APIs;

    • Permite alterações sem quebra de contrato no caso de correções de bugs ou cenários específicos que não demandem implementação por todos os participantes do ecossistema;

    • Exemplos: v1.1.1, v1.1.2

Antes da publicação (release) da versão estável (stable) possuímos estágios em que a versão sendo construída é considerada instável (unstable). No estágio unstable, a versão é considerada não finalizada e, por isso, deve ser submetida a testes e avaliações por parte do ecossistema até que alcance a maturidade necessária para ser considerada stable. No Open Finance Brasil, vamos trabalhar com duas extensões unstable que dividem o estágio em duas partes:

  • Beta: estágio suficientemente evoluído para avaliações e testes externos, ainda pode possuir mudanças significativas.

    • A primeira versão é publicada como (x+1).0.0-beta.1;

    • Pode sofrer atualizações decorrentes de tickets abertos pelo ecossistema;

    • A cada nova publicação de atualização, o contador será incrementado de modo que tenha-se, por exemplo: (x+1).0.0-beta.2, (x+1).0.0-beta.3, ...;

    • Corresponde ao estágio inicial do Swagger disponibilizado na Área do Desenvolvedor;

    • Estágio em que é iniciado o processo de maturação do motor de conformidade;

    • É nesse estágio que as instituições deverão iniciar o desenvolvimento das APIs;

  • Release candidate (RC): estágio quase pronto para lançamento final, sem novos aprimoramentos de recursos, limitando alterações a correções de bugs e questões de segurança. Estágio mais estruturado e próximo ao que será a versão estável.

    • A primeira versão é publicada como (x+1).0.0-rc.1;

    • A cada nova publicação de atualização, o contador será incrementado de modo que tenha-se, por exemplo: (x+1).0.0-rc.2, (x+1).0.0-rc.3, ...;

    • Esse estágio é iniciado após o marco de 50% de sucesso nos testes;

    • Esse estágio é finalizado após o marco de 100% de sucesso nos testes;

    • Estágio em que é iniciado o período de certificação após o atingimento da maturidade do motor de conformidade.

Após cada alteração de estágio, ou seja, na passagem de beta para RC ou de RC para stable, o ecossistema será comunicado através de Informa para o devido acompanhamento da evolução das especificações. Entretanto, cabe às instituições acompanharem na Área do Desenvolvedor as atualizações dentro do mesmo estágio, por exemplo, de 1.0.0-beta.1 para 1.0.0-beta.2.

Toda atualização de especificação deve vir acompanhada de changelog, por exemplo:

  • Dentro de um mesmo estágio: 1.0.0-beta.1 ➞ 1.0.0-beta.2;

  • Entre estágios :2.0.0-beta.4 ➞ 2.0.0-rc.1;

  • Entre versões: 4.0.0 ➞ 4.1.0.

Versionamento

Restrições

Versão de referência (nova)

Versão de referência antiga

Possui data limite para implementação

Necessita certificação

Depreciação

Aposentadoria
(retired)

Observação

Major

Não haverá mais do que duas versões em convivência

  • Fornecedores²: Sim, no início do período de convivência

  • Consumidores³: Sim, no final do período de convivência

Sim

90 dias contados a partir do início em produção da nova versão

Acontecerá quando terminar o período de convivência, ficando vigente apenas a nova versão major

N/A

Minor Planejada

Não haverá breaking change

  • Fornecedores: Sim

  • Consumidores: Não

Sim, processo simplificado

Não haverá período de convivência

Aposentadoria imediata

Não há problemas de interoperabilidade

Minor Crítica Não Sincronizada¹

Necessidade de implementar o mais breve possível até a data limite estabelecida, porém os participantes não precisam sincronizar o momento do início em produção

  • Fornecedores: Sim

  • Consumidores: Sim

Sim, processo simplificado

Não haverá período de convivência

Aposentadoria imediata

Não gerar novos problemas de interoperabilidade para quem consome e a aplicação das soluções pelas instituições podem ocorrer até a data limite para implementação estabelecida em informa.

Minor Crítica Sincronizada

Necessidade de implementar o mais breve possível, porém os participantes devem sincronizar o momento do início em produção

  • Fornecedores: Sim

  • Consumidores: Sim

Sim, processo simplificado

Não haverá período de convivência

Aposentadoria imediata

Há riscos de novos problemas de interoperabilidade para quem consome e a implementação em produção deve ser sincronizada na data e hora estabelecida em informa

Patch

N/A

  • Fornecedores: Sim

  • Consumidores: Não

Não

Não haverá período de convivência

Aposentadoria imediata

N/A

Legenda:
1- Sincronizada: Início em produção realizado ao mesmo tempo por todos os participantes;
2- Fornecedores: Detentoras de conta e transmissoras de dados;
3- Consumidores: Iniciadoras de pagamento e receptoras de dados.

  • Sem rótulos