> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: October 26, 2026
> To take actions in Customer.io from an agent, use the [Customer.io CLI](https://docs.customer.io/ai/cli/get-started.md) or the [MCP server](https://docs.customer.io/ai/mcp/get-started.md).
> This page has tabbed examples for: CocoaPods, Swift Package Manager (SPM). Add `?tab=<name>` to the URL to get only that tab, and repeat it for more than one, for example `?tab=cocoapods&tab=swift-package-manager-spm`.

# Upgrade from 4.x to 5.0.0

Version 5.0.0 of the Customer.io Flutter SDK uses version 5.0.0 of our native iOS and Android SDKs. It requires Flutter 3.44 or later, iOS 15 or later, and Android 7.0 (API level 24) or later.

## What changed?

Version 5.0.0 of the Flutter SDK uses version 5.0.0 of the Customer.io iOS and Android SDKs. This raises the minimum versions your app needs:

*   **Flutter 3.44 or later and Dart 3.12 or later**: If your app uses an older version of Flutter, stay on version 4.x.
*   **iOS 15 or later**
*   **Android 7.0 (API level 24) or later**: The Android SDK also brings in `firebase-messaging` 26.0.0, `play-services-base` 18.11.1, and WorkManager (`androidx.work`) 2.12.0.

On iOS, the plugin now gets `CioFirebaseWrapper` from the `customerio-ios` package. It no longer uses the separate `customerio-ios-fcm` package.

You don’t need to change your Dart code or your `AppDelegate`.

## Upgrade process

1.  Update the SDK version in your `pubspec.yaml`, and then run `flutter pub get`:

    ```
    dependencies:
      customer_io: ^5.0.0
    ```

2.  Raise your iOS deployment target to 15.0. In Xcode, set it for your **Runner** target and your **NotificationServiceExtension** target. If you use CocoaPods, update the platform in `ios/Podfile` too:

    ```
    platform :ios, '15.0'
    ```

3.  In your `android/app/build.gradle` file, set `minSdk` to 24 or higher. Make sure your app builds with `compileSdk` 36 or later and Android Gradle plugin (AGP) 8.9.1 or later.

4.  If your Android app pins older versions of `firebase-messaging`, `play-services-base`, or WorkManager, update them to at least 26.0.0, 18.11.1, and 2.12.0.

5.  Update your iOS dependencies:

    <!-- tabs -->

    <!-- tab: CocoaPods -->

    #### CocoaPods

    Update the Customer.io pods. If you use FCM, run:

    ```
    cd ios
    pod update CustomerIO CioFirebaseWrapper
    ```

    If you use APNs, run `pod update CustomerIO` from your `ios` folder instead.

    You only need to do this once, when you upgrade from 4.x. Your `Podfile.lock` still lists the 4.x pods, so a plain `pod install` stops with an error, and `pod repo update` doesn’t fix it.

    <!-- /tab -->

    <!-- tab: Swift Package Manager (SPM) -->

    #### Swift Package Manager (SPM)

    Flutter resolves version 5.0.0 of `customerio-ios` for you. If you added the `customerio-ios-fcm` package to your Xcode project, remove it. In Xcode, select your project, go to **Package Dependencies**, select `customerio-ios-fcm`, and click **\-**.

    <!-- /tab -->

    <!-- /tabs -->
