<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Encap Android SDK release notes</title>
        <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/</link>
        <description>Release notes and changelog for the Encap Android SDK.</description>
        <lastBuildDate>Tue, 07 Jul 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-GB</language>
        <item>
            <title><![CDATA[Released Android SDK 3.22]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/</guid>
            <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.22 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.22</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="device-groups">Device groups<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#device-groups" class="hash-link" aria-label="Direct link to Device groups" title="Direct link to Device groups" translate="no">​</a></h3>
<p>Added support for the device groups feature.</p>
<p>For configuration details, see the <a class="" href="https://developer.signicat.com/docs/mobile-identity/encap/sdk-android/configure-features/device-groups/">Device groups</a> documentation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="missing-authentication-method-error-code">Missing authentication method error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#missing-authentication-method-error-code" class="hash-link" aria-label="Direct link to Missing authentication method error code" title="Direct link to Missing authentication method error code" translate="no">​</a></h3>
<p>Added error code <code>serverErrorMissingAuthMethod</code>, which may occur if an authentication method in a device group is deactivated.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="non-blocking-support-methods">Non-blocking support methods<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#non-blocking-support-methods" class="hash-link" aria-label="Direct link to Non-blocking support methods" title="Direct link to Non-blocking support methods" translate="no">​</a></h3>
<p>Added non-blocking versions of the following support methods that accept a callback:</p>
<ul>
<li class=""><code>activatedAuthMethods</code></li>
<li class=""><code>activatedRecoveryMethods</code></li>
<li class=""><code>isActivated</code></li>
<li class=""><code>isRecoveryActivated</code></li>
<li class=""><code>registrationId</code></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="controller-initialisation-error-state">Controller initialisation error state<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#controller-initialisation-error-state" class="hash-link" aria-label="Direct link to Controller initialisation error state" title="Direct link to Controller initialisation error state" translate="no">​</a></h3>
<p>Added a new <code>Controller.State</code>, <code>ERROR_INITIALIZING</code>, to indicate that controller initialisation failed.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="controller-initialisation">Controller initialisation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#controller-initialisation" class="hash-link" aria-label="Direct link to Controller initialisation" title="Direct link to Controller initialisation" translate="no">​</a></h3>
<p>Controller initialisation now runs on a background thread to reduce creation time and prevent application not responding (ANR) situations.</p>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><i class="icon icon--signicat-notice"></i></span>Check the controller state</div><div class="admonitionContent_BuS1"><p>Before calling a controller operation such as <code>isActivated</code>, you must check that the controller state described in <a class="" href="https://developer.signicat.com/docs/mobile-identity/encap/sdk-android/appendix/controller-state/">Controller state</a> is <code>READY</code> or <code>ERROR_INITIALIZING</code>.</p></div></div>
<p><span id="security"></span></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="encryption-algorithms-and-keys">Encryption algorithms and keys<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#encryption-algorithms-and-keys" class="hash-link" aria-label="Direct link to Encryption algorithms and keys" title="Direct link to Encryption algorithms and keys" translate="no">​</a></h3>
<p>Improved security for compliance with NSM/NIST:</p>
<ul>
<li class="">End-to-end encryption algorithms changed to X25519 and AES-GCM.</li>
<li class="">Increased salt encryption key length to 32 and changed algorithm to AES-CTR. No changes in the Android SDK interfaces.</li>
</ul>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><i class="icon icon--signicat-notice"></i></span>Replace the encryption key</div><div class="admonitionContent_BuS1"><p>Old elliptic curve keys do not work with the 3.22 API. Set the <code>publicKeyBase64</code> property of <code>EncapConfig</code> to the Base64-encoded DER X25519 public key.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="offline-authentication">Offline authentication<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#offline-authentication" class="hash-link" aria-label="Direct link to Offline authentication" title="Direct link to Offline authentication" translate="no">​</a></h3>
<p>Removed the offline authentication feature.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="offline-authentication-error-codes">Offline authentication error codes<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/07-07-2026/#offline-authentication-error-codes" class="hash-link" aria-label="Direct link to Offline authentication error codes" title="Direct link to Offline authentication error codes" translate="no">​</a></h3>
<p>Removed error codes:</p>
<ul>
<li class=""><code>clientErrorOfflineVersionNotSupported</code></li>
<li class=""><code>clientErrorOfflineParsingFailed</code></li>
</ul>]]></content:encoded>
            <category>Feature</category>
            <category>Enhancement</category>
            <category>Breaking change</category>
            <category>Security</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.21]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/</guid>
            <pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.21 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.21</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="risk-parameters">Risk parameters<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#risk-parameters" class="hash-link" aria-label="Direct link to Risk parameters" title="Direct link to Risk parameters" translate="no">​</a></h3>
