diff --git a/.version b/.version
index 7171ca1c08..8635c562cb 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-5.15.0-SNAPSHOT
+5.15.0
diff --git a/CHANGELOG.latest.md b/CHANGELOG.latest.md
index 0d88a0a778..395a1db685 100644
--- a/CHANGELOG.latest.md
+++ b/CHANGELOG.latest.md
@@ -1,11 +1,37 @@
## RevenueCat SDK
### π Bugfixes
-* [EXTERNAL] Lock RateLimiter.shouldProceed() entirely to avoid race conditions (#4635) via @nguyenhuy (#4637) via JayShortway (@JayShortway)
+* fix: Set https urls for packages (#4669) via Facundo Menzella (@facumenzella)
+* Add purchaseWithParams to PurchasesType (#4663) via Will Taylor (@fire-at-will)
+* fix: Fix versions for swift-doc, snapshot-testing & nimble (#4661) via Facundo Menzella (@facumenzella)
+* fix: Use custom label for CompatibilityContentUnavailableView (#4647) via Facundo Menzella (@facumenzella)
+* Deprecate misnamed purchase(params) function in Obj-C (#4645) via Will Taylor (@fire-at-will)
+### Customer Center
+#### β¨ New Features
+* feat: [CustomerCenter] Introduce CustomerCenterNavigationLink (#4664) via Facundo Menzella (@facumenzella)
+#### π Bugfixes
+* [Customer Center]: fix navigation when embedded in `NavigationStack` (#4622) via Andy Boedo (@aboedo)
+
+## RevenueCatUI SDK
+### β¨ New Features
+* feat: [CustomerCenter] Introduce CompatibilityLabeledContent (#4659) via Facundo Menzella (@facumenzella)
+### Customer Center
+#### π Bugfixes
+* fix: dismiss alert using binding instead of environment dismiss (#4653) via Facundo Menzella (@facumenzella)
### π Other Changes
-* [Paywalls V2] Implement V2 variables and functions (#4633) via Josh Holtz (@joshdholtz)
-* [Paywalls] Fix PaywallTester build (#4636) via Mark Villacampa (@MarkVillacampa)
-* [Paywalls] Fix gradient orientation by shifting initial position by 90ΒΊ and making it rotate clockwise (#4634) via Mark Villacampa (@MarkVillacampa)
-* [Paywalls V2] Add support for alias solid hex colors (not gradients) (#4632) via Josh Holtz (@joshdholtz)
-* [Paywalls V2] Support custom fonts with UIConfig (#4631) via Josh Holtz (@joshdholtz)
-* [Paywalls V2] Add UIConfig to OfferingsResponse (#4628) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Use V1 default paywall when footers are used with V2 paywalls (#4667) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Added V1 fallback paywall into Paywall V2 error logic (#4666) via Josh Holtz (@joshdholtz)
+* Do not warn when using mac API keys (#4668) via Toni Rico (@tonidero)
+* [Paywalls V2] Prefetch low res images (#4658) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Convert Codable structs to classes (#4665) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Icon Component (#4655) via Josh Holtz (@joshdholtz)
+* [Paywalls] Tabs (multi-tier / toggle) component (#4648) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Fix compilation errors (#4657) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Accept number as font size for text (#4654) via Josh Holtz (@joshdholtz)
+* [Paywalls] Add Badge Modifier (#4596) via Mark Villacampa (@MarkVillacampa)
+* [Paywalls V2] Updated outdated image component properties (#4649) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Updating UIConfig aliased colors to contain both light and dark (#4650) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Fix vstack and hstack growing size when fit (#4646) via Josh Holtz (@joshdholtz)
+* [Paywalls] Use CALayer-backed shadows and refactor Shape.swift (#4630) via Mark Villacampa (@MarkVillacampa)
+* [Paywalls V2] Optionalizing padding, margin, and corner radius properties for safety (#4644) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Decode rectangle corners as optional (#4640) via Josh Holtz (@joshdholtz)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a63faafb47..45bef5448e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,42 @@
+## 5.15.0
+## RevenueCat SDK
+### π Bugfixes
+* fix: Set https urls for packages (#4669) via Facundo Menzella (@facumenzella)
+* Add purchaseWithParams to PurchasesType (#4663) via Will Taylor (@fire-at-will)
+* fix: Fix versions for swift-doc, snapshot-testing & nimble (#4661) via Facundo Menzella (@facumenzella)
+* fix: Use custom label for CompatibilityContentUnavailableView (#4647) via Facundo Menzella (@facumenzella)
+* Deprecate misnamed purchase(params) function in Obj-C (#4645) via Will Taylor (@fire-at-will)
+### Customer Center
+#### β¨ New Features
+* feat: [CustomerCenter] Introduce CustomerCenterNavigationLink (#4664) via Facundo Menzella (@facumenzella)
+#### π Bugfixes
+* [Customer Center]: fix navigation when embedded in `NavigationStack` (#4622) via Andy Boedo (@aboedo)
+
+## RevenueCatUI SDK
+### β¨ New Features
+* feat: [CustomerCenter] Introduce CompatibilityLabeledContent (#4659) via Facundo Menzella (@facumenzella)
+### Customer Center
+#### π Bugfixes
+* fix: dismiss alert using binding instead of environment dismiss (#4653) via Facundo Menzella (@facumenzella)
+
+### π Other Changes
+* [Paywalls V2] Use V1 default paywall when footers are used with V2 paywalls (#4667) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Added V1 fallback paywall into Paywall V2 error logic (#4666) via Josh Holtz (@joshdholtz)
+* Do not warn when using mac API keys (#4668) via Toni Rico (@tonidero)
+* [Paywalls V2] Prefetch low res images (#4658) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Convert Codable structs to classes (#4665) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Icon Component (#4655) via Josh Holtz (@joshdholtz)
+* [Paywalls] Tabs (multi-tier / toggle) component (#4648) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Fix compilation errors (#4657) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Accept number as font size for text (#4654) via Josh Holtz (@joshdholtz)
+* [Paywalls] Add Badge Modifier (#4596) via Mark Villacampa (@MarkVillacampa)
+* [Paywalls V2] Updated outdated image component properties (#4649) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Updating UIConfig aliased colors to contain both light and dark (#4650) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Fix vstack and hstack growing size when fit (#4646) via Josh Holtz (@joshdholtz)
+* [Paywalls] Use CALayer-backed shadows and refactor Shape.swift (#4630) via Mark Villacampa (@MarkVillacampa)
+* [Paywalls V2] Optionalizing padding, margin, and corner radius properties for safety (#4644) via Josh Holtz (@joshdholtz)
+* [Paywalls V2] Decode rectangle corners as optional (#4640) via Josh Holtz (@joshdholtz)
+
## 5.14.6
## RevenueCat SDK
### π Bugfixes
diff --git a/RevenueCat.podspec b/RevenueCat.podspec
index 1d520ec61f..ceda955a5c 100644
--- a/RevenueCat.podspec
+++ b/RevenueCat.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RevenueCat"
- s.version = "5.15.0-SNAPSHOT"
+ s.version = "5.15.0"
s.summary = "Subscription and in-app-purchase backend service."
s.description = <<-DESC
diff --git a/RevenueCatUI.podspec b/RevenueCatUI.podspec
index 634303941b..609ce8547d 100644
--- a/RevenueCatUI.podspec
+++ b/RevenueCatUI.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RevenueCatUI"
- s.version = "5.15.0-SNAPSHOT"
+ s.version = "5.15.0"
s.summary = "UI library for RevenueCat paywalls."
s.description = <<-DESC
diff --git a/Sources/Misc/SystemInfo.swift b/Sources/Misc/SystemInfo.swift
index ab36d4714e..15395158d9 100644
--- a/Sources/Misc/SystemInfo.swift
+++ b/Sources/Misc/SystemInfo.swift
@@ -83,7 +83,7 @@ class SystemInfo {
}
static var frameworkVersion: String {
- return "5.15.0-SNAPSHOT"
+ return "5.15.0"
}
static var systemVersion: String {
diff --git a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
index a1ac174e56..066cb0fe13 100644
--- a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
+++ b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
@@ -2246,7 +2246,7 @@ SWIFT_PROTOCOL_NAMED("PurchasesType")
/// \param params The PurchaseParams
instance with the configuration options for this purchase.
/// Check the PurchaseParams
documentation for more information.
///
-- (void)params:(RCPurchaseParams * _Nonnull)params withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
+- (void)purchaseWithParams:(RCPurchaseParams * _Nonnull)params completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
/// Initiates a purchase.
/// important:
/// Call this method when a user has decided to purchase a product.
@@ -2676,6 +2676,7 @@ SWIFT_PROTOCOL_NAMED("PurchasesType")
- (void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID SWIFT_DEPRECATED;
- (void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID SWIFT_DEPRECATED;
- (void)collectDeviceIdentifiers SWIFT_DEPRECATED;
+- (void)params:(RCPurchaseParams * _Nonnull)params withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_DEPRECATED;
/// Whether transactions should be finished automatically. true
by default.
/// * - Warning: Setting this value to false
will prevent the SDK from finishing transactions.
/// * In this case, you must finish transactions in your app, otherwise they will remain in the queue and
@@ -3062,6 +3063,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
- (void)setAd:(NSString * _Nullable)installAd SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'");
- (void)setKeyword:(NSString * _Nullable)keyword SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'");
- (void)setCreative:(NSString * _Nullable)creative SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'");
+- (void)params:(RCPurchaseParams * _Nonnull)params withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'purchaseWithParams' has been renamed to 'purchaseWithParams:completion:'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'purchaseWithParams' has been renamed to 'purchaseWithParams:completion:'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'purchaseWithParams' has been renamed to 'purchaseWithParams:completion:'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'purchaseWithParams' has been renamed to 'purchaseWithParams:completion:'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'purchaseWithParams' has been renamed to 'purchaseWithParams:completion:'");
@end
@class SKPaymentDiscount;
@@ -3272,7 +3274,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL automaticAppleSearchAdsAt
- (void)purchaseWithPackage:(RCPackage * _Nonnull)package completionHandler:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completionHandler;
- (void)restorePurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
- (void)restorePurchasesWithCompletionHandler:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completionHandler;
-- (void)params:(RCPurchaseParams * _Nonnull)params withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
+- (void)purchaseWithParams:(RCPurchaseParams * _Nonnull)params completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
- (void)purchase:(RCPurchaseParams * _Nonnull)params completionHandler:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completionHandler;
- (void)invalidateCustomerInfoCache;
- (void)syncPurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
diff --git a/scripts/docs/index.html b/scripts/docs/index.html
index a5968bdb0a..fe88ca45ce 100644
--- a/scripts/docs/index.html
+++ b/scripts/docs/index.html
@@ -2,7 +2,7 @@