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

# Changelog

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

### Added

* New management Endpoint `GET /api/v1/finger/metrics` that returns `usageCountersEnabled`, `extractCount`, `authenticateCount` and `totalCount`.
* License-conditioned usage count for the operations `POST /api/v1/finger/extract` and `POST /api/v1/finger/authenticate` completed successfully, using the metadata key `ActivateUsageCounters`.

### Changed

* Improved the synchronization behavior of the usage counters to reduce the gap between the service-side metrics and the license dashboard values.
* Updated integration test coverage to validate metric behavior without relying on fragile timing.

### Documentation

* Updated `README.md`, the OpenAPI, the release notes, and the technical documentation to include the contract of `/metrics` and the usage counter configuration.
* Documented the supported image formats for image-based inputs in `extract` and `authenticate`: `wsq`, `bmp`, `png`, `jpg`, `jp2`.

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

### Breaking Changes

* Removed the legacy public routes `POST /api/v1/finger/create-template` and `POST /api/v1/finger/verify`.
* Introduced the public 2.0.0 contract for `POST /api/v1/finger/extract` and `POST /api/v1/finger/authenticate`.
* Changed the request and response payloads of fingerprint operations, incompatible with 1.x.x clients.

### Added

* Public API mapping layer (`FingerContractMapper`) that translates the public Facephi contract into the processing backend contract.
* Input validation (Base64 encoding, required fields, position names, scanType) that returns `error400`.
* Unit tests for contract mapping and validation (`FingerContractMapperTest`).
* Integration test assertions that verify the public contract fields, the absence of implementation-specific fields, and the responses `404` in the removed legacy routes.

### Changed

* Renamed the response fields to: `fingerTemplate`, `quality`, `qualityDetails`, `authStatus`, `similarity`, `sdkDuration`, `queueDuration`.
* The validation of `authThreshold` in authentication requests is strictly of integer type (0..100), in accordance with the documented public contract.
* Standardized the public payload messages `error400` from extract/authenticate/health to a product-oriented language.

### Documentation

* Updated the installation, technical, and overview guides for the public 2.0.0 release.

### Tests

* Unit tests: `FingerContractMapperTest`, which covers mapping, validation, and the absence of internal fields in all responses.
* Integration tests: updated Newman collection for the public 2.0.0 contract with stub inspection assertions and explicit checks for the removed legacy routes.

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

### Added

* Initial public documentation package under `doc/`.
* OpenAPI 3.0 specification for all public Endpoints.
* Installation guides and technical specifications.
* Release notes for the initial public release of the service.

### Service scope

* Fingerprint template creation Endpoint.
* 1:1 Fingerprint verification Endpoint.
* Management Endpoints for Version, health, and runtime configuration.
* Runtime configuration precedence with override via environment variables.
* master/worker deployment role model for cluster operation.