<p>Added the following new risk parameters:</p>
<ul>
<li class=""><code>SSID</code></li>
<li class=""><code>BSSID</code></li>
<li class=""><code>Barometer</code></li>
<li class=""><code>Gravity</code></li>
<li class=""><code>Magnetometer</code></li>
<li class=""><code>IsDeveloperMode</code></li>
<li class=""><code>IsOverlayDetected</code></li>
<li class=""><code>IsProxyEnabled</code></li>
<li class=""><code>IsVpnEnabled</code></li>
<li class=""><code>Locale</code></li>
</ul>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><i class="icon icon--signicat-notice"></i></span>Set Wi-Fi access permissions</div><div class="admonitionContent_BuS1"><p>If you enable the <code>SSID</code> or <code>BSSID</code> risk parameters, you must add the required permissions to your <code>AndroidManifest.xml</code> file.</p><p>To learn how to do this, see <a class="" href="https://developer.signicat.com/docs/mobile-identity/encap/archive/3-21/sdk-android/configure-features/risk-parameters/#wi-fi-information-ssid-and-bssid">Wi-Fi information (SSID and BSSID)</a> in our Risk parameters feature documentation.</p></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="invalid-client-data-error-code">Invalid client data error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#invalid-client-data-error-code" class="hash-link" aria-label="Direct link to Invalid client data error code" title="Direct link to Invalid client data error code" translate="no">​</a></h3>
<p>Added the error code <code>clientErrorClientDataInvalid</code> for client data passed to the start authentication operation that:</p>
<ul>
<li class="">Exceeds 1024 bytes when UTF-8 encoded.</li>
<li class="">Contains one or more 4-byte UTF-8 characters, including most emojis.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="error-code-exception-classes">Error code exception classes<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#error-code-exception-classes" class="hash-link" aria-label="Direct link to Error code exception classes" title="Direct link to Error code exception classes" translate="no">​</a></h3>
<p>Added the exception class to each <code>ErrorCode</code> entry so you can look up the exception associated with an error code.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="recovery-method-enum-entry">Recovery method enum entry<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#recovery-method-enum-entry" class="hash-link" aria-label="Direct link to Recovery method enum entry" title="Direct link to Recovery method enum entry" translate="no">​</a></h3>
<p>Renamed the recovery method enum entry:</p>













<table><thead><tr><th style="text-align:left">Before</th><th style="text-align:left">After</th></tr></thead><tbody><tr><td style="text-align:left"><code>RecoveryMethod.CLOUD_BACKUP</code></td><td style="text-align:left"><code>RecoveryMethod.CLOUD_BACKUP_RECOVERY_CODE</code></td></tr></tbody></table>
<div class="theme-admonition theme-admonition-danger admonition_xJq3 alert alert--danger"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><i class="icon icon--signicat-info"></i></span>Breaking change</div><div class="admonitionContent_BuS1"><p>You must replace all occurrences of <code>RecoveryMethod.CLOUD_BACKUP</code> with <code>RecoveryMethod.CLOUD_BACKUP_RECOVERY_CODE</code> in your code.</p></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="missing-biometrics-error-code">Missing biometrics error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#missing-biometrics-error-code" class="hash-link" aria-label="Direct link to Missing biometrics error code" title="Direct link to Missing biometrics error code" translate="no">​</a></h3>
<p>Changed the error code returned when the device has no enrolled biometrics to align with iOS:</p>













