Actively maintained
12 documented releases, the latest being v6.5.0 on Oct 27, 2026. Every one of them is a free update for existing license holders.

android/build.gradle.kts, android/app/proguard-rules.pro. If you see this warning on Google Play, apply the same two changes to your project.
startTime and endTime are optional. Include Z or an offset, values without it are treated as UTC.endTime is only an estimate for the countdown, it does not lift the maintenance. Set enable to false (or remove the key) to end it.startTime when possible, so devices already have it cached when the maintenance starts.maintenanceConfig is re-applied mid-session. Other Remote Config keys still apply on the next app open.enableRemoteConfigFirebase lets Remote Config override other config keys too.enableRemoteConfigFirebase is true in env.dart and the maintenanceConfig key is published with "enable": true.+ "enableRemoteConfigFirebase": true,maintenanceConfig key in Firebase Remote Config:{
"enable": true,
"title": "Under Maintenance",
"message": "We'll be back shortly. Thank you for your patience!",
"startTime": "2026-10-07T02:00:00Z",
"endTime": "2026-10-07T04:00:00Z"
}
android/app/src/main/res/values-v31/styles.xml, values-night-v31/styles.xml, configs/native_splash.yaml (new android_12 section) and configs/splash_android12_transparent.png.android_12 section in configs/native_splash.yaml. If android_12.image is removed, the launcher icon shows again on Android 12+.dart run flutter_native_splash:create --path=configs/native_splash.yaml is safe and keeps the icon hidden.android_12.image with a 1152x1152 image whose content fits within a centered 768px circle.autoSelectFirstAttribute is false.levels in Firebase Remote Config had invalid values. Invalid entries are now skipped, and an error in the post-login Firebase/Loyalty step no longer blocks a successful login.configs/env.props file (if not input, the app will crash):
compileSdk from 36 to 37flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):

"advanceConfig": {
"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
+ "forcedUpdate": false,
+ "dialogTitle": null,
+ "dialogText": null,
+ "updateButtonText": null,
+ "dismissButtonText": null,
}
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": false,
"dialogTitle": null,
"dialogText": null,
"updateButtonText": null,
"dismissButtonText": null
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": false,
"dialogTitle": "New version availale",
"dialogText": "Would you like to update it now?",
"updateButtonText": "Update Now",
"dismissButtonText": null
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": true,
"dialogTitle": "App Update Required",
"dialogText": "Please update to continue using the app",
"updateButtonText": "Update",
"dismissButtonText": null
}env.dartfacebookAppId before login"loginSetting": {
"showGoogleLogin": true,
+ "googleWebClientId": "YOUR_GOOGLE_WEB_CLIENT_ID.apps.googleusercontent.com",
}configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
Supported: All Apps
com.revenuecat.purchases:purchases to the latest version.

salesiq_mobilisten to fix iOS build.configs/env.props file (if not input, the app will crash):flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
Supported: All frameworks

Supported: All frameworks

Supported: All frameworks | β οΈ BREAKING CHANGE
authConfig structure to support flexible sign-up fields and modern provider config.+ "authConfig": {
+ "defaultMethod": "emailPassword",
+ "providers": { ... },
+ "registration": {
+ "email": {"show": true, "require": true},
+ "firstName": {"show": true, "require": true},
+ "lastName": {"show": true, "require": true},
+ "phone": {"show": false, "require": false},
+ "username": {"show": true, "require": false},
+ },
+ }Supported: All frameworks
Supported: All frameworks | β οΈ BREAKING CHANGE
advanceConfig into dedicated currencyConfig."advanceConfig": {
- "DefaultCurrency": ...,
- "Currencies": ...,
- "EnableWOOCSCurrencySwitcher": true
}
+ "currencyConfig": {
+ "defaultCurrencyCode": "USD",
+ "currencies": [...],
+ "enableWOOCSCurrencySwitcher": true,
+ }MODIFY_AUDIO_SETTINGS).configs/env.props file (if not input, the app will crash):
Supported: All frameworks
easy_paypal package to replace the old PayPal Data Collector SDK (com.paypal.android.sdk:data-collector) with the policy-compliant Braintree version (com.braintreepayments.api:data-collector:4.31.0). This resolves Google Play rejections caused by the old SDK collecting device location without prominent disclosure.Supported: All frameworks
local_auth_android to a fixed version to resolve a build failure introduced by Android Gradle Plugin 9+ (AGP 9), where local_auth_android was missing compileSdk in its build.gradle.kts. This fixes the NullPointerException crash during Gradle configuration.Supported: All frameworks (Extended source code only)
stripe_android and stripe_ios requiring compileSdk β₯ 36 due to updated androidx dependencies (activity, core-ktx, browser, navigationevent), while the project was still targeting android-35.local_auth_android to a compatible version to fix build failures with Android Gradle Plugin 9+.stripe_android and stripe_ios required compileSdk β₯ 36 due to updated androidx dependenciesconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
connectivity_plus packageconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --iosflutter_facebook_auth and facebook_app_events to latest versions β requires Xcode 26.x or later to build for iOScategoryMenuShowDepth config missing from some category menu layoutsconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ioslib/env.dart file as below: "splashScreen": {
"enable": true,
/// duration in milliseconds, used for all types except "rive", "flare" and "video"
"duration": 2000,
/// Type should be: 'fade-in', 'zoom-in', 'zoom-out', 'top-down', 'rive',
/// 'flare', 'static', 'video'
"type": "video",
"image": "assets/videos/splashscreen.mp4", // https://demo.mstore.io/wp-content/uploads/2025/09/splashscreen.mp4
/// AnimationName's is used for 'rive' and 'flare' type
"animationName": "fluxstore",
"boxFit": "contain",
"backgroundColor": "#ffffff",
"paddingTop": 0,
"paddingBottom": 0,
"paddingLeft": 0,
"paddingRight": 0,
},OneSignalNotificationServiceExtensionΒ to adapt with Xcode 26configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ioscompileSdkVersion 35Β toΒ compileSdkVersion 36ndkVersion "25.1.8937393"Β toΒ ndkVersion "28.1.13356709"Edge-to-edge may not display for all users:
Your app uses deprecated APIs or parameters for edge-to-edge:


lib/env.dart as belowMap<String, dynamic> environment = {
...
"offlineModeConfig": {
"enable": true,
}
...
};lib/env.dart as below: "advanceConfig": {
+ /// systemDefault, exitImmediately, requireConfirmPopup, requireDoubleTap
+ "exitAppType": "requireConfirmPopup",
},

configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ioslib/env.dart file...
"advanceConfig": {
...
"OptimizeImage": {
"enable": true,
"plugin": "optimole" // Support "re-generate-image" plugin (old) & "optimole" plugin (new)
},
...
}
...configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
15 more releases shipped before v5.3.0. They are part of the same lifetime-update license.