For the complete documentation index, see llms.txt. This page is also available as Markdown.
flutter

Changelog

Flutter SDK release notes. Track versions, breaking changes, provider updates, and migration notes for Certta, Face Liveness, and Document Detector.

Release notes

[email protected]

Release date

  • 09-2026

Highlights

  • Certta DevX (first hybrid release): New CerttaSdk API with Document Detector and Face Liveness (core and UI) on Android and iOS.

  • Configure the session once with configureSdk(CerttaConfiguration), then open each module independently (liveness.open, documentDetector.open, documentDetectorUi.open).

  • The sequential CafSdk / initializeCafSdk API remains available in the same package.

Updates

  • New public import: package:caf_sdk/certta_sdk.dart.

  • Per-module event streams (CerttaLivenessEvent, CerttaDocumentDetectorEvent, CerttaDocumentDetectorUiEvent) and CerttaSdk.logStream.

  • Runtime updateUserId / updateMobileToken after the initial session configuration.

  • CerttaLivenessFailure with stable cause codes and description for user-facing text.

  • Bridge mapper rejections throw PlatformException with code BRIDGE_EXCEPTION.

[email protected]

Release date

  • 08/14/2026

Highlights

  • Android 16 compatibility: Updated Flutter plugin to support Android 16 (compileSdk / targetSdk 36), aligning with Google Play requirements for apps targeting recent Android versions.

Fixes

Face Liveness: Fixed an issue in the Payface flow where a failed face validation could still be reported as success. The SDK now correctly treats validation failures and shows the appropriate message to the user.

Document Detector: Fixed capture and upload issues on tablets and devices in landscape mode, including a brief incorrect image orientation flash in the preview, auto-capture failures with misaligned final photos, and minor UI adjustments to layout margins and the close button.

Updates

  • Flutter Plugin compileSdk / targetSdk updated to 36.

[email protected]

Release date

  • 08-03-2026

Highlights

  • Optional Fingerprint module: Control the inclusion of the fingerprint feature directly from caf-modules-config.json. It is disabled by default, ensuring you only include the dependency when strictly necessary.

Updates

  • New fingerprint boolean field in caf-modules-config.json for Android and iOS.

[email protected]

Release date

  • 07-06-2026

Highlights

  • More consistent error reporting: Errors occurring during flow initialization that relate to the SDK's internal integration are now emitted via the error event as BRIDGE_EXCEPTION, so they can be handled the same way as any other SDK error.

Breaking Changes

  • Typed event stream: CafSdk.eventStream is now Stream<CafResponse>. Consumers must access the typed fields of CafResponse (success, error, failure, log, loading, loaded, cancelled) instead of indexing a Map.

  • Flattened module configuration classes: The per-module ...BuilderConfiguration wrappers were removed. Fields are now passed directly on the module configuration objects, and the UI configurations extend the base configuration instead of nesting it:

    • CafFaceLivenessBuilderConfiguration removed — pass fields directly on CafFaceLivenessConfiguration.

    • CafDocumentDetectorBuilderConfiguration removed — pass fields directly on CafDocumentDetectorConfiguration.

    • CafFaceLivenessUIBuilderInstructionScreenConfiguration → CafFaceLivenessUIInstructionScreenConfiguration, and the field instructionScreenConfiguration → instructionScreen.

    • CafDocumentDetectorUIBuilderInstructionScreenConfiguration → CafDocumentDetectorUIInstructionScreenConfiguration, and the field instructionScreenConfiguration → instructionScreen.

    • CafDocumentDetectorUIBuilderDocumentSelectionScreenConfiguration → CafDocumentDetectorUIDocumentSelectionScreenConfiguration, and the field documentSelectionScreenConfiguration → documentSelectionScreen.

    • The SDK-level CafSdkConfiguration is unchanged and still takes configuration: CafSdkBuilderConfiguration(...).

  • initializeCafSdk return type: changed from Future<bool?> to Future<bool>.

Updates

  • Event name constants: Added the CafSdkEventName constants (CafUnifiedEvent.*) for identifying emitted events.

  • New CafErrorType values: Added INVALID_RESPONSE_EXCEPTION, CAMERA_EXCEPTION, FACE_AUTHENTICATION, and BRIDGE_EXCEPTION. Note that BRIDGE_EXCEPTION reports errors that occur while initializing or starting the flow; listen for it on the error event and handle it as part of your normal error handling.

  • CafSuccessResponse: signedResponse is now typed as String? (previously dynamic), and moduleName resolution is more resilient to native identifier variations.

Migration Guide — 1.x → 2.0.0