<table><thead><tr><th style="text-align:left">Before</th><th style="text-align:left">After</th></tr></thead><tbody><tr><td style="text-align:left"><code>clientErrorAuthMethodNotAllowed</code></td><td style="text-align:left"><code>clientErrorAuthMethodUnavailable</code></td></tr></tbody></table>
<p>The SDK still returns <code>clientErrorAuthMethodNotAllowed</code> in cases where an authentication method is being used but is not yet activated, or if not enabled in the server configuration.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="authentication-required-error-code">Authentication required error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/31-10-2025/#authentication-required-error-code" class="hash-link" aria-label="Direct link to Authentication required error code" title="Direct link to Authentication required error code" translate="no">​</a></h3>
<p>Removed SDK error code <code>serverErrorAuthenticationRequired</code>.</p>]]></content:encoded>
            <category>Feature</category>
            <category>Breaking change</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.20]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/</guid>
            <pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.20 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.20</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="face-scan-recovery">Face scan recovery<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#face-scan-recovery" class="hash-link" aria-label="Direct link to Face scan recovery" title="Direct link to Face scan recovery" translate="no">​</a></h3>
<p>Added support for face scan recovery alongside recovery codes, with the enum entry <code>RecoveryMethod.CLOUD_BACKUP_SERVER_SIDE_FACE</code>.</p>
<p>Added the following classes:</p>
<ul>
<li class=""><code>RecoveryParameter</code></li>
<li class=""><code>RecoveryCodeRecoveryParameter</code></li>
<li class=""><code>ServerSideFaceRecoveryParameter</code></li>
</ul>
<p>Added the following <code>Controller</code> methods accepting <code>RecoveryParameter</code>:</p>
<div class="language-kotlin codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-kotlin codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:#CFADFF;font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">finishAddOrUpdateRecovery</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    recoveryParameter</span><span class="token operator">:</span><span class="token plain"> RecoveryParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    appCallback</span><span class="token operator">:</span><span class="token plain"> AsyncCallback</span><span class="token operator">&lt;</span><span class="token plain">FinishAddOrUpdateRecoveryResult</span><span class="token operator">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:#CFADFF;font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">finishRecovery</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    recoveryParameter</span><span class="token operator">:</span><span class="token plain"> RecoveryParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    activationParameter</span><span class="token operator">:</span><span class="token plain"> ActivationParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    appCallback</span><span class="token operator">:</span><span class="token plain"> AsyncCallback</span><span class="token operator">&lt;</span><span class="token plain">FinishRecoveryResult</span><span class="token operator">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:#CFADFF;font-style:italic">fun</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">finishDeleteRecovery</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    recoveryParameter</span><span class="token operator">:</span><span class="token plain"> RecoveryParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    appCallback</span><span class="token operator">:</span><span class="token plain"> AsyncCallback</span><span class="token operator">&lt;</span><span class="token plain">FinishDeleteRecoveryResult</span><span class="token operator">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="kotlin-api-implementation">Kotlin API implementation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#kotlin-api-implementation" class="hash-link" aria-label="Direct link to Kotlin API implementation" title="Direct link to Kotlin API implementation" translate="no">​</a></h3>
<p>Rewrote the Encap Android API from Java to Kotlin 2.0. It remains backwards compatible with API 3.19 and adds a dependency on <code>kotlin-stdlib</code> version 2.0.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minimum-android-version">Minimum Android version<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#minimum-android-version" class="hash-link" aria-label="Direct link to Minimum Android version" title="Direct link to Minimum Android version" translate="no">​</a></h3>
<p>Raised the minimum Android version to Android 9 (API 28).</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated">Deprecated<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#deprecated" class="hash-link" aria-label="Direct link to Deprecated" title="Direct link to Deprecated" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="recovery-parameters">Recovery parameters<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#recovery-parameters" class="hash-link" aria-label="Direct link to Recovery parameters" title="Direct link to Recovery parameters" translate="no">​</a></h3>
<p>Deprecated the <code>EncapRecoveryParameter</code> class and the <code>Controller</code> methods that accept it.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated-add-or-update-method">Deprecated add or update method<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#deprecated-add-or-update-method" class="hash-link" aria-label="Direct link to Deprecated add or update method" title="Direct link to Deprecated add or update method" translate="no">​</a></h3>
<p>Removed the deprecated <code>Controller</code> method:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:#CFADFF;font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">startAddOrUpdate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token class-name">String</span><span class="token plain"> clientData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token class-name">AsyncCallback</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token generics class-name">StartAddOrUpdateResult</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"> callback</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="already-authenticated-error-code">Already authenticated error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#already-authenticated-error-code" class="hash-link" aria-label="Direct link to Already authenticated error code" title="Direct link to Already authenticated error code" translate="no">​</a></h3>
<p>Removed SDK error code <code>serverErrorAlreadyAuthenticated</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="outdated-google-play-services-error-handling">Outdated Google Play services error handling<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/22-04-2025/#outdated-google-play-services-error-handling" class="hash-link" aria-label="Direct link to Outdated Google Play services error handling" title="Direct link to Outdated Google Play services error handling" translate="no">​</a></h3>
<p>Removed the SDK error code <code>clientErrorGoogleServicesOutdated</code> and the exception class <code>GooglePlayServicesOutdatedException</code>.</p>]]></content:encoded>
            <category>Feature</category>
            <category>Enhancement</category>
            <category>Breaking change</category>
            <category>Deprecation</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.19]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/</guid>
            <pubDate>Thu, 08 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.19 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.19</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="server-side-face-authentication">Server-side face authentication<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#server-side-face-authentication" class="hash-link" aria-label="Direct link to Server-side face authentication" title="Direct link to Server-side face authentication" translate="no">​</a></h3>
