RevenueCat v4.4.0 Release Notes

  • πŸ†• New Features

    • βž• Added new API key validation (#1581) via NachoSoto (@NachoSoto)
    • Sending X-Is-Sandbox header in API requests (#1582) via NachoSoto (@NachoSoto)
    • βž• Added AmazonStore to Store enum (#1586) via Will Taylor (@fire-at-will)
    • βž• Added Configuration object and API to configure Purchases (#1556) via Joshua Liebowitz (@taquitos)
    • πŸ”¦ Exposed shouldShowPriceConsent on PurchasesDelegate (#1520) via Joshua Liebowitz (@taquitos)

    πŸ›  Fixes

    • πŸ›  ManageSubscriptionsHelper: fixed discrepancy between SystemInfo.isAppleSubscription(managementURL:) and SystemInfo.appleSubscriptionsURL (#1607) via NachoSoto (@NachoSoto)
    • PurchasesOrchestrator: don't listen for StoreKit 2 transactions if it's disabled (#1593) via NachoSoto (@NachoSoto)
    • βž• Added tests and fix to ensure RawDataContainer includes all data (#1565) via NachoSoto (@NachoSoto)
    • βž• Added obsoletion for DeferredPromotionalPurchaseBlock (#1600) via NachoSoto (@NachoSoto)
    • StoreKit 2 purchases: don't throw when purchase is cancelled (#1603) via NachoSoto (@NachoSoto)
    • Ensure SubscriptionPeriods are represented as 1week instead of 7days (#1591) via Will Taylor (@fire-at-will)
    • πŸ›  PurchaseStrings: fixed transaction message formatting (#1571) via NachoSoto (@NachoSoto)
    • ⚑️ willRenew update comment for lifetime will be false (#1579) via Josh Holtz (@joshdholtz)
    • β†ͺ SK1StoreProductDiscount: handle SKProductDiscount.priceLocale being nil and created StoreKitWorkarounds (#1545) via NachoSoto (@NachoSoto)
    • πŸ›  Fixed ErrorUtils.logDecodingError (#1539) via NachoSoto (@NachoSoto)

    Other changes

    • πŸ“œ GetIntroEligibilityOperation: replaced response parsing with Decodable (#1576) via NachoSoto (@NachoSoto)
    • πŸ“œ PostOfferForSigningOperation: changed response parsing to using Decodable (#1573) via NachoSoto (@NachoSoto)
    • Converted CustomerInfo and related types to use Codable (#1496) via NachoSoto (@NachoSoto)
    • πŸ›  MagicWeatherSwiftUI: fixed usage of PurchaseDelegate (#1601) via NachoSoto (@NachoSoto)
    • βž• Added tests for PeriodType/PurchaseOwnershipType/Store (#1558) via NachoSoto (@NachoSoto)
    • πŸ›  Fix description of StoreTransaction (#1584) via aboedo (@aboedo)
    • Prepare the codebase to listen to the Storefront changes (1/4) (#1557) via Juanpe CatalΓ‘n (@Juanpe)
    • 🚚 Purchases.canMakePayments: moved implementation to StoreKitWrapper (#1580) via NachoSoto (@NachoSoto)
    • βœ… BackendGetIntroEligibilityTests: fixed test that was passing before anything ran (#1575) via NachoSoto (@NachoSoto)
    • PeriodType/PurchaseOwnershipType/Store: conform to Encodable (#1551) via NachoSoto (@NachoSoto)
    • πŸ‘Œ Improved EntitlementInfosTests (#1547) via NachoSoto (@NachoSoto)
    • ProductRequestData: added Storefront for receipt posting (#1505) via NachoSoto (@NachoSoto)
    • βž• Added RawDataContainer conformances to APITesters (#1550) via NachoSoto (@NachoSoto)
    • Simplified EntitlementInfo.isEqual (#1548) via NachoSoto (@NachoSoto)
    • 🚚 CustomerInfo: moved deprecated property to Deprecations (#1549) via NachoSoto (@NachoSoto)
    • πŸ“¦ PackageType: simplified typesByDescription and implemented CustomDebugStringConvertible (#1531) via NachoSoto (@NachoSoto)