- New
ErrorCode.signatureVerificationFailed
which will be used for an upcoming feature
Purchases.deinit
: don't resetPurchases.proxyURL
(#2346) via NachoSoto (@NachoSoto)
Other Changes
- Introduced
Configuration.EntitlementVerificationMode
andVerificationResult
(#2277) via NachoSoto (@NachoSoto) PurchasesDiagnostics
: added step to verify signature verification (#2267) via NachoSoto (@NachoSoto)HTTPClient
: added signature validation and introducedErrorCode.signatureVerificationFailed
(#2272) via NachoSoto (@NachoSoto)ETagManager
: don't use ETags if response verification failed (#2347) via NachoSoto (@NachoSoto)Integration Tests
: removed@preconcurrency import
(#2464) via NachoSoto (@NachoSoto)- Clean up: moved
ReceiptParserTests-Info.plist
out of root (#2460) via NachoSoto (@NachoSoto) - Update
CHANGELOG
(#2461) via NachoSoto (@NachoSoto) - Update
SwiftSnapshotTesting
(#2453) via NachoSoto (@NachoSoto) - Fixed docs (#2432) via Kaunteya Suryawanshi (@kaunteya)
- Remove unnecessary line break (#2435) via Andy Boedo (@aboedo)
ProductEntitlementMapping
: enabled entitlement mapping fetching (#2425) via NachoSoto (@NachoSoto)BackendPostReceiptDataTests
: increased timeout to fix flaky test (#2426) via NachoSoto (@NachoSoto)- Updated requirements to drop Xcode 13.x support (#2419) via NachoSoto (@NachoSoto)
Integration Tests
: fixed flaky errors when loading offerings (#2420) via NachoSoto (@NachoSoto)PurchaseTester
: fixed compilation forinternal
entitlement verification (#2417) via NachoSoto (@NachoSoto)ETagManager
/HTTPClient
: sending newX-RC-Last-Refresh-Time
header (#2373) via NachoSoto (@NachoSoto)ETagManager
: don't send validation time if not present (#2490) via NachoSoto (@NachoSoto)- SwiftUI Sample Project: Refactor Package terms method to a computed property (#2405) via Joseph Kokenge (@JOyo246)
- Clean up v3 load shedder integration tests (#2402) via Andy Boedo (@aboedo)
- Fix iOS 12 compilation (#2394) via NachoSoto (@NachoSoto)
- Added new
VerificationResult.verifiedOnDevice
(#2379) via NachoSoto (@NachoSoto) PurchaseTester
: fix memory leaks (#2392) via Keita Watanabe (@kitwtnb)- Integration tests: add scheduled job (#2389) via Andy Boedo (@aboedo)
- Add lane for running iOS v3 load shedder integration tests (#2388) via Andy Boedo (@aboedo)
- iOS v3 load shedder integration tests (#2387) via Andy Boedo (@aboedo)
Offline Entitlements
: createdLoadShedderIntegrationTests
(#2362) via NachoSoto (@NachoSoto)- Purchases.configure: log warning if attempting to use a static appUserID (#2385) via Mark Villacampa (@MarkVillacampa)
SubscriberAttributesManagerIntegrationTests
: fixed flaky failures (#2381) via NachoSoto (@NachoSoto)@DefaultDecodable.Now
: fixed flaky test (#2374) via NachoSoto (@NachoSoto)PurchaseTesterSwiftUI
: fixed iOS compilation (#2376) via NachoSoto (@NachoSoto)SubscriberAttributesManagerIntegrationTests
: fixed potential race condition (#2380) via NachoSoto (@NachoSoto)Offline Entitlements
: createCustomerInfo
from offline entitlements (#2358) via NachoSoto (@NachoSoto)- Added
@DefaultDecodable.Now
(#2372) via NachoSoto (@NachoSoto) HTTPClient
: debug log when performing redirects (#2371) via NachoSoto (@NachoSoto)HTTPClient
: new flag to force server errors (#2370) via NachoSoto (@NachoSoto)OfferingsManager
: fixed Xcode 13.x build (#2369) via NachoSoto (@NachoSoto)Offline Entitlements
: storeProductEntitlementMapping
in cache (#2355) via NachoSoto (@NachoSoto)Offline Entitlements
: added support for fetchingProductEntitlementMappingResponse
inOfflineEntitlementsAPI
(#2353) via NachoSoto (@NachoSoto)Offline Entitlements
: createdProductEntitlementMapping
(#2365) via NachoSoto (@NachoSoto)- Implemented
NetworkError.isServerDown
(#2367) via NachoSoto (@NachoSoto) ETagManager
: added test for 304 responses with no etag (#2360) via NachoSoto (@NachoSoto)TestLogHandler
: increased default capacity (#2357) via NachoSoto (@NachoSoto)OfferingsManager
: moved log to common method to remove hardcoded string (#2363) via NachoSoto (@NachoSoto)Offline Entitlements
: createdProductEntitlementMappingResponse
(#2351) via NachoSoto (@NachoSoto)HTTPClient
: added test for 2xx response for request with etag (#2361) via NachoSoto (@NachoSoto)PurchaseTesterSwiftUI
improvements (#2345) via NachoSoto (@NachoSoto)ConfigureStrings
: fixed double-space typo (#2344) via NachoSoto (@NachoSoto)ETagManagerTests
: fixed tests on iOS 12 (#2349) via NachoSoto (@NachoSoto)DeviceCache
: simplified constructor (#2354) via NachoSoto (@NachoSoto)Trusted Entitlements
: changed all APIs tointernal
(#2350) via NachoSoto (@NachoSoto)VerificationResult.notRequested
: removed caching reference (#2337) via NachoSoto (@NachoSoto)- Finished signature verification
HTTPClient
tests (#2333) via NachoSoto (@NachoSoto) Configuration.Builder.with(entitlementVerificationMode:)
: improved documentation (#2334) via NachoSoto (@NachoSoto)ETagManager
: don't ignore failed etags withSigning.VerificationMode.informational
(#2331) via NachoSoto (@NachoSoto)IdentityManager
: clearETagManager
andDeviceCache
if verification is enabled but cachedCustomerInfo
is not (#2330) via NachoSoto (@NachoSoto)- Made
Configuration.EntitlementVerificationMode.enforced
unavailable (#2329) via NachoSoto (@NachoSoto) - Refactor: reorganized files in new Security and Misc folders (#2326) via NachoSoto (@NachoSoto)
CustomerInfo
: use same grace period logic for active subscriptions (#2327) via NachoSoto (@NachoSoto)HTTPClient
: don't verify 4xx/5xx responses (#2322) via NachoSoto (@NachoSoto)EntitlementInfo
: request date is not optional (#2325) via NachoSoto (@NachoSoto)CustomerInfo
: removedentitlementVerification
(#2320) via NachoSoto (@NachoSoto)- Renamed
VerificationResult.notVerified
to.notRequested
(#2321) via NachoSoto (@NachoSoto) EntitlementInfo
: add a grace period limit to outdated entitlements (#2288) via NachoSoto (@NachoSoto)- Update
CustomerInfo.requestDate
from 304 responses (#2310) via NachoSoto (@NachoSoto) Signing
: added request time & eTag to signature verification (#2309) via NachoSoto (@NachoSoto)HTTPClient
: changed header search to be case-insensitive (#2308) via NachoSoto (@NachoSoto)HTTPClient
: automatically addnonce
based onHTTPRequest.Path
(#2286) via NachoSoto (@NachoSoto)PurchaseTester
: added ability to reloadCustomerInfo
with a customCacheFetchPolicy
(#2312) via NachoSoto (@NachoSoto)- Fix issue where underlying error information for product fetch errors was not printed in log. (#2281) via Chris Vasselli (@chrisvasselli)
PurchaseTester
: added ability to setConfiguration.EntitlementVerificationMode
(#2290) via NachoSoto (@NachoSoto)- SwiftUI: Paywall View should respond to changes on the UserView model (#2297) via ConfusedVorlon (@ConfusedVorlon)
- Deprecate
usesStoreKit2IfAvailable
(#2293) via Andy Boedo (@aboedo) Signing
: updated to use production public key (#2274) via NachoSoto (@NachoSoto)