<p>Added the server-side face authentication method <code>AuthMethod.DEVICE_SERVER_SIDE_FACE</code>.</p>
<p>You can use server-side face authentication to change a forgotten PIN when the end-user has no valid biometrics.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="add-or-update-parameters">Add or update parameters<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#add-or-update-parameters" class="hash-link" aria-label="Direct link to Add or update parameters" title="Direct link to Add or update parameters" translate="no">​</a></h3>
<p>Added the following <code>Controller</code> method:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:#CFADFF;font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">startAddOrUpdate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@NonNull</span><span class="token plain"> </span><span class="token class-name">StartAddOrUpdateParameter</span><span class="token plain"> startParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token annotation punctuation" style="color:rgb(248, 248, 242)">@NonNull</span><span class="token plain"> </span><span class="token class-name">AsyncCallback</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token generics class-name">StartAddOrUpdateResult</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"> callback</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></div></code></pre></div></div>
<p>You can choose the parameter for your use case:</p>
<ul>
<li class="">
<p>For server-side face authentication, you can use:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token class-name">StartAddOrUpdateParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">AuthMethod</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token constant" style="color:#CFADFF">DEVICE_SERVER_SIDE_FACE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
</li>
<li class="">
<p>To pass client data, you can use:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token class-name">StartAddOrUpdateParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">String</span><span class="token plain"> clientData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="controller-nullability-annotations">Controller nullability annotations<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#controller-nullability-annotations" class="hash-link" aria-label="Direct link to Controller nullability annotations" title="Direct link to Controller nullability annotations" translate="no">​</a></h3>
<p>Added <code>@NonNull</code> and <code>@Nullable</code> annotations to all <code>Controller</code> methods to support Kotlin integration.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minimum-android-version">Minimum Android version<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#minimum-android-version" class="hash-link" aria-label="Direct link to Minimum Android version" title="Direct link to Minimum Android version" translate="no">​</a></h3>
<p>Raised the minimum Android version to Android 8 (API 26).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deactivation-state">Deactivation state<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#deactivation-state" class="hash-link" aria-label="Direct link to Deactivation state" title="Direct link to Deactivation state" translate="no">​</a></h3>
<p><code>PROCESSING_DEACTIVATION</code> is now a blocking state. Starting a new operation before deactivation finishes returns <code>clientErrorOperationInProgress</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="missing-biometrics-error-handling">Missing biometrics error handling<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#missing-biometrics-error-handling" class="hash-link" aria-label="Direct link to Missing biometrics error handling" title="Direct link to Missing biometrics error handling" translate="no">​</a></h3>
<p>If biometrics or fingerprint are not enrolled or enabled on the device, the SDK returns <code>BiometricAuthenticationException</code> with <code>clientErrorAndroidBiometricPromptErrorNoBiometrics</code>. This replaces <code>UnexpectedException</code> with <code>clientErrorUnexpected</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated">Deprecated<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#deprecated" class="hash-link" aria-label="Direct link to Deprecated" title="Direct link to Deprecated" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="add-or-update-method">Add or update method<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#add-or-update-method" class="hash-link" aria-label="Direct link to Add or update method" title="Direct link to Add or update method" translate="no">​</a></h3>
<p>Deprecated the following <code>Controller</code> method:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:#CFADFF;font-style:italic">void</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">startAddOrUpdate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token class-name">String</span><span class="token plain"> clientData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token class-name">AsyncCallback</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token generics class-name">StartAddOrUpdateResult</span><span class="token generics punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"> callback</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></div></code></pre></div></div>
<p>The <code>String clientData</code> argument is made obsolete by the new method accepting:</p>
<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token class-name">StartAddOrUpdateParameter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token class-name">String</span><span class="token plain"> clientData</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fingerprint-authentication">Fingerprint authentication<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/08-08-2024/#fingerprint-authentication" class="hash-link" aria-label="Direct link to Fingerprint authentication" title="Direct link to Fingerprint authentication" translate="no">​</a></h3>
<p>Removed the fingerprint authentication method <code>AuthMethod.DEVICE_ANDROID_FINGERPRINT</code>. Use <code>AuthMethod.DEVICE_ANDROID_BIOMETRIC_PROMPT</code> instead.</p>
<p>For existing fingerprint users, you can migrate from PIN to Biometric Prompt using <code>addOrUpdate</code>. To migrate from fingerprint to Biometric Prompt, you must use an earlier SDK version.</p>]]></content:encoded>
            <category>Feature</category>
            <category>Enhancement</category>
            <category>Breaking change</category>
            <category>Deprecation</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.18]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/</guid>
            <pubDate>Fri, 20 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.18 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.18</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="callback-nullability-annotations">Callback nullability annotations<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#callback-nullability-annotations" class="hash-link" aria-label="Direct link to Callback nullability annotations" title="Direct link to Callback nullability annotations" translate="no">​</a></h3>
