> 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/sdks/backend-sdk/finger/changelog.md).

# Changelog

## \[2.1.0] - 2026-06-11

### Añadido

* Nuevo endpoint de gestión `GET /api/v1/finger/metrics` que devuelve `usageCountersEnabled`, `extractCount`, `authenticateCount` y `totalCount`.
* Conteo de uso condicionado por licencia para las operaciones `POST /api/v1/finger/extract` y `POST /api/v1/finger/authenticate` completadas con éxito, mediante la clave de metadatos `ActivateUsageCounters`.

### Cambiado

* Mejorado el comportamiento de sincronización de los contadores de uso para reducir el desfase entre las métricas del lado del servicio y los valores del panel de licencias.
* Actualizada la cobertura de pruebas de integración para validar el comportamiento de las métricas sin depender de temporizaciones frágiles.

### Documentación

* Actualizados `README.md`, el OpenAPI, las notas de versión y la documentación técnica para incluir el contrato de `/metrics` y la configuración de contadores de uso.
* Documentados los formatos de imagen admitidos para las entradas basadas en imagen en `extract` y `authenticate`: `wsq`, `bmp`, `png`, `jpg`, `jp2`.

## \[2.0.0] - 2026-06-08

### Cambios incompatibles (Breaking Changes)

* Eliminadas las rutas públicas heredadas `POST /api/v1/finger/create-template` y `POST /api/v1/finger/verify`.
* Introducido el contrato público 2.0.0 para `POST /api/v1/finger/extract` y `POST /api/v1/finger/authenticate`.
* Cambiados los payloads de petición y respuesta de las operaciones de huella dactilar, no compatibles con clientes 1.x.x.

### Añadido

* Capa de mapeo de la API pública (`FingerContractMapper`) que traduce el contrato público de Facephi al contrato del backend de procesamiento.
* Validación de entrada (codificación Base64, campos obligatorios, nombres de posición, scanType) que devuelve `error400`.
* Pruebas unitarias para el mapeo de contratos y la validación (`FingerContractMapperTest`).
* Aserciones de pruebas de integración que verifican los campos del contrato público, la ausencia de campos específicos de la implementación y las respuestas `404` en las rutas heredadas eliminadas.

### Cambiado

* Renombrados los campos de respuesta a: `fingerTemplate`, `quality`, `qualityDetails`, `authStatus`, `similarity`, `sdkDuration`, `queueDuration`.
* La validación de `authThreshold` en las peticiones de autenticación es estrictamente de tipo entero (0..100), conforme al contrato público documentado.
* Normalizados los mensajes del payload público `error400` de extract/authenticate/health a un lenguaje orientado a producto.

### Documentación

* Renovadas las guías de instalación, técnica y de descripción general para el lanzamiento público 2.0.0.

### Pruebas

* Pruebas unitarias: `FingerContractMapperTest`, que cubre el mapeo, la validación y la ausencia de campos internos en todas las respuestas.
* Pruebas de integración: colección de Newman actualizada para el contrato público 2.0.0 con aserciones de inspección de stubs y comprobaciones explícitas de las rutas heredadas eliminadas.

## \[1.0.0] - 2026-04-20

### Añadido

* Paquete inicial de documentación pública bajo `doc/`.
* Especificación OpenAPI 3.0 para todos los endpoints públicos.
* Guías de instalación y de especificaciones técnicas.
* Notas de versión para el lanzamiento público inicial del servicio.

### Alcance del servicio

* Endpoint de creación de plantillas de huella dactilar.
* Endpoint de verificación 1:1 de huella dactilar.
* Endpoints de gestión para versión, salud y configuración en tiempo de ejecución.
* Precedencia de configuración en tiempo de ejecución con sobrescritura mediante variables de entorno.
* Modelo de roles de despliegue master/worker para operación en clúster.
