Actively maintained
12 documented releases, the latest being v6.3.0 on Jul 29, 2026. Every one of them is a free update for existing license holders.
Supported: All Apps
com.revenuecat.purchases:purchases to the latest version.

Supported: All Apps
"TabBarConfig": {
+ "showMinimize": true
}
Supported: All Apps
"TabBarConfig": {
+ "liquidGlass": true
}
Supported: All Apps
"TabBarConfig": {
+ "floating": true
}
Supported: All Apps
"authConfig": {
"providers": {
"sms": {
+ "otpLength": null // 6 as default
}
}
}
Supported: All Apps
"filterConfig": {
"showLayout": true,
"showSort": true,
"showPriceSlider": false,
"showCategory": false,
"showListingLocation": false,
"showBrand": false,
"showTag": false,
"showFeature": false,
"showAttribute": false,
"supportedSortByOptions": ["date", "price"]
}supportedSortByOptions accepts: onSale, featured, date, price, title, popularity, rating, menu_order, rand, relevance.
Supported: All Apps
Supported: All Apps
Supported: All Apps

Supported: All Apps
Supported: All Apps
showPrice control in product detail settings for flexible price display behavior."productDetail": {
+ "showPrice": true
}
Supported: All Apps
"secureScreenConfig": {
"enable": false,
"screens": []
}enable=true with empty screens to block app-wide.enable=true with screens list to block specific routes only.salesiq_mobilisten to fix iOS build.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 dependencieshttps://domain/product/slug and https://domain/product/slug/ are now supportedconfigs/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 --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,
},
lib/env.dart file as below{
"whatsAppOrderConfig": {
"phoneNumber": "12124567890",
"message": "Hello, I would like to place an order. Here are the details:\n\n{order_details}\n\nTotal Amount: {total_amount}\n\nThank you!",
"paymentMethodIds": [
"lwc-whatsapp-order"
],
"autoOpenWhatsAppAfterOrder": false
}
}{billing_name},Β {billing_email},Β {billing_phone},Β {billing_address},Β {shipping_name},Β {shipping_email},Β {shipping_phone},Β {shipping_address},Β {order_id},Β {order_details},Β {total_amount}
lib/env.dart file as below: "onBoardingConfig": {
'enableOnBoarding': true,
'version': 1,
'autoCropImageByDesign': true,
'isOnlyShowOnFirstTime': true,
'showLanguage': true,
'showLanguagePopup': false,
+ // Currently, only available for version 1
+ 'showSignInSignUp': true,
},
lib/env.dart file "productCard": {
"defaultImage": 'assets/images/no_product_image.png',
'showShortDescription': true,
...
},lib/config/config_en.json file, for example:{
"HorizonLayout":[
{
"layout":"", ///twoColumn, threeColumn, fourColumn, card, saleOff, listTile, quiltedGridTile, carousel
"showShortDescription":true,
...
}
],
"VerticalLayout":{
"layout":"", ///pinterest, menu, card, columns, columnsWithFilter, topProducts, menuWithCustomCategories
"showShortDescription":true,
...
}
"TabBar": [
{
"layout": "category",
"categoryLayout": "card", ///card, sideMenuWithSub, columns, topMenu, animation, grid, sideMenuWithSub,
///sideMenuWithGroup, ///multi-level, ///fancy-scroll
"icon": "assets/icons/tabs/icon-category.png"
},
],
...
}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,
}
...
};