<p>Added the annotation <code>@NonNull</code> to both the <code>OnSuccess</code> and <code>OnFailure</code> functions of <code>AsyncCallback</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="operation-context-methods">Operation context methods<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#operation-context-methods" class="hash-link" aria-label="Direct link to Operation context methods" title="Direct link to Operation context methods" translate="no">​</a></h3>
<p>Renamed the operation context methods in <code>FinishActivationResult</code> and <code>FinishAuthenticationResult</code> to match <code>StartAuthenticationResult</code> and iOS:</p>





















<table><thead><tr><th style="text-align:left">Previous name</th><th style="text-align:left">New name</th></tr></thead><tbody><tr><td style="text-align:left"><code>getResponseTitle()</code></td><td style="text-align:left"><code>getContextTitle()</code></td></tr><tr><td style="text-align:left"><code>getResponseConent()</code></td><td style="text-align:left"><code>getContextContent()</code></td></tr><tr><td style="text-align:left"><code>getResponseMimeType()</code></td><td style="text-align:left"><code>getContextMIME()</code></td></tr></tbody></table>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><i class="icon icon--signicat-notice"></i></span>Deprecated method names</div><div class="admonitionContent_BuS1"><p>The old methods are deprecated. They will be removed in the next release.</p></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-improvements">Documentation improvements<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#documentation-improvements" class="hash-link" aria-label="Direct link to Documentation improvements" title="Direct link to Documentation improvements" translate="no">​</a></h3>
<ul>
<li class="">Restructured the documentation to improve usability.</li>
<li class="">Rewrote multiple sections.</li>
<li class="">Added examples that are easier to copy and paste.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated">Deprecated<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#deprecated" class="hash-link" aria-label="Direct link to Deprecated" title="Direct link to Deprecated" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fingerprint-authentication">Fingerprint authentication<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/20-10-2023/#fingerprint-authentication" class="hash-link" aria-label="Direct link to Fingerprint authentication" title="Direct link to Fingerprint authentication" translate="no">​</a></h3>
<p>Deprecated fingerprint authentication. It will be removed in a future release.</p>]]></content:encoded>
            <category>Enhancement</category>
            <category>Deprecation</category>
            <category>Documentation</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.17]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/</guid>
            <pubDate>Fri, 26 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.17 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.17</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="biometric-prompt-confirmation">Biometric Prompt confirmation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#biometric-prompt-confirmation" class="hash-link" aria-label="Direct link to Biometric Prompt confirmation" title="Direct link to Biometric Prompt confirmation" translate="no">​</a></h3>
