> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/sdks/backend-sdk/iad/changelog.md).

# Changelog

## \[2.2.0] - 2026-08-12

### Adicionado

* Endpoints públicos `GET /api/v1/iad/metrics` e `GET /api/v1/iad/metrics/prometheus` para snapshots operacionais e exposição no formato Prometheus.
* Testes unitários e integração para os snapshots de saúde e os endpoints de métricas.

### Alterado

* `GET /api/v1/iad/health` mantém a verificação ativa do motor, enquanto que `/metrics` expõe snapshots em cache e contadores em memória adequados para scraping frequente.
* Atualizado o motor interno.

## \[2.1.0] - 2026-07-20

### Adicionado

* Suporte opcional para autenticação JWT.
* Testes unitários que cobrem a precedência da configuração JWT em tempo de execução e o comportamento de redação/rejeição do endpoint de configuração.

### Alterado

* Os endpoints públicos de configuração agora omitem as chaves de autenticação JWT nas respostas de `GET /api/v1/iad/config`.
* As atualizações públicas de configuração via `POST /api/v1/iad/config` agora rejeitam as chaves de autenticação JWT; esses valores devem ser configurados somente na inicialização por meio de `config.json` ou as variáveis de ambiente `FACEPHI_IAD_REST_*`.

## \[2.0.0] - 2026-05-26

### Alterações incompatíveis

* A versão `2.0.0` quebra a compatibilidade da API REST pública com a série `1.x.x`: os nomes dos endpoints, os campos das solicitações multipart e os payloads de resposta corretos foram alterados e exigem migração por parte do cliente.

### Adicionado

* Mapeamento de resposta pública de liveness com os campos no estilo Facephi `diagnostic`, `reason`, `probability`, `score`, `sdkDuration` e `queueDuration`.
* Mitigação experimental de ataques de repetição documentada como capacidade pública de facephi-iad-service, com as variáveis de ambiente de inicialização `FACEPHI_IAD_REPLAY_ATTACK_CHECKER_ENABLED` e `FACEPHI_IAD_REPLAY_ATTACK_TOLERANCE_TIME`.
* Testes unitários para o mapeamento do payload de sucesso do Engine e a prevenção de vazamento de campos públicos.
* Testes unitários para o contrato do campo multipart obrigatório `capture`.

### Alterado

* As rotas operacionais públicas agora usam `/api/v1/iad/liveness/evaluate` e `/api/v1/iad/extract`.
* Os endpoints multipart agora exigem o campo `capture` em tempo de execução e rejeitam as solicitações herdadas que incluem apenas `file`.
* As falhas de inicialização agora são propagadas para `main` em vez de encerrar a partir do código de inicialização do serviço.
* Os erros de validação do provedor IAD são normalizados para valores de resposta no estilo Facephi/SelphID.
* As capturas expiradas rejeitadas pela proteção experimental contra repetições agora retornam a mensagem pública HTTP `400` documentado `Ataque de replay detectado`.
* A documentação pública de liveness agora lista os valores exatos de `reason` que o serviço retorna: `None`, `Unknown`, `UntrustedEnvironment`, `SuspiciousActivity`, `UntrustedDevice`, `SdkIntegrityViolation`, `UntrustedCorruptedPayload`, `UntrustedContent` e `UntrustedContentLowConfidence`.
* A documentação pública e os exemplos de OpenAPI agora descrevem o novo contrato de resposta pública em vez dos payloads do provedor.

### Corrigido

* O tratamento de sinais não invoca mais logging, rotinas de desligamento nem `std::exit` a partir do manipulador de sinais.

### Removido

* Os campos públicos de sucesso no formato de Engine `capture_liveness`, `capture_type`, `rejection` e `mime_type`.

## \[1.2.0] - 2026-04-30

### Segurança

* Os valores `LICENSE_ID` e `LICENSE_DATA` presentes no arquivo de licença são ignorados.

### Alterado