Three things changed for integrators: how you read events, how you build module configurations, and the return type of initializeCafSdk. The SDK-level CafSdkConfiguration (with CafSdkBuilderConfiguration) is unchanged.

1. Read events from the typed stream

2. Remove the module ...BuilderConfiguration wrapper

Pass the fields directly on the module configuration object.

3. Update the UI configurations (wrapper + renamed types and fields)

4. Rename type imports (if you imported the removed types)

Removed (1.x)
Use instead (2.0.0)

CafFaceLivenessBuilderConfiguration

CafFaceLivenessConfiguration

CafDocumentDetectorBuilderConfiguration

CafDocumentDetectorConfiguration

CafFaceLivenessUIBuilderInstructionScreenConfiguration

CafFaceLivenessUIInstructionScreenConfiguration

CafDocumentDetectorUIBuilderInstructionScreenConfiguration

CafDocumentDetectorUIInstructionScreenConfiguration

CafDocumentDetectorUIBuilderDocumentSelectionScreenConfiguration

CafDocumentDetectorUIDocumentSelectionScreenConfiguration

5. Update the initializeCafSdk return type

initializeCafSdk now returns Future<bool> instead of Future<bool?>. Remove any null checks on the awaited result.

[email protected]

Release date

  • 05-25-2026

Updates

  • Payface Liveness Provider (Android): Update version from 1.18.2 to 1.19.2.

  • Payface Liveness Provider (iOS): Update version from 1.5.2 to 1.8.2.

Fixes

FaceLiveness

  • Infinite loading error occurs when the SDK returns an error.

  • First initialization not working when using Payface provider.

[email protected]

Release date

  • 05-08-2026

Fixes

  • DocumentDetector: Fixed behavior when handling RG (Brazilian National Identity Card) with the digital document option.

[email protected]

Release date

  • 04-13-2026

Highlights

  • Configurable Face Liveness providers: Choose iproov-lite, iproov-full, payface, and/or facetec from caf-modules-config.json instead of relying on implicit native defaults.

Updates

  • Liveness provider configuration:

    • New livenessProviders field in caf-modules-config.json for Android and iOS.

    • Documented Protobuf JavaLite vs Protobuf Java mapping for iproov-lite vs iproov-full.

    • Clarified multi-provider setups using an array, and the PayFace + iProov Lite requirement.

  • iProov Liveness Provider: Documentation and defaults updated to reflect the new provider selection model.

  • Android ProGuard / R8: If R8 reports missing classes for lint stubs shipped with the SDK, add the following to proguard-rules.pro (also listed under Code obfuscation):

[email protected]

Release date

  • 02-09-2026

Highlights

  • Updated Liveness Provider: Critical update to the iProov provider version for improved stability

Updates

  • iProov Liveness Provider: Updated the internal iProov provider version.

[email protected]

Release date

  • 02-09-2026

Highlights

  • New Security Module: Introduction of CafSecurity module for security validations

  • PayFace Integration: Added support for PayFace (Fortface) as an optional Face Liveness provider

  • Stability Improvements: Major crash fixes and stability improvements for the Document Detector module

Features

  • CafSecurity Module:

    • Added a new module specifically for security validations

    • Configuration: Added enableSecurityModule flag in CafSdkConfiguration (default value: true)

  • PayFace (Fortface) Integration:

    • Optional Face Liveness provider integration

    • Configuration: New property payFaceDebugMode in CafFaceLivenessConfiguration to enable debug mode for the PayFace provider

Fixes

  • DocumentDetector:

    • Activity Lifecycle: Resolved multiple crashes related to activity lifecycle management (initialization, pause, and resume states)

    • Camera Lifecycle: Improved camera resource management and thread lifecycle to prevent crashes during SDK shutdown

    • UI Components: Resolved theme compatibility issues and fragment transaction exceptions

    • Network Requests: Corrected response body handling to prevent errors when reading network responses

    • Data Access: Improved cursor initialization and validation before accessing database data

    • ANR Prevention: Optimized document controller instance checks to prevent "Application Not Responding" issues

    • General: Internal improvements and stability corrections

  • FaceLiveness:

    • Sessions: Fixed session creation errors

    • UI: Fixed color tint on remote images in the Instructions screen

Updates

  • Build Configuration:

    • ProGuard Rules: Added necessary ProGuard rules for PayFace integration

[email protected]

Release date

  • 03-09-2026

Updates

  • Updated iProov Liveness Provider: Update iProov provider version.

  • Updated iOS minimum deployment target: Updated to 15.0.

