Customization for Liveness via LivenessConfiguration.
Customization for FaceCapture via FaceCaptureConfiguration.
The UIAppearance and RegisterClass (Class Overriding) features to support flexible UI customizations.
HTTP header fields customization via URLRequestInterceptingDelegate.
HTTP header fields customization via Configuration objects.
Support React Native, Flutter, Cordova, Ionic.
New face detection algorithm, processing arbitrary face orientations.
Face thumbnail in responses, cropped and properly aligned.
Rotation angle in response.
Face attributes: age (child/adult), emotion (neutral/smile).
Face ROI in response for face matching for unambiguous results interpretation.
Face thumbnail in responses.
Updated algorithms for liveness classification.
Rejecting faces with occlusions (medicine mask, sunglasses, hat, hands).
Rejecting art face masks.
Rejecting faces with closed eyes.
Updated model for classification.
WARNING: app validation logic returns 200 instead of 400 http codes. Previously, if you supply bad images, or wrong params, you will get a response with 400 http code. Starting from this version, you will always get 200 result and should check the code property inside the response json-body to get the operation result. All the possible codes are listed here.
WARNING: all project related libraries changed their names and artifacts names to FaceSDK. Now the project name is consistent across all platforms.
WARNING: /detect now by default returns only the central face.
face compare operation renamed to face match operation. This leads to changing model names in clients. /compare endpoint renamed to /match endpoint. Old models and routes are still present via type aliases for backward compatibility.
Migrate to python 3.8.
[docker] by default do not spam access log to stdout.
[docker] sends all app logs to stdout instead of stderr.
[docker] logs format changed.
[linux,win] by default stores app logs into daily rotating "logs/app/facesdk-app.log" file.
HTTPS certs custom path options for all platforms (previously it was only in docker).
Process logs now support try_id params(beside custom id). Now operations inputs and results are saved under next id invocation_id = uuid.uuid4().hex if not id else id + '_' + try_id.
C# client published.
Logging format unified across all platforms.
Added ability to store logs into files with daily rotation.