Mobile SDK: versions and what is new

Last updated: 13 October 2026 · 13 min read

The Mobile SDK's versions and what each one changed.

Steps

  1. 1

    1.0.5: what changed

    Android, React Native, Flutter and Unity are 1.0.5 (Unity: tag unity-1.0.5). iOS has not changed and stays 1.0.4.

    • The camera's FileProvider is now the SDK's own class. Before, when the app or another library (for example unity-webview in a Unity game) also declared androidx's FileProvider, the Android build stopped at the manifest merge: provider#androidx.core.content.FileProvider@authorities … collides with another value.
    • With 1.0.5 the build goes through with no extra settings. If you added tools:replace to the manifest because of this error, remove it: it switches off one of the two providers.
    • The camera works as before; nothing else changes.

    To update, set the version to 1.0.5: Android ai.clomni:messenger:1.0.5, React Native @clomni/[email protected], Flutter clomni_flutter: ^1.0.5, Unity #unity-1.0.5 (then resolve with EDM4U). Nothing to do for iOS.

  2. 2

    1.0.4: what changed

    All packages are 1.0.4: Android, iOS, React Native, Flutter and Unity (tag unity-1.0.4).

    • When “Customer can't type” is off on a flow's buttons step, the text box stays under the buttons. The customer can pick a button or type the answer. Typing a button's name counts as picking it.
    • After a “Turn off typing” step the customer can't write in this conversation. The lock stays after the flow is over: if the conversation is closed, the customer can only start a new one. Typing comes back at a question step, on handover to an agent, or when an agent writes.
    • Flows that don't use these settings work as before. 1.0.3 and earlier don't see these settings: the text box is hidden while buttons wait and comes back when the flow is over.

    To update, set the version to 1.0.4: Android ai.clomni:messenger:1.0.4, React Native @clomni/[email protected], Flutter clomni_flutter: ^1.0.4, Unity #unity-1.0.4, iOS from: "1.0.4" or :tag => '1.0.4'.

  3. 3

    1.0.3: what changed

    All packages are 1.0.3: Android, iOS, React Native, Flutter and Unity (tag unity-1.0.3).

    • The microphone button answers the moment it is touched: the circle, the timer and the vibration come at once.
    • A one-second press is recorded too, and the “press and hold” hint no longer shows.

    To update, set the version to 1.0.3: Android ai.clomni:messenger:1.0.3, React Native @clomni/[email protected], Flutter clomni_flutter: ^1.0.3, Unity #unity-1.0.3, iOS from: "1.0.3" or :tag => '1.0.3'.

  4. 4

    1.0.2: what changed

    Android, React Native, Flutter and Unity are 1.0.2 (Unity: tag unity-1.0.2). This time the iOS code changed too, so iOS is 1.0.2 as well.

    • Voice messages: press and hold the microphone button. Slide left to cancel, slide up to lock. You can listen before sending, at 1×, 1.5× or 2×.
    • Photos and videos from the camera.
    • Messages written offline wait in a queue and go out when the connection is back.
    • Bare addresses such as clomni.ai become links.
    • The floating button shows even when initialize is called late (React Native, Flutter, Unity).
    • Android: the Messenger no longer disappears in an app whose MainActivity is singleTask.
    • The user's name is kept when the app opens again.
    • The “joined the conversation” line is in its right place.
    • The company's logo next to “You”.
    • A flow ends at a choice that leads nowhere, and the text field opens.
    • On iPhone the text field stays on top of the keyboard.
    • The debug level writes the SDK's steps to the log.
    • The Messenger's language is the same online and offline.
    • The emoji button is gone; the microphone button is on the right of the text field.
  5. 5

    1.0.2: permissions

    • Android: voice messages need RECORD_AUDIO declared in the app's manifest, otherwise the microphone button does not show. The camera needs no permission: the SDK opens the phone's camera app. If the manifest declares CAMERA, the SDK asks for it first.
    • iOS: without NSCameraUsageDescription there is no camera option; without NSMicrophoneUsageDescription there is no microphone button.
  6. 6

    How to move to 1.0.2

    • Android: ai.clomni:messenger:1.0.2.
    • React Native: npm install @clomni/[email protected], then build the app again (pod install on iOS).
    • Flutter: clomni_flutter: ^1.0.2, then flutter pub get.
    • Unity: the package URL https://github.com/clomni/clomni-mobile-sdk.git?path=unity#unity-1.0.2, then Force Resolve.
    • iOS: from: "1.0.2" in Swift Package Manager, :tag => '1.0.2' in CocoaPods.
  7. 7

    1.0.1: what changed

    The Android SDK sends the app's package name when it connects. Clomni compares it with the inbox's “Android package name” and refuses the key when they differ. iOS has done the same with the Bundle ID from the start.

    Versions: Android ai.clomni:messenger 1.0.1, React Native @clomni/react-native 1.0.1, Flutter clomni_flutter 1.0.1, Unity tag unity-1.0.1. React Native, Flutter and Unity 1.0.1 use the new Android SDK. iOS ClomniMessenger stays 1.0.0; nothing changed on iOS.

  8. 8

    Who it affects

    Apps on Android. If the inbox's Android package name is the app's applicationId, nothing changes. If it is not, the Android app no longer connects after 1.0.1. An inbox without an Android package name has no check.

    applicationIdSuffix is part of the package name. A debug build with a .debug suffix is com.example.app.debug and is refused by an inbox that says com.example.app. Test with a build without the suffix, or make a separate inbox for the debug app.

  9. 9

    Check the package name before you update

    The inbox's Android package name must be the applicationId in app/build.gradle(.kts). It is entered in the wizard when the inbox is created, and the dashboard has no place to change it later. If it is wrong, write the app's correct package name to Clomni AI and the Clomni team will fix it.

  10. 10

    How to update

    • Android: set the version to 1.0.1, then Gradle sync.
    • React Native: npm install @clomni/[email protected], then build the app again.
    • Flutter: clomni_flutter: ^1.0.1 in pubspec.yaml, then flutter pub get.
    • Unity: change the package's URL in Package Manager to the one ending in #unity-1.0.1 (or in Packages/manifest.json), then Assets › External Dependency Manager › Android Resolver › Force Resolve.
    • iOS: nothing to do.
    // app/build.gradle.kts
    implementation("ai.clomni:messenger:1.0.1")
    npm install @clomni/[email protected]
    clomni_flutter: ^1.0.1
    https://github.com/clomni/clomni-mobile-sdk.git?path=unity#unity-1.0.1
  11. 11

    When the package name does not match

    The Messenger does not open; the server refuses the key with 401 invalid_api_key. Logcat, tag Clomni, shows an error that names the package name the app sent, for example com.example.app.debug, and says it must be the inbox's Android package name, applicationIdSuffix included. The SDK writes this line in Azerbaijani.

    Compare the package name in the log with the inbox's Android package name.

  12. 12

    1.0.0

    The first release: Android, iOS, React Native, Flutter and Unity.

  13. 13

    Full guide

Document