Fixes

  • DocumentDetector

    • Fixed crashes in Document Detector module: Resolved multiple crashes related to activity lifecycle management, including initialization, pause, and resume states.

    • Fixed crashes related to camera lifecycle: Improved camera resource management and thread lifecycle to prevent crashes during SDK shutdown and state transitions.

    • Fixed crashes in UI components: Resolved theme compatibility issues and fragment transaction exceptions to ensure proper UI behavior.

    • Fixed crashes in network requests: Corrected response body handling to prevent errors when reading network responses.

    • Fixed crashes in data access: Improved cursor initialization and validation before accessing database data.

    • Fixed ANR in Document Controller: Optimized document controller instance checks to prevent application not responding issues.

    • Internal improvements and corrections: Additional stability enhancements and bug fixes.

[email protected]

Release date

  • 10-27-2025

Highlights

  • First Flutter SDK Release: Complete Flutter implementation of the CAF SDK for identity verification

  • Unified SDK: Single package containing all CAF modules (Face Liveness and Document Detector) with both core and UI variants

  • Flutter-Native Integration: Seamless integration with Flutter's widget system and state management

  • Cross-Platform Support: Full support for both Android and iOS platforms

  • Type-Safe Configuration: Strongly typed Dart configuration classes for better development experience

Features

  • Module Configuration System:

    • caf-modules-config.json: Configuration file in project root to specify which modules to include

    • Available modules:

      • documentDetector: Enable/disable Document Detector module

      • faceLiveness: Enable/disable Face Liveness module

      • documentDetectorUI: Enable/disable Document Detector UI module

      • faceLivenessUI: Enable/disable Face Liveness UI module

    • Example configuration:

  • Core SDK Features:

    • CafSdk Class: Main SDK class for initialization and configuration

    • Event Stream: Real-time event handling through Dart streams

    • Module Management: Sequential execution of modules with configurable presentation order

    • Error Handling: Comprehensive error types and failure handling

    • Configuration Builder: Type-safe configuration using builder pattern

  • Face Liveness Module:

    • Core Module: CafFaceLivenessConfiguration for programmatic control

    • UI Module: CafFaceLivenessUIConfiguration with customizable instruction screens

    • Features: Authentication URLs, certificate pinning, debug mode, retry attempts

    • Customization: Instruction screens with images, titles, descriptions, and steps

  • Document Detector Module:

    • Core Module: CafDocumentDetectorConfiguration for programmatic control

    • UI Module: CafDocumentDetectorUIConfiguration with full UI customization

    • Document Types: Support for RG, CNH, Passport, RNE, CTPS, and more

    • Upload Support: File upload with compression, format control, and size limits

    • Proxy Configuration: Support for proxy servers with authentication

    • Message Customization: Customizable user messages throughout the flow

  • Advanced Configuration:

    • Color Theming: Complete UI color customization through CafColorConfiguration

    • Security Settings: Development flags, debug mode, and security controls

    • Flow Control: Manual capture, timeouts, retry attempts, and popup controls

    • Instruction Screens: Customizable instruction screens for both modules

Technical Implementation

  • Flutter Integration:

    • Method Channels: Native communication through Flutter's method channel system

    • Stream-Based Events: Real-time event handling using Dart streams

    • State Management: Proper lifecycle management with StatefulWidget support

    • Error Handling: Comprehensive error handling with typed exceptions

  • Platform Support:

    • Android: Full support with ProGuard/R8 rules and Maven repository configuration

    • iOS: Complete integration with CocoaPods and native iOS modules

    • Permissions: Proper permission handling for camera and network access

  • Performance:

    • Selective Module Loading: Only load enabled modules to optimize bundle size

    • Memory Management: Proper resource cleanup and memory management

    • Network Optimization: Efficient network communication with retry mechanisms

Installation and Setup

  • Package Installation: Simple installation via flutter pub add caf_sdk

  • Module Configuration: Easy module selection through JSON configuration file

  • Platform Setup: Clear instructions for Android and iOS platform configuration

  • Permission Management: Comprehensive permission setup for both platforms

Documentation

  • Complete Examples: Full implementation examples for both basic and advanced usage

  • Configuration Guide: Detailed configuration options for all modules

  • Event Handling: Comprehensive event handling examples and patterns

  • Error Reference: Complete error types and failure scenarios documentation

Breaking Changes

  • First Release: This is the first release of the Flutter SDK, so there are no breaking changes from previous versions.

Known Issues

  • iOS Simulator: Some features may not work properly in iOS Simulator due to camera limitations

  • Android Emulator: Camera-dependent features require physical devices for testing

  • Network Requirements: All modules require internet connectivity for proper operation

Last updated