> 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/selphid/release_notes/6.20.0_releasenotes.md).

# 6.20.0

This version adds new endpoints related to the registration of Custom Events on the API Tracking platform. It also removes inherited (legacy) metadata in `SelphIDFacialExtractionResult`, which are no longer used in modern versions of the facial extraction engine.

Due to the recent addition of the structure `SelphIDNoLiveDetails`, it is no longer necessary to print the liveness check status codes in the log; therefore, they have been removed.

The log messages related to offline licensing have been reviewed, removing the contradictory license activation messages.

Lastly, the application to calculate the hostID, distributed with SelphID, `selphid-license-activator`, no longer depends on the SDK installation to work. It runs as a standalone application, without needing to configure environment variables.

### Added

* Improved support for Custom Events:
  * `SelphIDVerifier::EvaluatePassiveLivenessTrackingEvent()`.
  * `SelphIDVerifier::VoiceAuthenticationTrackingEvent()`.
* New Custom Events endpoints:
  * `/api/v1/selphid/custom-event/ocr/finish`
  * `/api/v1/selphid/custom-event/security/finish`
  * `/api/v1/selphid/custom-event/liveness`
  * `/api/v1/selphid/custom-event/liveness/finish`
  * `/api/v1/selphid/custom-event/voice/authentication`
  * `/api/v1/selphid/custom-event/voice/authentication/finish`

### Removed

* Obsolete inherited metadata from `SelphIDFacialExtractionResult`:
  * Lips
  * GeographicOrigin
  * Emotion
  * Artwork
  * FacialHair
* Liveness check status codes from the logs. From now on, use `SelphIDNoLiveDetails::GetReasonMessage()`.
  * 0xAB01
  * 0xAB02
  * 0xAB03
  * 0xAB04
  * 0xAB05
  * 0xAB06
  * 0xAB07
  * 0xAB08

### Improved

* `selphid-license-activator` runs as a standalone application to obtain the HostID.

### Removed

* Contradictory offline licensing log messages.

### API contract updates

Several fields have been removed from the Rest API contract, related to the response of `FacialExtractionResult`:

* `lips`
* `emotion`
* `hair`
* `origin`

```json
{
  "facialTemplate": "BAEBGgEroySjGz2C9iIki35J/FA...",
  "facialTemplateRaw": "BAEBAQHjF08R/Fbogyt7nysPd/K...",
  "updatedTemplateRaw": true,
  "face": { ... },
  "leftEye": { ... },
  "rightEye": { ... },
  "chin": { ... },
  "nose": { ... },
  "leftMouth": { ... },
  "rightMouth": { ... },
  "iod": 118,
  "yaw": 2.4,
  "pitch": -4.32,
  "roll": 0.7,
  "glasses": "Eye",
  "age": 45,
  --> Removed "lips": "Together", <--
  "gender": "Male",
  --> Removed "emotion": "Neutral", <--
  --> Removed "hair": 45.3, <--
  --> Removed "origin": "European", <--
  "mask": 0.89,
  "faceConfidence": 0.99,
  "facialQuality": "Good",
  "validTimeStamp": true,
  "tokenTimeStamp": "2022-01-14T10:42:05.521922Z",
  "sdkDuration": 1234
}
```

This affects the response of the following endpoints:

* `/api/v1/selphid/extract`
* `/api/v1/selphid/extract/template`
* `/api/v1/selphid/authenticate-facial/images` (Response fields `extractionQuery` and `extractionTarget`).
* `/api/v1/selphid/authenticate-facial/image/template` (Response fields `extractionQuery` and `extractionTarget`).
* `/api/v1/selphid/authenticate-facial/templates` (Response fields `extractionQuery` and `extractionTarget`).

New endpoints have also been added. This does not break the previous contract; it simply adds new functionality.

* `/api/v1/selphid/custom-event/ocr/finish`
* `/api/v1/selphid/custom-event/security/finish`
* `/api/v1/selphid/custom-event/liveness`
* `/api/v1/selphid/custom-event/liveness/finish`
* `/api/v1/selphid/custom-event/voice/authentication`
* `/api/v1/selphid/custom-event/voice/authentication/finish`
