github RevenueCat/purchases-ios 4.4.1

latest releases: 5.39.0, 5.38.2, 4.43.8...
3 years ago

Fixes

  • Fix a critical issue in 4.4.0 where entitlement identifiers and product identifiers would get converted to snake case and returned as empty.
    #1651
    #1650

Changes from 4.4.0

Configuration updates:

  • You can now use a Configuration object to configure the SDK with a cleaner syntax.
    Example of how to configure using Configuration:
 Purchases.configure(
     with: Configuration.Builder(withAPIKey: Constants.apiKey)
              .with(usesStoreKit2IfAvailable: true)
              .with(observerMode: false)
              .with(appUserID: "<app_user_id>")
              .build()
     )

⚠️ The configure(withAPIKey:appUserID:) method and its overloads have been deprecated in favor of using configure(with:) and passing in a Configuration.

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)

Don't miss a new purchases-ios release

NewReleases is sending notifications on new releases.