Changelog
1.8.0 - 02.10.2026
Added
- The passport step now automatically detects whether the passport is a new or old type. The detected type is sent to the backend in the document upload request as the
passport_typefield (new,old, orunknown). No additional configuration is required on the integration side.
Changed
- Redesigned the capture screen in the ID front, ID back, and passport steps: the static template images were removed, and the area where the document should be placed is now shown as a document frame over a semi-transparent background.
- Face detection in the liveness step now waits for the user's face to become stable before capturing an image, reducing blurry captures caused by moving frames.
- Upgraded the
IdVerificationdependency to version1.0.6. After upgrading, running File > Packages > Reset Package Caches in Xcode is recommended.
Fixed
- Fixed the device screen dimming and auto-locking during the flow. The SDK now keeps the screen awake for the duration of the flow and restores the setting when the flow ends.
1.6.14 - 15.09.2026
Added
- Added the KPS step: an Identity Sharing System verification with no user interface, in which the SDK performs the backend query directly and moves to the next step based on the result. Used via
.setStepType(.kps). - Added per-step NFC text configuration:
successfulReadText,scanDescription, andretryDescriptioncan be customized withStepBuilder.setNFCTextConfig(_:). - Added device security check:
setSecurityCheckEnabled(true)enables jailbreak, simulator, debugger, and hooking detection. Every run emits aSECURITY_CHECK_PASSEDorSECURITY_WARNINGevent; on compromised devices the flow is stopped with a fail screen. Messages can be customized withsetSecurityErrorMessage. - Success screen texts are now customizable:
setCompletedScreenTexts(_:)andCompletedScreenTexts(titleText,descriptionText,buttonText). - Lighting warnings are now configurable:
setOverexposureWarning(_:)andsetLowLightWarning(_:)together withWarningConfig(.enabled(message:)/.disabled). The default value is.disabled. - Expanded the
UIConfigtheme tokens.ColorsConfiggainedprimaryColor,onPrimaryColor,surfaceColor,onSurfaceColor,backgroundColor,errorColor,successColor,textPrimaryColor,textSecondaryColor, andlineButtonTextColor;ShapesConfiggainedcardCornerRadius,imageFrameCornerRadius, andbottomSheetCornerRadius;TypographyConfiggainedpromptFontSizeandpromptFontWeight. - Added
startButtonTextandstopButtonTexttoTextConfigfor the video record screen. - Added per-step button text and close button control:
setApproveButtonText,setRetakeButtonText, andsetCancelButtonIsActiveonStepBuilder. Per-step values override the global texts provided throughUIConfig.textConfig. - Added the
roomNameparameter toenterKYC, used as the appointment identifier in video call requests. - Documented certificate pinning support:
setPinnedCertificate(from:orEmbeddedFile:isPEM:). - Documented every
LogStateevent delivered throughonEvent, together with its raw value. - Documented the
KYCManager.onErrorclosure as an alternative to the delegate, and thetitle,message, andextraDetailfields readable fromTeydexError. - Added an informational note about package variants and Reset Package Caches to the installation section.
- Place of birth is now read in the NFC step.
Changed
- Breaking change: the case names of the
TeydexErrorsub-enums moved toUPPER_SNAKE_CASE. For example:.cameraPermissionDenied→.CAMERA_PERMISSION_DENIED,.deviceNotHaveNfc→.DEVICE_NOT_HAVE_NFC,.nfcDisabled→.NFC_NOT_ENABLED,.deviceInitFailed→.CAMERA_CONFIGURATION_FAILED,.externalAuthFailed→.CARD_AUTH_FAILED. Integrations passing dictionaries to methods such assetCameraErrorMessageandsetNFCErrorMessageneed to be updated. - The
enterKYC(clientToken:...)signature is marked deprecated; useenterKYC(from:...), which takes the screen the flow is started from, instead. - Added new error families:
TeydexError.PermissionError,TeydexError.SecurityError,TeydexError.NetworkError, andTeydexError.VideoRecordError. ThesetPermissionErrorMessage,setSecurityErrorMessage,setNetworkErrorMessage, andsetVideoRecordErrorMessagemethods are available for these families. - Added the
FACE_DETECTION_FAILEDandAPP_WENT_BACKGROUNDcases to theCameraSourceErrorfamily.
Fixed
- Fixed the dark screen problem in video calls.
- Fixed the freeze that occurred on unsuccessful video calls.
- Fixed a crash in the liveness step.
- Fixed the recording preview not being shown in the video record step.
- Fixed the audio problem in the video record step and updated the default timeout duration.
- Improved image compression behavior.
1.4.6 - 13.05.2026
Added
- Added the VideoRecord step: a voice-verified video step in which the user creates a video recording by reading the on-screen text aloud. Used via
.setStepType(.videoRecord); configurable withsetStartButtonText,setStopButtonText,setApproveButtonText,setRetakeButtonText, andsetVideoRecordDuration.
Changed
- The signature of
KYCProcessResult.failedandcancelled(returned viaonProcessFinished) changed:step: KYCStep?is nowstepName: String?, and thefailedcase'sreason: TeydexErroris nowreason: String. Integrations relying on these types need to be updated.