Unified StoreReplacementMode API#1746
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7a05c4d. Configure here.
tonidero
left a comment
There was a problem hiding this comment.
I think this looks good!
|
@tonidero One thing I noticed here. If you use the double-deprecated This sounds like a pretty good way to go to me, do you see any issues with that? |
|
That makes sense to me indeed 👍 Thanks for checking! |
**This is an automatic release.** ## RevenueCat SDK ### ✨ New Features * Unified StoreReplacementMode API (#1746) via Will Taylor (@fire-at-will) ### 📦 Dependency Updates * [RENOVATE] Update dependency gradle to v8.14.5 (#1749) via RevenueCat Git Bot (@RCGitBot) * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.6.0 (#1748) via RevenueCat Git Bot (@RCGitBot) * [Android 10.5.0](https://github.com/RevenueCat/purchases-android/releases/tag/10.5.0) * [Android 10.4.0](https://github.com/RevenueCat/purchases-android/releases/tag/10.4.0) * [iOS 5.72.0](https://github.com/RevenueCat/purchases-ios/releases/tag/5.72.0) * [iOS 5.71.0](https://github.com/RevenueCat/purchases-ios/releases/tag/5.71.0) * [Web 1.39.0](https://github.com/RevenueCat/purchases-js/releases/tag/1.39.0) * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.5.0 (#1747) via RevenueCat Git Bot (@RCGitBot) ### 🔄 Other Changes * Bump fastlane from 2.233.1 to 2.234.0 (#1751) via dependabot[bot] (@dependabot[bot]) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Primarily a release/version bump across Flutter, Android, iOS/macOS, and web metadata with no functional code changes beyond updated version strings and documented dependency updates. > > **Overview** > Publishes release `10.1.0` by bumping version numbers across `pubspec.yaml`, Android/iOS/macOS build specs, and web/native plugin version constants. > > Updates release documentation (`CHANGELOG.md`, `CHANGELOG-LATEST.md`, `VERSIONS.md`, `.version`) to include the `Unified StoreReplacementMode` feature and refreshed dependency versions, and aligns `purchases_ui_flutter` to depend on `purchases_flutter ^10.1.0`. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 184b573. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->

Introduces the new unified
StoreReplacementModeAPIs to the React Native SDK.API Changes
GoogleProductChangeInfoandGoogleProrationModetypesStoreProductChangeInfoandStoreReplacementModetypesStoreProductChangeInfo? productChangeInfoas a param for the PurchaseParam builder functions.Testing
Purchase Tester Updates
Adds a new screen to the purchase tester app that allows you to test product changes.
Note
Medium Risk
Changes the purchase argument contract across Dart↔Android bridging by replacing
googleProrationModewithstoreReplacementMode, which could affect upgrade/downgrade behavior if mappings or native expectations differ. Most changes are additive/deprecations with updated tests, but they touch purchase flow paths.Overview
Introduces a unified, store-agnostic product-change API by adding
StoreProductChangeInfo+StoreReplacementModeand wiring it intoPurchaseParamsbuilders (while deprecatingGoogleProductChangeInfo/GoogleProrationMode).Updates purchase calls to send
storeReplacementMode(string) through the Flutter method channel and Android plugin, including mapping legacy Google proration ints to the new enum, and ensuresPurchaseParams.productChangeInfotakes precedence over legacy fields. Adds API tester coverage, a new purchase-tester screen for manual product-change testing, and updates/extends unit tests for the new arguments and types.Reviewed by Cursor Bugbot for commit f6d89a4. Bugbot is set up for automated code reviews on this repo. Configure here.