Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an automatic release.
New Features
SPM
library to enable custom entitlement computation (Create separateSPM
library to enable custom entitlement computation #2440) via NachoSoto (@NachoSoto)Configuration.EntitlementVerificationMode
andVerificationResult
(IntroducedConfiguration.EntitlementVerificationMode
andVerificationResult
#2277) via NachoSoto (@NachoSoto)PurchasesDiagnostics
: added step to verify signature verification (PurchasesDiagnostics
: added step to verify signature verification #2267) via NachoSoto (@NachoSoto)HTTPClient
: added signature validation and introducedErrorCode.signatureVerificationFailed
(HTTPClient
: added signature validation and introducedErrorCode.signatureVerificationFailed
#2272) via NachoSoto (@NachoSoto)Bugfixes
PurchaseOrchestrator
: fix incorrectInitiationSource
for SK1 queue transactions (PurchaseOrchestrator
: fix incorrectInitiationSource
for SK1 queue transactions #2430) via NachoSoto (@NachoSoto)CustomerInfoManager
: fixed deadlock caused by readingCustomerInfo
inside of observer (CustomerInfoManager
: fixed deadlock caused by readingCustomerInfo
inside of observer #2412) via NachoSoto (@NachoSoto)Xcode 14.3
: fixed compilation errors (Xcode 14.3
: fixed compilation errors #2399) via NachoSoto (@NachoSoto)DispatchTimeInterval
: fixed Xcode 14.3 compilation (DispatchTimeInterval
: fixed Xcode 14.3 compilation #2397) via NachoSoto (@NachoSoto)DeviceCache
: workaround for potential deadlock (DeviceCache
: workaround for potential deadlock #2375) via NachoSoto (@NachoSoto)Purchases.deinit
: don't resetPurchases.proxyURL
(Purchases.deinit
: don't resetPurchases.proxyURL
#2346) via NachoSoto (@NachoSoto)ETagManager
: don't use ETags if response verification failed (ETagManager
: don't use ETags if response verification failed #2347) via NachoSoto (@NachoSoto)DispatchTimeInterval
&Date
: avoid 32-bit overflows, fixwatchOS
crashes (DispatchTimeInterval
&Date
: avoid 32-bit overflows, fixwatchOS
crashes #2342) via NachoSoto (@NachoSoto)Bundle: Sendable
conformance (FixedBundle: Sendable
conformance #2301) via NachoSoto (@NachoSoto)PurchasesOrchestrator
compilation error on Xcode 14.3 beta 1 (FixedPurchasesOrchestrator
compilation error on Xcode 14.3 beta 1 #2292) via NachoSoto (@NachoSoto)Performance Improvements
getCustomerInfo
requests for cancelled purchases (Custom Entitlement Computation: avoidgetCustomerInfo
requests for cancelled purchases #2449) via NachoSoto (@NachoSoto)PostReceiptDataOperation
/GetCustomerInfoOperation
: only invoke response handlers once (PostReceiptDataOperation
/GetCustomerInfoOperation
: only invoke response handlers once #2377) via NachoSoto (@NachoSoto)AppleReceipt.mostRecentActiveSubscription
: performance optimization (AppleReceipt.mostRecentActiveSubscription
: performance optimization #2332) via NachoSoto (@NachoSoto)Dependency Updates
3b03efa
tofe45299
(Bump fastlane-plugin-revenuecat_internal from3b03efa
tofe45299
#2459) via dependabot[bot] (@dependabot[bot])8482a43
to3b03efa
(Bump fastlane-plugin-revenuecat_internal from8482a43
to3b03efa
#2413) via dependabot[bot] (@dependabot[bot])9255366
to8482a43
(Bump fastlane-plugin-revenuecat_internal from9255366
to8482a43
#2401) via dependabot[bot] (@dependabot[bot])Other Changes
Integration Tests
: removed@preconcurrency import
(Integration Tests
: removed@preconcurrency import
#2464) via NachoSoto (@NachoSoto)ReceiptParserTests-Info.plist
out of root (Clean up: movedReceiptParserTests-Info.plist
out of root #2460) via NachoSoto (@NachoSoto)CHANGELOG
(UpdateCHANGELOG
#2461) via NachoSoto (@NachoSoto)SwiftSnapshotTesting
(UpdateSwiftSnapshotTesting
#2453) via NachoSoto (@NachoSoto)syncPurchases
/restorePurchases
(Custom Entitlement Computation: re-enablesyncPurchases
/restorePurchases
#2451) via NachoSoto (@NachoSoto)customEntitlementsComputation
: update the copy in the sample app to explain the new usage (customEntitlementsComputation
: update the copy in the sample app to explain the new usage #2443) via Andy Boedo (@aboedo)ProductEntitlementMapping
: enabled entitlement mapping fetching (ProductEntitlementMapping
: enabled entitlement mapping fetching #2425) via NachoSoto (@NachoSoto)BackendPostReceiptDataTests
: increased timeout to fix flaky test (BackendPostReceiptDataTests
: increased timeout to fix flaky test #2426) via NachoSoto (@NachoSoto)StoreKit1Wrapper
: added log when adding payment to queue (StoreKit1Wrapper
: added log when adding payment to queue #2423) via NachoSoto (@NachoSoto)StoreKit1Wrapper
: added debug log when transaction is removed but no callbacks to notify (StoreKit1Wrapper
: added debug log when transaction is removed but no callbacks to notify #2418) via NachoSoto (@NachoSoto)Integration Tests
: fixed flaky errors when loading offerings (Integration Tests
: fixed flaky errors when loading offerings #2420) via NachoSoto (@NachoSoto)PurchaseTester
: fixed compilation forinternal
entitlement verification (PurchaseTester
: fixed compilation forinternal
entitlement verification #2417) via NachoSoto (@NachoSoto)ETagManager
/HTTPClient
: sending newX-RC-Last-Refresh-Time
header (ETagManager
/HTTPClient
: sending newX-RC-Last-Refresh-Time
header #2373) via NachoSoto (@NachoSoto)CircleCI
: useXcode 14.3.0
(CircleCI
: useXcode 14.3.0
#2398) via NachoSoto (@NachoSoto)VerificationResult.verifiedOnDevice
(Added newVerificationResult.verifiedOnDevice
#2379) via NachoSoto (@NachoSoto)SwiftLint
: fixed lint with new 0.51.0 version (SwiftLint
: fixed lint with new 0.51.0 version #2395) via NachoSoto (@NachoSoto)PurchaseTester
: fix memory leaks (PurchaseTester
: fix memory leaks #2392) via Keita Watanabe (@kitwtnb)Offline Entitlements
: createdLoadShedderIntegrationTests
(Offline Entitlements
: createdLoadShedderIntegrationTests
#2362) via NachoSoto (@NachoSoto)SubscriberAttributesManagerIntegrationTests
: fixed flaky failures (SubscriberAttributesManagerIntegrationTests
: fixed flaky failures #2381) via NachoSoto (@NachoSoto)@DefaultDecodable.Now
: fixed flaky test (@DefaultDecodable.Now
: fixed flaky test #2374) via NachoSoto (@NachoSoto)PurchaseTesterSwiftUI
: fixed iOS compilation (PurchaseTesterSwiftUI
: fixed iOS compilation #2376) via NachoSoto (@NachoSoto)SubscriberAttributesManagerIntegrationTests
: fixed potential race condition (SubscriberAttributesManagerIntegrationTests
: fixed potential race condition #2380) via NachoSoto (@NachoSoto)Offline Entitlements
: createCustomerInfo
from offline entitlements (Offline Entitlements
: createCustomerInfo
from offline entitlements #2358) via NachoSoto (@NachoSoto)@DefaultDecodable.Now
(Added@DefaultDecodable.Now
#2372) via NachoSoto (@NachoSoto)HTTPClient
: debug log when performing redirects (HTTPClient
: debug log when performing redirects #2371) via NachoSoto (@NachoSoto)HTTPClient
: new flag to force server errors (HTTPClient
: new flag to force server errors #2370) via NachoSoto (@NachoSoto)OfferingsManager
: fixed Xcode 13.x build (OfferingsManager
: fixed Xcode 13.x build #2369) via NachoSoto (@NachoSoto)Offline Entitlements
: storeProductEntitlementMapping
in cache (Offline Entitlements
: storeProductEntitlementMapping
in cache #2355) via NachoSoto (@NachoSoto)Offline Entitlements
: added support for fetchingProductEntitlementMappingResponse
inOfflineEntitlementsAPI
(Offline Entitlements
: added support for fetchingProductEntitlementMappingResponse
inOfflineEntitlementsAPI
#2353) via NachoSoto (@NachoSoto)Offline Entitlements
: createdProductEntitlementMapping
(Offline Entitlements
: createdProductEntitlementMapping
#2365) via NachoSoto (@NachoSoto)NetworkError.isServerDown
(ImplementedNetworkError.isServerDown
#2367) via NachoSoto (@NachoSoto)ETagManager
: added test for 304 responses with no etag (ETagManager
: added test for 304 responses with no etag #2360) via NachoSoto (@NachoSoto)TestLogHandler
: increased default capacity (TestLogHandler
: increased default capacity #2357) via NachoSoto (@NachoSoto)OfferingsManager
: moved log to common method to remove hardcoded string (OfferingsManager
: moved log to common method to remove hardcoded string #2363) via NachoSoto (@NachoSoto)Offline Entitlements
: createdProductEntitlementMappingResponse
(Offline Entitlements
: createdProductEntitlementMappingResponse
#2351) via NachoSoto (@NachoSoto)HTTPClient
: added test for 2xx response for request with etag (HTTPClient
: added test for 2xx response for request with etag #2361) via NachoSoto (@NachoSoto)PurchaseTesterSwiftUI
improvements (PurchaseTesterSwiftUI
improvements #2345) via NachoSoto (@NachoSoto)ConfigureStrings
: fixed double-space typo (ConfigureStrings
: fixed double-space typo #2344) via NachoSoto (@NachoSoto)ETagManagerTests
: fixed tests on iOS 12 (ETagManagerTests
: fixed tests on iOS 12 #2349) via NachoSoto (@NachoSoto)DeviceCache
: simplified constructor (DeviceCache
: simplified constructor #2354) via NachoSoto (@NachoSoto)Trusted Entitlements
: changed all APIs tointernal
(Trusted Entitlements
: changed all APIs tointernal
#2350) via NachoSoto (@NachoSoto)CI
: also run tests onwatchOS
(CI
: also run tests onwatchOS
#2340) via NachoSoto (@NachoSoto)VerificationResult.notRequested
: removed caching reference (VerificationResult.notRequested
: removed caching reference #2337) via NachoSoto (@NachoSoto)RELEASING.md
: added GitHub rate limiting parameter (RELEASING.md
: added GitHub rate limiting parameter #2336) via NachoSoto (@NachoSoto)HTTPClient
tests (Finished signature verificationHTTPClient
tests #2333) via NachoSoto (@NachoSoto)Configuration.Builder.with(entitlementVerificationMode:)
: improved documentation (Configuration.Builder.with(entitlementVerificationMode:)
: improved documentation #2334) via NachoSoto (@NachoSoto)ETagManager
: don't ignore failed etags withSigning.VerificationMode.informational
(ETagManager
: don't ignore failed etags withSigning.VerificationMode.informational
#2331) via NachoSoto (@NachoSoto)IdentityManager
: clearETagManager
andDeviceCache
if verification is enabled but cachedCustomerInfo
is not (IdentityManager
: clearETagManager
andDeviceCache
if verification is enabled but cachedCustomerInfo
is not #2330) via NachoSoto (@NachoSoto)Configuration.EntitlementVerificationMode.enforced
unavailable (MadeConfiguration.EntitlementVerificationMode.enforced
unavailable #2329) via NachoSoto (@NachoSoto)CustomerInfo
: use same grace period logic for active subscriptions (CustomerInfo
: use same grace period logic for active subscriptions #2327) via NachoSoto (@NachoSoto)HTTPClient
: don't verify 4xx/5xx responses (HTTPClient
: don't verify 4xx/5xx responses #2322) via NachoSoto (@NachoSoto)PurchaseTester
: fixed compilation from verification API changes (PurchaseTester
: fixed compilation from verification API changes #2328) via NachoSoto (@NachoSoto)EntitlementInfo
: request date is not optional (EntitlementInfo
: request date is not optional #2325) via NachoSoto (@NachoSoto)iff
withif and only if
(replaceiff
withif and only if
#2323) via Andy Boedo (@aboedo)CustomerInfo
: removedentitlementVerification
(CustomerInfo
: removedentitlementVerification
#2320) via NachoSoto (@NachoSoto)VerificationResult.notVerified
to.notRequested
(RenamedVerificationResult.notVerified
to.notRequested
#2321) via NachoSoto (@NachoSoto)EntitlementInfo
: add a grace period limit to outdated entitlements (EntitlementInfo
: add a grace period limit to outdated entitlements #2288) via NachoSoto (@NachoSoto)CustomerInfo.requestDate
from 304 responses (UpdateCustomerInfo.requestDate
from 304 responses #2310) via NachoSoto (@NachoSoto)Purchases.restorePurchases
: added docstring about successful results (Purchases.restorePurchases
: added docstring about successful results #2316) via NachoSoto (@NachoSoto)Signing
: added request time & eTag to signature verification (Signing
: added request time & eTag to signature verification #2309) via NachoSoto (@NachoSoto)HTTPClient
: changed header search to be case-insensitive (HTTPClient
: changed header search to be case-insensitive #2308) via NachoSoto (@NachoSoto)HTTPClient
: automatically addnonce
based onHTTPRequest.Path
(HTTPClient
: automatically addnonce
based onHTTPRequest.Path
#2286) via NachoSoto (@NachoSoto)PurchaseTester
: added ability to reloadCustomerInfo
with a customCacheFetchPolicy
(PurchaseTester
: added ability to reloadCustomerInfo
with a customCacheFetchPolicy
#2312) via NachoSoto (@NachoSoto)RELEASING.md
: fixed hotfix instructions (RELEASING.md
: fixed hotfix instructions #2304) via NachoSoto (@NachoSoto)PurchaseTester
: fixed leak when reconfiguringPurchases
(PurchaseTester
: fixed leak when reconfiguringPurchases
#2311) via NachoSoto (@NachoSoto)PurchaseTester
: added ability to setConfiguration.EntitlementVerificationMode
(PurchaseTester
: added ability to setConfiguration.EntitlementVerificationMode
#2290) via NachoSoto (@NachoSoto)usesStoreKit2IfAvailable
(DeprecateusesStoreKit2IfAvailable
#2293) via Andy Boedo (@aboedo)Signing
: updated to use production public key (Signing
: updated to use production public key #2274) via NachoSoto (@NachoSoto)