<p>The Biometric Prompt activation and authentication parameters now expose <code>setConfirmationRequired()</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minimum-android-version">Minimum Android version<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#minimum-android-version" class="hash-link" aria-label="Direct link to Minimum Android version" title="Direct link to Minimum Android version" translate="no">​</a></h3>
<p>Raised the minimum Android version to Android 7.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="app-attestation">App attestation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#app-attestation" class="hash-link" aria-label="Direct link to App attestation" title="Direct link to App attestation" translate="no">​</a></h3>
<p>Replaced the SafetyNet Attestation API with the Play Integrity API.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="intermediate-push-feature">Intermediate push feature<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#intermediate-push-feature" class="hash-link" aria-label="Direct link to Intermediate push feature" title="Direct link to Intermediate push feature" translate="no">​</a></h3>
<p>Removed the intermediate push feature. You must use the Play Integrity API for app attestation instead.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated-authentication-method-accessors">Deprecated authentication method accessors<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/26-05-2023/#deprecated-authentication-method-accessors" class="hash-link" aria-label="Direct link to Deprecated authentication method accessors" title="Direct link to Deprecated authentication method accessors" translate="no">​</a></h3>
<p>Removed the following deprecated API methods:</p>





















<table><thead><tr><th style="text-align:left">Removed deprecated API method</th><th style="text-align:left">Use instead</th></tr></thead><tbody><tr><td style="text-align:left"><code>StartAuthenticationResult</code>: <code>getAllowedAuthMethods()</code></td><td style="text-align:left"><code>getAuthMethodsForAuthentication()</code></td></tr><tr><td style="text-align:left"><code>StartActivationResult</code>: <code>getAllowedAuthMethods()</code></td><td style="text-align:left"><code>getAuthMethodsForActivation()</code></td></tr><tr><td style="text-align:left"><code>StartAddOrUpdateResult</code>: <code>getAllowedAuthMethodsForActivation()</code></td><td style="text-align:left"><code>getAuthMethodsForActivation()</code></td></tr></tbody></table>]]></content:encoded>
            <category>Feature</category>
            <category>Breaking change</category>
            <category>Security</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.16]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/</guid>
            <pubDate>Mon, 30 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.16 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.16</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="client-debug-data">Client debug data<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#client-debug-data" class="hash-link" aria-label="Direct link to Client debug data" title="Direct link to Client debug data" translate="no">​</a></h3>
<p>Added the client debug data feature.</p>
<p>The new <code>EncapConfig</code> setting <code>setAllowDebugData</code> is <code>true</code> by default. You can set it to <code>false</code> to prevent a device from sending debug data, even if you have enabled it in your application configuration.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated">Deprecated<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#deprecated" class="hash-link" aria-label="Direct link to Deprecated" title="Direct link to Deprecated" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="authentication-method-accessors">Authentication method accessors<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#authentication-method-accessors" class="hash-link" aria-label="Direct link to Authentication method accessors" title="Direct link to Authentication method accessors" translate="no">​</a></h3>
<p>Deprecated the following API methods:</p>





















