> 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/sdks/sdk-mobile/ios-sdk/changelog.md).

# Changelog

**Nota:** La librería **Licensing** está obsoleta; su funcionalidad ha sido incluida dentro de **SDK Main** desde la versión v2.4.X.

***

### Última versión

**Versión:** 2.10.0\
**Julio 2026**

#### General

* Nuevos colores para la personalización.

#### Términos y condiciones de uso

* Creación del nuevo componente.
* **Breaking change / migración:** el componente **Disclaimer** pasa a llamarse **TermsConditions**. Actualizar referencias de integración de `FPHISDKDisclaimerComponent`, `DisclaimerController`, `DisclaimerConfigurationData`, `DisclaimerResult` y temas `ThemeDisclaimer*` a sus equivalentes `FPHISDKTermsConditionsComponent`, `TermsConditionsController`, `TermsConditionsConfigurationData`, `TermsConditionsResult` y `ThemeTermsConditions*`.

#### Tracking - Conexión con la plataforma

* Eventos para los términos y condiciones de uso.

#### Phingers - Captura de huellas

* Mejoras en la interfaz y experiencia de usuario.
* Mejoras en el proceso de captura.
* Mejoras en el proceso de captura con baja iluminación.
* Mejoras en el enfocado de la imagen con distintos dispositivos.
* **Breaking change / migración (literales):** las claves de personalización de textos dejan de usar el prefijo `phingers_tf_component_*` y pasan a `phingers_widget_*`. Si la aplicación sobrescribe literales en **Localizable.strings**, hay que actualizar las claves. Consulta el [listado completo](/sdks/sdk-mobile/ios-sdk/modulos/captura-de-huellas.md#id-81-textos).

#### Subida de ficheros y gestión de QR - Capture

* **Breaking change / migración (literales):** se alinean las claves de personalización de textos con Android. Desaparecen claves iOS específicas como `capture_component_invoice_*` y `capture_component_qr_tutorial_title` / `*_desc` / `*_button_message`, y se usan `capture_component_*` y `capture_widget_*` según el [listado completo](/sdks/sdk-mobile/ios-sdk/modulos/subida-de-ficheros-y-gestion-de-qr.md#id-81-textos). Si la aplicación sobrescribe literales en **Localizable.strings**, hay que actualizar las claves.

#### Captura de documentos - SelphID

* **Fix:** corrección del problema de layout en el estado **CaptureBackError**.
* **Fix:** corrección de imágenes recortadas en **RGL**. Ahora los componentes rojo y azul son correctos.
* **Fix:** corregida la orientación del reconocedor `DocumentDetector` en los flavors **Microblink**.

#### Captura facial con IAD - Selphi

* **Fix:** eliminado el zoom de cámara no deseado en el flavor **IAD**.
* **Fix:** corregida la estabilización con `LivenessMode = NONE`. La estabilización deja de ser obligatoria en este modo.

***

### Versiones anteriores

#### Versión: 2.8.1

**Junio 2026**

#### General

* Release parcial de componentes con actualizaciones requeridas.

#### Phingers - Captura de huellas

* **Breaking change:** el parámetro **`threshold`** se sustituye por **`livenessThreshold`** y **`detectorThreshold`** en **`PhingersConfigurationData`**. El valor por defecto pasa de **0.7** a **0.9** en ambos parámetros.
* **Breaking change (comportamiento):** **`enableFlash`** puede activarse aunque esté en `false` si el proceso detecta poca luz en la imagen para mejorar el proceso de captura.

#### SelphID - Captura de documento

* Nuevo parámetro **`animateDismiss`** en **`SelphIDConfigurationData`**: indica si se anima el cierre del SDK al finalizar el proceso.

#### Selphi - Captura facial

* Nuevo parámetro **`animateDismiss`** en **`SelphiConfigurationData`**: indica si se anima el cierre del SDK al finalizar el proceso.

#### Video Call

* **Breaking change / migración:** la **extensión de compartir pantalla** (Broadcast Upload Extension) pasa a configurarse en el componente **Video Call**. La app integradora debe crear la extensión y pasar su **`extensionIdentifier`** al lanzar **`VideoCallController`**. Consulta la [documentación del módulo](/sdks/sdk-mobile/ios-sdk/modulos/videollamada.md#extension-de-compartir-pantalla).

***

### Versiones anteriores

#### Versión: 2.8.0

**Mayo 2026**

#### General

* Actualizada la versión menor del **core a la 2.8.0** y publicación alineada de componentes en **2.8.0** donde aplica.
* **Breaking change (personalización de recursos):** la clave del color de fondo del SDK pasa de `sdkBackgroundColor` a **`sdkBackgroundPrimaryColor`**; hay que actualizarla o el tema no aplicará el fondo esperado. También se añade **`sdkBackgroundSecondaryColor`** (entre otros usos, en la vista de selector de documentos de SelphID).
* **Breaking change (personalización de recursos):** el recurso `ic_sdk_logo` se renombra a `sdk_logo` en todos los componentes. Afecta a integradores que personalicen recursos.

#### Selphi - Captura facial

* Actualizada la dependencia del widget **Selphi**; nueva versión del widget: **6.2.0**.
* **Fix:** se limpia la caché de personalización del **Flow** al inicializar el controller (evita estilos residuales entre instancias).

#### SelphID - Captura de documento

* Actualizada la dependencia del widget **SelphID**; nueva versión del widget en esta entrega: **1.39.1**.
* **Fix:** se limpia la caché de personalización del **Flow** al inicializar el controller (evita estilos residuales entre instancias).

#### Capture - Subida de ficheros / captura

* **Breaking change:** en **`FileUploaderConfigurationData`** se añaden **`onlyGalleryMode`** (por defecto **`true`**) y **`maxGalleryImageSizeKb`** (por defecto **2048**).
* **Fix:** el envío de datos a **tracking** usa el **tipo MIME** resuelto desde el resultado del widget (incluida selección desde galería), en lugar de asumir siempre PDF o imagen genérica.

#### Phingers - Captura de huellas

* **Fix:** corrección de la selección de tutoriales según el modo de captura por dedo.

#### NFC 2.16.0 - Lectura de documento NFC

* **Feature:** soporte de imágenes en formato **JPEG2000** en **DG2** y **DG7**.
* **Fix:** la UI de **tutorial** respeta el flag **`showTutorial`** (dejaba de aplicarse al estar forzado a `true`).
* **Diagnóstico:** ampliación de **logs** en **DG2** para facilitar el soporte y la depuración.

#### Video Call

* **Breaking change:** dependencia de **streaming de video** actualizada por cambios breaking del SDK nativo (configuración de *frame rate* del encoder y versión mínima del SDK).

#### VideoID - Identificación por vídeo

* **Breaking change:** dependencia de **streaming de video** actualizada por cambios breaking del SDK nativo (configuración de *frame rate* del encoder y versión mínima del SDK).
* **Fix:** tratamiento explícito de **errores de red** en el flujo.
* **Fix:** se conserva el **progreso de la captura facial** al cambiar de modo (p. ej. solo cara frente a flujos mixtos).
* Actualizado y adaptado **FPHISelphidDocumentReaderBundle** a **2.1.0**.

#### Video Recording

* **Breaking change:** dependencia de **streaming de video** actualizada por cambios breaking del SDK nativo (configuración de *frame rate* del encoder y versión mínima del SDK).
* **Breaking change:** nuevo parámetro de configuración **`enableAudio`**. Su valor por defecto es **`false`**.
* **Fix:** posible **fuga de memoria** por retención cíclica en **`VideoRecordingController`**.
* **Fix:** refactor relacionado con **audio** y **subida** tras la actualización de la dependencia de **streaming de video**.

#### Tracking - Conexión con la plataforma

* Actualización de la dependencia del componente **Tracking** relacionada con identificación de dispositivo (2.6.0 → 2.14.x).
* Las credenciales pueden resolverse desde la configuración de la licencia en los componentes **Tracking** o **IDV**, según el despliegue.
* Nuevos metadatos en el envío de eventos de tracking: **versión del SDK** en *tags* y **`operationId`** en **LinkedId** donde aplica.

#### Status

* **Fix:** color de fondo del elemento de "descripción" en el diagnóstico de **Permission's**..

***

#### Versión: 2.7.X

**Marzo 2026**

#### General

* Actualizada la versión menor del core a la 2.7.0 (SDK Main)
* La distribución mediante SPM ahora exporta binarios alojados en Artifactory. Los integradores deben incluir sus credenciales en el archivo `.netrc` para descargarlos.
* Mejorada la gestión de errores de red y el feedback hacia la app del integrador.

#### Selphi - Captura facial

* Envío del identificador de flavor del widget a la plataforma.
* Fix: el vídeo capturado no se elimina automáticamente tras guardar sus datos en el resultado.
* Añadido soporte para IAD en IDV.

#### SelphID - Captura de documento

* Feature: añadido selector de documento y país. Este selector es una vista UI personalizable que permite al usuario elegir el tipo de documento y el país emisor.
* Nuevos parámetros en **SelphIDConfigurationData**:

```
showDocumentSelector: Bool? -> valor por defecto false
enabledCountries: [String]? -> lista de países especificada en ISO2
enabledDocumentTypes: [SelphIDDocumentType]? -> valor por defecto [.ID_CARD, .PASSPORT, .FOREIGN_CARD, .DRIVERS_LICENSE]
```

#### VoiceId - Captura de voz

* Envío del identificador del widget y la versión del widget a la plataforma.

***

#### Versión: 2.6.X

**Febrero 2026**

#### General

* Actualizada la versión menor del core a la 2.6.0 (SDK Main)

#### Tracking - Conexión con la plataforma

* Corregido el parsing del mapa de **Steps**

#### Selphi - Captura facial

* Actualizada la dependencia de Selphi para resolver el problema de navegación en blanco en IAD
* Nueva versión del widget: 6.0.2

#### SelphID - Captura de documento

* Actualizada la dependencia de Core y refactorizado **SDK\_TIMEOUT**
* Añadido **DOC\_TYPE** a **FlowController extraData**
* Nueva versión del widget: 1.37.0
* Corregida referencia a archivo inexistente

#### Phingers - Captura de huellas

* Añadido soporte para detección de múltiples caras
* Refactorizado **DetectFaceServiceProtocol** para soluciones nativas y basadas en helper
* Movida la lógica de **RecognitionHelper** a su propio servicio; refactorizada la inicialización de **GlobalSettings** y **ReaderHelper**
* Corregido literal portugués para “Cancel”
* Revertido el uso del servicio Reader y restaurada la implementación legacy con funcionalidades nativas

#### VoiceId - Captura de voz

* Modificados los literales de accesibilidad (voice-over) en la pantalla de grabación para mejorar la UX

#### Video Call

* Corregido literal incorrecto para la acción Cancel en el modal “Are you sure you want to close?” para localizaciones en portugués

#### VideoID - Identificación por vídeo

* Actualizada la versión de **FPHISelphidDocumentReaderBundle** para corregir fuga de memoria
* Añadido soporte para detección de múltiples caras
* Refactorizado **DetectFaceServiceProtocol** para soluciones nativas y basadas en helper
* Movida la lógica de **RecognitionHelper** a su propio servicio; refactorizada la inicialización de **GlobalSettings** y **ReaderHelper**
* Corregido literal portugués para “Cancel”
* Revertido el uso del servicio Reader y restaurada la implementación legacy con funcionalidades nativas

#### Video Recording

* Refactorizada la gestión de errores en el método **start**
* Mejorado el manejo de errores y el reporting de tracking
* Añadido soporte para usar **integrationId** desde **TrackingConfigurationData sharedContainer** pasa a ser un parámetro opcional en lugar de implícitamente desempaquetado
* Corregido que la feature **DEMOS** no soportaba la inyección de **integrationId** en VideoRecording
* Corregido problema por el que VideoRecording se detenía tras completar NFC cuando el modal nativo de iOS se cerraba durante el flujo IDV

***

#### Versión: 2.5.X

**Diciembre 2025**

#### General

* Breaking change: **ErrorType.TIMEOUT** ha sido renombrado a **ErrorType.SDK\_TIMEOUT** (SDK Core)
* Actualizada la versión menor del core a la 2.5.0 (SDK Main)
* Los flujos IDV pueden reanudarse usando los nuevos parámetros **resumeOperationId** y **resumeSessionId** (SDK Main)

#### Tracking - Conexión con la plataforma

* Nueva versión del widget: 1.1.25
* Actualizada la versión menor del core a la 2.5.0
* Añadido soporte para **IDV Proxy**
* Añadido soporte para el step de **NFC** en IDV
* Corregido el parámetro **steps** en la función **newOperation**, que no se parseaba correctamente en algunos casos de uso
* Añadido **Privacy Manifest** para evitar errores ITMS al subir la app a App Store

#### Selphi - Captura facial

* Actualizada la versión menor del core a la 2.5.0\
  Creado nuevo flavor **FPHISDKSelphiIADComponent** para prevenir ataques de inyección

#### SelphID - Captura de documento

* Nueva versión del widget: 1.36.3
* Actualizada la versión menor del core a la 2.5.0
* Añadidos parámetros capturados al Flow para usarlos como entrada del lector NFC de documentos

#### Tokenize

* Actualizada la versión menor del core a la 2.5.0

#### Phingers - Captura de huellas

* Actualizada la versión menor del core a la 2.5.0
* Actualizada la versión mayor de **SelphID Document’s Reader (SDR)** a 2.0.0
* Refactorizado **ErrorType.TIMEOUT** a **ErrorType.SDK\_TIMEOUT**
* Nuevos modos (**VideoIdMode.DOCUMENT\_FRONT** y **VideoIdMode.DOCUMENT\_FRONT\_BACK**) para captura solo de documento

#### VoiceId - Captura de voz

* Actualizada la versión menor del core a la 2.5.0
* Refactorizado **ErrorType.TIMEOUT** a **ErrorType.SDK\_TIMEOUT**

#### Video Call

* Actualizada la versión menor del core a la 2.5.0
* Refactorizado **ErrorType.TIMEOUT** a **ErrorType.SDK\_TIMEOUT**
* Corregido evento de tracking duplicado al lanzar el diagnóstico

#### VideoID - Identificación por vídeo

* Actualizada la versión menor del core a la 2.5.0
* Actualizada la versión mayor de **SelphID Document’s Reader (SDR)** a 2.0.0
* Refactorizado **ErrorType.TIMEOUT** a **ErrorType.SDK\_TIMEOUT**
* Nuevos modos (**VideoIdMode.DOCUMENT\_FRONT** y **VideoIdMode.DOCUMENT\_FRONT\_BACK**) para captura solo de documento

#### Video Recording

* Actualizada la versión menor del core a la 2.5.0
* Refactorizado **ErrorType.TIMEOUT** a **ErrorType.SDK\_TIMEOUT**
* Añadido timestamp en la parte inferior de las grabaciones de vídeo
* Corregido que la grabación se detuviera tras finalizar la lectura NFC en flujo IDV
* Corregido crash cuando el componente se utilizaba con licencia vacía

***

#### Versión: 2.4.X

**Octubre 2025**

#### General

* Añadido **integrationId** como parámetro obligatorio (no omitible); añadido a **TrackingConfigurationData** (SDK Core)
* Eliminado evento único innecesario **sendAdvanceTracking** (SDK Core)
* Adaptadas funciones de **ITrackingController** para funcionar con flujos IDV (SDK Core)
* Creadas extensiones **Data** y **FileManager**; refactorizado **ITrackingController** (SDK Core)
* Refactorizado **NO\_OPERATION\_CREATED\_ERROR → OPERATION\_NOT\_CREATED** (SDK Core)
* Devuelto **OcrDiagnostic** en **OCR\_ERROR** en VideoID (SDK Core)
* Actualizado **LicenseChecker** a v2.3.3 (SDK Core)
* Corregidos **attributedText** y **setBold()** en **UITextView** (SDK Core)
* Devuelto **operationId** en cada **SdkFlowResult** (SDK Main)
* Actualizada dependencia Core a v2.3.3; eliminados **flowPreview** y **cache** en **GetFlowService** (SDK Main)
* Añadido **integrationId** para **VideoRecording**; evento **finish flow change\_step** (SDK Main)
* Método público para recuperar IDs y tipos de Flow; refactorizadas clases al directorio **Data** (SDK Main)
* Eliminados **activateFlow** e **iaModels** de **initSdk()**; **FlowData IDs** y **operationType** públicos (SDK Main)
* Refactorizados **SDKController** y **Flow**; **IdvLicense**; **LicensingComponent** interno (SDK Main)
* Nuevo método público de personalización; fixes para **operationId**, **customization.colors**, **licensing check**, **step reference** (SDK Main)

#### Tracking - Conexión con la plataforma

* Limpieza y refactorización del código y de los modelos internos
* Actualizados eventos de **TrackingController** y llamadas a assets; **trackingWidget v1.1.19 → v1.1.22**
* Añadido **authenticationId**; **Core v2.3.3**; **integrationId** en **configurationData**
* Eliminado evento único innecesario **sendAdvanceTracking**
* Detección automática de país en **sendDocumentData**; tracking completo de IDV
* Refactorizado **NO\_OPERATION\_CREATED\_ERROR → OPERATION\_NOT\_CREATED**; SDK v2.4.0
* Adaptado a **Tracking v1.0.16** para mejorar estabilidad

#### Selphi - Captura facial

* Widget con personalización completa; **setParam** para **UseSdkCustomization**
* Nueva versión del widget: **5.19.2**
* **AuthenticationId**; inclusión condicional de **includeClip**; **ACTIVE\_LIVENESS\_ERROR**; **livenessDiagnostic** en **SELPHI\_TIMEOUT**
* Release IDV v2.4.0; **SelfieData** para tracking IDV; **LivenessDiagnostic** en Core
* Core v2.3.3; widget y **SelphiKMP** actualizados; eliminado **cameraId**
* **sendSelfie** en success; errores unificados en Tracking; integración **SelphiKMP** y **KMP Widget**
* Refactors: lógica, gestión de errores, estructura de carpetas, **SelphiWidgetController.start()** para licencia inválida
* Fixes: **stepData**, **videoFilename**, **liveness** en Tracking, modo **MOVE**, **bestImage**, conflictos con Core

#### SelphID - Captura de documento

* Nueva versión del widget: **1.35.2**; personalización completa; **setParam** para **UseSdkCustomization**
* Adaptado a **trackingWidget v1.1.23**; **generateRawImages** por defecto **true**
* Flag de inicialización siempre **true**; fixes en **stepData** y **generateRawImages null**

#### Tokenize

* Primera release **v2.4.0**
* Establecida fuente **fpbtokenizer** desde **clienters** para comportamiento correcto de inicialización

#### Phingers - Captura de huellas

* Actualizado y adaptado al último **trackingWidget**; **SDR v1.8.0**; **trackAssets** para IDV
* **sendVideoIdData**; renombrado **matchingSidesScore**; eliminado **OcrDiagnostic** duplicado; unificado **Core OCR\_ERROR**
* Mejorado **ErrorParser**; primera versión estable **v2.4.0**; **Core v2.3.3**
* Ajustado umbral mínimo de tamaño facial para captura con mascarilla
* Fixes: **IdvResultData** solo en error terminal; **stepData**; manejo de **NETWORK ERROR**

#### VoiceId - Captura de voz

* SDK versión **5.3.0**; **ErrorParser** con **toNameError**, **toCodeError**, **toReasonError**
* Core v2.3.3; proceso **matching** deprecated (ya no soportado local matching); primera versión **v2.4.0**
* Revisión UX de layout y accesibilidad; fix en **stepData**

#### Video Call

* Actualizado y adaptado al último **trackingWidget**; **ErrorParser** (**toNameError**, **toCodeError**, **toReasonError**)
* Core v2.3.3; revisión general UX para animaciones, literales y flow
* Fixes en **stepData**; fixes en nombres de literales y animaciones

#### VideoID - Identificación por vídeo

* Actualizado y adaptado al último **trackingWidget**; **SDR v1.8.0**; **trackAssets** para IDV
* **sendVideoIdData**; renombrado **matchingSidesScore**; eliminado **OcrDiagnostic** duplicado; unificado **Core OCR\_ERROR**
* Mejorado **ErrorParser**; primera versión estable **v2.4.0**; **Core v2.3.3**
* Ajustado umbral mínimo de tamaño facial para captura con mascarilla
* Fixes: **IdvResultData** solo en error terminal; **stepData**; manejo de **NETWORK ERROR**

#### Video Recording

* Eliminado **presenter**; código retorno **VIDEO\_RECORDING\_ACTIVE**; output en **STOPVRController**
* **integrationId** en servicios; **StopVideoRecordingController** para IDV; **Core v2.3.3**
* Fixes en **stepData** y corner case con instancia activa

***

#### Versión: 2.3.X

**Junio 2025 / Julio 2025**

#### General

* **License Manager 0.5.5**; **LicenseChecker** actualizado (SDK Core)
* **AnalyticsManager** refactorizado y optimizado; **StepData** e **ITrackingController** refactorizados (SDK Core)
* Función auxiliar **Locale.swift**; **AnalyticsManager** y eventos analytics (SDK Core)
* Analytics para **Status** y **CheckPermissions**; **Core 2.3.0**; analytics en **IStatusController** (SDK Core)
* Locale/language desde **initSdk()**; **AnalyticsManager → IAnalyticsController** (SDK Core)
* Fix import **Foundation** (SDK Core)
* Renombrado **AnalyticsManager**; **License Manager 0.5.5**; **Core v2.3.2** (SDK Main)
* Cifrado IDV (desde 2.3.1); analytics completos en SDK; language desde **initSdk()** (SDK Main)
* **integrationId** opcional en **initSdk()**; **FlowPreviewController**; **FlowOffline**; operación inyectable (SDK Main)
* Refactor **AnalyticsManager → IAnalyticsController** (SDK Main)
* Fixes: inyección **initSdk**, personalización color flow, **ColorFlowKeys**, **PR #90** (SDK Main)

#### Licensing

* Core actualizado a **v2.3.2**; protocolo **HTTP → SSH**
* Fix dependencia Core cacheada durante generación

#### Tracking - Conexión con la plataforma

* **Core v2.3.2**; nuevos **TrackingWidgetErrors**; **idv** en **TrackingLicense**
* **tracking-widget-kmp v1.1.8**; interfaz **TrackingController**; **TrackingXWidgetController** para IDV
* **TrackingWidget 1.1.7 → 1.1.5**; integración mejorada de identificación de dispositivos; SPM para **FPHITrackingWidget-SPM**
* Refactor **sendAdvTracking()**; tests con IDV
* Fixes: **TrackingError public**, enum asset, background-thread, desajuste de versiones entre Core y tracking, crash **initOperation v3**, ajuste de **constraints**

#### Selphi - Captura facial

* Commit reversible con comentarios/logs para auditoría; versión accesible (SDK Main 2.3)
* **License Manager 0.5.5**; revisión completa accesibilidad; **Core v2.3.1**
* Tracking de assets vídeo con IDV; locale desde **initSdk()**; integración analytics
* Core v2.3.0; portugués; language desde **initSdk()**; event tracking desde widget
* **hasOperationCreated** antes de **createStep()**; **AnalyticsManager → IAnalyticsController**

#### SelphID - Captura de documento

* Widget **1.35.0, 1.34.7, 1.34.6**; **Core v2.3.3**; **MBSDR arm64**; **Widget 1.34.4 → 1.34.6**
* Widget **1.34.3**; scheme **MBSDR**; **SelphIDWidget 1.33.4**; naming **selphidComponent.xcframework**
* Refactor **AnalyticsManager** (reversible); **Core v2.3.2**; **Widget 1.33.1**
* Imágenes como **JPEG 95%**; tests IDV y tracking de assets vídeo; **SelphIDWidget 1.32.1 → 1.32.2**
* **Package-RGL-template**; SPM para **RGL**; **Core v2.3.0**; parsing **licenseManager**; locale del dispositivo
* Fixes: literales/animaciones, **Podfile/MBSDR**, revert analytics, compresión, **hasOperationCreated**, enums, **AnalyticsManager → IAnalyticsController**, configuración

#### Tokenize

* **Core v2.3.2, v2.3.1, v2.3.0**
* Añadida validación de datos vacíos antes de enviarlos a **Core Tokenizer** para prevenir crashes

#### Phingers - Captura de huellas

* Dependencia **Reader** y modelos; **documentFaceImageMapTokenized**; claves **OcrMap FRONT/BACK**
* **isReadyToRecord**; modo **FACE + FRONT**; **documentFullImage**; constantes **2.3.17**; tamaño reducido
* **documentQualityThreshold**, **faceQualityThreshold**; **TrackAssetsService**, **GetReaderModelsService**
* **Core v2.3.2**, **Reader v1.5.0**; **DetectDocumentService** y OCR; animaciones y UX; **UIFontMetrics**
* Dependencias **SDR**; lógica cambio de lado; overlay captura documento; captura voz; **Core Analytics v2.3.0**
* Catalán, Portugués (PT/BR), Español; fixes FRONT/BACK, background thread, memory leaks, capturas, literales, **AnalyticsManager → IAnalyticsController**

#### VoiceId - Captura de voz

* **Core v2.3.2**; **UIFontMetrics** para escalado dinámico de texto; analytics y eventos tracking
* **Core v2.3.0**; fix Lottie; logging del componente; **Voices SDK**; unificado con Android
* Control previo de tips y feedback háptico; fix **hasOperationCreated** antes de **createStep**; **AnalyticsManager → IAnalyticsController**

#### Video Call

* **2.3.5**: reducción tamaño componente y peso binario; mejora screen sharing; fix mute durante screen sharing
* **2.3.3**: **Core v2.3.2**
* **2.3.2**: **UIFontMetrics**; fix **hasOperationCreated** y **fromNib main thread**; **AnalyticsManager → IAnalyticsController**
* **2.3.0**: analytics en SDK; **Core v2.3.0**; unificado con Android; Catalán y Portugués; language desde **initSdk()**; mejoras layout

#### VideoID - Identificación por vídeo

* Dependencia **Reader** y modelos; **documentFaceImageMapTokenized**; claves **OcrMap FRONT/BACK**
* **isReadyToRecord**; modo **FACE + FRONT**; **documentFullImage**; constantes **2.3.17**; tamaño reducido
* **documentQualityThreshold**, **faceQualityThreshold**; **TrackAssetsService**, **GetReaderModelsService**
* **Core v2.3.2**, **Reader v1.5.0**; **SDR**; lógica cambio lado; overlay captura documento; captura voz; **Core Analytics v2.3.0**
* Catalán, Portugués (PT/BR), Español; fixes FRONT/BACK, background thread, memory leaks, capturas, literales, **AnalyticsManager → IAnalyticsController**

#### Video Recording

* Timestamp en metadata de grabación; **Core v2.3.2**; servicio **stopCapture**
* Eliminada referencia **Resources** y extensión screen recording; **Core v2.3.1**
* Eventos: **COMPONENT\_START**, **STOP**, modal permiso screen sharing; **Core v2.3.0**
* Fix nombre componente, modal permisos; **AnalyticsManager → IAnalyticsController**

***

#### Versión: 2.2.X

**Enero 2025 / Marzo 2025**

#### General

* Actualizaciones **ThemeManager** y **UIView**; **LicenseChecker v2.2.0**; **SdkColor** con **UIColor** (SDK Core)
* **StepData** y **stepData** en **ITrackingController**; **sendAdvanceTracking** (SDK Core)
* Fix **Test.podspec 2.2.1**, **UIColor(hex:)**; limpieza interfaz **Status** (SDK Core)
* Personalización interfaz Flow (SDK Core 2.1); fix **IDiagnosticView Main Thread** (SDK Core 2.1)
* Actualizado **Core v2.2.2**; licensing; **PR #89**; **Tracking StepData screensharing** (SDK Main)
* Eliminado **flow preview**; **json → jsonX**; fix persistencia configuración flow; manifest **Package-template** (SDK Main)
* **fix\_customization\_flow**; revert cambios incorrectos; eliminada lógica **flow preview**

#### Licensing

* Estabilidad Core y **v2.2.0**; eliminada lógica validación success/failure
* Fix **Tracking StepData screensharing**

#### Tracking - Conexión con la plataforma

* **XCFrameworks v1.1.0 → v1.1.2**; constantes **2.2.1**; **sendAdvanceTrackingEvent()**
* Nuevo parámetro debug; dos nuevos errores widget; **Core v2.2.0**
* **TrackingControllerKMP**; widget KMP; **trackingWidget v1.0.1**; **LocationManager**
* Refactor **TrackingError**; workaround Core antiguo
* Fixes: crash **advanceTracking()**, **setTrackingError before start()**, compilación, race condition, **tenantId private**

#### Selphi - Captura facial

* Idioma por defecto = dispositivo; flash cámara trasera; **Core (SM-4399)**; **Widget v5.16.3**
* **Back Camera MOVE mode**; **cameraPreferred**; **SelphiWidget v5.16.0**
* Lotties accesibles; navegación y feedback; **PR #74 UX**; wrapping errores
* **RawTemplateWidgetController**; **FPBLivenessDiagnostic**; Advance Tracking; **Core v2.2.0**
* Personalización animaciones; **PR #69 literal/UI**; **TutorialTipsConfigurationData** y constantes
* Fixes: launch background thread, navegación, crashes captura widget

#### SelphID - Captura de documento

* **Core v2.2.2**; **SelphIDWidget v1.31.0 → v1.31.2**; Lotties accesibles
* **dismissViewController**; producto/workspace **MLRGL**; **Core v2.2.1**; parámetros VISA
* **Widget v1.27.2 → v1.28.1**; **SDR v0.32.2**; **Widget v1.27.0**; **TVeryLong → VERY\_LONG**
* **selphIDResult.statistics** para demo Advance Tracking; botón info tutorial; personalización completa
* **Core v2.2.0**; flow solo tutorial
* Fixes: puntero **MLRGL**, **StepData screensharing**, **Widget v1.28.2**

#### Tokenize

* Última versión **FPBTokenizer**; compatibilidad Core; dependencia Tokenizer y breaking changes; **Core v2.2.0**
* Fix error **Tracking StepData** durante screensharing

#### Phingers - Captura de huellas

* **autoFaceDetection** y botón cámara; selección cámara y fuentes custom; progress bar y UX
* Dark Mode; navegación diagnósticos; refactor **VideoIdSteps**
* Timeout e imagen color custom; fallback timeout 3 segundos; rotación imagen y **StepData**
* **Core v2.2.0**; detección facial y modo sin tutorial; literales
* Fixes: **cameraPreferred**, pasos UI, conflictos Core, **successResponse**, literales detección facial y firma

#### VoiceId - Captura de voz

* Core actualizado; soporte color Dark Mode; parámetro **minSpeechLength**
* Logs y checks micrófono; warning **MultipleSpeakers** si **enableQualityCheck = false**
* **Voice SDK v4.1.0**; animaciones custom; refactor tutorial (flow basado en estado)
* Timeouts y dismiss solo en **retryAction**
* Fixes: navegación **TIMEOUT**, cancel/restart recording, **StepData screensharing**, **VoiceEnvironment**, **PrivacyInfo.xcprivacy**

#### Video Call

* **2.2.5**: Core latest; fuentes custom y toggle cámara; **VideoCallController**; colores modo e iconos; **timeoutDispatcher**
* **2.2.3**: pantalla retry y recuperación conexión; finalizar call cuando agente sale; color imagen custom; valores timeout
* Fixes: **StepData screensharing**, dismiss, false success tracking
* **2.2.0**: **Core v2.2.0**; **extensionName → extensionIdentifier** (breaking); eventos hangout
* Fixes switch, crash diagnósticos, timeout timer, **disableAudio()**

#### Versión: 2.1.X

**Agosto 2024 / Septiembre 2024 / Octubre 2024**

#### General

* Personalización de la interfaz **Flow** (SDK Core)
* Añadido **Selphix Step** (SDK Main)

#### Licensing

* Adaptado a **Core v2.1.X**

#### Tracking - Conexión con la plataforma

* **sdkVersion** en **initOperation**; constantes **2.1.1**; **Core v2.1.X**
* Retry en **sendEvents()**; timestamp **AssetResponse Int/String**; **apiKey** en **TrackingLicense** y **Api.shared**
* Headers HTTP; eliminado **token** (**Api.shared**); detalles **PayloadModel**
* Fixes: parsing, recursión **ITrackingController**, race condition, **libraryPackageVersion**, merge conflicts

#### Selphi - Captura facial

* **CommonCustomization**; **SelphiTheme**; tutorial y tips; **LivenessDiagnostic** en **SelphiResult**
* **Core v2.1.X**; i18n a Core; **RawTemplate tokenizeController**
* Fixes: jerarquía diagnóstico, race **SignatureProof**, compilación, Lotties, accesibilidad, **MOVE (PR #54)**

#### SelphID - Captura de documento

* **SelphID 1.26.X**; **SelphIDRGLComponent** vía Pods; **CommonCustomization**
* Animación health y accesibilidad; **Widget v1.25.1**, constantes **v2.0.10**
* **Core v2.1.X**; **SignatureProof**; **Main Thread** para widget; tip tutorial previo
* Fixes: **diagnosticViewController**, captura, compilación, nombres Lottie, **Liveness MOVE**

#### Tokenize

* Adaptado a **Core v2.1.X**; implementaciones movidas a extensión **Interface** para modularidad

#### Phingers - Captura de huellas

* **Core v2.1.X**; colores custom, animaciones, labels accesibilidad; área vídeo expandida; paleta neutral
* Fixes: casing localización, race chained tracking, nombre animación y gestión permisos

#### VoiceId - Captura de voz

* **Core v2.1.X**; chained tracking; **showTutorial = true** por defecto; paleta neutral y constantes
* Nuevos Lotties, labels accesibilidad, tags; mínimo iOS **11 → 13**; color y tint iconos
* **enableCheckQuality**; frases en entorno; eliminado código duplicado; métodos Core; accesibilidad
* Fixes: permisos y reproducción audio; **UIView\.fromNib** en main thread

#### Video Call

* **CommonCustomization** y **themeFlow**; screen sharing y control **shareScreen**
* Lotties custom, personalización color, tint iconos; timeout llamadas largas; **Core v2.1.X**
* Fixes: pantalla permisos, prevención landscape, switch cases, unwrap vistas, **Package.swift** y template

#### VideoID - Identificación por vídeo

* **Core v2.1.X**; colores custom, animaciones, labels accesibilidad; área vídeo expandida; paleta neutral
* Fixes: casing localización, race chained tracking, nombre animación y gestión permisos

#### Video Recording

* **Core v2.1.X**; **CommonCustomization**; **SdkResult** en success; eliminadas extensiones **String**
* Fix broadcast no iniciaba; stop recording fuera del lifecycle app

***

#### Versión: 2.0.X

**Abril 2025 / Mayo 2024 / Junio 2024**

#### General

* **FPHISDKLicenseCheckerComponent 2.0.0**; diagnóstico **IStatusController** y tutorial (SDK Core)
* Refactor **launchDiagnostic(...)**; **launchTutorial()** (SDK Core)
* Actualizaciones **ErrorType**; **NO\_DATA\_ERROR**; **LICENSE\_CHECKER\_ERROR(String)**; **MISSING\_COMPONENT\_LICENSE\_DATA** (SDK Core)
* Adaptado a **Core v2.0.0** (SDK Main)

#### Licensing

* Dependencias y constantes alineadas con **Core v2.0.0**

#### Tracking - Conexión con la plataforma

* **Privacy Manifest** y campos privacidad; localización **privacyInfo**; **Core v2.0.0**; bundle **.xcprivacy**
* Check SIM condicional — **nil** en iOS **16+**

#### Selphi - Captura facial

* **bestImageTokenized**; retry en timeout; **logImages**; **Core v2.0.0**; **Privacy Manifest**
* Validación licencia y propagación errores
* Fix nombre step **SIGNATURE\_SELPHI\_CONTROLLER → SIGNATURE\_SELPHI\_COMPONENT**
* Callbacks licencia; **TrackAssetType.SELPHI\_SIGNATURE**

#### SelphID - Captura de documento

* **SelphIDWidget v1.24.3 – v1.25.0**; retry en timeout; accesibilidad front/back tras timeout
* Constantes **v2.0.6**; **DocumentReader v7.1.X**; **Privacy Manifest**; **FPhiSelphIDWidgetiOSSim v1.23.3**
* Fixes: permisos, **selphidwidgetiosSim → selphidwidgetios**, **defaultLocalization**, frecuencia tutorial, mensaje instruccional

#### Tokenize

* **FPBTokenizer v2.0.8**; **bestImageTokenized**; dependencias y **Core v2.0.0**

#### Phingers - Captura de huellas

* Widget y constantes **v2.0.0**; **Privacy Manifest** y **.xcprivacy**; **Core v2.0.0**, **Streaming de Video v4.3.0**, **Lottie v4.4.0**
* Gestión errores (vídeo y documento en logs); retry en timeout
* Fixes: race en librería de **streaming de video**, vídeo en blanco y secuencia step flow, init background thread, UX (firma, dark mode, permisos)

#### VoiceId - Captura de voz

* **Privacy Manifest**; **Core v2.0.0**; constantes; **streaming de video a versión 4.3.0** y **Lottie 4.4.0**
* **VoiceEnrollmentResult**
* Fixes: timing display frase, retry timeout, callback y stop recording, localización **privacy info**

#### Video Call

* **Privacy Manifest** y localización; **Core v2.0.0**; constantes **v2.0.0**
* Bundle **.xcprivacy**; **streaming de video a v4.3.0**, **Lottie v4.4.0**
* Fixes: **appId** desde socket response; icono flecha cierre desactualizado

#### VideoID - Identificación por vídeo

* Widget y constantes **v2.0.0**; **Privacy Manifest** y **.xcprivacy**
* **Core v2.0.0**, **streaming de video a v4.3.0**, **Lottie v4.4.0**
* Gestión errores (vídeo y documento en logs); retry timeout
* Fixes: race en librería de **streaming de video**, vídeo en blanco y secuencia step flow, init background thread, UX (firma, dark mode, permisos)

#### Video Recording

* **streaming de video** y constantes; **Privacy Manifest** y **.xcprivacy**
* **Core v2.0.0** y **streaming de video en v4.3.0**
* **UserDefaults reason** en **PrivacyInfo**
* Dependencias menores
* Fix errores sesión grabación; upgrade de **streaming de video** temporalmente **v4.3.0** hasta **v4.3.1**

***

#### Versión: 1.5.X

**Marzo 2024 / Abril 2024**

#### General

* Tutorial **Status**; gestión errores (SDK Core)
* Nuevos eventos y **getExtraParams()**; **signatureProofEvent**; **checkPermissionStatus**; hápticos (SDK Core)
* **IStatusableController**, **IFlowController**, **IFlowableController**; **SdkColor**; **ICustomizableController** (SDK Core)
* **retryAction → secondaryAction**; eliminado **PersonalData**
* **IMethodableController** extiende **ITokenizableController**
* **startNextController SdkResult**; **dataString** en **IConfigurableController**
* **Core 1.5.8**; **Flow v2**; **FlowController**; gestión errores (SDK Main)
* **FlowConfigurationData**; **SdkFlowResult**; **cancelFlow()**; **IStatusController**
* **GetModels IA\_OCR**, **iaModels**; **GetFlowConfiguration**, **GetFlowPreviewConfiguration**
* **ExternalStepController**
* **onlineFlow**; **FlowController.controllers**; **flowOutput unified**
* Eliminado **newOperation** de **FlowConfigurationData**
* **activateFlow**; **launchNextStep public**
* **cancelFlow automatic**
* **enableTracking**
* IDs y targets
* Personalización
* Fixes: **LICENSE\_CHECKER\_ERROR initSdk**, **flowOutput n+1**, orden steps

#### Licensing

* **Core v1.5.6**
* Referencias **Core v1.5.0**
* Gestión errores

#### Tracking - Conexión con la plataforma

* **Core v1.5.8**
* Arquitectura tracking y flow eventos
* **Core v1.5.0**
* Nuevos eventos plataforma
* **osName "iOS"**
* Parámetros **Payload**
* **signatureProofEvent**
* Eliminado **PersonalData**
* Fix evento firma, **OCR\_DATA**, **newOperation setupToken**

#### Selphi - Captura facial

* **SignatureSelphi** extiende controller principal
* **Core v1.5.8**
* Flow y eventos
* **SignatureSelphiController**
* Eventos plataforma
* **vibrationEnabled**
* Hápticos
* **SelphiConfigurationData** desde JSON
* Inicializador **RawTemplateController Data**
* **SelphiFaceLivenessMode.MOVE**
* **extractionTimeout min/max**
* Defaults: **showTutorial**, **showDiagnostic**, **showResultAfterCapture**, **debug**
* Sin fallback ZIP por defecto
* Fix inicialización **RawTemplateController**

#### SelphID - Captura de documento

* **Core v1.5.8**
* **FPhiSelphIDWidgetiOSSim**
* **arm64** y **arm64-simulator**
* Nuevos eventos plataforma
* **extractionTimeout min/max**
* Sin ZIP por defecto
* **Widget 1.23.2**
* Fix **CANCEL\_BY\_USER** con **showDiagnostic == true**

#### Tokenize

* **Core v1.5.8**
* Compatibilidad **Core v1.5.6**
* Referencias **Core v1.5.0**
* Gestión errores

#### Phingers - Captura de huellas

* **SignatureVideoId** y gestión errores red
* **HapticNotification** y vibración
* **Starscream** y constantes
* **Core v1.5.6** y configuraciones
* Core y constantes
* Pantallas diagnóstico y configuración flow
* Progress bar por step
* Inicialización configuración basada en JSON
* Fixes: naming step tracking, URL/API/Tenant null o vacío, timeout y restart firma, literales y payload

#### VoiceId - Captura de voz

* Cambios mayores funcionales y UI
* **Core v1.5.8**
* Interacción usuario y feedback
* Controller extiende **IFlowableController**
* **IStatusController**
* **showDiagnostic**
* **vibrationEnabled**
* **FPHIVoiceSDK v3.13.0**
* Eventos plataforma
* Timeout **60000 → 30000 ms**
* Hápticos
* **RecorderView**
* **startRecording viewDidLoad**
* **extractionTimeout min/max**
* Sistema gestión errores

#### Video Call

* **1.5.9**: **Core v1.5.8**; permisos cámara y diagnóstico; estabilidad y control flow; eventos plataforma; **IStatusController**; hápticos y **vibrationEnabled**; diagnóstico y permisos vía **StatusController**; validación red; **extractionTimeout**; fixes URL/apiKey/tenantId null
* **1.5.0**: controller extiende **IFlowableController**; sistema gestión errores

#### VideoID - Identificación por vídeo

* **SignatureVideoId** y gestión errores red
* **HapticNotification** y vibración
* **Starscream** y constantes
* **Core v1.5.6** y configuraciones
* Core y constantes
* Pantallas diagnóstico y configuración flow
* Progress bar por step
* Inicialización configuración basada en JSON
* Fixes: naming step tracking, URL/API/Tenant null o vacío, timeout y restart firma, literales y payload

#### Video Recording

* **Starscream 4.0.8**
* **Core v1.5.4**, **v1.5.6**, **v1.5.8**
* Estabilidad y flow
* Nuevos eventos de plataforma: **VideoRecordingComponent**
