Changelog
All notable changes to the Facephi IAD Service will be documented in this file.
The format is based on Keep a Changelog.
[2.0.0] - 2026-05-26
Breaking
- Version
2.0.0breaks public REST API compatibility with the1.x.xseries: endpoint names, multipart request fields, and successful response payloads changed and require client migration.
Added
- Public liveness response mapping with Facephi-style
diagnostic,reason,probability,score,sdkDuration, andqueueDurationfields. - Experimental replay attack mitigation documented as a public facephi-iad-service capability with startup environment variables
FACEPHI_IAD_REPLAY_ATTACK_CHECKER_ENABLEDandFACEPHI_IAD_REPLAY_ATTACK_TOLERANCE_TIME. - Unit tests for Engine success-payload mapping and public-field leak prevention.
- Unit tests for the required
capturemultipart field contract.
Changed
- Public operational routes now use
/api/v1/iad/liveness/evaluateand/api/v1/iad/extract. - Multipart endpoints now require the
capturefield at runtime and reject legacyfile-only requests. - Startup failures now propagate to
maininstead of exiting from service startup code. - IAD provider validation errors are normalized to Facephi/SelphID-style response values.
- Expired captures rejected by experimental replay protection now return the documented public HTTP
400messageReplay attack detected. - Public liveness documentation now enumerates the exact
reasonvalues returned by the service:None,Unknown,UntrustedEnvironment,SuspiciousActivity,UntrustedDevice,SdkIntegrityViolation,UntrustedCorruptedPayload,UntrustedContent, andUntrustedContentLowConfidence. - Public documentation and OpenAPI examples describe the new public response contract instead of provider payloads.
Fixed
- Signal handling no longer calls logging, shutdown routines, or
std::exitfrom the signal handler.
Removed
- Public Engine-shaped success fields
capture_liveness,capture_type,rejection, andmime_type.
[1.2.0] - 2026-04-30
Security
LICENSE_IDandLICENSE_DATAvalues in the license file are ignored if present.
Changed
- API documentation now includes IAD engine rejection reasons and validation
error_codemappings for service responses. - Swagger/OpenAPI examples now document engine-originated HTTP
400errors forcheck-captureandextract-image. - Demo documentation improve adding the modification of the IP addresses of the services needed.
Fixed
- Public documentation and release metadata now reference version
1.2.0consistently. - Installation and OpenAPI examples were aligned with the current runtime defaults and
/api/v1/iad/*endpoint paths.
[1.1.1] - 2026-03-30
Changed
- Upgrade IAD engine to version 2.5.3.
Fixed
- Docker registry paths corrected from
docker-pro-fphitodocker-core-pro-fphiacross all documentation and release notes. - OpenAPI specification updated with accurate request/response schemas matching actual endpoint behavior.
- API documentation enhanced with configuration and health check endpoint examples.
[1.1.0] - 2026-03-20
Added
- Runtime configuration overrides through environment variables.
- License error translation and normalized license error reporting utilities for clearer operational diagnostics.
Changed
- Upgrade IAD engine to version 2.5.2.
- License management improvements to support offline validation scenarios and provide clearer error reporting.
- Dockerfile streamlined: switched base image, improved package management and runtime dependency handling.
Fixed
- Docker runtime and base image hardening updates.
- REST proxy error normalization and consistent error creation/reporting paths.
- Reduced excessive verbose logs in Docker checks and engine activation flows.
[1.0.0] - 2026-02-03
Added
- Automatic engine activation from license metadata
- Docker environment detection and automatic engine initialization
- ProcessExecutor facade for background process management
- Filesystem compatibility layer for GCC 7
Changed
- BREAKING: Standardized all endpoints with
/iadprefix (e.g.,/api/v1/iad/check-capture) - Unified namespace structure across all endpoints
- Improved engine health check delays and timing
- Enhanced logging in engine activation process
- Simplified ProcessExecutor implementation
- Refactored internal REST proxy logging
Removed
- BREAKING: Removed
/extract_dataendpoint (consolidated functionality)
Fixed
- Filesystem compatibility issues with older GCC versions
- Engine initialization timing in Docker environments
[0.0.1] - 2026-01-29
Added
- Initial release of IAD Service REST API
- Endpoint
/api/v1/iad/check-capturefor liveness detection and injection attack verification - Endpoint
/api/v1/iad/extract-imagefor image extraction from validated captures - Management endpoint
/api/v1/iad/versionfor version and license status - Management endpoint
/api/v1/iad/healthfor health monitoring - Management endpoints
/api/v1/iad/config(GET/POST) for configuration management - Connection pooling for engine communication
- Automatic retry mechanism with configurable backoff
- Dynamic configuration updates without service restart
- Docker-based deployment with Ubuntu 24.04
- Support for online and offline license validation
- Comprehensive logging with configurable levels and rotation
- OpenAPI 3.0 specification (Swagger documentation)