<table><thead><tr><th style="text-align:left">Deprecated API method</th><th style="text-align:left">Use instead</th></tr></thead><tbody><tr><td style="text-align:left"><code>StartAuthenticationResult</code>: <code>getAllowedAuthMethods()</code></td><td style="text-align:left"><code>getAuthMethodsForAuthentication()</code></td></tr><tr><td style="text-align:left"><code>StartActivationResult</code>: <code>getAllowedAuthMethods()</code></td><td style="text-align:left"><code>getAuthMethodsForActivation()</code></td></tr><tr><td style="text-align:left"><code>StartAddOrUpdateResult</code>: <code>getAllowedAuthMethodsForActivation()</code></td><td style="text-align:left"><code>getAuthMethodsForActivation()</code></td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fingerprint-documentation">Fingerprint documentation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#fingerprint-documentation" class="hash-link" aria-label="Direct link to Fingerprint documentation" title="Direct link to Fingerprint documentation" translate="no">​</a></h3>
<p>Removed the fingerprint documentation. For new implementations, we recommend using Biometric Prompt.</p>
<p>If you need fingerprint authentication on Android 6–8, we recommend using Biometric Prompt with the AndroidX library.</p>
<p>You can still access the removed fingerprint documentation in an earlier version of this documentation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="maven-documentation">Maven documentation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#maven-documentation" class="hash-link" aria-label="Direct link to Maven documentation" title="Direct link to Maven documentation" translate="no">​</a></h3>
<p>Removed the documentation about building with Maven. You can still access the removed Maven integration documentation in an earlier version of this documentation.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixed">Fixed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deactivation-of-non-activated-registrations">Deactivation of non-activated registrations<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#deactivation-of-non-activated-registrations" class="hash-link" aria-label="Direct link to Deactivation of non-activated registrations" title="Direct link to Deactivation of non-activated registrations" translate="no">​</a></h3>
<p>Deactivating a non-activated registration on the client no longer results in an error.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="upcoming-changes">Upcoming changes<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#upcoming-changes" class="hash-link" aria-label="Direct link to Upcoming changes" title="Direct link to Upcoming changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="app-attestation">App attestation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-01-2023/#app-attestation" class="hash-link" aria-label="Direct link to App attestation" title="Direct link to App attestation" translate="no">​</a></h3>
<p>The SafetyNet Attestation API will be replaced with the Play Integrity API in version 3.17.</p>]]></content:encoded>
            <category>Feature</category>
            <category>Bug fix</category>
            <category>Deprecation</category>
            <category>Documentation</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.15]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/</guid>
            <pubDate>Thu, 30 Jun 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.15 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.15</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="biometric-authentication-cancellation">Biometric authentication cancellation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#biometric-authentication-cancellation" class="hash-link" aria-label="Direct link to Biometric authentication cancellation" title="Direct link to Biometric authentication cancellation" translate="no">​</a></h3>
<p>Added support for cancelling an ongoing biometric authentication for <a href="https://developer.android.com/reference/androidx/biometric/package-summary" target="_blank" rel="noopener noreferrer" class="">AndroidX BiometricPrompt</a>.</p>
<p>You can cancel an ongoing biometric authentication by supplying a <a href="https://developer.android.com/reference/android/os/CancellationSignal" target="_blank" rel="noopener noreferrer" class=""><code>CancellationSignal</code></a> to the <code>DeviceAndroidBiometricPromptAuthParameter</code> and calling the <a href="https://developer.android.com/reference/android/os/CancellationSignal#cancel()" target="_blank" rel="noopener noreferrer" class=""><code>cancel()</code></a> method.</p>
<p>The Encap API sets up a listener on the <code>CancellationSignal</code> that calls the <code>cancelAuthentication()</code> method of AndroidX BiometricPrompt.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="invalidated-authentication-data-error-code">Invalidated authentication data error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#invalidated-authentication-data-error-code" class="hash-link" aria-label="Direct link to Invalidated authentication data error code" title="Direct link to Invalidated authentication data error code" translate="no">​</a></h3>
<p>Replaced the error code <code>clientErrorKeyPermanentlyInvalidated</code> (<code>180</code>) with <code>clientErrorAuthDataInvalidated</code> (<code>132</code>) to align with iOS.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecated">Deprecated<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#deprecated" class="hash-link" aria-label="Direct link to Deprecated" title="Direct link to Deprecated" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="intermediate-push-attestation">Intermediate push attestation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/30-06-2022/#intermediate-push-attestation" class="hash-link" aria-label="Direct link to Intermediate push attestation" title="Direct link to Intermediate push attestation" translate="no">​</a></h3>
<p>Deprecated intermediate push attestation. It will be removed in a future release.</p>]]></content:encoded>
            <category>Feature</category>
            <category>Breaking change</category>
            <category>Deprecation</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.14]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/</guid>
            <pubDate>Tue, 15 Feb 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.14 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.14</strong> of our SDK for Android.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="added">Added<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="geofencing">Geofencing<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#geofencing" class="hash-link" aria-label="Direct link to Geofencing" title="Direct link to Geofencing" translate="no">​</a></h3>
