From d5bbbe9950e8e920554ef09cafe4eb859a398876 Mon Sep 17 00:00:00 2001 From: RevenueCat Git Bot <72824662+RCGitBot@users.noreply.github.com> Date: Fri, 15 Nov 2024 21:18:25 +0100 Subject: [PATCH] [AUTOMATIC] Release/5.9.0 (#4492) Co-authored-by: Cesar de la Vega --- .version | 2 +- CHANGELOG.latest.md | 42 +++++++++---------- CHANGELOG.md | 30 +++++++++++++ RevenueCat.podspec | 2 +- RevenueCatUI.podspec | 2 +- .../Data/LoadPromotionalOfferUseCase.swift | 20 ++++----- Sources/Misc/SystemInfo.swift | 2 +- .../CustomerCenterConfigDataAPI.swift | 4 +- .../CommonFiles/RevenueCat-Swift.h | 2 +- scripts/docs/index.html | 2 +- scripts/docs/v4_api_migration_guide.html | 2 +- scripts/docs/v5_api_migration_guide.html | 2 +- 12 files changed, 70 insertions(+), 42 deletions(-) diff --git a/.version b/.version index 55989bd701..b3d91f9cfc 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -5.9.0-SNAPSHOT +5.9.0 diff --git a/CHANGELOG.latest.md b/CHANGELOG.latest.md index e64402d744..69b1268fe0 100644 --- a/CHANGELOG.latest.md +++ b/CHANGELOG.latest.md @@ -1,28 +1,28 @@ ## RevenueCat SDK -### ✨ New Features -* Add `tenjinAnalyticsInstallationId` setter property (#4437) via Toni Rico (@tonidero) -### 📦 Dependency Updates -* Bump cocoapods from 1.15.2 to 1.16.2 (#4433) via dependabot[bot] (@dependabot[bot]) +### Customer Center +#### 🐞 Bugfixes +* Dismiss promotional offer sheet after successful purchase (#4475) via Will Taylor (@fire-at-will) +### Win-back Offers +#### ✨ New Features +* Support Redeeming Win-Back Offers with Streamlined Purchasing Disabled (#4370) via Will Taylor (@fire-at-will) ## RevenueCatUI SDK -### 🐞 Bugfixes -* Fixes reloading paywall images after they've been scrolled off screen (#4423) via JayShortway (@JayShortway) ### Customer Center +#### ✨ New Features +* Add support for `product_mapping` in promotional offers (#4489) via Cesar de la Vega (@vegaro) #### 🐞 Bugfixes -* Refactor `SubscriptionDetailsView` and better `WrongPlatformView` (#4410) via Cesar de la Vega (@vegaro) +* Close feedback survey after picking an option (#4444) via Cesar de la Vega (@vegaro) ### 🔄 Other Changes -* Create paywall component view models in a factory (#4455) via Josh Holtz (@joshdholtz) -* Fix winback tests on iOS 14 & API Tester (#4453) via Will Taylor (@fire-at-will) -* Fix `RCPurchaseParams` API tests (#4454) via Cesar de la Vega (@vegaro) -* Fixes for paywalls v2 renderer after testing some real life paywalls (#4436) via Josh Holtz (@joshdholtz) -* Skip `testCannotFlushMultipleTimesInParallel` test in xcode 14 (#4443) via Cesar de la Vega (@vegaro) -* [Paywalls] Send paywall events when the app is backgrounded and after a successful purchase (#4438) via Mark Villacampa (@MarkVillacampa) -* Support fetching eligible win-back offers for a product (#4431) via Will Taylor (@fire-at-will) -* Introduce PurchaseParams to allow passing extra configuration info when making a purchase (#4400) via Mark Villacampa (@MarkVillacampa) -* Refactor Paywall events so it can be used for customer center (#4376) via Cesar de la Vega (@vegaro) -* Apply state and conditions ONLY for text component (#4417) via Josh Holtz (@joshdholtz) -* Text, Image, and Stack properties can be overridden on different states/conditions (#4414) via Josh Holtz (@joshdholtz) -* PurchaseButtonComponent is now just a container/stack like ButtonComponent (#4415) via Josh Holtz (@joshdholtz) -* Remove PackageGroup (#4413) via Josh Holtz (@joshdholtz) -* The StackComponent has an optional shadow (#4429) via JayShortway (@JayShortway) +* Enable Paywall Tester to build with Paywalls V2 (#4487) via Josh Holtz (@joshdholtz) +* Fix Paywalls Tester when not being built with Paywalls V2 (#4481) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Fix typo in CI script (#4480) via Mark Villacampa (@MarkVillacampa) +* [Paywalls V2] Enable PAYWALL_COMPONENTS compiler flag when building PaywallTester in Xcode Cloud (#4479) via Mark Villacampa (@MarkVillacampa) +* [Paywalls V2] Update Image to handle property overrides (#4477) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update Stack to handle property overrides (#4476) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Store decoding errors in individual paywall (instead of failing entire offerings response) (#4473) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update shape spec (#4472) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update text spec (#4469) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update stack size spec (#4467) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update color spec (#4468) via Josh Holtz (@joshdholtz) +* Update PurchaseParam code sample (#4470) via Will Taylor (@fire-at-will) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52308c2475..3402ffebc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +## 5.9.0 +## RevenueCat SDK +### Customer Center +#### 🐞 Bugfixes +* Dismiss promotional offer sheet after successful purchase (#4475) via Will Taylor (@fire-at-will) +### Win-back Offers +#### ✨ New Features +* Support Redeeming Win-Back Offers with Streamlined Purchasing Disabled (#4370) via Will Taylor (@fire-at-will) + +## RevenueCatUI SDK +### Customer Center +#### ✨ New Features +* Add support for `product_mapping` in promotional offers (#4489) via Cesar de la Vega (@vegaro) +#### 🐞 Bugfixes +* Close feedback survey after picking an option (#4444) via Cesar de la Vega (@vegaro) + +### 🔄 Other Changes +* Enable Paywall Tester to build with Paywalls V2 (#4487) via Josh Holtz (@joshdholtz) +* Fix Paywalls Tester when not being built with Paywalls V2 (#4481) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Fix typo in CI script (#4480) via Mark Villacampa (@MarkVillacampa) +* [Paywalls V2] Enable PAYWALL_COMPONENTS compiler flag when building PaywallTester in Xcode Cloud (#4479) via Mark Villacampa (@MarkVillacampa) +* [Paywalls V2] Update Image to handle property overrides (#4477) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update Stack to handle property overrides (#4476) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Store decoding errors in individual paywall (instead of failing entire offerings response) (#4473) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update shape spec (#4472) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update text spec (#4469) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update stack size spec (#4467) via Josh Holtz (@joshdholtz) +* [Paywalls V2] Update color spec (#4468) via Josh Holtz (@joshdholtz) +* Update PurchaseParam code sample (#4470) via Will Taylor (@fire-at-will) + ## 5.8.0 ## RevenueCat SDK ### ✨ New Features diff --git a/RevenueCat.podspec b/RevenueCat.podspec index 1b71c4e5a5..b904861f52 100644 --- a/RevenueCat.podspec +++ b/RevenueCat.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RevenueCat" - s.version = "5.9.0-SNAPSHOT" + s.version = "5.9.0" s.summary = "Subscription and in-app-purchase backend service." s.description = <<-DESC diff --git a/RevenueCatUI.podspec b/RevenueCatUI.podspec index b73d084775..04fa6a4d03 100644 --- a/RevenueCatUI.podspec +++ b/RevenueCatUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RevenueCatUI" - s.version = "5.9.0-SNAPSHOT" + s.version = "5.9.0" s.summary = "UI library for RevenueCat paywalls." s.description = <<-DESC diff --git a/RevenueCatUI/CustomerCenter/Data/LoadPromotionalOfferUseCase.swift b/RevenueCatUI/CustomerCenter/Data/LoadPromotionalOfferUseCase.swift index ae1fb9ab6d..1d480bfb77 100644 --- a/RevenueCatUI/CustomerCenter/Data/LoadPromotionalOfferUseCase.swift +++ b/RevenueCatUI/CustomerCenter/Data/LoadPromotionalOfferUseCase.swift @@ -85,13 +85,11 @@ private extension LoadPromotionalOfferUseCase { productIdentifier: String, promoOfferDetails: CustomerCenterConfigData.HelpPath.PromotionalOffer ) throws -> StoreProductDiscount { - let discount = if !promoOfferDetails.productMapping.isEmpty { - findMappedDiscount(for: product, - productIdentifier: productIdentifier, - promoOfferDetails: promoOfferDetails) - } else { - findLegacyDiscount(for: product, promoOfferDetails: promoOfferDetails) - } + let discount = !promoOfferDetails.productMapping.isEmpty + ? findMappedDiscount(for: product, + productIdentifier: productIdentifier, + promoOfferDetails: promoOfferDetails) + : findLegacyDiscount(for: product, promoOfferDetails: promoOfferDetails) guard let discount = discount else { logDiscountError(productIdentifier: productIdentifier, promoOfferDetails: promoOfferDetails) @@ -128,17 +126,15 @@ private extension LoadPromotionalOfferUseCase { productIdentifier: String, promoOfferDetails: CustomerCenterConfigData.HelpPath.PromotionalOffer ) { - let message = if !promoOfferDetails.productMapping.isEmpty { - Strings.could_not_offer_for_active_subscriptions( + let message = !promoOfferDetails.productMapping.isEmpty + ? Strings.could_not_offer_for_active_subscriptions( promoOfferDetails.productMapping[productIdentifier] ?? "nil", productIdentifier ) - } else { - Strings.could_not_offer_for_active_subscriptions( + : Strings.could_not_offer_for_active_subscriptions( promoOfferDetails.iosOfferId, productIdentifier ) - } Logger.debug(message) } diff --git a/Sources/Misc/SystemInfo.swift b/Sources/Misc/SystemInfo.swift index 59a37510aa..cea3ee201e 100644 --- a/Sources/Misc/SystemInfo.swift +++ b/Sources/Misc/SystemInfo.swift @@ -83,7 +83,7 @@ class SystemInfo { } static var frameworkVersion: String { - return "5.9.0-SNAPSHOT" + return "5.9.0" } static var systemVersion: String { diff --git a/Tests/APITesters/AllAPITests/SwiftAPITester/CustomerCenterConfigDataAPI.swift b/Tests/APITesters/AllAPITests/SwiftAPITester/CustomerCenterConfigDataAPI.swift index af882e0e87..899cee3fae 100644 --- a/Tests/APITesters/AllAPITests/SwiftAPITester/CustomerCenterConfigDataAPI.swift +++ b/Tests/APITesters/AllAPITests/SwiftAPITester/CustomerCenterConfigDataAPI.swift @@ -56,11 +56,13 @@ func checkPromotionalOffer(_ offer: CustomerCenterConfigData.HelpPath.Promotiona let eligible: Bool = offer.eligible let title: String = offer.title let subtitle: String = offer.subtitle + let productMapping: [String: String] = offer.productMapping let _: CustomerCenterConfigData.HelpPath.PromotionalOffer = .init(iosOfferId: iosOfferId, eligible: eligible, title: title, - subtitle: subtitle) + subtitle: subtitle, + productMapping: productMapping) } func checkFeedbackSurvey(_ survey: CustomerCenterConfigData.HelpPath.FeedbackSurvey) { diff --git a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h index 39eb362541..494dd3d5e6 100644 --- a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h +++ b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h @@ -3821,7 +3821,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCVerificationResult, "VerificationResult", /// Represents an Apple win-back offer. -SWIFT_CLASS_NAMED("WinBackOffer") SWIFT_AVAILABILITY(visionos,introduced=2.0) SWIFT_AVAILABILITY(watchos,introduced=11.0) SWIFT_AVAILABILITY(tvos,introduced=18.0) SWIFT_AVAILABILITY(macos,introduced=15.0) SWIFT_AVAILABILITY(ios,introduced=18.0) +SWIFT_CLASS_NAMED("WinBackOffer") @interface RCWinBackOffer : NSObject /// The StoreProductDiscount in this offer. @property (nonatomic, readonly, strong) RCStoreProductDiscount * _Nonnull discount; diff --git a/scripts/docs/index.html b/scripts/docs/index.html index 717ac7eab1..fb0a42ca38 100644 --- a/scripts/docs/index.html +++ b/scripts/docs/index.html @@ -2,7 +2,7 @@ - + diff --git a/scripts/docs/v4_api_migration_guide.html b/scripts/docs/v4_api_migration_guide.html index 617bb814ee..7197b0e45a 100644 --- a/scripts/docs/v4_api_migration_guide.html +++ b/scripts/docs/v4_api_migration_guide.html @@ -2,7 +2,7 @@ - + diff --git a/scripts/docs/v5_api_migration_guide.html b/scripts/docs/v5_api_migration_guide.html index 5a89fc2361..ea03641990 100644 --- a/scripts/docs/v5_api_migration_guide.html +++ b/scripts/docs/v5_api_migration_guide.html @@ -2,7 +2,7 @@ - +