> For the complete documentation index, see [llms.txt](https://legacy-docs.usesmileid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://legacy-docs.usesmileid.com/further-reading/versioning-and-support-policy.md).

# Mobile SDK Versioning and Support Policy

This policy explains how Smile ID versions and supports mobile SDKs, and how partners should plan upgrades.

## Scope

This policy applies to Smile ID mobile SDKs:

* Native SDKs: Android, iOS
* Wrapper SDKs: Flutter, React Native, React Native Expo

## Versioning and Stability Policy

### Stability Commitment

To support predictable upgrades, Smile ID maintains the latest three minor series of the current major line where feasible (for example: `11.1.x`, `11.2.x`, `11.3.x` when `11.3.x` is latest).

* New features and most bug fixes are released on the latest minor version.
* Older minor versions remain available but typically do not receive new feature updates.
* Major platform requirement changes are made only when necessary.

### Versioning Approach

Smile ID follows a **best-effort semantic versioning approach**:

* **Major** (`x.0.0`): may include breaking changes.
* **Minor** (`x.y.0`): generally backward-compatible feature additions and improvements.
* **Patch** (`x.y.z`): bug fixes and low-risk updates.

For wrapper SDKs (Flutter, React Native, React Native Expo), upstream ecosystem changes (for example, build tooling or platform requirements) can occasionally require behaviour or integration changes outside ideal SemVer expectations. These changes are documented in release notes.

### Breaking Changes

{% tabs %}
{% tab title="Android" %}

* Breaking changes are expected in major upgrades.
* Rarely, Android ecosystem constraints (for example compile SDK/toolchain requirements) may require urgent integration updates and will be documented in release notes.
* Partners should review Android release notes before each upgrade.
  {% endtab %}

{% tab title="iOS" %}

* Breaking changes are expected in major upgrades.
* iOS minimum version or Xcode/toolchain updates are communicated in release notes and migration guidance.
* Partners should validate builds against the target Xcode and iOS versions before rollout.
  {% endtab %}

{% tab title="Flutter" %}

* Flutter wrapper changes may be driven by native Android/iOS SDK updates.
* Flutter, Dart, Kotlin, and Gradle compatibility may shift as upstream dependencies evolve.
* Partners should test wrapper upgrades in staging before production rollout.
  {% endtab %}

{% tab title="React Native" %}

* React Native wrapper changes may reflect native SDK updates and React Native ecosystem constraints.
* Breaking behavior can occur when underlying Android/iOS requirements change.
* Partners should review both wrapper and native release notes for each upgrade.
  {% endtab %}

{% tab title="React Native Expo" %}

* Expo compatibility is tied to Expo SDK, React Native, and native toolchain versions.
* Upgrades may require synchronized changes across Expo and native dependencies.
* Partners should validate managed/bare workflow compatibility during upgrades.
  {% endtab %}
  {% endtabs %}

### Support Levels

* **Active**
  * Receives regular updates, bug fixes, and new features.
  * Receives highest support priority.
* **Deprecated**
  * No planned feature development.
  * Critical fixes may be provided at Smile ID's discretion.
  * Partners should migrate before the support drop date.
* **Unsupported**
  * No updates or code support.
  * Compatibility with backend/API behavior is not guaranteed.
  * Upgrade is strongly recommended.
* **Future**
  * Planned, not released yet.
  * Timelines are estimates until release.

## Release Cycles

### Cadence

Smile ID targets a **monthly minor release** for mobile SDKs. Each release is planned around a development sprint, followed by a testing and stabilisation phase. The time between sprint completion and a published release varies depending on the complexity and scope of the changes in that cycle.

**Scheduled releases** (minor versions) bundle new features, improvements, and non-urgent bug fixes.

**Unscheduled patch releases** (`x.y.z`) may be issued at any time to address critical bugs or regressions that cannot wait for the next monthly cycle.

> Wrapper SDK releases (Flutter, React Native, React Native Expo) follow the same monthly cadence but may also ship independently when an urgent native dependency fix is required.

### Quality and Testing

Every release goes through both automated and manual testing before it is published.

**Automated pipelines**

Our CI pipelines run unit tests, integration tests, and static analysis on every build. These run continuously throughout the development sprint.

**Manual test cycle**

In addition to automated testing, every release goes through a structured manual test cycle carried out by different internal teams (Mobile Eng., Product, Solutions Eng, Fraud) to validate product behaviour and user flows end-to-end; as well as verify SDK integration, build toolchain compatibility, and edge-case behaviour across platforms.

Also, we test real-world partner integration scenarios with our demo app and validate different configurations.

This ensures that changes work correctly outside of a controlled CI environment, reflecting how partners and users actually use the SDK in production.

**Physical device testing**

Some aspects of the Smile ID SDK — particularly face capture — are difficult to validate through automated testing alone. Our selfie and liveness capture systems are sensitive to lighting conditions, environmental variation, device hardware, and skin tone representation. We test these systems manually across a curated list of physical devices maintained based on the most widely used devices in the markets we support.

For every release version, we validate on a representative set of physical devices across tiers, including older and entry-level, mid-range, and high-end models, before publishing..

## Version Support

The table below provides the lifecycle view for major SDK lines. Dates and milestones may be refined as release plans evolve.

| Mobile SDKs version | Status        | End of life | Support dropped | Last compatible SDK          | Notes                                                         |
| ------------------- | ------------- | ----------- | --------------- | ---------------------------- | ------------------------------------------------------------- |
| v12                 | `Active`      | TBD         | TBD             | —                            | Stable release July 2026. Current active major line.          |
| v11                 | `Deprecated`  | Dec 2026    | TBD             | See latest v11 release notes | Deprecated as of v12 stable release. Migrate before Dec 2026. |
| v10                 | `Deprecated`  | Dec 2025    | May 2026        | v10.6.3                      | Transition support window is extended to help migrations.     |
| v7                  | `Unsupported` | Dec 2023    | Apr 2024        | N/A                          | Legacy line. Upgrade required.                                |

## SDK Compatibility Matrix

Use this matrix for planning build environments and dependency upgrades.

{% tabs %}
{% tab title="Android" %}

| SDK major line | OS support             | Status        | Minimum dependencies                                               |
| -------------- | ---------------------- | ------------- | ------------------------------------------------------------------ |
| v12            | Android 7+ (minSdk 24) | `Active`      | Kotlin 2.4, JDK 17, AGP 8.x, compileSdk 37, Jetpack Compose        |
| v11            | Android 5+             | `Deprecated`  | Kotlin 2.x, JDK 17, AGP 8.x (see release notes for exact minimums) |
| v10            | Android 5+             | `Deprecated`  | Kotlin 1.9.x, Java 17+, AGP 8.x                                    |
| v7             | Android 5+             | `Unsupported` | Legacy toolchain (not maintained)                                  |
| {% endtab %}   |                        |               |                                                                    |

{% tab title="iOS" %}

| SDK major line | OS support | Status        | Minimum dependencies                           |
| -------------- | ---------- | ------------- | ---------------------------------------------- |
| v12            | iOS 15+    | `Active`      | Xcode 26+ (latest stable), Swift 6.3+          |
| v11            | iOS 13+    | `Deprecated`  | Xcode 14+ (or newer as noted in release notes) |
| v10            | iOS 13+    | `Deprecated`  | Xcode baseline per final v10 release notes     |
| v2 (legacy)    | Legacy     | `Unsupported` | Not maintained                                 |
| {% endtab %}   |            |               |                                                |

{% tab title="Flutter" %}

| SDK major line | OS support                       | Status        | Minimum dependencies                                                           |
| -------------- | -------------------------------- | ------------- | ------------------------------------------------------------------------------ |
| v12            | Android 7+ (minSdk 24) / iOS 15+ | `Active`      | Flutter 3.41+, Dart 3.11+, native toolchain aligned to active Android/iOS SDKs |
| v11            | Android 7+ / iOS 13+             | `Deprecated`  | Flutter 3+, Dart 3+, native toolchain aligned to active Android/iOS SDKs       |
| v10            | Android 5+ / iOS 13+             | `Deprecated`  | Flutter 3+, Dart 3+, Kotlin/Compose compatibility per release notes            |
| legacy         | Legacy                           | `Unsupported` | Not maintained                                                                 |
| {% endtab %}   |                                  |               |                                                                                |

{% tab title="React Native" %}

| SDK major line | OS support                       | Status        | Minimum dependencies                                                                     |
| -------------- | -------------------------------- | ------------- | ---------------------------------------------------------------------------------------- |
| v12            | Android 7+ (minSdk 24) / iOS 15+ | `Active`      | Node 20.18+, React Native 0.83+, Expo SDK 56+, AGP 8.x, compileSdk 37                    |
| v11            | Android 5+ / iOS 13+             | `Deprecated`  | React Native baseline per active release notes; native toolchains aligned to active SDKs |
| v10            | Android 5+ / iOS 13+             | `Deprecated`  | React Native baseline per final v10 release notes                                        |
| legacy         | Legacy                           | `Unsupported` | Not maintained                                                                           |
| {% endtab %}   |                                  |               |                                                                                          |

{% tab title="React Native Expo" %}

| SDK major line | OS support                       | Status       | Minimum dependencies                                                  |
| -------------- | -------------------------------- | ------------ | --------------------------------------------------------------------- |
| v12            | Android 7+ (minSdk 24) / iOS 15+ | `Active`     | Node 20.18+, React Native 0.83+, Expo SDK 56+, AGP 8.x, compileSdk 37 |
| v11            | Android 7+ / iOS 13+             | `Deprecated` | Expo SDK 54+, React Native minimums per release notes                 |
| {% endtab %}   |                                  |              |                                                                       |
| {% endtabs %}  |                                  |              |                                                                       |

## Upgrade Guidance

* Plan upgrades at least once per minor cycle.
* Test upgrades in staging before production rollout.
* Review release notes for your SDK and any underlying native SDK dependencies:
  * [Mobile Release Notes](/integration-options/mobile/release-notes.md)
  * [Android Release Notes](/integration-options/mobile/release-notes/release-notes.md)
  * [iOS Release Notes](/integration-options/mobile/release-notes/release-notes-1.md)
  * [Flutter Release Notes](/integration-options/mobile/release-notes/release-notes-2.md)
  * [React Native Release Notes](/integration-options/mobile/release-notes/release-notes-3.md)
  * [React Native Expo Release Notes](/integration-options/mobile/release-notes/release-notes-4.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://legacy-docs.usesmileid.com/further-reading/versioning-and-support-policy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
