Skip to main content
featured-image

Android 8.14.1

RevenueCat SDK 🐞 Bugfixes fix: Remove API dependency with Coil (#2229) via Toni Rico (@tonidero) Set default interfaces compiler flag to all-compatibility (#2227) via Cesar de la Vega (@vegaro) RevenueCatUI SDK 🐞 Bugfixes Prevent Paywalls V1 Template 7 from defaulting empty badge to showing percent off (#2222) via Josh Holtz (@joshdholtz) Fixes inconsistent package ordering on tiered paywalls (template 7) (#2221) via JayShortway (@JayShortway) Paywallv2 🐞 Bugfixes Fix background painting outside composable (#2236) via Toni Rico (@tonidero) [Paywalls V2] Avoids the theme from influencing the text color (#2235) via JayShortway (@JayShortway) [Paywalls V2] Handles potential locale id inconsistency between strings and variables (#2234) via JayShortway (@JayShortway) [Paywalls V2] Disable all buttons when any action is in progress (#2219) via JayShortway (@JayShortway) [Paywalls V2] Fixes locales without region and X-Preferred-Locales (#2230) via JayShortway (@JayShortway) [Paywalls V2] Fix CarouselComponent peek (#2228) via Toni Rico (@tonidero) Customer Center 🐞 Bugfixes Fix CustomerCenterActivity colors on dark mode (#2225) via Cesar de la Vega (@vegaro) 🔄 Other Changes [AUTOMATIC][Paywalls V2] Updates Compose previews of all templates (#2233) via RevenueCat Git Bot (@RCGitBot) [AUTOMATIC][Paywalls V2] Updates Compose previews of all templates (#2226) via RevenueCat Git Bot (@RCGitBot) To view new release, visit https://github.com/RevenueCat/purchases-android/releases/tag/8.14.1

featured-image

Android 8.14.0

RevenueCat SDK ✨ New Features Add hasPaywall property to Offering (#2212) via Antonio Pallares (@ajpallares) 🐞 Bugfixes Fix empty options in NoActive subscriptions screen (#2168) via Cesar de la Vega (@vegaro) RevenueCatUI SDK Customer Center ✨ New Features Create CustomerCenterListener (#2199) via Cesar de la Vega (@vegaro) 🐞 Bugfixes Reload Customer Center after a successful restore (#2203) via Cesar de la Vega (@vegaro) Fixes CustomerCenter state not refreshing when reopening (#2202) via Cesar de la Vega (@vegaro) 🔄 Other Changes Improves PaywallsTester multi-API-key support (#2218) via JayShortway (@JayShortway) [EXTERNAL] Bump Emerge Gradle Plugin and Snaphsots version (#2211) via @runningcode (#2217) via JayShortway (@JayShortway) [AUTOMATIC][Paywalls V2] Updates Compose previews of all templates (#2207) via RevenueCat Git Bot (@RCGitBot) [Paywalls V2] Enables template previews again (#2215) via JayShortway (@JayShortway) Adds support for switching between 2 API keys to PaywallsTester (#2213) via JayShortway (@JayShortway) Adds a LocalPreviewImageLoader CompositionLocal. (#2201) via JayShortway (@JayShortway) Logs from RevenueCatUI are now tagged with [Purchases] too. (#2206) via JayShortway (@JayShortway) [Paywalls V2] Ignores template previews for now. (#2209) via JayShortway (@JayShortway) [Paywalls V2] Some more template previews optimizations (#2208) via JayShortway (@JayShortway) chore: Delete key from customer center survey event (#2204) via Facundo Menzella (@facumenzella) [Paywalls V2] Extract ImageLoader to use a single one (#2146) via Toni Rico (@tonidero) [Paywalls V2] Adds progress indicator to buttons (#2198) via JayShortway (@JayShortway) Avoids triggering "unscheduled" workflows when triggering workflows via the CircleCI API (#2200) via JayShortway (@JayShortway) [Paywalls V2] Adds a note on publishing to the missing paywall error. (#2193) via JayShortway (@JayShortway) Adds X-Kotlin-Version header. (#2197) via JayShortway (@JayShortway) [Paywalls V2] Adds docs on ignored arguments for Paywalls V2 in more places. (#2195) via JayShortway (@JayShortway) chore: Add backend integration test for events (#2189) via Facundo Menzella (@facumenzella) [Paywalls V2] Adds CI job to update template previews (#2192) via JayShortway (@JayShortway) To view new release, visit https://github.com/RevenueCat/purchases-android/releases/tag/8.14.0

featured-image

iOS 5.19.0

RevenueCat SDK ✨ New Features Add hasPaywall property to Offering (#4847) via Antonio Pallares (@ajpallares) 🐞 Bugfixes Fix compilation issues in Xcode 16.3 beta (#4840) via Andy Boedo (@aboedo) Correctly set PaywallsTester app API key by the CI (#4822) via Antonio Pallares (@ajpallares) Customer Center ✨ New Features feat: Add onClose handler support for CustomerCenter (#4850) via Facundo Menzella (@facumenzella) RevenueCatUI SDK 🐞 Bugfixes Add default refundWindowDuration to HelpPath.init (#4826) via Will Taylor (@fire-at-will) Paywallv2 🐞 Bugfixes Add activity indicator to restore purchases button behavior (#4848) via Josh Holtz (@joshdholtz) Customer Center ✨ New Features feat: Hide refund for purchases in trial period (#4823) via Facundo Menzella (@facumenzella) feat: Don't show refund if free subscription (#4805) via Facundo Menzella (@facumenzella) feat: Introduce refund window to control if a refund is offered for a purchase (#4784) via Facundo Menzella (@facumenzella) 🔄 Other Changes feat: disable postAttributionData requests when in UI preview mode (#4824) via Antonio Pallares (@ajpallares) chore: Disable EventsManagerIntegrationTests till fixed (#4852) via Facundo Menzella (@facumenzella) Run all-tests on main and notify Slack (#4849) via Cesar de la Vega (@vegaro) Fix potential wrong count on diagnosis sync (#4846) via Antonio Pallares (@ajpallares) [Paywalls] Always use normal stack if the relevant axis size is fit (#4842) via Mark Villacampa (@MarkVillacampa) Uses the remote version of purchases-ios for the SwiftUI sample app (#4841) via Pol Piella Abadia (@polpielladev) [Diagnostics] Add extra parameters to applePurchaseAttempt (#4835) via Antonio Pallares (@ajpallares) Use array instead of sets in diagnostics events (#4839) via Antonio Pallares (@ajpallares) chore: Add integration test for analytics events (#4830) via Facundo Menzella (@facumenzella) Update changelog with 4.43.3 and 4.43.4 (#4834) via Mark Villacampa (@MarkVillacampa) [Diagnostics] Add requestedProductIds and notFoundProductIds to appleProductsRequest (#4828) via Toni Rico (@tonidero) Add RCStoreMessageTypeWinBackOffer to Objc API Tester (#4827) via Will Taylor (@fire-at-will) chore: Enable force_unwrapping for SwiftLint (#4820) via Facundo Menzella (@facumenzella) chore: Delete .orig file and ignore in git ignore (#4821) via Facundo Menzella (@facumenzella) Post error test results to Slack (#4404) via Toni Rico (@tonidero) [Paywalls V2] Adds a note on publishing to the missing paywall error. (#4817) via JayShortway (@JayShortway) Adds buildServer.json to .gitignore (#4819) via JayShortway (@JayShortway) Empty strings in proxyURL parameters in Local.xcconfig (#4818) via Antonio Pallares (@ajpallares) [Paywalls] Use CSS linear-gradient spec to compute gradient start/end points (#4789) via Mark Villacampa (@MarkVillacampa) [Paywalls] Add support for shadows in image components (#4797) via Mark Villacampa (@MarkVillacampa) [Paywalls] Fix badge background not using the new background field instead of ba… (#4811) via Mark Villacampa (@MarkVillacampa) fix: workaround to allow using proxy URL in Local.xcconfig (#4810) via Antonio Pallares (@ajpallares) To view new release, visit https://github.com/RevenueCat/purchases-ios/releases/tag/5.19.0

featured-image
featured-image
featured-image
featured-image
featured-image

iOS 5.18.0

RevenueCat SDK 🐞 Bugfixes Fix SDK Compilation on Xcode 16.3/iOS 18.4 Beta 1 (#4814) via Will Taylor (@fire-at-will) Add prepaid as a period type (#4782) via Greenie (@greenietea) RevenueCatUI SDK 🐞 Bugfixes Fix paywall refreshable bug (#4793) via Antonio Pallares (@ajpallares) Customer Center 🐞 Bugfixes fix: [AppUpdateWarningView] Tweak buttons bottom alignment and padding (#4807) via Facundo Menzella (@facumenzella) fix: Remove force unwrapping from PurchaseHistoryView (#4794) via Facundo Menzella (@facumenzella) fix: Remove NavigationView/NavigationStack from AppWarningView (#4792) via Facundo Menzella (@facumenzella) Paywallv2 ✨ New Features [Paywalls V2] Carousel component (#4722) via Josh Holtz (@joshdholtz) 🐞 Bugfixes [Paywalls V2] Fixes parsing generic fonts. (#4801) via JayShortway (@JayShortway) [Paywalls V2] Scroll fix for background/padding/border (#4788) via Josh Holtz (@joshdholtz) [Paywalls V2] Add purchase button activity indicator (#4787) via Josh Holtz (@joshdholtz) [Paywalls V2] Add visible property to all components (and overrides to ones that were missing) (#4781) via Josh Holtz (@joshdholtz) 🔄 Other Changes UI preview mode: disable cache updates (#4809) via Antonio Pallares (@ajpallares) UI Preview mode: avoid intro eligibility request (#4800) via Antonio Pallares (@ajpallares) [Diagnostics] Fix store kit error description tracking (#4799) via Toni Rico (@tonidero) Add no quotes hints to build settings in Local.xcconfig.SAMPLE (#4808) via Antonio Pallares (@ajpallares) [Paywalls] Fix onRestoreComplete callback not being called (#4803) via Mark Villacampa (@MarkVillacampa) UI preview mode: disable log in and log out (#4804) via Antonio Pallares (@ajpallares) Config item rename (#4798) via Antonio Pallares (@ajpallares) Use RC API key for local development from local.xcconfig (#4795) via Antonio Pallares (@ajpallares) UI Preview Mode: mock CustomerInfo (#4786) via Antonio Pallares (@ajpallares) [Paywalls V2] Added overflow property to stack (#4767) via Josh Holtz (@joshdholtz) Add Internal support for draft paywall previews (#4761) via Antonio Pallares (@ajpallares) To view new release, visit https://github.com/RevenueCat/purchases-ios/releases/tag/5.18.0

featured-image
featured-image
featured-image
featured-image

Android 8.12.0

RevenueCat SDK 🐞 Bugfixes fix: Add prepaid as a period type (#2141) via Greenie (@greenietea) RevenueCatUI SDK Paywalls v2 ✨ New Features [Paywalls V2] Adds support for Paywalls V2! (#2127) via JayShortway (@JayShortway) Customer Center ✨ New Features Adds support for CustomerCenter (#2156) via Cesar de la Vega (@vegaro) 🔄 Other Changes [Paywalls V2] Deprecate PaywallFooter in favor of OriginalTemplatePaywallFooter (#2111) via Toni Rico (@tonidero) feat: Filter CANCEL from help path if lifetime (#2140) via Facundo Menzella (@facumenzella) fix: Localize Restore Purchases Dialog (#2139) via Facundo Menzella (@facumenzella) fix: Hide contact support if there's no email (#2135) via Facundo Menzella (@facumenzella) feat: Track IMPRESSION and SURVER_OPTION_CHOSEN for CustomerCenter (#2124) via Facundo Menzella (@facumenzella) fix: Use TextButton instead of outline for Promotionals (#2138) via Facundo Menzella (@facumenzella) Rename carousel slide to page (#2144) via Josh Holtz (@joshdholtz) [Paywalls V2] Make border draw on top of the image overlay (#2165) via Toni Rico (@tonidero) [Paywalls V2] Gradients Reloaded: Makes linear gradients match CSS even more closely (#2166) via JayShortway (@JayShortway) [Paywalls V2] Fix wrong spacers in Stack when some children are Fill (#2164) via Toni Rico (@tonidero) chore: Unify Json encoding with JsonHelper (#2160) via Facundo Menzella (@facumenzella) [Paywalls V2] Fixes the top system bar padding being applied to all children in a vertical container (#2162) via JayShortway (@JayShortway) [Paywalls V2] Refactor to use a single ImageLoader singleton in RevenueCatUI (#2161) via Toni Rico (@tonidero) [Paywalls V2] Apply stack margins to overlay badges (#2158) via Toni Rico (@tonidero) [Paywalls V2] Disables the click handler for the selected package (#2159) via JayShortway (@JayShortway) [Paywalls V2] Change stack distribution system to use spacers instead of custom arrangements (#2154) via Toni Rico (@tonidero) [Paywalls V2] Fixes empty stacks not showing up. (#2157) via JayShortway (@JayShortway) Explicitly sets the defaults flavor as the default. (#2155) via JayShortway (@JayShortway) Updates on no active purchases screen (#2150) via Cesar de la Vega (@vegaro) [Paywalls V2] Fix issue with sizing of stacks with nested badges (#2152) via Toni Rico (@tonidero) [Paywalls V2] Fix issue with shadows overlapping long edgeToEdge badges (#2149) via Toni Rico (@tonidero) [Paywalls V2] Adjusts the convex/concave offset to 10% of the image height (#2151) via JayShortway (@JayShortway) [Paywalls V2] Fixes variables for multi month periods (#2148) via JayShortway (@JayShortway) [Paywalls V2] Correctly handles variables for lifetime products (#2145) via JayShortway (@JayShortway) [Paywalls V2] Add shadows to badge previews (#2147) via Toni Rico (@tonidero) [Paywalls V2] Predownload paywall low res images (#2143) via Toni Rico (@tonidero) [Paywalls V2] Makes linear gradients consistent with CSS (#2142) via JayShortway (@JayShortway) [Paywalls V2] Adds edge-to-edge support (#2137) via JayShortway (@JayShortway) [Paywalls V2] Make root stack component use all the available space by default (#2136) via Toni Rico (@tonidero) [Paywalls V2] Avoids a crash if a package is missing (#2130) via JayShortway (@JayShortway) [Paywalls V2] Fix stack clipping issues (#2126) via Toni Rico (@tonidero) fix: Address typo and wrong doc for CustomerCenter events (#2133) via Facundo Menzella (@facumenzella) [Paywalls V2] Fix merge conflict (#2134) via Toni Rico (@tonidero) [Paywalls V2] Actually ignores the font provider for V2. (#2129) via JayShortway (@JayShortway) Rename PromotionalOfferView to PromotionalOfferScreen (#2132) via Cesar de la Vega (@vegaro) [Paywalls V2] Support background images in StackComponent, CarouselComponent, TabsComponent (#2131) via Toni Rico (@tonidero) [Paywalls V2] Support scroll orientation in StackComponent (#2108) via Toni Rico (@tonidero) [Paywalls V2] Correctly selects packages on tabs (#2122) via JayShortway (@JayShortway) Revamp UI in Customer Center (#2123) via Cesar de la Vega (@vegaro) [Paywalls V2] Remove cursive as a generic font (#2118) via Josh Holtz (@joshdholtz) Publishes PaywallsTester to Internal testing track on every commit to main (#2100) via JayShortway (@JayShortway) Fixes X in promo offer not dismissing the promo (#2110) via Cesar de la Vega (@vegaro) [Paywalls V2] Published version of PaywallTester now uses the Paywalls V2 Alpha RC project (#2093) via JayShortway (@JayShortway) [Paywalls V2] New overrides structure (#2120) via Toni Rico (@tonidero) [Paywalls V2] Adds TabsComponent samples and tests (#2115) via JayShortway (@JayShortway) Ignores RestorePurchasesDialog previews using IgnoreEmergeSnapshot (#2116) via Cesar de la Vega (@vegaro) [Paywalls V2] Adds TabsComponentView (#2114) via JayShortway (@JayShortway) Fixes "View field header collides with a variable" data binding error in PurchaseTester (#2119) via JayShortway (@JayShortway) feat: Add support for tracking customer center events (#2117) via Facundo Menzella (@facumenzella) [Paywalls V2] Adds TabsComponentStyle (#2113) via JayShortway (@JayShortway) [Paywalls V2] Adds deserialization of TabsComponent (#2101) via JayShortway (@JayShortway) [Paywalls V2] Implements Variables V2 (#2099) via JayShortway (@JayShortway) refactor: Introduce EventsManager to track events for different features (#2096) via Facundo Menzella (@facumenzella) Rename to Web Billing (#2094) via Antonio Borrero Granell (@antoniobg) [Paywalls V2] Fixes shadows drawing behind transparent components (#2112) via JayShortway (@JayShortway) Fix title not being reset after closing Feedback Survey (#2109) via Cesar de la Vega (@vegaro) Support for opening custom urls in Customer Center (#2107) via Cesar de la Vega (@vegaro) Prices in accept promotional offer button (#2104) via Cesar de la Vega (@vegaro) Customer Center use remote appearance config (#2102) via Cesar de la Vega (@vegaro) [Paywalls V2] Use original paywall fallback when trying to use Footer modes in a Components paywall (#2106) via Toni Rico (@tonidero) [Paywalls V2] Add more ImageComponentView preview tests (#2103) via Toni Rico (@tonidero) [Paywalls V2] Add CarouselComponent page indicator animation (#2105) via Toni Rico (@tonidero) [Paywalls V2] Add CarouselComponentView (#2095) via Toni Rico (@tonidero) [Paywalls V2] Add CarouselComponent infrastructure (#2092) via Toni Rico (@tonidero) [Paywalls V2] Adds new price calculations needed for Variables V2 (#2098) via JayShortway (@JayShortway) [Paywalls V2] Preparation for Variables V2 (#2097) via JayShortway (@JayShortway) Promotional offers (#2011) via Cesar de la Vega (@vegaro) [Paywalls V2] No longer provides the entire UiConfig to StyleFactory (#2091) via JayShortway (@JayShortway) [Paywalls V2] Adds support for custom fonts (#2090) via JayShortway (@JayShortway) feat: Add basic customer center events (#2075) via Facundo Menzella (@facumenzella) Add support to manage non-Google purchases in Customer Center (#2067) via Cesar de la Vega (@vegaro) [Paywalls V2] Add TimelineComponentView (#2083) via Toni Rico (@tonidero) [Paywalls V2] Process TimelineComponent overrides and state (#2082) via Toni Rico (@tonidero) [Paywalls V2] Cleans up after implementing color aliases (#2087) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for backgrounds (#2086) via JayShortway (@JayShortway) PaywallTesterApp is no longer wrapped in a Surface (#2089) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for shadows (#2085) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for borders (#2084) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for TextComponent (#2080) via JayShortway (@JayShortway) [Paywalls V2] Add TimelineComponent network parsing (#2047) via Toni Rico (@tonidero) [Paywalls V2] Implements color aliases for ImageComponent (#2079) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for IconComponent (#2078) via JayShortway (@JayShortway) Build SubscriptionDetailsView using CustomerInfo (#2057) via Cesar de la Vega (@vegaro) Some Material 3 updates to the ManageSubscriptionsView (#2072) via JayShortway (@JayShortway) [Paywalls V2] Implements color aliases for StackComponent (#2076) via JayShortway (@JayShortway) Fixes compilation of IconComponentView. (#2073) via JayShortway (@JayShortway) [Paywalls V2] Make edgeToEdge top/bottom badge extend to entire stack background (#2070) via Toni Rico (@tonidero) [Paywalls V2] Parses UiConfig (#2068) via JayShortway (@JayShortway) [Paywalls V2] Add IconComponent (#2071) via Toni Rico (@tonidero) [Paywalls V2] Badge: Handle main stack border width correctly in overlay and nested badge styles (#2069) via Toni Rico (@tonidero) [Paywalls V2] Add edgeToEdge badge trailing/leading style layout (#2054) via Toni Rico (@tonidero) [Paywalls V2] Adds support for fallback components (#2064) via JayShortway (@JayShortway) To view new release, visit https://github.com/RevenueCat/purchases-android/releases/tag/8.12.0