Changelog
Release notes
Latest changes for CafSDK iOS, ordered from newest to oldest.
Release date
07/30/2026
v7.4.1
Updates
Updated the iProov dependency to 13.2.0 in
CafFaceLiveness.iProov SP change: The liveness flow now follows the iProov SP provided by the backend. Server-side change — no integration changes required.
v7.4.0
Breaking change —Fingerprint dependency
Starting in v7.3.1, CafFingerprintProvider is a separate, opt-in module and is no longer bundled automatically with Face Liveness. If your integration relies on device fingerprinting during the liveness flow, you must now add the module explicitly.
CocoaPods — add the subspec to your Podfile, alongside your existing Face Liveness install:
pod 'CafSDKiOS/CafFaceLiveness'pod 'CafSDKiOS/CafFingerprintProvider' # enables fingerprintingSwift Package Manager — add the CafFingerprintProvider product to your target (it is exposed independently from CafFaceLiveness):
.product(name: "CafFaceLiveness", package: "CafSDKiOS"),.product(name: "CafFingerprintProvider", package: "CafSDKiOS") Updates
Fingerprint SDK Upgrade: The underlying FingerprintJS Pro SDK has been updated from version 2.7.0 to 2.16.0
v7.0.0
Security
Updated the PayFace provider to its latest version, strengthening security for the Face Liveness flow.
v6.4.2
Improvements
Analytics payloads now include richer and more standardized metadata across capture flows.
Security
Added the
securityEnabled: Bool = falseproperty toCafSDKConfiguration, allowing security enforcement to be toggled programmatically. When set totrue, the SDK performs strict security validation during initialization and execution; if a security violation is detected, the SDK throws asecurityExceptionand terminates the flow.Removed the
CAFEnforceSecurityInfo.plistflag. Security enforcement is now controlled exclusively through the newsecurityEnabledproperty onCafSDKConfiguration. Existing integrations relying on the Info.plist flag must migrate to setsecurityEnabledprogrammatically.
Fixes
Fixed issues affecting the RG document capture flow in
DocumentDetector.
v6.3.0
Improvements
Removed the
KMP/CafSolutionsdependency from the liveness provider stack.Improved analytics payload quality with richer, more standardized metadata.
v6.2.0
Versions earlier than 6.2.0 caused iProov Liveness to stop working after March 12, 2026. Use 6.2.0 or later.
Breaking changes
Minimum supported iOS version is now 15.0+.
Improvements
Updated the iProov dependency to 13.1.0.
Added new
CafFailureTypecases:eyewearfaceNotFoundframesBlurrylightingIssuesmotionIssuebackgroundIssuedeviceIssuedeviceRestartsystemErrorrejectedtimeoutuserNotFoundprocessingFault
Important
Reverse proxy support will be removed in a future release.
An iProov-related update is required to avoid certificate issues.
After March 15, 2026, Face Liveness and Face Auth services could become unavailable.
v6.1.0
Improvements
Updated the analytics implementation.
v6.0.0
Breaking changes
Renamed
CafInstructionsConfigurationproperties to support both capture and upload instruction screens:title→captureTitledescriptionText→captureDescriptionTextsteps→captureStepsbuttonTitle→captureButtonTitleheaderImage→captureHeaderImage
Added new upload instruction properties:
uploadTitleuploadDescriptionTextuploadStepsuploadButtonTitleuploadHeaderImage
Security
Added runtime protection checks for dynamic instrumentation and related threats.
Added
securityExceptiontoCafErrorType.The SDK now terminates the flow when it detects a security violation during initialization or execution.
v5.7.0
New features
Added
loadSession()toCafSDKProviderfor Face Liveness session preloading.While preloading runs, the unified callback emits
.loadingand.loaded.
Improvements
Added analytics fields for better document capture visibility.
CafDocumentDetectorConfig.flownow fails fast withlibraryExceptionwhen empty.Attestation and token validation now distinguish between network errors, invalid tokens, and invalid responses.
Behavior changes
manualCaptureTimeinCafDocumentDetectorConfignow defaults to0seconds.Manual capture remains configurable through
manualCaptureEnabledandmanualCaptureTime.
v5.6.2
New features
Added
faceAuthenticationtoCafErrorTypefor backend errors whenexecuteFaceAuthis enabled.
Improvements
Improved analytics validation.
v5.5.1
Fixes
Fixed the
CafFaceLivenesstry-again flow.
Updates
Downgraded Fingerprint from
2.7.0to2.6.0due to compatibility issues.
v5.5.0
New features
Added optional PayFace (Fortface) provider support:
Swift Package Manager product:
FortfaceProviderCocoaPods subspec:
CafSDKiOS/FortfaceProvider
Added
flCustomizationstoCafFaceLivenessConfig.Added
CafFLPayFaceCustomizationfor PayFace text and font customization.Added automatic localized side suffixes for
customTitlesinCafSelectDocumentConfig.
Documentation
Updated getting started examples to include
FortfaceProviderandflCustomizations.
v5.4.4
New features
Added per-document title and description overrides on the select-document screen through:
CafSelectDocumentConfig.customTitlesCafSelectDocumentConfig.customDescriptions
These overrides affect both the selection list and the generated step labels.
v5.4.3
Improvements
Normalized error and failure messages for cleaner callback output.
Failure screens now open full-screen for better consistency.
v5.4.2
Fixes
Improved completion reliability when no modal is presented.
Providers now guarantee callbacks even when instruction or transition screens are disabled.
Improved dismissal logic in Face Liveness and Document Detector to avoid stuck flows and missed callbacks.
v5.4.1
Improvements
Improved PDF upload validation with clearer messages for encrypted, locked, or unreadable files.
Made cancellation behavior more consistent during document upload.
Fixes
Fixed flow completion when transition screens are disabled.
Fixed callback delivery in both batched and non-batched modes.
Document selection now preserves the configured order when confirming multiple selections.
v5.4.0
New features
Added
enableTransitionScreenstoCafSDKConfiguration.true: shows transition screens between modules.false: runs modules sequentially without intermediate screens.
Improved error handling and standardization across modules.
Improved analytics for errors, sessions, and entrypoints.
Improvements
Improved token validation messages for empty tokens and person IDs.
v5.3.0
New features
Added dialog customization colors to
CafColorConfiguration:dialogBackgroundColordialogBorderColor
v5.2.0
New features
Digital document flows for RG Digital and CNH Digital now:
force upload mode,
skip the photo source selection screen,
go directly to the upload flow.
Improvements
CafUploadSettings.enablenow defaults totrue.Improved RG and CNH selection logic when front/back and full documents are available.
Digital document options are now prioritized in selection screens.
Fixes
Fixed an upload-flow issue caused by incorrect document selection.
v5.1.0
Improvements
Added security improvements to both Document Detector and
CafFaceLiveness.Added
maxRetryAttemptsto Document Detector for server-error retry control.Default value:
2.
Fixes
CafSDKProviderinitialization now correctly requires bothmobileTokenandpersonId.
v5.0.2
Updates
Updated the Xcode build version from
16.2to16.4.
v5.0.1
Improvements
Updated
iProovfrom12.3.0to12.3.1.
New features
Moved
reverseProxyConfig: CafReverseProxyConfigintoCafFaceLivenessConfig.Consolidated
authBaseUrl,livenessBaseUrl, andcertificatesunderCafFaceLivenessConfig.Added
executeFaceAuth.Added
maxRetryAttemptstoCafFaceLivenessConfig.
v4.1.1
Improvements
Improved hybrid analytics for Flutter and React Native integrations.
v4.1.0
New features
Added
customLocalization: String?to Face Liveness builders.Added new Document Detector customization types:
CafUploadMessagesCustomizationCafFailedPhotoCustomization
v4.0.0
Breaking changes
CafUnifiedResponsenow exposes onlysignedResponse: String.Removed the
[String: Any]result dictionary.Added
invalidResponseExceptiontoCafErrorType.Added retry support for interrupted or slow document uploads.
Migration notes
Update the dependency:
Swift Package Manager:
from: "4.0.0"CocoaPods:
pod 'CafSDKiOS', '~> 4.0.0'
Update success handling to use
signedResponse.Remove all uses of
response.result.Add handling for
.invalidResponseException.If you relied on the old result dictionary, migrate to parsing the JWT in
signedResponse.
v3.0.0
New features
Improved analytics.
Added detailed
.failurehandling toCafUnifiedEvent.Added
CafDDCustomizationand related customization types:CafPreviewCustomizationCafDDUploadCustomizationCafMessageCustomization
Added
customMessageandcustomOkButtonTitletoCafDocumentDetectorStep.
Improvements
Improved differentiation between operational failures and general execution errors.
Document Detector now inherits its theme primarily from the global
CafColorConfiguration.
Breaking changes
.failurenow usesCafFailureType..errornow usesCafErrorType.CafDocumentDetectorConfigno longer supports:previewTitlepreviewSubtitlepreviewConfirmLabelpreviewRetryLabelmessageSettings
CafDocumentDetectorLayoutno longer supports:primaryColoruploadBackGroundColorpreviewBackGroundColor
Migration notes
Update
.failurehandling:
Update
.errorhandling:
Replace removed preview and message settings with
ddCustomizations.Replace step popup overrides with
customMessageandcustomOkButtonTitle.Move Document Detector color customization to the global
CafColorConfiguration.
v2.0.0
New features
CafSDKConfiguration(waitForAllServices: true)now batches all module responses into a single.success..successnow always returns an array of responses.
Breaking changes
CafUnifiedEvent.successchanged tosuccess(responses: [CafUnifiedResponse]).
Migration notes
Update to
v2.0.0or later.Change success handling to expect an array:
v1.4.0
New features
Introduced
CafSDKProvideras the unified entry point for Face Liveness and Document Detector.Added
CafSDKProvider.Builderfor modular, type-safe setup.Added
CafSDKConfigurationfor execution order and shared UI theming.Unified authentication, environment, and logging across modules.
Documentation
Revised Swift Package Manager and CocoaPods integration guides.
Added detailed examples for
CafFaceLivenessConfigandCafDocumentDetectorConfig.
Configuration enhancements
Face Liveness:
instruction customization with
CafInstructionsConfigurationreverse proxy endpoints with
authBaseUrlandlivenessBaseUrl
Document Detector:
multi-step capture flow with
[CafDocumentDetectorStep]UI customization with
CafDocumentDetectorLayoutandCafMessageSettingsproxy support with
CafProxySettings
Breaking changes
Added the new integration module:
CafSDKRenamed modules:
FaceLiveness→CafFaceLivenessDocumentDetector→CafDocumentDetector
Updated minimum tooling:
Xcode
16.2+iOS
13.0+
Migration notes
Replace standalone module initializers with
CafSDKProvider.Update enum cases to lowercase, for example
.CNH_FRONT→.cnhFront.Use
CafDocumentDetectorStep(stepType:)instead of legacy constructors.
Last updated

