Commit Graph
89 Commits
Author SHA1 Message Date
RevenueCat Git BotandDistiller fc080d5703 Prepare next version: 4.32.0-SNAPSHOT (#3566)
Co-authored-by: Distiller <distiller@static.198.206.135.25.macminivault.com>
2024-01-10 11:02:57 -08:00
RevenueCat Git Bot 593713386d [AUTOMATIC] Release/4.31.8 (#3565)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: remove unscrollable spacing in Template 5 (#3562) via
NachoSoto (@NachoSoto)
* `Paywalls`: improve template 5 checkmark icon (#3559) via NachoSoto
(@NachoSoto)
### Bugfixes
* Improve sandbox detector for macOS apps (#3549) via Mark Villacampa
(@MarkVillacampa)
### Other Changes
* `Paywalls`: new
`PaywallViewControllerDelegate.paywallViewController(_:didChangeSizeTo:)`
(#3563) via Cesar de la Vega (@vegaro)
* `Tests`: running tests on `macOS` (#3533) via NachoSoto (@NachoSoto)
* `Integration Tests`: split into separate jobs (#3560) via NachoSoto
(@NachoSoto)
2024-01-10 10:14:06 -08:00
RevenueCat Git BotandDistiller 052056a912 Prepare next version: 4.32.0-SNAPSHOT (#3558)
Co-authored-by: Distiller <distiller@static.38.23.39.142.cyberlynk.net>
2024-01-08 09:28:19 -08:00
RevenueCat Git Bot bdb6a0304c [AUTOMATIC] Release/4.31.7 (#3556)
**This is an automatic release.**

### RevenueCatUI
* Paywalls: improve footer view UIKit support for hybrid SDKs (#3547)
via Andy Boedo (@aboedo)
### Dependency Updates
* Bump fastlane from 2.218.0 to 2.219.0 (#3553) via dependabot[bot]
(@dependabot[bot])
* Bump fastlane from 2.217.0 to 2.218.0 (#3550) via dependabot[bot]
(@dependabot[bot])
### Other Changes
* Tests: improve test flakiness (#3552) via Andy Boedo (@aboedo)
2024-01-08 17:31:53 +01:00
RevenueCat Git BotandDistiller 07bb1d8e18 Prepare next version: 4.32.0-SNAPSHOT (#3545)
Co-authored-by: Distiller <distiller@static.38.39.185.109.cyberlynk.net>
2023-12-22 02:23:17 +01:00
RevenueCat Git Bot deccece326 [AUTOMATIC] Release/4.31.6 (#3544)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: add header image to `watchOS` paywalls (#3542) via
NachoSoto (@NachoSoto)
* `Paywalls`: improve template 5 landscape layout (#3534) via NachoSoto
(@NachoSoto)
* `Paywalls`: fix template 5 footer loading view alignment (#3537) via
NachoSoto (@NachoSoto)
* `Paywalls`: improve template 1 landscape layout (#3532) via NachoSoto
(@NachoSoto)
* `Paywalls`: fix `ColorInformation.multiScheme` on `watchOS` (#3530)
via NachoSoto (@NachoSoto)
### Other Changes
* `Trusted Entitlements`: tests for signature verification without
header hash (#3505) via NachoSoto (@NachoSoto)
* `.debugRevenueCatOverlay`: added `Locale` (#3539) via NachoSoto
(@NachoSoto)
* `Trusted Entitlements`: add support for signing request headers
(#3424) via NachoSoto (@NachoSoto)
* `CI`: Add architecture to cache keys (#3538) via Mark Villacampa
(@MarkVillacampa)
* `Paywalls Tester`: remove double close button (#3531) via NachoSoto
(@NachoSoto)
* Fix `RevenueCatUI` snapshot tests (#3526) via NachoSoto (@NachoSoto)
2023-12-21 17:03:07 -08:00
RevenueCat Git Bot 275e21bdf4 Prepare next version: 4.32.0-SNAPSHOT (#3528) 2023-12-19 19:22:24 -08:00
RevenueCat Git Bot 29d0c41384 [AUTOMATIC] Release/4.31.5 (#3527)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: add `PaywallFooterViewController` (#3486) via Toni Rico
(@tonidero)
* `Paywalls`: improve landscape support of all templates (#3471) via
NachoSoto (@NachoSoto)
* `Paywalls`: ensure footer links open in full-screen sheets (#3524) via
NachoSoto (@NachoSoto)
* `Paywalls`: improve `FooterView` text alignment (#3525) via NachoSoto
(@NachoSoto)
* Paywalls: Add dismissal method in `PaywallViewControllerDelegate`
(#3493) via Toni Rico (@tonidero)
2023-12-19 16:06:33 -08:00
RevenueCat Git BotandDistiller 82f4c8c266 Prepare next version: 4.32.0-SNAPSHOT (#3523)
Co-authored-by: Distiller <distiller@static.198.206.135.103.macminivault.com>
2023-12-15 09:03:38 +01:00
RevenueCat Git Bot 2bf124f50b [AUTOMATIC] Release/4.31.4 (#3522) 2023-12-14 22:15:56 -08:00
RevenueCat Git BotandDistiller d3eb419691 Prepare next version: 4.32.0-SNAPSHOT (#3515)
Co-authored-by: Distiller <distiller@static.38.23.38.84.cyberlynk.net>
2023-12-12 20:02:36 +01:00
RevenueCat Git Bot 7f6d081fe5 [AUTOMATIC] Release/4.31.3 (#3514)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: improve image caching (#3498) via NachoSoto (@NachoSoto)
* `Paywalls`: change style of CTA button to be consistent with other
platforms (#3507) via NachoSoto (@NachoSoto)
* `Paywalls`: open footer links on Safari on Catalyst (#3508) via
NachoSoto (@NachoSoto)
* `Paywalls`: fix compilation on Xcode < 14.3 (#3513) via NachoSoto
(@NachoSoto)
* Fix typo in zh-Hans localization of RevenueCatUI (#3512) via Francis
Feng (@francisfeng)
* `Paywalls`: fix PaywallViewControllerDelegate access from Objective-C
(#3510) via noncenz (@noncenz)
* `Paywalls`: open Terms and Privacy Policy links in-app (#3475) via
Andy Boedo (@aboedo)
* `Paywalls`: fix empty description when using `custom` package type and
`{{ sub_period }}` (#3495) via Andy Boedo (@aboedo)
* `Paywalls`: use `HEIC` images (#3496) via NachoSoto (@NachoSoto)
* Paywalls: disable the close button when an action is in progress
(#3474) via Andy Boedo (@aboedo)
* `Paywalls`: adjusted German translations (#3476) via Tensei (@tensei)
* Paywalls: Improve Chinese localization (#3489) via Andy Boedo
(@aboedo)
### Other Changes
* `CircleCI`: add git credentials to snapshot generation (#3506) via
NachoSoto (@NachoSoto)
* `StoreProduct`: improve `priceFormatter` documentation (#3500) via
NachoSoto (@NachoSoto)
* `Paywalls`: fix tests (#3499) via NachoSoto (@NachoSoto)
* `Optimization`: changed `first` to `first(where:)` (#3467) via
NachoSoto (@NachoSoto)
2023-12-12 10:40:29 -08:00
RevenueCat Git BotandDistiller 9e8cc830f1 Prepare next version: 4.32.0-SNAPSHOT (#3497)
Co-authored-by: Distiller <distiller@static.198.206.135.49.macminivault.com>
2023-12-07 08:46:45 +08:00
RevenueCat Git Bot 07e16b36cf [AUTOMATIC] Release/4.31.2 (#3494)
**This is an automatic release.**

### Bugfixes
* Improve pricePerYear price calculation precision (#3492) via Toni Rico
(@tonidero)
* Improve price per month accuracy for weekly subscriptions (#3480) via
Andy Boedo (@aboedo)
### Dependency Updates
* Bump danger from 9.4.0 to 9.4.1 (#3485) via dependabot[bot]
(@dependabot[bot])
2023-12-06 12:17:15 -08:00
RevenueCat Git BotandDistiller d72ea07a81 Prepare next version: 4.32.0-SNAPSHOT (#3484)
Co-authored-by: Distiller <distiller@static.38.39.184.116.cyberlynk.net>
2023-12-01 09:23:37 +01:00
RevenueCat Git Bot ef37c0fe51 [AUTOMATIC] Release/4.31.1 (#3483)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: remove empty space when template 4 has no offer details
(#3469) via NachoSoto (@NachoSoto)
### Other Changes
* `Concurrency`: address strict concurrency issues on `SystemInfo`
(#3462) via NachoSoto (@NachoSoto)
* `CircleCI`: upgrade to Xcode 15.1 (#3403) via NachoSoto (@NachoSoto)
* `Paywalls`: tests for `PurchaseButton` layout logic (#3468) via
NachoSoto (@NachoSoto)
* `Paywalls`: simplified `PaywallViewMode` logic (#3470) via NachoSoto
(@NachoSoto)
2023-12-01 09:01:06 +01:00
RevenueCat Git BotandDistiller c9c078687e Prepare next version: 4.32.0-SNAPSHOT (#3481)
Co-authored-by: Distiller <distiller@static.38.23.38.113.cyberlynk.net>
2023-11-30 11:02:34 +01:00
RevenueCat Git Bot b71290cc33 [AUTOMATIC] Release/4.31.0 (#3472)
**This is an automatic release.**

### RevenueCatUI
* Paywalls: Fix navigation with close button in UIKit (#3466) via Andy
Boedo (@aboedo)
* `Paywalls`: `watchOS` support (#3291) via NachoSoto (@NachoSoto)
### Dependency Updates
* Bump cocoapods from 1.14.2 to 1.14.3 (#3464) via dependabot[bot]
(@dependabot[bot])
* Bump fastlane from 2.216.0 to 2.217.0 (#3415) via dependabot[bot]
(@dependabot[bot])
* Bump danger from 9.3.2 to 9.4.0 (#3414) via dependabot[bot]
(@dependabot[bot])
### Other Changes
* Some `APITester` fixes (#3444) via NachoSoto (@NachoSoto)
* `HTTPClient`: test all request headers (#3425) via NachoSoto
(@NachoSoto)
* `CircleCI`: fix snapshot generation for iOS 14 (#3431) via NachoSoto
(@NachoSoto)
* Remove `MockStoreMessagesHelper` from SDK (#3417) via NachoSoto
(@NachoSoto)
* Enable explicit_init lint rule and fix issues (#3418) via Mark
Villacampa (@MarkVillacampa)
2023-11-30 09:48:23 +01:00
RevenueCat Git Bot d0b94ce1e9 Prepare next version: 4.31.0-SNAPSHOT (#3413) 2023-11-14 22:48:54 -08:00
RevenueCat Git Bot 92fa75c399 [AUTOMATIC] Release/4.30.5 (#3412) 2023-11-14 20:33:29 -08:00
RevenueCat Git BotandDistiller 95641a5bb2 Prepare next version: 4.31.0-SNAPSHOT (#3395)
Co-authored-by: Distiller <distiller@static.38.39.184.133.cyberlynk.net>
2023-11-08 15:08:18 -08:00
RevenueCat Git Bot cd4053eb4a [AUTOMATIC] Release/4.30.4 (#3394)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: add `displayCloseButton` to `PaywallViewController`
(#3391) via NachoSoto (@NachoSoto)
* `Paywalls`: fix Turkish translation (#3389) via Dogancan Mavideniz
(@mavideniz)
* `Paywalls`: fix Turkish translation (#3388) via iremkaraoglu
(@iremkaraoglu)
### Other Changes
* `RevenueCatUI`: added support to other deployment targets (#3392) via
NachoSoto (@NachoSoto)
2023-11-08 12:07:53 -08:00
RevenueCat Git BotandDistiller 1fc7dc9ff6 Prepare next version: 4.31.0-SNAPSHOT (#3390)
Co-authored-by: Distiller <distiller@static.38.23.39.110.cyberlynk.net>
2023-11-07 18:02:52 +01:00
RevenueCat Git Bot 7d7f3040dd [AUTOMATIC] Release/4.30.3 (#3387)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: fix Turkish discount string (#3385) via NachoSoto
(@NachoSoto)
* `Paywalls`: fix template 4 layout bug on iOS 16 (#3381) via NachoSoto
(@NachoSoto)
### Dependency Updates
* Bump fastlane-plugin-revenuecat_internal from `a297205` to `0ddee10`
(#3383) via dependabot[bot] (@dependabot[bot])
### Other Changes
* `CircleCI`: fix `visionOS` job (#3384) via NachoSoto (@NachoSoto)
2023-11-07 08:40:45 -08:00
RevenueCat Git BotandDistiller a1fa29f09d Prepare next version: 4.31.0-SNAPSHOT (#3382)
Co-authored-by: Distiller <distiller@static.38.23.38.110.cyberlynk.net>
2023-11-02 22:11:17 +01:00
RevenueCat Git Bot ec144459a0 [AUTOMATIC] Release/4.30.2 (#3380)
**This is an automatic release.**

### Performance Improvements
* `Paywalls`: optimize `background.jpg` image (#3379) via NachoSoto
(@NachoSoto)
### Other Changes
* `RevenueCatUI`: lowered CocoaPods deployment target to 11.0 (#3378)
via NachoSoto (@NachoSoto)
* Fix deprecation warning (#3371) via NachoSoto (@NachoSoto)
2023-11-02 13:42:52 -07:00
RevenueCat Git BotandDistiller 2dd46f8a8d Prepare next version: 4.31.0-SNAPSHOT (#3377)
Co-authored-by: Distiller <distiller@static.198.206.135.122.macminivault.com>
2023-11-02 17:52:03 +01:00
RevenueCat Git Bot 84bb469f8a [AUTOMATIC] Release/4.30.1 (#3376)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: `RevenueCatUI` CocoaPods support (#3368) via NachoSoto
(@NachoSoto)
2023-11-02 09:17:08 -07:00
RevenueCat Git BotandDistiller af47361434 Prepare next version: 4.31.0-SNAPSHOT (#3375)
Co-authored-by: Distiller <distiller@static.38.23.39.164.cyberlynk.net>
2023-11-01 22:48:39 -07:00
RevenueCat Git BotandNachoSoto 9f67ca0925 [AUTOMATIC] Release/4.30.0 (#3374)
**This is an automatic release.**

### New Features
* `Offering`: new `getMetadataValue` with `Decodable` type (#3373) via
NachoSoto (@NachoSoto)
* Add `StoreProduct.pricePerWeek` (#3354) via NachoSoto (@NachoSoto)
### RevenueCatUI
* `Paywalls`: `.presentPaywallIfNeeded` allows overriding `Offering`
(#3370) via NachoSoto (@NachoSoto)
* `Paywalls`: new optional `displayCloseButton` parameter (#3359) via
NachoSoto (@NachoSoto)
* `Paywalls`: improve period abbreviations in Japanese (#3367) via
NachoSoto (@NachoSoto)
* `Paywalls`: new `{{ sub_price_per_week }}` variable (#3355) via
NachoSoto (@NachoSoto)
* `Paywalls`: log warning when attempting to purchase already-subscribed
product (#3366) via NachoSoto (@NachoSoto)
* `Paywalls`: improve Japanese localization (#3364) via NachoSoto
(@NachoSoto)
* `Paywalls`: fix template 2 top padding inside navigation view (#3363)
via NachoSoto (@NachoSoto)
* `Paywalls`: avoid animating `PurchaseButton` labels when text does not
change (#3361) via NachoSoto (@NachoSoto)
* `Paywalls`: improve `FooterView` accessibility (#3349) via NachoSoto
(@NachoSoto)
### Dependency Updates
* Bump cocoapods from 1.14.0 to 1.14.2 (#3356) via dependabot[bot]
(@dependabot[bot])
* Bump cocoapods from 1.13.0 to 1.14.0 (#3351) via dependabot[bot]
(@dependabot[bot])
### Other Changes
* `Paywalls`: simplify `PurchaseButton` (#3362) via NachoSoto
(@NachoSoto)
* `Paywalls`: refactored `IntroEligibilityStateView` (#3360) via
NachoSoto (@NachoSoto)
* `Paywall Tester`: improve template 5 dark colors (#3358) via NachoSoto
(@NachoSoto)
* `Paywalls`: improve conversion from `Color`/`UIColor` to
`PaywallColor` (#3357) via NachoSoto (@NachoSoto)
* `Paywalls Tester`: improve `.paywallFooter` presentation (#3348) via
NachoSoto (@NachoSoto)
* `Paywalls`: move size configuration to `TemplateViewType` (#3352) via
NachoSoto (@NachoSoto)

---------

Co-authored-by: NachoSoto <ignaciosoto90@gmail.com>
2023-11-01 21:58:21 -07:00
RevenueCat Git BotandDistiller 7f5512b5cf Prepare next version: 4.30.0-SNAPSHOT (#3353)
Co-authored-by: Distiller <distiller@static.38.39.184.61.cyberlynk.net>
2023-10-26 13:43:49 -07:00
RevenueCat Git BotandNachoSoto 3e2af2de8f [AUTOMATIC] Release/4.29.0 (#3350)
**This is an automatic release.**

### New Features
* `PaywallColor`: change visibility of `Color.init(light:dark:)` to
`private` (#3345) via NachoSoto (@NachoSoto)
### RevenueCatUI
* `Paywalls`: new `.onPurchaseCompleted` overload with
`StoreTransaction` (#3323) via NachoSoto (@NachoSoto)
* `Paywalls`: finished template 5 (#3340) via NachoSoto (@NachoSoto)
* `Paywalls`: new `onDismiss` parameter for `presentPaywallIfNeeded`
(#3342) via NachoSoto (@NachoSoto)
* `Paywalls`: disable shimmering on footer loading view (#3324) via
NachoSoto (@NachoSoto)
### Bugfixes
* `ErrorUtils.purchasesError(withSKError:)`: handle `URLError`s (#3346)
via NachoSoto (@NachoSoto)
### Other Changes
* `Paywalls`: add identifier to events (#3332) via Josh Holtz
(@joshdholtz)
* `Paywalls`: create new event session when paywall appears (#3330) via
Josh Holtz (@joshdholtz)
* `HTTPClient`: verbose logs for request IDs (#3320) via NachoSoto
(@NachoSoto)
* `Paywalls Tester`: fix `macOS` build (#3341) via NachoSoto
(@NachoSoto)
* `ProductFetcherSK1`: enable `TimingUtil` log (#3327) via NachoSoto
(@NachoSoto)
* `Paywall Tester`: fixed paywall presentation (#3339) via NachoSoto
(@NachoSoto)
* `CI`: replace Carthage build jobs with `xcodebuild` (#3338) via
NachoSoto (@NachoSoto)
* `Integration Tests`: use repetition count from test plan (#3329) via
NachoSoto (@NachoSoto)
* `Integration Tests`: new logs for troubleshooting flaky tests (#3328)
via NachoSoto (@NachoSoto)
* `CircleCI`: change iOS 17 job to use M1 Large resource (#3322) via
NachoSoto (@NachoSoto)
* `Paywalls Tester`: fix release build (#3321) via NachoSoto
(@NachoSoto)
* `Paywalls`: enable all iOS 17 tests (#3331) via NachoSoto (@NachoSoto)
* `CI`: added workaround for Snapshots in `Xcode Cloud` (#2857) via
NachoSoto (@NachoSoto)
* `StoreKit 1`: disabled `finishTransactions` log on observer mode
(#3314) via NachoSoto (@NachoSoto)

---------

Co-authored-by: NachoSoto <ignaciosoto90@gmail.com>
2023-10-26 12:39:16 -07:00
RevenueCat Git BotandDistiller c3629d64b9 Prepare next version: 4.29.0-SNAPSHOT (#3319)
Co-authored-by: Distiller <distiller@static.38.39.183.148.cyberlynk.net>
2023-10-18 23:43:16 +02:00
RevenueCat Git Bot b601589777 [AUTOMATIC] Release/4.28.1 (#3318)
**This is an automatic release.**

### Bugfixes
* `PaywallEventStore`: also remove legacy `revenuecat` documents
directory (#3317) via NachoSoto (@NachoSoto)
### Other Changes
* `CI`: run all iOS 17 tests (#3312) via NachoSoto (@NachoSoto)
* `StoreKit 2`: Optionally send JWS tokens instead of receipts to the
backend (#3227) via Mark Villacampa (@MarkVillacampa)
* `CircleCI`: update simulators for Xcode 15.0.1 (#3311) via NachoSoto
(@NachoSoto)
* `StoreKit 1`: improved debug log for `finishTransactions` invoked
outside the SDK (#3300) via NachoSoto (@NachoSoto)
* `Debug View`: display receipt status (#3303) via NachoSoto
(@NachoSoto)
2023-10-18 14:06:23 -07:00
RevenueCat Git Bot 3128ad4be4 Prepare next version: 4.29.0-SNAPSHOT (#3301) 2023-10-11 19:01:43 -07:00
RevenueCat Git Bot cb4d4af8c9 [AUTOMATIC] Release/4.28.0 (#3299) 2023-10-11 17:55:57 -07:00
RevenueCat Git BotandDistiller 27401da2cd Prepare next version: 4.28.0-SNAPSHOT (#3287)
Co-authored-by: Distiller <distiller@static.38.39.183.73.cyberlynk.net>
2023-10-06 18:58:30 +02:00
RevenueCat Git Bot 0fc403d96d [AUTOMATIC] Release/4.27.2 (#3285)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: improved purchase-in-progress UI (#3279) via NachoSoto
(@NachoSoto)
### Bugfixes
* `SK2StoreProduct.priceFormatter`: use locale from `StoreKit.Product`
(#3278) via NachoSoto (@NachoSoto)
### Performance Improvements
* `AAAttribution.attributionToken`: avoid using on main thread (#3281)
via NachoSoto (@NachoSoto)
### Other Changes
* `Paywalls Tester`: group live paywalls by template (#3276) via
NachoSoto (@NachoSoto)
2023-10-06 09:26:56 -07:00
RevenueCat Git BotandDistiller bf3da76398 Prepare next version: 4.28.0-SNAPSHOT (#3277)
Co-authored-by: Distiller <distiller@static.38.23.38.18.cyberlynk.net>
2023-10-05 11:55:12 -05:00
RevenueCat Git Bot e4256123f9 [AUTOMATIC] Release/4.27.1 (#3275)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: added shimmer effect to `LoadingPaywallView` (#3267) via
NachoSoto (@NachoSoto)
### Bugfixes
* `Paywalls`: fixed `macOS` compilation (#3272) via NachoSoto
(@NachoSoto)
### Other Changes
* Update `SwiftLint` (#3273) via NachoSoto (@NachoSoto)
* PaywallsTester: allow for configuration for demos (#3260) via Andy
Boedo (@aboedo)
* `Paywalls`: simplified `LoadingPaywallView` (#3265) via NachoSoto
(@NachoSoto)
2023-10-04 13:50:56 -07:00
RevenueCat Git BotandDistiller 80082a4ea6 Prepare next version: 4.28.0-SNAPSHOT (#3271)
Co-authored-by: Distiller <distiller@static.38.23.40.116.cyberlynk.net>
2023-10-03 21:22:10 +02:00
RevenueCat Git Bot b39caa5622 [AUTOMATIC] Release/4.27.0 (#3270)
**This is an automatic release.**

### New Features
* Add `Attribution.setOnesignalUserID` (#3268) via Raquel Diez
(@Raquel10-RevenueCat)
* StoreKit In App messages support (#3252) via Toni Rico (@tonidero)
### Other Changes
* Remove ObjC showStoreMessages API (#3269) via Toni Rico (@tonidero)
* PaywallsTester: add a new tab that calls presentPaywallIfNeeded
(#3259) via Andy Boedo (@aboedo)
* `Paywalls`: small PaywallsTester refactor (#3261) via NachoSoto
(@NachoSoto)
2023-10-03 20:54:47 +02:00
RevenueCat Git BotandDistiller cfd360adfb Prepare next version: 4.27.0-SNAPSHOT (#3266)
Co-authored-by: Distiller <distiller@static.38.23.40.111.cyberlynk.net>
2023-10-03 00:17:34 +02:00
RevenueCat Git Bot e1facf90fe [AUTOMATIC] Release/4.26.2 (#3263)
**This is an automatic release.**

### RevenueCatUI
* `Paywalls`: polished template 4 layout math (#3249) via NachoSoto
(@NachoSoto)
* `Paywalls`: improved template 1 iPad layout and iOS 15 fix (#3241) via
NachoSoto (@NachoSoto)
* `Paywalls`: polished `PurchaseButton` on iPad (#3240) via NachoSoto
(@NachoSoto)
### Dependency Updates
* Bump cocoapods from 1.12.1 to 1.13.0 (#3251) via dependabot[bot]
(@dependabot[bot])
### Other Changes
* `Paywalls`: added previews for `IntroEligibilityStateView` (#3248) via
NachoSoto (@NachoSoto)
* `debugRevenueCatOverlay`: added list of active entitlements (#3247)
via NachoSoto (@NachoSoto)
* PaywallsTester: allow easy testing of paywall modes for All Offerings
tab (#3254) via Andy Boedo (@aboedo)
* PaywallsTester: allow resizing on macOS (#3258) via Andy Boedo
(@aboedo)
* PaywallsTester: replace opening default paywall automatically with
button (#3256) via Andy Boedo (@aboedo)
* PaywallsTester: fix StoreKit Configuration scheme (#3257) via Andy
Boedo (@aboedo)
* PaywallsTester: improve navigation on macOS and iPadOS (#3255) via
Andy Boedo (@aboedo)
* `PrivacyInfo.xcprivacy`: changed
`NSPrivacyCollectedDataTypePurchaseHistory` to `false` (#3242) via
NachoSoto (@NachoSoto)
* `Paywalls`: changed `PaywallsTester` to allow not configuring API key
(#3244) via NachoSoto (@NachoSoto)
* `Paywalls`: renamed `SimpleApp` to `PaywallsTester` (#3243) via
NachoSoto (@NachoSoto)
* Make revisionID private in PaywallData+Default (#3239) via Cesar de la
Vega (@vegaro)
2023-10-02 13:57:54 -07:00
RevenueCat Git Bot 62c3dc0ddf Prepare next version: 4.27.0-SNAPSHOT (#3238) 2023-09-21 14:44:16 +02:00
RevenueCat Git Bot 7bfae6c0ba [AUTOMATIC] Release/4.26.1 (#3236) 2023-09-21 05:05:45 -07:00
RevenueCat Git BotandDistiller 461111bf4f Prepare next version: 4.27.0-SNAPSHOT (#3220)
Co-authored-by: Distiller <distiller@static.38.39.184.151.cyberlynk.net>
2023-09-15 12:18:20 -07:00
9e839466b5 [AUTOMATIC] Release/4.26.0 (#3219)
**This is an automatic release.**
### New Features
#### ✨ Introducing RevenueCatUI 📱

RevenueCat's Paywalls allow you to to remotely configure your entire
paywall view without any code changes or app updates.
Our paywall templates use native code to deliver smooth, intuitive
experiences to your customers when you’re ready to deliver them an
Offering; and you can use our Dashboard to pick the right template and
configuration to meet your needs.

To use RevenueCat Paywalls on iOS, simply:

1. Create a Paywall on the Dashboard for the `Offering` you intend to
serve to your customers
2. Add the `RevenueCatUI` SPM dependency to your project
3. `import RevenueCatUI` at the point in the user experience when you
want to display a paywall:

```swift
import RevenueCatUI
import SwiftUI

struct YourApp: View {

    var body: some View {
        YourContent()
            .presentPaywallIfNeeded(
                requiredEntitlementIdentifier: "pro",
                purchaseCompleted: { customerInfo in
                    print("Purchase completed: \(customerInfo)")
                },
                restoreCompleted: { customerInfo in
                    print("Purchases restored: \(customerInfo)")
                }
            )
    }

}
```

You can find more information in [our
documentation](https://rev.cat/paywalls).

<details>

<summary>List of changes</summary>
* NachoSoto: `Paywalls`: renamed `PaywallEvent.view` to `.impression`
(#3212)
* NachoSoto: `Paywalls`: loading indicator for in-progress purchases
(#3217)
*  NachoSoto: `Paywalls`: fixed template 4 bottom padding (#3211)
* NachoSoto: `Paywalls`: only pre-warm images/intro-eligibility for
`Offerings.current` (#3210)
* NachoSoto: `Paywalls`: fixed mock intro eligibility on snapshot tests
(#3205)
*  NachoSoto: `Paywalls`: fixed SimpleApp release build (#3203)
*  NachoSoto: `Paywalls`: improved `DebugErrorView` layout (#3204)
* NachoSoto: `Paywalls`: refactored `PurchaseHandler` extracting
protocol (#3196)
*  NachoSoto: `Paywalls`: automatically flush events (#3177)
* NachoSoto: `Paywalls`: fixed `TemplateBackgroundImageView` aspect
ratio (#3201)
*  NachoSoto: `Paywalls`: fixed broken layout on template 4 (#3202)
*  NachoSoto: `Paywalls`: events unit and integration tests (#3169)
*  NachoSoto: `Paywalls`: send events to `Purchases` (#3164)
*  NachoSoto: `Paywalls`: convert empty images into `nil` (#3195)
*  NachoSoto: `Paywalls`: new `onRestoreCompleted` handler (#3190)
* NachoSoto: `Paywalls`: fixed `IntroEligibilityViewModel` data lifetime
(#3194)
* NachoSoto: `Paywalls`: test plan for running non-snapshot tests
(#3188)
*  NachoSoto: `Paywalls`: polish template 4 (#3183)
* NachoSoto: `Paywalls`: fixed data flow resulting in multiple
`PurchaseHandler` instances (#3187)
* Cesar de la Vega: `Paywalls`: update `blurred_background_image` key in
`PaywallData` test fixture (#3186)
*  NachoSoto: `Paywalls`: added `Purchases.track(paywallEvent:)` (#3160)
* NachoSoto: `Paywalls`: don't apply dark appearance with no dark mode
colors (#3184)
* NachoSoto: `Paywalls`: fixed template 2 + `.condensedFooter` + iPad
(#3185)
* NachoSoto: `Paywalls`: new `{{ sub_duration_in_months }}` variable
(#3173)
*  NachoSoto: `Paywalls`: created `PaywallEventsManager` (#3159)
* NachoSoto: `Paywalls`: implemented `PostPaywallEventsOperation`
(#3158)
* NachoSoto: `Paywalls`: new `{{ sub_relative_discount }}` variable
(#3131)
*  Charlie Chapman: `Paywalls`: improved `FooterView` (#3171)
* NachoSoto: `Paywalls`: fixed `FooterView` horizontal centering (#3172)
*  NachoSoto: `Paywalls`: created `PaywallEventStore` (#3157)
*  NachoSoto: `Paywalls`: add `PaywallEvent` model (#3156)
*  NachoSoto: `Paywalls`: add `PaywallData.revision` (#3155)
* NachoSoto: `Paywalls`: support fuzzy-Locale search in `iOS 15` (#3162)
* NachoSoto: `PaywallData`: added `@NonEmptyString` to `subtitle` and
`offerName` (#3150)
* NachoSoto: `Paywalls`: add paywall for Load Shedder integration tests
(#3151)
* NachoSoto: `Paywalls`: fixed error view being displayed on release
builds (#3141)
* NachoSoto: `Paywalls`: improved `{{ total_price_and_per_month }}` to
include period (#3136)
* NachoSoto: `Paywalls`: `{{ price_per_period }}` now takes
`SubscriptionPeriod.value` into account (#3133)
*  NachoSoto: `Paywalls`: add Arabic to SimpleApp for testing (#3132)
* NachoSoto: `Paywalls`: update snapshot generation with new separate
git repo (#3116)
*  NachoSoto: `Paywalls`: add support for CTA button gradients (#3121)
*  NachoSoto: `Paywalls`: template 5 (#3095)
* NachoSoto: `Paywalls`: replaced submodule with `gitignore`d reference
(#3125)
* NachoSoto: `Catalyst`: fixed a couple of Catalyst build warnings
(#3120)
* NachoSoto: `Paywalls`: reference test snapshots from submodule (#3115)
*  NachoSoto: `Paywalls`: removed `presentedPaywallViewMode` (#3109)
* NachoSoto: `Paywalls`: remove duplicate `RevenueCat` scheme to fix
Carthage (#3105)
*  NachoSoto: `Paywalls`: fixed iOS 12 build (#3104)
*  NachoSoto: `Paywalls`: fixed template 2 inconsistent spacing (#3091)
*  NachoSoto: `Paywalls`: improved test custom paywall (#3089)
*  NachoSoto: `Paywalls`: avoid warming up cache multiple times (#3068)
*  NachoSoto: `Paywalls`: added all localization (#3080)
* NachoSoto: `Paywalls`: temporarily disable `PaywallTemplate.template4`
(#3088)
*  NachoSoto: `Paywalls`: enabled `Catalyst` support (#3087)
*  NachoSoto: `Paywalls`: iPad polish (#3061)
*  NachoSoto: `Paywalls`: added MIT license to all headers (#3084)
* NachoSoto: `Paywalls`: improved unselected package background color
(#3079)
*  NachoSoto: `Paywalls`: handle already purchased state (#3046)
* NachoSoto: `Paywalls`: only dismiss `PaywallView` when explicitly
presenting it with `.presentPaywallIfNeeded` (#3075)
* NachoSoto: `Paywalls`: add support for generating snapshots on CI
(#3055)
* NachoSoto: `Paywalls`: removed unnecessary `PaywallFooterView` (#3064)
* Josh Holtz: `Paywalls`: new `PaywallFooterView` to replace `modes`
(#3051)
*  Josh Holtz: `Paywalls`: rename card to footer (#3049)
* NachoSoto: `Paywalls`: changed `total_price_and_per_month` to include
period (#3044)
* NachoSoto: `Paywalls`: internal documentation for implementing
templates (#3053)
*  NachoSoto: `Paywalls`: finished `iOS 15` support (#3043)
* NachoSoto: `Paywalls`: validate `PaywallData` to ensure displayed data
is always correct (#3019)
* NachoSoto: `Paywalls`: fixed `total_price_and_per_month` for custom
monthly packages (#3027)
*  NachoSoto: `Paywalls`: tweaking colors on template 2&3 (#3011)
*  NachoSoto: `Paywalls`: changed snapshots to scale 1 (#3016)
* NachoSoto: `Paywalls`: replaced `defaultLocale` with
`preferredLocales` (#3003)
* NachoSoto: `Paywalls`: improved `PaywallDisplayMode.condensedCard`
layout (#3001)
*  NachoSoto: `Paywalls`: `.card` and `.condensedCard` modes (#2995)
*  NachoSoto: `Paywalls`: prevent multiple concurrent purchases (#2991)
*  NachoSoto: `Paywalls`: improved variable warning (#2984)
*  NachoSoto: `Paywalls`: fixed horizontal padding on template 1 (#2987)
* NachoSoto: `Paywalls`: changed `FooterView` to always use `text1`
color (#2992)
*  NachoSoto: `Paywalls`: retry test failures (#2985)
* NachoSoto: `Paywalls`: send presented `PaywallViewMode` with purchases
(#2859)
*  NachoSoto: `Paywalls`: added support for custom fonts (#2988)
* NachoSoto: `Paywalls`: improved template 2 unselected packages (#2982)
* Josh Holtz: `Paywalls`: fix template 2 selected text offer details
color (#2975)
*  NachoSoto: `Paywalls`: warm-up image cache (#2978)
*  NachoSoto: `Paywalls`: extracted `PaywallCacheWarming` (#2977)
*  NachoSoto: `Paywalls`: fixed color in template 3 (#2980)
*  NachoSoto: `Paywalls`: improved default template (#2973)
*  NachoSoto: `Paywalls`: added links to documentation (#2974)
*  NachoSoto: `Paywalls`: updated template names (#2971)
*  NachoSoto: `Paywalls`: updated variable names (#2970)
* NachoSoto: `Paywalls`: added JSON debug screen to
`debugRevenueCatOverlay` (#2972)
*  NachoSoto: `Paywalls`: multi-package horizontal template  (#2949)
*  NachoSoto: `Paywalls`: fixed template 3 icon aspect ratio (#2969)
*  NachoSoto: `Paywalls`: iOS 17 tests on CI (#2955)
*  NachoSoto: `Paywalls`: deploy `debug` sample app (#2966)
*  NachoSoto: `Paywalls`: sort offerings list in sample app (#2965)
*  NachoSoto: `Paywalls`: initial iOS 15 support (#2933)
* NachoSoto: `Paywalls`: changed default `PaywallData` to display
available packages (#2964)
*  NachoSoto: `Paywalls`: changed `offerDetails` to be optional (#2963)
*  NachoSoto: `Paywalls`: markdown support (#2961)
*  NachoSoto: `Paywalls`: updated icon set to match frontend (#2962)
*  NachoSoto: `Paywalls`: added support for `PackageType.custom` (#2959)
* NachoSoto: `Paywalls`: fixed `tvOS` compilation by making it
explicitly unavailable (#2956)
* NachoSoto: `Paywalls`: fix crash when computing localization with
duplicate packages (#2958)
*  NachoSoto: `Paywalls`: UIKit `PaywallViewController` (#2934)
* NachoSoto: `Paywalls`: `presentPaywallIfNecessary` ->
`presentPaywallIfNeeded` (#2953)
* NachoSoto: `Paywalls`: added support for custom and lifetime products
(#2941)
* NachoSoto: `Paywalls`: changed `SamplePaywallsList` to work offline
(#2937)
* NachoSoto: `Paywalls`: fixed header image mask on first template
(#2936)
*  NachoSoto: `Paywalls`: new `subscription_duration` variable (#2942)
* NachoSoto: `Paywalls`: removed `mode` parameter from
`presentPaywallIfNecessary` (#2940)
*  NachoSoto: `Paywalls`: improved `RemoteImage` error layout (#2939)
* NachoSoto: `Paywalls`: added default close button when using
`presentPaywallIfNecessary` (#2935)
* NachoSoto: `Paywalls`: added ability to preview templates in a
`.sheet` (#2938)
*  NachoSoto: `Paywalls`: avoid recomputing variable `Regex` (#2944)
*  NachoSoto: `Paywalls`: improved `FooterView` scaling (#2948)
* NachoSoto: `Paywalls`: added ability to calculate and localize
subscription discounts (#2943)
*  NachoSoto: `Offering`: improved description (#2912)
*  NachoSoto: `Paywalls`: fixed `FooterView` color in template 1 (#2951)
*  NachoSoto: `Paywalls`: fixed `View.scrollableIfNecessary` (#2947)
* NachoSoto: `Paywalls`: improved `IntroEligibilityStateView` to avoid
layout changes (#2946)
* NachoSoto: `Paywalls`: updated offerings snapshot with new asset base
URL (#2950)
* NachoSoto: `Paywalls`: extracted `TemplateBackgroundImageView` (#2945)
*  NachoSoto: `Paywalls`: more polish from design feedback (#2932)
*  NachoSoto: `Paywalls`: more unit tests for purchasing state (#2931)
*  NachoSoto: `Paywalls`: new `.onPurchaseCompleted` modifier (#2930)
* NachoSoto: `Paywalls`: fixed `LoadingPaywallView` displaying a
progress view (#2929)
* NachoSoto: `Paywalls`: added default template to `SamplePaywallsList`
(#2928)
*  NachoSoto: `Paywalls`: added a few more logs (#2927)
*  NachoSoto: `Paywalls` added individual previews for templates (#2924)
*  NachoSoto: `Paywalls`: improved default paywall configuration (#2926)
* NachoSoto: `Paywalls`: moved purchasing state to `PurchaseHandler`
(#2923)
*  NachoSoto: `Paywalls`: updated Integration Test snapshot (#2921)
* NachoSoto: `Paywalls`: pre-warm intro eligibility in background thread
(#2925)
*  NachoSoto: `Paywalls`: removed "couldn't find package" log (#2922)
* NachoSoto: `Paywalls`: SimpleApp reads API key from Xcode Cloud
environment (#2919)
* NachoSoto: `Paywalls`: improved template accessibility support (#2920)
* NachoSoto: `Paywalls`: work around SwiftUI bug to allow embedding
`PaywallView` inside `NavigationStack` (#2918)
*  NachoSoto: `Paywalls`: some basic polish from design feedback (#2917)
* NachoSoto: `Paywalls`: added `OfferingsList` to preview all paywalls
(#2916)
* NachoSoto: `Paywalls`: fixed tappable area for a couple of buttons
(#2915)
*  NachoSoto: `Paywalls`: new `text1` and `text2` colors (#2903)
* NachoSoto: `Paywalls`: updated multi-package bold template design
(#2908)
*  NachoSoto: `Paywalls`: added sample paywalls to `SimpleApp` (#2907)
*  NachoSoto: `Paywalls`: one package with features template (#2902)
*  NachoSoto: `Paywalls`: initial support for icons (#2882)
* NachoSoto: `Paywalls`: extracted intro eligibility out of templates
(#2901)
*  NachoSoto: `Paywalls`: changed `subtitle` to be optional (#2900)
* NachoSoto: `Paywalls`: added "features" to `LocalizedConfiguration`
(#2899)
* NachoSoto: `Paywalls`: fixed `{{ total_price_and_per_month }}` (#2881)
*  NachoSoto: `Paywalls`: updated template names (#2878)
*  NachoSoto: `Paywalls`: added accent colors (#2883)
* NachoSoto: `Paywalls`: changed images representation to an object
(#2875)
*  NachoSoto: `Paywalls`: added `offerName` parameter (#2877)
*  NachoSoto: `Paywalls`: new `{{ period }}` variable (#2876)
*  NachoSoto: `Paywalls`: disabled `PaywallViewMode`s for now (#2874)
* NachoSoto: `Paywalls`: added new `defaultPackage` configuration
(#2871)
*  NachoSoto: `Paywalls`: fixed tests on CI (#2872)
* NachoSoto: `Paywalls`: pre-fetch intro eligibility for paywalls
(#2860)
*  Andy Boedo: `Paywalls`: clean up the error view (#2873)
* NachoSoto: `Paywalls`: new API for easily displaying `PaywallView`
with just one line (#2869)
*  NachoSoto: `Paywalls`: handle missing paywalls gracefully (#2855)
* NachoSoto: `Paywalls`: temporarily disable non-fullscreen
`PaywallView`s (#2868)
* NachoSoto: `Paywalls`: added test to ensure package selection
maintains order (#2853)
* NachoSoto: `Paywalls`: added new `blurredBackgroundImage`
configuration (#2852)
*  NachoSoto: `Paywalls`: fuzzy `Locale` lookups (#2847)
*  NachoSoto: `Paywalls`: basic localization support (#2851)
*  NachoSoto: `Paywalls`: added `FooterView` (#2850)
*  NachoSoto: `Paywalls`: multi-package template (#2840)
*  NachoSoto: `Paywalls`: disable animations during unit tests (#2848)
* NachoSoto: `Paywalls`: `TrialOrIntroEligibilityChecker.eligibility(for
packages:)` (#2846)
* NachoSoto: `Paywalls`: added new `total_price_and_per_month` variable
(#2845)
*  NachoSoto: `Paywalls`: extracted `PurchaseButton` (#2839)
*  NachoSoto: `Paywalls`: extracted `IntroEligibilityStateView` (#2837)
* NachoSoto: `Paywalls`: support for multiple `PaywallViewMode`s (#2834)
* NachoSoto: `Paywalls`: add support for multiple images in template
configuration (#2832)
* NachoSoto: `Paywalls`: extracted configuration processing into a new
`TemplateViewConfiguration` (#2830)
* NachoSoto: `Paywalls`: improved support for dynamic type with
snapshots (#2827)
* NachoSoto: `Paywalls`: disable `macOS`/`macCatalyst`/`watchOS` for now
(#2821)
* NachoSoto: `Paywalls`: using new color information in template (#2823)
*  NachoSoto: `Paywalls`: set up CI tests and API Tester (#2816)
*  NachoSoto: `Paywalls`: added support for decoding colors (#2822)
* NachoSoto: `Paywalls`: ignore empty strings in
`LocalizedConfiguration` (#2818)
*  NachoSoto: `Paywalls`: updated `PaywallData` field names (#2817)
*  NachoSoto: `Paywalls`: added support for purchasing (#2812)
* NachoSoto: `Paywalls`: added tests for `PackageType` filtering (#2810)
* Andy Boedo: `Paywalls`: changed variable handling to use Swift `Regex`
(#2811)
*  NachoSoto: `Paywalls`: added `price` variable (#2809)
*  NachoSoto: `Paywalls`: determine intro eligibility (#2808)
*  NachoSoto: `Paywalls`: added header image to configuration (#2800)
*  NachoSoto: `Paywalls`: added `packages` to configuration (#2798)
* NachoSoto: `Paywalls`: add support for displaying
`StoreProductDiscount`s (#2796)
*  NachoSoto: `Paywalls`: added support for variables (#2793)
* NachoSoto: `Paywalls`: using `PaywallData` and setting up basic
template loading (#2781)
*  NachoSoto: `Paywalls`: initial configuration types (#2780)
*  NachoSoto: `Paywalls`: initial `RevenueCatUI` target setup (#2776)

</details>

### Other Changes

* `Debug`: add `Offering` metadata to debug screen (#3137) via NachoSoto
(@NachoSoto)
* `TestStoreProduct`: new `locale` parameter (#3134) via NachoSoto
(@NachoSoto)
* `Integration Tests`: fixed more flaky failures (#3218) via NachoSoto
(@NachoSoto)

---------

Co-authored-by: NachoSoto <ignaciosoto90@gmail.com>
Co-authored-by: NachoSoto <NachoSoto@users.noreply.github.com>
2023-09-15 10:33:25 -07:00
RevenueCat Git BotandDistiller 5fa76f562b Prepare next version: 4.26.0-SNAPSHOT (#3214)
Co-authored-by: Distiller <distiller@static.38.39.184.117.cyberlynk.net>
2023-09-14 22:00:59 +02:00
RevenueCat Git Bot 1f5a7f5c62 [AUTOMATIC] Release/4.25.10 (#3208)
**This is an automatic release.**

### Bugfixes
* Fix runtime crash in SK2TransactionListener in iOS < 15 (#3206) via
Toni Rico (@tonidero)
### Performance Improvements
* `OperationDispatcher`: add support for "long" delays (#3168) via
NachoSoto (@NachoSoto)
### Other Changes
* `Integration Tests`: add tests for ghost transfer behavior (#3135) via
NachoSoto (@NachoSoto)
* `Xcode`: removed `purchases-ios` SPM reference (#3166) via NachoSoto
(@NachoSoto)
* `Integration Tests`: another flaky failure (#3165) via NachoSoto
(@NachoSoto)
* `Integration Tests`: fix flaky test failure due to leftover
transaction (#3167) via NachoSoto (@NachoSoto)
* `Xcode 13`: removed last `Swift 5.7` checks (#3161) via NachoSoto
(@NachoSoto)
* `Integration Tests`: improve flaky tests (#3163) via NachoSoto
(@NachoSoto)
* `Codable`: improved decoding errors (#3153) via NachoSoto (@NachoSoto)
* Refactor: extract `HealthOperation` (#3154) via NachoSoto (@NachoSoto)
* `Xcode 13`: remove conditional code (#3147) via NachoSoto (@NachoSoto)
* `CircleCI`: change all jobs to use `Xcode 14.x` and replace
`xcode-install` with `xcodes` (#2421) via NachoSoto (@NachoSoto)
2023-09-14 12:20:41 -07:00