NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3654 most downloaded on pub.dev
Remotely configure every aspect of your paywall and double your revenue.
Last release 15 days ago
23 Sep 2026
Release timing varies
gaps range from 2 weeks to 5 months
Most releases are documented
notes for 52 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
90 releases · first in 2023
Updates Android SDK to 2.8.4 View Android SDK release notes.
Superwall.shared.getProducts(productIds) to fetch StoreProducts (including price, localized price and currency code) outside of a paywall. Unknown identifiers are omitted.Superwall.shared.purchase(productId) to purchase a product through Superwall outside of a paywall, returning the native PurchaseResult. Purchase controller and observer mode behavior matches the native SDKs.Superwall.shared.queryInAppPurchases(), returning owned one-time purchases in the PURCHASED state with their product IDs and purchase tokens, so the benefit can be granted before calling consume().This release moves the Android SDK from 2.7.x to 2.8.x, which updates the Google Play Billing Library from 8.0.0 to 9.1.0. See the Play Billing Library 9 migration guide for the full list of changes. The notes below are copied from the Android SDK 2.8.0 release notes.
Impact: if your app still calls the removed Billing Library APIs (SkuDetails, SkuDetailsParams, querySkuDetailsAsync, queryPurchaseHistoryAsync, BillingClient.SkuType, or the no-arg enablePendingPurchases()), it will no longer compile once it picks up Billing 9 through this SDK. Migrate those call sites to the ProductDetails APIs before upgrading; the migration guide has a mapping of every removed API to its replacement.
Please test your billing and purchasing flows before shipping this upgrade. Because the Billing Library is resolved to a single version across your app, upgrading Superwall also upgrades Billing for everything else that depends on it. If you use Google Play Billing directly, or another subscription provider such as RevenueCat, Adapty or Purchasely, make sure that provider's SDK supports Billing 9 and run through purchase, restore and subscription-status flows end to end.
If you use other subscription management libraries (RevenueCat, Purchasely, Adapty) and they do not support Play Billing 9: you can pin the Billing Client version to 8 in the following way.
Add this to your app module's android/app/build.gradle.kts, outside the android { } block:
configurations.all {
resolutionStrategy.force("com.android.billingclient:billing:8.3.0")
}
Or in Groovy (android/app/build.gradle):
configurations.all {
resolutionStrategy.force 'com.android.billingclient:billing:8.3.0'
}
You can confirm which version you end up with via ./gradlew :app:dependencies --configuration releaseRuntimeClasspath (run from your android/ directory) — look for com.android.billingclient:billing:9.1.0 -> 8.3.0. Billing 8 still satisfies Google's August 31, 2026 requirement, so this is a safe interim state, and no Superwall functionality is lost: the SDK works on both 8.x and 9.x.
Note that a -dontwarn com.android.billingclient.api.QueryPurchaseHistoryParams ProGuard rule is not a fix. It silences the R8 error and lets the build through, but then throws at runtime.
Billing Library 9 requires Android 6.0 (API 23). This plugin already requires minSdkVersion 26, so no change is needed on the Flutter side.
back_button_input message instead of dismissing it directly. Multi-page paywalls navigate back one page, and paywalls with nowhere to go back (root page, single page) close through the standard manual-close path, so single-page paywalls dismiss the same as before. When reroute_back_button is enabled in Paywall settings, the PaywallOptions.onBackPressed callback keeps first refusal before the press is forwarded. Paywalls built on runtimes that predate back_button_input ignore the press until republished.One column per month.
Adds Swift Package Manager (SPM) support for iOS, alongside the existing CocoaPods support. This removes the "plugin does not support Swift Package Ma
Updates Android SDK to 2.7.11 View Android SDK release notes.
preloadDeviceOverrides option to PaywallOptions to override shouldPreload per device tier (Android only)PresentationResult, StoreTransaction, TransactionProduct from the public packagePurchaserInfo.storeIdentifiers leaking the internal Pigeon type instead of the public StoreIdentifiers sealed classUpdates iOS SDK to 4.14.1 View iOS SDK release notes.
appstackId integration attribute for Appstack integration supporttestModeBehavior option to SuperwallOptions to control when the SDK enters test mode (automatic, whenEnabledForUser, never, always)shouldObservePurchases option to SuperwallOptions to observe purchases made outside of SuperwallshouldBypassAppTransactionCheck option to SuperwallOptions (iOS only)maxConfigRetryCount option to SuperwallOptions (iOS only)useMockReviews option to SuperwallOptions (Android only)Updates pigeon to 26.1.5 to support analyzer 9.+.+ versions
Nothing published for this version
Nothing published for this version
Updates iOS SDK to 4.12.7 View iOS SDK release notes.
Nothing published for this version
Updates iOS SDK to 4.10.6 View iOS SDK release notes.
Nothing published for this version
Updates Android SDK to 2.6.1 View Android SDK release notes.
Exposes Superwall.shared.overrideProductsByName variable.
Superwall.shared.overrideProductsByName variable.Updates iOS SDK to 4.7.0 View iOS SDK release notes.
overrideProductsByName to PaywallOptions - allows globally overriding products on any paywall by product name.shouldShowWebPurchaseConfirmationAlert to PaywallOptions - shows localized alert confirming successful web checkout purchases (iOS only).Nothing published for this version
Adds params mapping back to EventInfo for easier forwarding to analytics
params mapping back to EventInfo for easier forwarding to analyticsUpdates iOS SDK to 4.5.2 View iOS SDK release notes.
shouldShowWebRestorationAlert wasn't getting through to the iOS PaywallOptions.Exposes shouldShowWebRestorationAlert in PaywallOptions.
shouldShowWebRestorationAlert in PaywallOptions.Expose getPresentationResult method
getPresentationResult methodUpdates Android SDK to 2.1.2 View Android SDK release notes.
registerPlacement blockingExposes ConfirmedAssignments and StoreProduct to superwallkit_flutter.
ConfirmedAssignments and StoreProduct to superwallkit_flutter.Superwall.shared.getDeviceAttributes(), which returns the device attributes that are used when evaluating audience filters.SuperwallEventInfo didn't contain all expected variables.Fixes issue with paywall presentation handlers not working.
Fixes issue with iOS side of project not building.
Updates iOS SDK to 4.3.11 View iOS SDK release notes
Updates iOS SDK to 4.3.8 View iOS SDK release notes
Updates kotlin version of the underlying Android SDK to 2.0.21
Adds support for web checkout.
Updates kotlin version of the underlying Android SDK to 2.0.21
Updates iOS SDK to 4.3.5 View iOS SDK release notes
Updates iOS SDK to 2.1.0-beta.2 View iOS SDK release notes
Updates Android SDK to 2.0.8 View Android SDK release notes
Updates Android SDK to 2.0.6 View Android SDK release notes
restorePurchases functionThis could include some potentially breaking changes. If you find some, please open an issue or reach out to the team.
Updates iOS SDK to 4.0.6 View iOS SDK release notes
Fixes issue when accessing presentedByPlacement* properties from a custom placement
presentedByPlacement* properties from a custom placementNothing published for this version
Update SuperwallPlacement to SuperwallEvent
SuperwallPlacement to SuperwallEventPlacementType to EventTypeUpdates onDismissHandler to now receive a PaywallResult also
handleSuperwallPlacement(SuperwallPlacementInfo eventInfo) has been replaced with handleSuperwallEvent(SuperwallEventtInfo eventInfo)Adds awaiting on shared instance of BridgeCreator to avoid crashes when plugin is yet to attach
Updates iOS SDK to 1.5.4 View iOS SDK release notes
Upgrades iOS SDK to 4.0.0 View iOS SDK release notes
Adds entitlements to subscriptions, allowing you to set them using:
await Superwall.shared.setSubscriptionStatus(status) by passing in one of:
SubscriptionStatusActive(entitlements: entitlements))
SubscriptionStatusInactiveSubscriptionStatusUnknownSuperwall.shared.subscriptionStatusSuperwallBuilder which will automatically update the state whenever subscription status changesSuperwall.shared.registerEvent has now been replaced with Superwall.shared.registerPlacementhandleSuperwallEvent(SuperwallEventInfo eventInfo) has been replaced with handleSuperwallPlacement(SuperwallPlacementInfo placementInfo)PaywallPresentationHandler.onDismiss now has 2 arguments, PaywallInfo and PaywallResultAdds entitlements to subscriptions, allowing you to set them using:
await Superwall.shared.setSubscriptionStatus(status) by passing in one of:
SubscriptionStatusActive(entitlements: entitlements))
SubscriptionStatusInactiveSubscriptionStatusUnknownSuperwall.shared.subscriptionStatusSuperwallBuilder which will automatically update the state whenever subscription status changesSuperwall.shared.registerEvent has now been replaced with Superwall.shared.registerPlacementhandleSuperwallEvent(SuperwallEventInfo eventInfo) has been replaced with handleSuperwallPlacement(SuperwallPlacementInfo placementInfo)Adds awaiting on shared instance of BridgeCreator to avoid crashes when plugin is yet to attach
Fixes an issue on iOS where the plugin could get registered multiple times resulting in a MissingPluginException.
MissingPluginException.Fixes a compatibility issue with WorkManager and other isolate-running libraries where the plugin would detach and cause a Missing Activity or BridgeC
WorkManager and other isolate-running libraries where the plugin would detach and cause a Missing Activity or BridgeCreator exceptionUpgrades iOS SDK to 3.12.1 View iOS SDK release notes
Upgrades iOS SDK to 3.12.0 View iOS SDK release notes
PaywallInfoBridge and other bridges throwing NPE when reattaching to activities from deep sleep.Adds setLocaleIdentifier(_:) and getLocaleIdentifier().
setLocaleIdentifier(_:) and getLocaleIdentifier().Upgrades Android SDK to 1.3.1 View Android SDK release notes
Updates project linting and formatting to be consistent with the Flutter style
passIdentifiersToPlayStore to SuperwallOptions which allows you to pass user identifiers to the Play Store purchases as account identifiers. This is useful for tracking user purchases in the Play Store console.Upgrades Android SDK to 1.3.0 View Android SDK release notes
confirmAllAssignments method to Superwall which confirms assignments for all placements and returns an array of all confirmed experiment assignments. Note that the assignments may be different when a placement is registered due to changes in user, placement, or device parameters used in audience filters.Upgrades iOS SDK to 3.9.1. View iOS SDK release notes
SuperwallOption collectAdServicesAttribution for iOS. When true, this collects the AdServices attribute token, which will be process by our backend. Adds adServicesTokenRequest_start, adServicesTokenRequest_complete, and adServicesTokenRequest_fail.getConfigurationStatus(), which replaces getIsConfigured(). This returns either ConfigurationStatusPending, ConfigurationStatusConfigured, or ConfigurationStatusFailed.Upgrades Android SDK to 1.2.4 View Android SDK release notes
setDelegate where plugins with multiple isolates are usedUpgrades Android SDK to 1.2.3 View Android SDK release notes
Upgrades Android SDK to 1.2.0 View Android SDK release notes
compileSDKVersion to 34 fixing build issues on Android.Upgrades Android SDK to 1.1.8. View Android SDK release notes
Upgrades iOS SDK to 3.6.6. View iOS SDK release notes
Upgrades iOS SDK to 3.6.5. View iOS SDK release notes
Upgrades Android SDK to 1.1.6. View Android SDK release notes
Upgrades Android SDK to 1.1.5. View Android SDK release notes
Upgrades Android SDK to 1.1.4. View Android SDK release notes
identityAlias SuperwallEvent.Fixes crash that occurred if an Android foreground service was started and the app was relaunched from a cold start.
Fixes LocalNotification issue that was trying to initialise an int with a double.
LocalNotification issue that was trying to initialise an int with a double.Your coding agent can read these notes before it upgrades. Set up the MCP server →