* A documentação da API agora inclui os motivos de rejeição do motor IAD e os mapeamentos de `error_code` de validação para as respostas do serviço.
* Os exemplos de Swagger/OpenAPI agora documentam os erros HTTP `400` originados pelo motor para `check-capture` e `extract-image`.
* A documentação da demo foi melhorada adicionando a modificação dos endereços IP dos serviços necessários.

### Corrigido

* A documentação pública e os metadados da versão agora fazem referência à versão `1.2.0` de forma consistente.
* Os exemplos de instalação e OpenAPI foram alinhados com os valores padrão atuais do runtime e as rotas de endpoint `/api/v1/iad/*`.

## \[1.1.1] - 2026-03-30

### Alterado

* Atualização do motor IAD para a versão 2.5.3.

### Corrigido

* As rotas do registro Docker foram corrigidas para usar `docker-pro-fphi` em toda a documentação e nas notas de versão.
* A especificação OpenAPI foi atualizada com esquemas de solicitação/resposta precisos que correspondem ao comportamento real dos endpoints.
* A documentação da API foi aprimorada com exemplos dos endpoints de configuração e verificação de estado.

## \[1.1.0] - 2026-03-20

### Adicionado

* Sobrescrita da configuração em tempo de execução por meio de variáveis de ambiente.
* Utilitários de tradução de erros de licença e de relatório normalizado de erros de licença para um diagnóstico operacional mais claro.

### Alterado

* Atualização do motor IAD para a versão 2.5.2.
* Melhorias no gerenciamento de licenças para suportar cenários de validação offline e oferecer um relatório de erros mais claro.
* Dockerfile simplificado: mudança da imagem base, melhor gerenciamento de pacotes e tratamento de dependências em tempo de execução.

### Corrigido

* Atualizações de hardening do runtime Docker e da imagem base.
* Normalização de erros do proxy REST e rotas consistentes de criação/relato de erros.
* Redução do excesso de logs detalhados nas verificações do Docker e nos fluxos de ativação do motor.

## \[1.0.0] - 2026-02-03

### Adicionado

* Ativação automática do motor a partir dos metadados da licença
* Detecção do ambiente Docker e inicialização automática do motor
* Fachada ProcessExecutor para o gerenciamento de processos em segundo plano
* Camada de compatibilidade de sistema de arquivos para GCC 7

### Alterado

* **ALTERAÇÃO INCOMPATÍVEL**: Todos os endpoints foram padronizados com o prefixo `/iad` (por exemplo, `/api/v1/iad/check-capture`)
* Estrutura de namespace unificada em todos os endpoints
* Melhoria nos tempos de espera da verificação de estado do motor
* Logging aprimorado no processo de ativação do motor
* Implementação simplificada de ProcessExecutor
* Refatoração do logging interno do proxy REST

### Removido

* **ALTERAÇÃO INCOMPATÍVEL**: O endpoint foi removido `/extract_data` (funcionalidade consolidada)

### Corrigido

* Problemas de compatibilidade do sistema de arquivos com versões antigas do GCC
* Sincronização de tempos na inicialização do motor em ambientes Docker

## \[0.0.1] - 2026-01-29

### Adicionado

* Lançamento inicial da API REST do IAD Service
* Endpoint `/api/v1/iad/check-capture` para a detecção de liveness e a verificação de ataques de injeção
* Endpoint `/api/v1/iad/extract-image` para a extração de imagens de capturas validadas
* Endpoint de gerenciamento `/api/v1/iad/version` para a versão e o status da licença
* Endpoint de gerenciamento `/api/v1/iad/health` para o monitoramento de estado
* Endpoints de gerenciamento `/api/v1/iad/config` (GET/POST) para o gerenciamento da configuração
* Pool de conexões para a comunicação com o motor
* Mecanismo de nova tentativa automática com backoff configurável
* Atualizações dinâmicas de configuração sem reiniciar o serviço
* Implantação baseada em Docker com Ubuntu 24.04
* Suporte para validação de licença online e offline
* Logging completo com níveis e rotação configuráveis
* Especificação OpenAPI 3.0 (documentação Swagger)
