Histórico de alterações
Notas de versão do SDK Flutter. Acompanhe versões, mudanças incompatíveis, atualizações de provider e notas de migração para Certta, Face Liveness e Document Detector.
Notas de lançamento
[email protected]
Data de lançamento
09-2026
Destaques
Certta DevX (primeiro lançamento híbrido): Novo
CerttaSdkAPI com Document Detector e Face Liveness (núcleo e UI) no Android e iOS.Configure a sessão uma vez com
configureSdk(CerttaConfiguration), depois abra cada módulo independentemente (liveness.open,documentDetector.open,documentDetectorUi.open).A versão sequencial
CafSdk/initializeCafSdkA API continua disponível no mesmo pacote.
Atualizações
Novo import público:
package:caf_sdk/certta_sdk.dart.Fluxos de eventos por módulo (
CerttaLivenessEvent,CerttaDocumentDetectorEvent,CerttaDocumentDetectorUiEvent) eCerttaSdk.logStream.Em tempo de execução
updateUserId/updateMobileTokenapós a configuração inicial da sessão.CerttaLivenessFailurecomcausacódigos edescriptionpara texto voltado ao usuário.As rejeições do mapeador de bridge lançam
PlatformExceptioncom o códigoBRIDGE_EXCEPTION.
Veja o Guia de Instalação e Migrando do CafSdk.
[email protected]
Data de lançamento
08/14/2026
Destaques
Compatibilidade com Android 16: Plugin Flutter atualizado para oferecer suporte ao Android 16 (
compileSdk/targetSdk36), alinhando-se aos requisitos do Google Play para apps voltados a versões recentes do Android.
Correções
Face Liveness: Corrigido um problema no fluxo Payface em que uma validação facial com falha ainda podia ser reportada como sucesso. O SDK agora trata corretamente as falhas de validação e exibe a mensagem apropriada ao usuário.
Document Detector: Corrigidos problemas de captura e envio em tablets e dispositivos no modo paisagem, incluindo um breve flash incorreto da orientação da imagem na pré-visualização, falhas de captura automática com fotos finais desalinhadas e pequenos ajustes de UI nas margens do layout e no botão de fechar.
Atualizações
Plugin Flutter
compileSdk/targetSdkatualizado para 36.
[email protected]
Data de lançamento
08-03-2026
Mudança de quebra: O módulo Fingerprint agora é opcional e pode ser configurado em caf-modules-config.json por meio do novo fingerprint propriedade (booleano). Por padrão, fingerprint é definido como false, o que significa que você não precisa adicionar essa propriedade ao JSON, a menos que queira usá-la. Para habilitar o módulo, você deve adicionar explicitamente "fingerprint": true. Importante: Fingerprint também precisa estar habilitado no Backoffice. Se não estiver habilitado no Backoffice, o SDK nunca chamará a biblioteca de fingerprint e nenhum dado será enviado, mesmo que a propriedade esteja definida como true localmente.
Destaques
Módulo Fingerprint opcional: Controle a inclusão do recurso de fingerprint diretamente de
caf-modules-config.json. Ele é desativado por padrão, garantindo que você só inclua a dependência quando for estritamente necessário.
Atualizações
Novo
fingerprintcampo booleano emcaf-modules-config.jsonpara Android e iOS.
[email protected]
Data de lançamento
07-06-2026
Mudança de quebra: A eventStream agora emite um tipado Stream<CafResponse> em vez de um Stream<dynamic> com cargas úteis Map brutas. Atualize cada listener: substitua event['eventName'] / event['response'] pelos campos tipados — event.success, event.error, event.failure, event.log, event.loading, event.loaded, e event.cancelled. Veja Tratamento de Eventos para o exemplo completo de migração.
Destaques
Relato de erros mais consistente: Erros que ocorrem durante a inicialização do fluxo e que se relacionam com a integração interna do SDK agora são emitidos por meio do
errorevento comoBRIDGE_EXCEPTION, para que possam ser tratados da mesma forma que qualquer outro erro do SDK.
Mudanças de quebra
Fluxo de eventos tipado:
CafSdk.eventStreamagora éStream<CafResponse>. Os consumidores devem acessar os campos tipados deCafResponse(success,error,failure,log,loading,loaded,cancelled) em vez de indexar umMap.Classes de configuração de módulo achatadas: Os
...BuilderConfigurationwrappers por módulo foram removidos. Os campos agora são passados diretamente nos objetos de configuração do módulo, e as configurações de UI estendem a configuração base em vez de aninhá-la:CafFaceLivenessBuilderConfigurationremovido — passe os campos diretamente emCafFaceLivenessConfiguration.CafDocumentDetectorBuilderConfigurationremovido — passe os campos diretamente emCafDocumentDetectorConfiguration.CafFaceLivenessUIBuilderInstructionScreenConfiguration→CafFaceLivenessUIInstructionScreenConfiguration, e o campoinstructionScreenConfiguration→instructionScreen.CafDocumentDetectorUIBuilderInstructionScreenConfiguration→CafDocumentDetectorUIInstructionScreenConfiguration, e o campoinstructionScreenConfiguration→instructionScreen.CafDocumentDetectorUIBuilderDocumentSelectionScreenConfiguration→CafDocumentDetectorUIDocumentSelectionScreenConfiguration, e o campodocumentSelectionScreenConfiguration→documentSelectionScreen.A
CafSdkConfigurationno nível do SDK permanece inalterada e ainda recebeconfiguration: CafSdkBuilderConfiguration(...).
initializeCafSdktipo de retorno: alterado deFuture<bool?>paraFuture<bool>.
Atualizações
Constantes de nome de evento: Adicionadas as
CafSdkEventNameconstantes (CafUnifiedEvent.*) para identificar os eventos emitidos.Novo
CafErrorTypevalores: AdicionadosINVALID_RESPONSE_EXCEPTION,CAMERA_EXCEPTION,FACE_AUTHENTICATION, eBRIDGE_EXCEPTION. Observe queBRIDGE_EXCEPTIONrelata erros que ocorrem ao inicializar ou iniciar o fluxo; ouça-o noerrorevento e trate-o como parte do seu tratamento normal de erros.CafSuccessResponse:signedResponseagora é tipado comoString?(anteriormentedynamic), emoduleNamea resolução é mais resiliente a variações de identificadores nativos.
Guia de migração — 1.x → 2.0.0
Três coisas mudaram para os integradores: como você lê eventos, como você monta configurações de módulo e o tipo de retorno de initializeCafSdk. A CafSdkConfiguration (com CafSdkBuilderConfiguration) no nível do SDK permanece inalterada.
1. Leia eventos do fluxo tipado
2. Remova o ...BuilderConfiguration wrapper
do módulo
3. Atualize as configurações de UI (wrapper + tipos e campos renomeados)
4. Renomeie os imports de tipos (se você importou os tipos removidos)
CafFaceLivenessBuilderConfiguration
CafFaceLivenessConfiguration
CafDocumentDetectorBuilderConfiguration
CafDocumentDetectorConfiguration
CafFaceLivenessUIBuilderInstructionScreenConfiguration
CafFaceLivenessUIInstructionScreenConfiguration
CafDocumentDetectorUIBuilderInstructionScreenConfiguration
CafDocumentDetectorUIInstructionScreenConfiguration
CafDocumentDetectorUIBuilderDocumentSelectionScreenConfiguration
CafDocumentDetectorUIDocumentSelectionScreenConfiguration
5. Atualize a initializeCafSdk tipo de retorno
initializeCafSdk agora retorna Future<bool> em vez de Future<bool?>. Remova quaisquer verificações de nulo no resultado aguardado.
[email protected]
Data de lançamento
05-25-2026
Atualizações
Provedor de Liveness Payface (Android): Atualize a versão de
1.18.2para1.19.2.Provedor de Liveness Payface (iOS): Atualize a versão de
1.5.2para1.8.2.
Correções
FaceLiveness
O erro de carregamento infinito ocorre quando o SDK retorna um erro.
A primeira inicialização não funcionava ao usar
Payfaceprovedor.
[email protected]
Data de lançamento
05-08-2026
Correções
DocumentDetector: Corrigido o comportamento ao lidar com RG (Carteira de Identidade brasileira) com a opção de documento digital.
[email protected]
Data de lançamento
04-13-2026
Mudança de quebra: Os provedores de Face Liveness agora podem ser configurados em caf-modules-config.json por meio de livenessProviders (string ou array). Quando fornecido, ele deve listar o(s) provedor(es) escolhido(s). Não use iproov-lite e iproov-full juntos —iproov-full usa uma versão diferente do Protobuf, e combiná-los causará erros de classes duplicadas em tempo de build. PayFace exige iproov-lite (Protobuf JavaLite); associar PayFace com iproov-full causa conflitos de Protobuf em tempo de build. Se omitido, o SDK usa o padrão iproov-lite em ambas as plataformas. Um valor vazio ou inválido causa um erro de build em Android; no iOS, um valor vazio também volta para iproov-lite, mas um valor inválido causa falha de build. Veja Etapa 2: Configure a seleção de módulos para detalhes.
Destaques
Provedores de Face Liveness configuráveis: Escolha
iproov-lite,iproov-full,payface, e/oufacetecdecaf-modules-config.jsonem vez de depender de padrões nativos implícitos.
Atualizações
Configuração do provedor de Liveness:
Novo
livenessProviderscampo emcaf-modules-config.jsonpara Android e iOS.Documentado Protobuf JavaLite vs Protobuf Java mapeamento para
iproov-litevsiproov-full.Esclarecido multi-provedor usando um array, e o requisito PayFace + iProov Lite .
Provedor de Liveness iProov: A documentação e os padrões foram atualizados para refletir o novo modelo de seleção de provedor.
Android ProGuard / R8: Se o R8 reportar classes ausentes para stubs de lint enviados com o SDK, adicione o seguinte a
proguard-rules.pro(também listado em Ofuscação de código):
[email protected]
Data de lançamento
02-09-2026
Versões anteriores à 1.2.0 farão com que o iProov Liveness pare de funcionar em 12 de março de 2026. Para garantir o funcionamento adequado e a continuidade do serviço, use a versão 1.2.0 ou posterior.
Destaques
Provedor de Liveness atualizado: Atualização crítica para a versão do provedor iProov para melhorar a estabilidade
Atualizações
Provedor de Liveness iProov: Atualizada a versão interna do provedor iProov.
[email protected]
Data de lançamento
02-09-2026
Destaques
Novo módulo de segurança: Introdução do
CafSecuritymódulo para validações de segurançaIntegração com PayFace: Adicionado suporte ao PayFace (Fortface) como um provedor opcional de Face Liveness
Melhorias de estabilidade: Principais correções de travamentos e melhorias de estabilidade para o módulo Document Detector
Recursos
Módulo CafSecurity:
Adicionado um novo módulo especificamente para validações de segurança
Configuração: Adicionados
enableSecurityModuleflag emCafSdkConfiguration(valor padrão:true)
Integração com PayFace (Fortface):
Integração opcional de provedor de Face Liveness
Configuração: Nova propriedade
payFaceDebugModeemCafFaceLivenessConfigurationpara ativar o modo de depuração para o provedor PayFace
Correções
DocumentDetector:
Ciclo de vida da Activity: Resolvidos vários travamentos relacionados ao gerenciamento do ciclo de vida da Activity (estados de inicialização, pausa e retomada)
Ciclo de vida da câmera: Melhorado o gerenciamento de recursos da câmera e o ciclo de vida das threads para evitar travamentos durante o encerramento do SDK
Componentes da UI: Resolvidos problemas de compatibilidade de tema e exceções de transações de fragmentos
Requisições de rede: Corrigido o tratamento do corpo da resposta para evitar erros ao ler respostas de rede
Acesso aos dados: Melhorada a inicialização e validação do cursor antes de acessar dados do banco de dados
Prevenção de ANR: Otimizadas as verificações de instância do controlador de documentos para evitar problemas de "Application Not Responding"
Geral: Melhorias internas e correções de estabilidade
FaceLiveness:
Sessões: Corrigidos erros de criação de sessão
UI: Corrigida a tonalidade de cor em imagens remotas na tela de Instruções
Atualizações
Configuração de build:
Regras do ProGuard: Adicionadas as regras necessárias do ProGuard para a integração com PayFace
[email protected]
Data de lançamento
03-09-2026
Atualizações
Provedor de Liveness iProov atualizado: Atualize a versão do provedor iProov.
Atualizado o target mínimo de implantação do iOS: Atualizado para
15.0.
Correções
DocumentDetector
Corrigidos travamentos no módulo Document Detector: Resolvidos vários travamentos relacionados ao gerenciamento do ciclo de vida da Activity, incluindo estados de inicialização, pausa e retomada.
Corrigidos travamentos relacionados ao ciclo de vida da câmera: Melhorado o gerenciamento de recursos da câmera e o ciclo de vida das threads para evitar travamentos durante o encerramento do SDK e transições de estado.
Corrigidos travamentos nos componentes de UI: Resolvidos problemas de compatibilidade de tema e exceções de transações de fragmentos para garantir o comportamento adequado da UI.
Corrigidos travamentos em requisições de rede: Corrigido o tratamento do corpo da resposta para evitar erros ao ler respostas de rede.
Corrigidos travamentos no acesso aos dados: Melhorada a inicialização e validação do cursor antes de acessar dados do banco de dados.
Corrigido ANR no Document Controller: Otimizadas as verificações de instância do controlador de documentos para evitar problemas de aplicativo sem resposta.
Melhorias e correções internas: Melhorias adicionais de estabilidade e correções de bugs.
[email protected]
Data de lançamento
10-27-2025
Destaques
Primeiro lançamento do SDK Flutter: Implementação completa em Flutter do SDK CAF para verificação de identidade
SDK unificado: Pacote único contendo todos os módulos CAF (Face Liveness e Document Detector) com variantes core e de UI
Integração Flutter-nativa: Integração perfeita com o sistema de widgets e o gerenciamento de estado do Flutter
Suporte multiplataforma: Suporte completo para as plataformas Android e iOS
Configuração com segurança de tipos: Classes de configuração Dart fortemente tipadas para uma melhor experiência de desenvolvimento
Recursos
Sistema de configuração de módulos:
caf-modules-config.json: Arquivo de configuração na raiz do projeto para especificar quais módulos incluirMódulos disponíveis:
documentDetector: Habilita/desabilita o módulo Document DetectorfaceLiveness: Habilita/desabilita o módulo Face LivenessdocumentDetectorUI: Habilita/desabilita o módulo de interface do Document DetectorfaceLivenessUI: Habilita/desabilita o módulo de interface do Face Liveness
Exemplo de configuração:
Recursos principais do SDK:
Classe CafSdk: Classe principal do SDK para inicialização e configuração
Fluxo de eventos: Manipulação de eventos em tempo real por meio de streams do Dart
Gerenciamento de módulos: Execução sequencial de módulos com ordem de apresentação configurável
Tratamento de erros: Tipos de erro abrangentes e tratamento de falhas
Construtor de configuração: Configuração com segurança de tipos usando o padrão builder
Módulo Face Liveness:
Módulo principal:
CafFaceLivenessConfigurationpara controle programáticoMódulo de interface:
CafFaceLivenessUIConfigurationcom telas de instrução personalizáveisRecursos: URLs de autenticação, pinagem de certificado, modo de depuração, tentativas de repetição
Personalização: Telas de instrução com imagens, títulos, descrições e etapas
Módulo Document Detector:
Módulo principal:
CafDocumentDetectorConfigurationpara controle programáticoMódulo de interface:
CafDocumentDetectorUIConfigurationcom personalização completa da interfaceTipos de Documento: Suporte para RG, CNH, Passaporte, RNE, CTPS e mais
Suporte a upload: Upload de arquivos com compressão, controle de formato e limites de tamanho
Configuração de Proxy: Suporte a servidores proxy com autenticação
Personalização de Mensagens: Mensagens personalizáveis ao usuário durante todo o fluxo
Configuração Avançada:
Temas de cores: Personalização completa das cores da interface por meio de
CafColorConfigurationConfigurações de segurança: Flags de desenvolvimento, modo de depuração e controles de segurança
Controle de fluxo: Captura manual, timeouts, tentativas de repetição e controles de pop-up
Telas de instrução: Telas de instrução personalizáveis para ambos os módulos
Implementação técnica
Integração com Flutter:
Canais de método: Comunicação nativa por meio do sistema de method channels do Flutter
Eventos baseados em streams: Manipulação de eventos em tempo real usando streams do Dart
Gerenciamento de estado: Gerenciamento adequado do ciclo de vida com
StatefulWidgetsuporteTratamento de erros: Tratamento abrangente de erros com exceções tipadas
Suporte de plataforma:
Android: Suporte completo com regras ProGuard/R8 e configuração do repositório Maven
iOS: Integração completa com CocoaPods e módulos nativos do iOS
Permissões: Tratamento adequado de permissões para acesso à câmera e à rede
Desempenho:
Carregamento seletivo de módulos: Carregue apenas os módulos habilitados para otimizar o tamanho do pacote
Gerenciamento de memória: Limpeza adequada de recursos e gerenciamento de memória
Otimização de rede: Comunicação de rede eficiente com mecanismos de repetição
Instalação e configuração
Instalação do pacote: Instalação simples via
flutter pub add caf_sdkConfiguração do módulo: Seleção fácil de módulos por meio de um arquivo de configuração JSON
Configuração da plataforma: Instruções claras para configuração das plataformas Android e iOS
Gerenciamento de permissões: Configuração abrangente de permissões para ambas as plataformas
Documentação
Exemplos completos: Exemplos completos de implementação para uso básico e avançado
Guia de configuração: Opções de configuração detalhadas para todos os módulos
Tratamento de Eventos: Exemplos e padrões abrangentes de tratamento de eventos
Referência de erros: Documentação completa dos tipos de erro e cenários de falha
Mudanças de quebra
Primeiro lançamento: Este é o primeiro lançamento do SDK Flutter, então não há alterações incompatíveis com versões anteriores.
Problemas conhecidos
Simulador iOS: Alguns recursos podem não funcionar corretamente no Simulador iOS devido às limitações da câmera
Emulador Android: Recursos que dependem da câmera exigem dispositivos físicos para teste
Requisitos de rede: Todos os módulos exigem conexão com a internet para funcionar corretamente
Atualizado