<p>Added the geofencing feature.</p>
<p>The SDK uses an external geocoder service to look up the device location, then sends the country code to the server.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="invalid-session-error-code">Invalid session error code<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#invalid-session-error-code" class="hash-link" aria-label="Direct link to Invalid session error code" title="Direct link to Invalid session error code" translate="no">​</a></h3>
<p>Added the <code>serverErrorInvalidSession</code> error code.</p>
<p>If the server starts a new session after the client calls <code>startAuthenticate</code>, <code>finishAuthenticate</code> returns this error. You need to call <code>startAuthenticate</code> again to start a new authentication attempt.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="authenticate-and-activate-operation">Authenticate and activate operation<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#authenticate-and-activate-operation" class="hash-link" aria-label="Direct link to Authenticate and activate operation" title="Direct link to Authenticate and activate operation" translate="no">​</a></h3>
<p>Renamed the <code>AuthenticateAndActivate</code> operation to <code>AddOrUpdate</code>.</p>
<p>On iOS, this operation has always been called <code>AddOrUpdate</code>. The rename aligns the Android and iOS controller interfaces.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed">Removed<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#removed" class="hash-link" aria-label="Direct link to Removed" title="Direct link to Removed" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="signing-feature">Signing feature<a href="https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/15-02-2022/#signing-feature" class="hash-link" aria-label="Direct link to Signing feature" title="Direct link to Signing feature" translate="no">​</a></h3>
<p>Removed the signing feature. If your app uses signing, you must remove calls to its functions.</p>
<p>Removed the following functions and classes:</p>
<ul>
<li class=""><code>EncapConfig.Builder</code>: <code>setSigningEnabled()</code> and <code>setSigningKeySize()</code></li>
<li class=""><code>EncapController</code>: <code>startAuthenticationOrSigning()</code>, <code>startSigning()</code> and <code>FinishSigning()</code></li>
<li class=""><code>EncapController.State</code>: <code>isSigningState()</code></li>
<li class=""><code>PushMessage</code>: <code>isSigningMessage()</code></li>
<li class=""><code>SigningFailedException</code></li>
<li class=""><code>StartSigningResult</code></li>
<li class=""><code>FinishSigningResult</code></li>
</ul>
<p>Removed the following error codes:</p>
<ul>
<li class=""><code>serverErrorIncorrectSignature</code></li>
<li class=""><code>serverErrorInvalidSignature</code></li>
</ul>]]></content:encoded>
            <category>Feature</category>
            <category>Breaking change</category>
        </item>
        <item>
            <title><![CDATA[Released Android SDK 3.13]]></title>
            <link>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/02-11-2021/</link>
            <guid>https://developer.signicat.com/docs/mobile-identity/encap/release-notes/sdk-android/02-11-2021/</guid>
            <pubDate>Tue, 02 Nov 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[The 3.13 release is now available for Android SDK.]]></description>
            <content:encoded><![CDATA[<p>We have released version <strong>3.13</strong> of our SDK for Android.</p>]]></content:encoded>
        </item>
    </channel>
</rss>