> 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 counting 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 discrepancy between the service-side metrics and the license dashboard values.
* Updated the integration test coverage to validate the metrics behavior without relying on brittle 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 public contract 2.0.0 for `POST /api/v1/finger/extract` and `POST /api/v1/finger/authenticate`.
* Changed the request and response payloads of the fingerprint operations, incompatible with 1.x.x clients.

### Added

* Public API mapping layer (`FingerContractMapper`) that translates Facephi's public 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 `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 integer type (0..100), in accordance with the documented public contract.
* Normalized the public payload messages `error400` for extract/authenticate/health to a product-oriented language.

### Documentation

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

### Tests

* Unit tests: `FingerContractMapperTest`, covering 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 of 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 service's initial public release.

### Service scope

* Fingerprint template creation endpoint.
* Fingerprint 1:1 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.
