From c0453ee3bad089fe3dd67d1b6db12f87487c5d0d Mon Sep 17 00:00:00 2001 From: Kevin Herembourg Date: Mon, 16 Feb 2026 10:14:41 +0100 Subject: [PATCH 1/4] Release 5.7.0: Update iOS and Android SDKs to 5.7.0 - Bump Flutter SDK version to 5.7.0 - Update iOS Purchasely SDK to 5.7.0 - Update Android Purchasely SDK to 5.7.0 Co-Authored-By: Claude Opus 4.6 --- VERSIONS.md | 1 + purchasely/CHANGELOG.md | 3 +++ purchasely/android/build.gradle | 2 +- .../purchasely_flutter/PurchaselyFlutterPlugin.kt | 2 +- purchasely/example/ios/Podfile.lock | 8 ++++---- purchasely/example/pubspec.lock | 2 +- purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift | 2 +- purchasely/ios/purchasely_flutter.podspec | 2 +- purchasely/pubspec.yaml | 2 +- purchasely_android_player/CHANGELOG.md | 3 +++ purchasely_android_player/android/build.gradle | 2 +- purchasely_android_player/pubspec.yaml | 2 +- purchasely_google/CHANGELOG.md | 3 +++ purchasely_google/android/build.gradle | 2 +- purchasely_google/pubspec.yaml | 2 +- 15 files changed, 24 insertions(+), 14 deletions(-) diff --git a/VERSIONS.md b/VERSIONS.md index c5d2dbc..3d0c345 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -46,3 +46,4 @@ This file provides the underlying native SDK versions that the React Native SDK | 5.6.0 | 5.6.0 | 5.6.0 | | 5.6.1 | 5.6.2 | 5.6.0 | | 5.6.2 | 5.6.4 | 5.6.0 | +| 5.7.0 | 5.7.0 | 5.7.0 | diff --git a/purchasely/CHANGELOG.md b/purchasely/CHANGELOG.md index a705342..19bc938 100644 --- a/purchasely/CHANGELOG.md +++ b/purchasely/CHANGELOG.md @@ -1,3 +1,6 @@ +## 5.7.0 +Full changelog available at https://docs.purchasely.com/changelog/57 + ## 5.6.2 - Updated iOS Purchasely SDK to 5.6.4 diff --git a/purchasely/android/build.gradle b/purchasely/android/build.gradle index 4a5c62b..235330d 100644 --- a/purchasely/android/build.gradle +++ b/purchasely/android/build.gradle @@ -58,7 +58,7 @@ dependencies { api 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' - api 'io.purchasely:core:5.6.0' + api 'io.purchasely:core:5.7.0' // Test dependencies testImplementation 'junit:junit:4.13.2' diff --git a/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt b/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt index 5552cfe..f3b3114 100644 --- a/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt +++ b/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt @@ -507,7 +507,7 @@ class PurchaselyFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, .userId(userId) .build() - Purchasely.sdkBridgeVersion = "5.6.2" + Purchasely.sdkBridgeVersion = "5.7.0" Purchasely.appTechnology = PLYAppTechnology.FLUTTER Purchasely.start { isConfigured, error -> diff --git a/purchasely/example/ios/Podfile.lock b/purchasely/example/ios/Podfile.lock index 9221a5f..77087f6 100644 --- a/purchasely/example/ios/Podfile.lock +++ b/purchasely/example/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - Flutter (1.0.0) - - Purchasely (5.6.4) + - Purchasely (5.7.0) - purchasely_flutter (1.2.4): - Flutter - - Purchasely (= 5.6.4) + - Purchasely (= 5.7.0) DEPENDENCIES: - Flutter (from `Flutter`) @@ -21,8 +21,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 - Purchasely: f7640277e49e305c5d625d2142b060893d1001de - purchasely_flutter: bcc070c1ef951b345edc809f2024c84ea4cff8c8 + Purchasely: 1e0f35fc73e9a28c10baee670ba0c88d95469075 + purchasely_flutter: 2cab85d5f58e91a75bc23a59fe0a51ea4a25aa86 PODFILE CHECKSUM: 4a5d3c75c41739c31c5593a2d45e26f203a0b464 diff --git a/purchasely/example/pubspec.lock b/purchasely/example/pubspec.lock index 102ca38..558ac5a 100644 --- a/purchasely/example/pubspec.lock +++ b/purchasely/example/pubspec.lock @@ -68,7 +68,7 @@ packages: path: ".." relative: true source: path - version: "5.6.2" + version: "5.7.0" sky_engine: dependency: transitive description: flutter diff --git a/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift b/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift index 5d9a9b6..2facc02 100644 --- a/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift +++ b/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift @@ -320,7 +320,7 @@ public class SwiftPurchaselyFlutterPlugin: NSObject, FlutterPlugin { return } - Purchasely.setSdkBridgeVersion("5.6.2") + Purchasely.setSdkBridgeVersion("5.7.0") Purchasely.setAppTechnology(PLYAppTechnology.flutter) let logLevel = PLYLogger.PLYLogLevel(rawValue: (arguments["logLevel"] as? Int) ?? PLYLogger.PLYLogLevel.debug.rawValue) ?? .debug diff --git a/purchasely/ios/purchasely_flutter.podspec b/purchasely/ios/purchasely_flutter.podspec index 6f0bfe4..5f447ae 100644 --- a/purchasely/ios/purchasely_flutter.podspec +++ b/purchasely/ios/purchasely_flutter.podspec @@ -21,7 +21,7 @@ Flutter Plugin for Purchasely SDK s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } s.swift_version = '5.0' - s.dependency 'Purchasely', '5.6.4' + s.dependency 'Purchasely', '5.7.0' s.static_framework = true end diff --git a/purchasely/pubspec.yaml b/purchasely/pubspec.yaml index 85eec56..9482a7e 100644 --- a/purchasely/pubspec.yaml +++ b/purchasely/pubspec.yaml @@ -1,6 +1,6 @@ name: purchasely_flutter description: Purchasely is a solution to ease the integration and boost your In-App Purchase & Subscriptions on the App Store, Google Play Store and Huawei App Gallery. -version: 5.6.2 +version: 5.7.0 homepage: https://www.purchasely.com/ environment: diff --git a/purchasely_android_player/CHANGELOG.md b/purchasely_android_player/CHANGELOG.md index c88f9a4..b96779f 100644 --- a/purchasely_android_player/CHANGELOG.md +++ b/purchasely_android_player/CHANGELOG.md @@ -1,3 +1,6 @@ +## 5.7.0 +Full changelog available at https://docs.purchasely.com/changelog/57 + ## 5.6.2 - Updated iOS Purchasely SDK to 5.6.4 diff --git a/purchasely_android_player/android/build.gradle b/purchasely_android_player/android/build.gradle index e6eb807..55efd34 100644 --- a/purchasely_android_player/android/build.gradle +++ b/purchasely_android_player/android/build.gradle @@ -49,5 +49,5 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - api 'io.purchasely:player:5.6.0' + api 'io.purchasely:player:5.7.0' } diff --git a/purchasely_android_player/pubspec.yaml b/purchasely_android_player/pubspec.yaml index 622e548..c567533 100644 --- a/purchasely_android_player/pubspec.yaml +++ b/purchasely_android_player/pubspec.yaml @@ -1,6 +1,6 @@ name: purchasely_android_player description: Purchasely Player dependency for Android -version: 5.6.2 +version: 5.7.0 homepage: https://www.purchasely.com/ environment: diff --git a/purchasely_google/CHANGELOG.md b/purchasely_google/CHANGELOG.md index c88f9a4..b96779f 100644 --- a/purchasely_google/CHANGELOG.md +++ b/purchasely_google/CHANGELOG.md @@ -1,3 +1,6 @@ +## 5.7.0 +Full changelog available at https://docs.purchasely.com/changelog/57 + ## 5.6.2 - Updated iOS Purchasely SDK to 5.6.4 diff --git a/purchasely_google/android/build.gradle b/purchasely_google/android/build.gradle index 30beea0..2f76206 100644 --- a/purchasely_google/android/build.gradle +++ b/purchasely_google/android/build.gradle @@ -49,5 +49,5 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - api 'io.purchasely:google-play:5.6.0' + api 'io.purchasely:google-play:5.7.0' } diff --git a/purchasely_google/pubspec.yaml b/purchasely_google/pubspec.yaml index c1aec24..ed0bc8c 100644 --- a/purchasely_google/pubspec.yaml +++ b/purchasely_google/pubspec.yaml @@ -1,6 +1,6 @@ name: purchasely_google description: Purchasely Google Play Billing dependency for Android -version: 5.6.2 +version: 5.7.0 homepage: https://www.purchasely.com/ environment: From 7add42a71273818e816b303cdc531bb1f0fdb294 Mon Sep 17 00:00:00 2001 From: Kevin Herembourg Date: Mon, 16 Feb 2026 10:26:44 +0100 Subject: [PATCH 2/4] fix: bump Android minSdkVersion to 23 and fix CI for unpublished dependency - io.purchasely:core:5.7.0 requires minSdkVersion 23 (was 21/16) - Update minSdkVersion in all plugin and example build.gradle files - Bump example app native SDK deps to 5.7.0 - Add pubspec_overrides in CI for purchasely_google (depends on unpublished purchasely_flutter ^5.7.0) Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 12 ++++++++++++ purchasely/android/build.gradle | 2 +- purchasely/example/android/app/build.gradle | 6 +++--- purchasely_android_player/android/build.gradle | 2 +- purchasely_google/android/build.gradle | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea43de3..6ca13fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,12 @@ jobs: working-directory: purchasely run: flutter pub get + - name: Override purchasely_flutter dependency to local path + run: | + echo "dependency_overrides:" > purchasely_google/pubspec_overrides.yaml + echo " purchasely_flutter:" >> purchasely_google/pubspec_overrides.yaml + echo " path: ../purchasely" >> purchasely_google/pubspec_overrides.yaml + - name: Install dependencies (purchasely_google) working-directory: purchasely_google run: flutter pub get @@ -90,6 +96,12 @@ jobs: working-directory: purchasely run: flutter test --coverage || echo "No tests found, skipping..." + - name: Override purchasely_flutter dependency to local path + run: | + echo "dependency_overrides:" > purchasely_google/pubspec_overrides.yaml + echo " purchasely_flutter:" >> purchasely_google/pubspec_overrides.yaml + echo " path: ../purchasely" >> purchasely_google/pubspec_overrides.yaml + - name: Install dependencies (purchasely_google) working-directory: purchasely_google run: flutter pub get diff --git a/purchasely/android/build.gradle b/purchasely/android/build.gradle index 235330d..6a7facd 100644 --- a/purchasely/android/build.gradle +++ b/purchasely/android/build.gradle @@ -42,7 +42,7 @@ android { } defaultConfig { - minSdkVersion 21 + minSdkVersion 23 } testOptions { diff --git a/purchasely/example/android/app/build.gradle b/purchasely/example/android/app/build.gradle index c457412..c754376 100644 --- a/purchasely/example/android/app/build.gradle +++ b/purchasely/example/android/app/build.gradle @@ -42,7 +42,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.purchasely.demo" - minSdkVersion flutter.minSdkVersion + minSdkVersion 23 targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName @@ -62,6 +62,6 @@ flutter { } dependencies { - implementation 'io.purchasely:google-play:5.6.0' - implementation 'io.purchasely:player:5.6.0' + implementation 'io.purchasely:google-play:5.7.0' + implementation 'io.purchasely:player:5.7.0' } diff --git a/purchasely_android_player/android/build.gradle b/purchasely_android_player/android/build.gradle index 55efd34..1afe021 100644 --- a/purchasely_android_player/android/build.gradle +++ b/purchasely_android_player/android/build.gradle @@ -42,7 +42,7 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 23 } } diff --git a/purchasely_google/android/build.gradle b/purchasely_google/android/build.gradle index 2f76206..370e5c6 100644 --- a/purchasely_google/android/build.gradle +++ b/purchasely_google/android/build.gradle @@ -42,7 +42,7 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 23 } } From 6a494df2279369044a951044f8fbe88bbdcabe2d Mon Sep 17 00:00:00 2001 From: Kevin Herembourg Date: Mon, 16 Feb 2026 10:46:32 +0100 Subject: [PATCH 3/4] fix: resolve PR review comments - Fix tab indentation to spaces in PurchaselyFlutterPlugin.kt - Fix tab indentation to spaces in SwiftPurchaselyFlutterPlugin.swift - Add descriptive changelog entries for all three packages Co-Authored-By: Claude Opus 4.6 --- purchasely/CHANGELOG.md | 3 +++ .../purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt | 2 +- purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift | 2 +- purchasely_android_player/CHANGELOG.md | 1 + purchasely_google/CHANGELOG.md | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/purchasely/CHANGELOG.md b/purchasely/CHANGELOG.md index 19bc938..7e2a47b 100644 --- a/purchasely/CHANGELOG.md +++ b/purchasely/CHANGELOG.md @@ -1,4 +1,7 @@ ## 5.7.0 +- Updated iOS Purchasely SDK to 5.7.0. +- Updated Android Purchasely Core SDK to 5.7.0. +- Updated bridge version to 5.7.0. Full changelog available at https://docs.purchasely.com/changelog/57 ## 5.6.2 diff --git a/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt b/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt index f3b3114..530cc6a 100644 --- a/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt +++ b/purchasely/android/src/main/kotlin/io/purchasely/purchasely_flutter/PurchaselyFlutterPlugin.kt @@ -507,7 +507,7 @@ class PurchaselyFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, .userId(userId) .build() - Purchasely.sdkBridgeVersion = "5.7.0" + Purchasely.sdkBridgeVersion = "5.7.0" Purchasely.appTechnology = PLYAppTechnology.FLUTTER Purchasely.start { isConfigured, error -> diff --git a/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift b/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift index 2facc02..1be844e 100644 --- a/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift +++ b/purchasely/ios/Classes/SwiftPurchaselyFlutterPlugin.swift @@ -320,7 +320,7 @@ public class SwiftPurchaselyFlutterPlugin: NSObject, FlutterPlugin { return } - Purchasely.setSdkBridgeVersion("5.7.0") + Purchasely.setSdkBridgeVersion("5.7.0") Purchasely.setAppTechnology(PLYAppTechnology.flutter) let logLevel = PLYLogger.PLYLogLevel(rawValue: (arguments["logLevel"] as? Int) ?? PLYLogger.PLYLogLevel.debug.rawValue) ?? .debug diff --git a/purchasely_android_player/CHANGELOG.md b/purchasely_android_player/CHANGELOG.md index b96779f..df22ca6 100644 --- a/purchasely_android_player/CHANGELOG.md +++ b/purchasely_android_player/CHANGELOG.md @@ -1,4 +1,5 @@ ## 5.7.0 +- Updated Android Purchasely Player SDK to 5.7.0. Full changelog available at https://docs.purchasely.com/changelog/57 ## 5.6.2 diff --git a/purchasely_google/CHANGELOG.md b/purchasely_google/CHANGELOG.md index b96779f..405e8e8 100644 --- a/purchasely_google/CHANGELOG.md +++ b/purchasely_google/CHANGELOG.md @@ -1,4 +1,5 @@ ## 5.7.0 +- Updated Android Purchasely Google Play SDK to 5.7.0. Full changelog available at https://docs.purchasely.com/changelog/57 ## 5.6.2 From 76b2442b0d835b0d1a032612991d578ebf09497e Mon Sep 17 00:00:00 2001 From: Kevin Herembourg Date: Mon, 16 Feb 2026 10:48:17 +0100 Subject: [PATCH 4/4] docs: update RELEASE_GUIDE.md with lessons from 5.7.0 release - Document publish.sh known issues (hardcoded changelog URL, tab indentation) - Add Step 1b for changelog content updates - Add Step 3b for Android minSdkVersion checks - Document example app build.gradle as a file to update - Update Files Reference and Quick Reference Checklist Co-Authored-By: Claude Opus 4.6 --- RELEASE_GUIDE.md | 53 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/RELEASE_GUIDE.md b/RELEASE_GUIDE.md index 3584295..a2d120c 100644 --- a/RELEASE_GUIDE.md +++ b/RELEASE_GUIDE.md @@ -57,6 +57,24 @@ This script will automatically: - Add a changelog entry for the new version in all `CHANGELOG.md` files (if not already present) - Run `flutter pub publish --dry-run` to validate +> **Note:** The `--dry-run` for `purchasely_google` will fail because it depends on `purchasely_flutter ^{VERSION}` which isn't published yet. This is expected. + +> **Known issues with publish.sh:** +> - The changelog URL is hardcoded to `/changelog/56`. You must manually update it to match the version (e.g., `/changelog/57` for 5.7.0). +> - The bridge version lines use tab indentation, but the codebase uses spaces. Fix the indentation in `SwiftPurchaselyFlutterPlugin.swift` and `PurchaselyFlutterPlugin.kt` after running the script. +> - The changelog entries only contain the link. Add a brief package-specific summary of changes (see Step 1b). + +### Step 1b: Update Changelogs + +After running `publish.sh`, update each `CHANGELOG.md` with: +1. The correct changelog URL for this version +2. A brief summary of changes relevant to each package + +For example: +- `purchasely/CHANGELOG.md`: mention iOS SDK, Android SDK, and bridge version updates +- `purchasely_google/CHANGELOG.md`: mention Google Play SDK update only +- `purchasely_android_player/CHANGELOG.md`: mention Player SDK update only + ### Step 2: Update iOS SDK Version (if needed) @@ -70,16 +88,26 @@ s.dependency 'Purchasely', '5.6.4' ### Step 3: Update Android SDK Version (if needed) -If the Android Purchasely SDK version needs to be updated, edit the `build.gradle` file in **each package folder**: +If the Android Purchasely SDK version needs to be updated, edit the `build.gradle` file in **each package folder** and the example app: + +**Plugin files to update:** +- `purchasely/android/build.gradle` — `io.purchasely:core` +- `purchasely_google/android/build.gradle` — `io.purchasely:google-play` +- `purchasely_android_player/android/build.gradle` — `io.purchasely:player` + +**Example app file to update:** +- `purchasely/example/android/app/build.gradle` — `io.purchasely:google-play` and `io.purchasely:player` + +### Step 3b: Check Android minSdkVersion (if needed) + +When bumping the native Android SDK, check if the new version requires a higher `minSdkVersion`. If so, update it in **all** `build.gradle` files: -**Files to update:** - `purchasely/android/build.gradle` - `purchasely_google/android/build.gradle` - `purchasely_android_player/android/build.gradle` +- `purchasely/example/android/app/build.gradle` -```gradle -implementation 'io.purchasely:purchasely:5.6.0' -``` +> **Example:** `io.purchasely:core:5.7.0` raised the minimum from 21 to 23. ### Step 4: Update VERSIONS.md @@ -181,9 +209,13 @@ git push origin v{VERSION} |------|----------------| | `VERSIONS.md` | Always - add new version row | | `purchasely/ios/purchasely_flutter.podspec` | When iOS SDK version changes | -| `purchasely/android/build.gradle` | When Android SDK version changes | -| `purchasely_google/android/build.gradle` | When Android SDK version changes | -| `purchasely_android_player/android/build.gradle` | When Android SDK version changes | +| `purchasely/android/build.gradle` | When Android SDK version changes (dependency + minSdkVersion) | +| `purchasely_google/android/build.gradle` | When Android SDK version changes (dependency + minSdkVersion) | +| `purchasely_android_player/android/build.gradle` | When Android SDK version changes (dependency + minSdkVersion) | +| `purchasely/example/android/app/build.gradle` | When Android SDK version changes (google-play + player deps, minSdkVersion) | +| All `CHANGELOG.md` files | Fix URL and add package-specific summaries after publish.sh | +| `SwiftPurchaselyFlutterPlugin.swift` | Fix tab→space indentation after publish.sh | +| `PurchaselyFlutterPlugin.kt` | Fix tab→space indentation after publish.sh | --- @@ -225,8 +257,13 @@ flutter pub get ``` □ Run: sh publish.sh {VERSION} +□ Fix changelog URLs (publish.sh hardcodes /changelog/56) +□ Add package-specific changelog summaries +□ Fix tab→space indentation in SwiftPurchaselyFlutterPlugin.swift and PurchaselyFlutterPlugin.kt □ Update purchasely/ios/purchasely_flutter.podspec (iOS SDK version, if needed) □ Update all build.gradle files (Android SDK version, if needed) +□ Update purchasely/example/android/app/build.gradle (Android SDK deps, if needed) +□ Check Android minSdkVersion requirements (if Android SDK version changed) □ Update VERSIONS.md with new version row □ Run: flutter pub get && pod update (in example/ios) □ Run: flutter test && flutter analyze lib/