> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/release-notes.md).

# Notas de versão

## v7.8.0

Distribuído em **CafSDKiOS 7.8.0**.

### Versionamento

* A partir desta versão, a versão do CafFaceLivenessLite corresponde à versão do CafSDKiOS. A versão Lite anterior era 3.1.0.

### Novos recursos

* **`getVersion()`:** novo método estático `CafFaceLivenessLiteSDK.getVersion()` retorna a versão do SDK como uma `String` (por exemplo `"7.8.0"`). Ele não precisa de instância nem de `setup`. Veja [Construtor](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/builder.md#getversion).

### Melhorias

* **Resultado entregue antes que a tela de captura seja fechada:** `didFinishWithSuccess`, `didFinishWithFailure`, `didFinishWithError` e `cancelled()` são entregues enquanto a tela de captura ainda está visível.
* **Roteamento regional:** o SDK envia suas solicitações para a região definida no seu token. A região é definida no servidor quando o token é emitido; se o token não trouxer nenhuma, é usado o padrão do ambiente. Nenhuma mudança de integração necessária.

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.8.0'`
* Repositório CAF (novo): o xcframework, o podspec, `Package.swift` e o checksum SHA256 são publicados em `https://repo.combateafraude.com/ios/release/CafFaceLivenessLite/7.8.0/`, assim como para Android. Veja [Instalação](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/installation.md).

***

## v3.1.0

Distribuído em **CafSDKiOS 7.7.0**.

### Melhorias

* **Resultado entregue assim que a captura termina:** `didFinishWithSuccess` / `didFinishWithFailure` agora são disparados no momento em que a captura é concluída, sem ida e volta de rede entre eles.

### Atualizações

* **Mapeamento de erros:** uma sessão rejeitada porque a conta não está habilitada para o fluxo assíncrono agora informa `didFinishWithError(type: .tokenException, description:)`. Uma sessão que chega sem os dados necessários para concluir o fluxo informa `.tokenException` ou `.invalidResponseException`. Veja [Referência de resultado](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/result-reference.md).

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.7.0'`

***

## v3.0.0

Distribuído em **CafSDKiOS 7.6.0**.

### Alterações incompatíveis

* **`startSDK` dividida em `setup` + `startSDK`:** a configuração não acompanha mais a chamada de inicialização. Chame `setup(...)` uma vez com suas credenciais e opções, depois `startSDK(viewController:)` para apresentar a tela de captura. A anterior `startSDK(viewController:mobileToken:personId:…)` sobrecarga foi **removida, não descontinuada** — chamadas existentes falharão ao compilar.
* **`startSDK` antes de `setup` é um erro:** chamar `startSDK(viewController:)` sem um prévio `setup(...)` relata `didFinishWithError(type: .invalidOptionsException, description:)` e não abre uma sessão.

### Migração

Cada argumento da antiga `startSDK` exceto `viewController:` vai para `setup(...)`, com os mesmos rótulos, tipos e padrões.

```swift
// Antes (2.1.0)
sdk.startSDK(
    viewController: self,
    mobileToken: "your_mobile_token",
    personId: "your_person_id",
    customLocalization: nil,
    customLocalizationBundle: nil,
    uiCustomization: nil,
    environment: .prod,
    loading: true
)

// Depois (3.0.0)
sdk.setup(
    mobileToken: "your_mobile_token",
    personId: "your_person_id",
    customLocalization: nil,
    customLocalizationBundle: nil,
    uiCustomization: nil,
    environment: .prod,
    loading: true
)
sdk.prewarm()                       // opcional — veja abaixo
sdk.startSDK(viewController: self)
```

Adotar `setup` sozinho é suficiente para migrar: se você nunca chamar `prewarm()`, o fluxo se comporta exatamente como em 2.1.0.

### Novos recursos

* **Pré-aquecimento de sessão:** novo opcional `prewarm()` método que realiza a solicitação da sessão com antecedência — por exemplo enquanto o usuário lê uma tela de instruções — para que `startSDK` possa abrir a câmera sem esperar pela rede. A sessão pré-aquecida é válida por **90 segundos** e é consumida pela próxima chamada de `startSDK`. Se estiver ausente, desatualizada ou tiver sido criada com credenciais diferentes, `startSDK` faz fallback silencioso para o fluxo regular, portanto o pré-aquecimento nunca pode quebrar uma captura.

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.6.0'`

***

## v2.1.0

Distribuído em **CafSDKiOS 7.5.0**.

### Novos recursos

* **Personalização da interface:** novo opcional `uiCustomization: CerttaUiCustomization?` parâmetro em `startSDK` para personalizar a tela de liveness — barra de cabeçalho (título, cores, botão de fechar, logo), mensagem de orientação (cores, cantos arredondados), área ao redor do oval do rosto (cor, desfoque) e fonte. Totalmente opcional e compatível com versões anteriores: omiti-lo, ou deixar campos individuais `nil`, mantém a aparência atual. Veja [Personalização da interface](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/ui-customization.md).

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.5.0'`

***

## v2.0.2

Distribuído em **CafSDKiOS 7.4.1**.

### Melhorias

* **Análise:** Melhorando a observabilidade e a resolução de problemas.

### Atualizações

* Dependência do iProov atualizada para **13.2.0**.
* **Alteração no SP do iProov:** O SDK agora segue o SP do iProov fornecido pelo backend. Alteração no servidor — nenhuma mudança de integração necessária.

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.4.1'`

***

## v2.0.1

Distribuído em **CafSDKiOS 7.3.2**.

### Correções de bugs

* **`cancelled()` tempo de entrega:** `CafFaceLivenessLiteDelegate.cancelled()` agora é entregue somente depois que o view controller da câmera do iProov termina de ser dispensado.

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.3.2'`

***

## v2.0.0

Distribuído em **CafSDKiOS 7.3.1**.

### Alterações incompatíveis

* **Início da transação apenas assíncrona:** Após a captura, o SDK agora chama a rota assíncrona. A resposta contém apenas um `signedResponse` JWT opaco. O resultado final de liveness (`isAlive`, imagens) deve ser recuperado pelo seu backend fora de banda — o SDK não faz polling.
* **`executeFaceAuth` removido:** Face Auth não é mais suportado por `CafFaceLivenessLite`. Chamadas que passarem `executeFaceAuth` falharão ao compilar. Use os produtos completos Face Liveness / Face Auth se precisar desse fluxo.

### Migração

```swift
// Antes (1.x)
sdk.startSDK(
    viewController: self,
    mobileToken: token,
    personId: personId,
    customLocalization: nil,
    environment: .prod,
    loading: true,
    executeFaceAuth: false
)

// Depois (2.0.0)
sdk.startSDK(
    viewController: self,
    mobileToken: token,
    personId: personId,
    customLocalization: nil,
    customLocalizationBundle: nil,
    environment: .prod,
    loading: true
)
```

### Novos recursos

* **`customLocalizationBundle`:** Opcional `Bundle?` parâmetro em `startSDK` que mapeia para iProov `options.stringsBundle`. Use-o em conjunto com `customLocalization` (nome da tabela de strings) quando seus `Localizable.strings` estão em um framework ou bundle host diferente do bundle principal do app — por exemplo `Bundle(for: CafFaceLivenessLiteSDK.self)`.

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '7.3.1'`

***

## v1.2.1

### Novos recursos

* **Monitoramento de segurança:** Adicionado `enableSecurity: Bool = true` parâmetro do construtor em `CafFaceLivenessLiteSDK`. Quando habilitado, o SDK realiza detecção de jailbreak, monitoramento de dylib e detecção de instrumentação. Desative apenas em ambientes de teste automatizado.
* **Novos tipos de erro:** Adicionadas quatro novas opções a `CafErrorType`:
  * `cameraException`: Erro de hardware da câmera
  * `certificateException`: Falha na validação do certificado
  * `invalidOptionsException`: Opções de configuração do SDK inválidas fornecidas
  * `securityException`: Violação de segurança detectada (acionada quando `enableSecurity: true` e instrumentação ou hooking são detectados)

### Distribuição

* CocoaPods: `pod 'CafSDKiOS/CafFaceLivenessLite', '6.4.2'`

***

## v1.2.0

### Atualizações

* Versão mínima suportada do iOS atualizada para **15.0+**.
* Dependência do iProov atualizada para **13.1.0**.
* **Novas opções de falha:** Adicionados novos casos de falha a `CafFailureType`: `eyewear`, `faceNotFound`, `framesBlurry`, `lightingIssues`, `motionIssue`, `backgroundIssue`, `deviceIssue`, `deviceRestart`, `systemError`, `rejected`, `timeout`, `userNotFound`, `processingFault`.

### Aviso importante

{% hint style="warning" %}
O suporte a proxy reverso será descontinuado em uma versão futura. É necessária uma atualização relacionada ao iProov para manter o iProov funcionando e evitar problemas de certificado. **Após 15 de março de 2026, os serviços Faceliveness e Faceauth poderão ficar indisponíveis.**
{% endhint %}

***

## v1.1.0

### Novos recursos

* **Tratamento de erros de autenticação facial:** Adicionada uma nova `faceAuthentication` opção a `CafErrorType` para tratar especificamente erros de backend quando `executeFaceAuth` estiver habilitado.

***

## v1.0.0

Versão inicial do SDK leve de liveness facial.

### Destaques

* Menor ocupação com integração simplificada
* Ciclo de vida baseado em delegate com callbacks de sucesso, falha e erro
* Execução opcional do FaceAuth após o liveness
* Substituição básica de localização via `customLocalization`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.caf.io/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/release-notes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