BoxFit for cart items for more consistent visuals.lib/env.dart as below: "cartDetail": {
"minAllowTotalCartValue": 0,
"maxAllowQuantity": 10,
/// Cart Style: normal, style01
"style": "style01",
+ /// Product Image Box Fit. Default: cover
+ "boxFit": "cover",
},
lib/configs/config_en.json and add βvideoβ for βBackgroundβ as below: "Background": {
"height": 1,
"color": "#026DCD",
"image": "https://trello.com/1/cards/5dc3b80702a7994eec2ea5d0/attachments/5dc3b80802a7994eec2ea5d1/download/woman.jpg",
+ "video": "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4",
+ "fit": null, // For Image only
"isScrollable": false
},lib/configs/config_en.json and set βisScrollableβ as below: "Background": {
"height": 0.35,
"color": "#026DCD",
"image": "https://trello.com/1/cards/5dc3b80702a7994eec2ea5d0/attachments/5dc3b80802a7994eec2ea5d1/download/woman.jpg",
+ "isScrollable": true
},lib/env.dart, and then configure as below: {
"type": "image",
"wrap": true,
"horizontalItem": false,
"columns": 4,
"layout": "category",
"marginLeft": 15.0,
"marginRight": 15.0,
"marginTop": 10.0,
"marginBottom": 10.0,
"separateWidth": 24.0,
"shadow": null,
"gradientStyle": false,
"items": [
{
"originalColor": false,
"backgroundColor": null,
"title": null,
"name": null,
"keepDefaultTitle": false,
"colors": [
"ff3cc2bf",
"ff3cc2bf"
]
},
"productCategoryMenuStyle": "tab",
"categoryMenuShowDepth": true
}categoryMenuShowDepthΒ : only support productCategoryMenuStyle that is "tab"lib/env.dart as below: "advanceConfig": {
+ /// systemDefault, exitImmediately, requireConfirmPopup, requireDoubleTap
+ "exitAppType": "requireConfirmPopup",
},

lib/env.dart, and set as below:{
"productCard": {
+ "typeShouldOpenInWebview": [],
"boxFit": "cover",
"boxShadow": null,
"defaultImage": "assets/images/no_product_image.png"
},
} "typeShouldOpenInWebview": [
"grouped",
"auction",
"external",
"subscription",
"appointment",
]lib/env.dart and configure as below: "advanceConfig": {
- /// Disable inAppWebView to use webview_flutter
- /// so webview can navigate to external app.
- /// Useful for webview checkout which need to handle payment in another app.
- "inAppWebView": false,
- 'AlwaysClearWebViewCache': false,
- 'AlwaysClearWebViewCookie': false,
- "WebViewScript": "",
},
+ "webViewConfig": {
+ "webViewMode": "webViewFlutter", // `inAppWebView` or `webViewFlutter`
+ "alwaysClearWebViewCache": false,
+ "alwaysClearWebViewCookie": false,
+ "webViewScript": "",
+ /// List of domains that should open the external app instead of the webview.
+ /// Just add the domain name only, do not add full URL. For example: "example.com"
+ /// If not set, we will use our default list from [kExternalDomains]
+ "externalDomains": [],
+ /// List of domains that should be loaded in the webview.
+ /// If the list is empty, all domains will be opened in the webview if it is
+ /// not in [externalDomains]. Otherwise, if the domain is not in this list, it
+ /// will be opened in the external browser.
+ /// Just add the domain name only, do not add full URL. For example: "example.com"
+ "internalDomains": [],
+ },const kExternalDomains = [
'wa.me', // Whatsapp
'wa.link', // Whatsapp
'api.whatsapp.com', // Whatsapp
'm.me', // Messenger
'messenger.com', // Messenger
'www.messenger.com', // Messenger
'ig.me', // Instagram
'instagram.com', // Instagram
'www.instagram.com', // Instagram
'x.com', // X
'facebook.com', // Facebook
'www.facebook.com', // Facebook
'youtube.com', // Youbute
'www.youtube.com', // Youbute
'youtu.be', // Youbute
't.me', // Telegram
'telegram.org', // Telegram
'play.google.com', // Google play
'apps.apple.com', // App store
'zalo.me', // Zalo
];productListItemHeight config in Animation Category LayoutlineHeight in ProductTitletextarea for WooCommerce product addonsconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
.png?table=block&id=149cbb07-4f62-8048-bc68-dcb0c098b972&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)













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 --ios


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 --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):
6 more releases shipped before v3.16.8. They are part of the same lifetime-update license.