Skip to content

Marks PaywallData and PaywallColor as InternalRevenueCatAPI.#2507

Merged
JayShortway merged 12 commits into
mainfrom
paywalldata-internal
Jul 10, 2025
Merged

Marks PaywallData and PaywallColor as InternalRevenueCatAPI.#2507
JayShortway merged 12 commits into
mainfrom
paywalldata-internal

Conversation

@JayShortway

@JayShortway JayShortway commented Jul 10, 2025

Copy link
Copy Markdown
Member

Description

Since these are network models, they were never intended to be part of the public API. This makes PaywallData equivalent to its PaywallComponents successor.

@JayShortway JayShortway requested a review from a team July 10, 2025 11:35
@JayShortway JayShortway self-assigned this Jul 10, 2025
@JayShortway JayShortway added pr:breaking Changes that are breaking pr:other labels Jul 10, 2025

@ajpallares ajpallares left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch! Great opportunity for a public API cleanup 👍

@tonidero tonidero left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!! Yeah, nice to do this now 💪

@codecov

codecov Bot commented Jul 10, 2025

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 60.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 78.68%. Comparing base (298c8b5) to head (bf22b9e).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...c/main/kotlin/com/revenuecat/purchases/Offering.kt 66.66% 1 Missing ⚠️
...n/com/revenuecat/purchases/paywalls/PaywallData.kt 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2507      +/-   ##
==========================================
- Coverage   78.73%   78.68%   -0.05%     
==========================================
  Files         289      289              
  Lines       10602    10600       -2     
  Branches     1494     1494              
==========================================
- Hits         8347     8341       -6     
- Misses       1607     1611       +4     
  Partials      648      648              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Base automatically changed from update-kotlin-2.0.21 to main July 10, 2025 12:24
# Conflicts:
#	purchases/api-defauts.txt
#	purchases/api-entitlement.txt
#	purchases/src/main/kotlin/com/revenuecat/purchases/Offering.kt
@JayShortway JayShortway enabled auto-merge July 10, 2025 12:49
@JayShortway JayShortway added this pull request to the merge queue Jul 10, 2025
Merged via the queue into main with commit 359de61 Jul 10, 2025
14 checks passed
@JayShortway JayShortway deleted the paywalldata-internal branch July 10, 2025 13:55
@tonidero tonidero mentioned this pull request Jul 10, 2025
tonidero added a commit that referenced this pull request Jul 10, 2025
## RevenueCat SDK
This release updates the SDK to use Google Play Billing Library 8. This
version of the Billing Library removed APIs to query for expired
subscriptions and consumed one-time products, aside from other
improvements. You can check the full list of changes here:
https://developer.android.com/google/play/billing/release-notes#8-0-0

Additionally, we've also updated Kotlin to 2.0.21 and our new minimum
version is Kotlin 1.8.0+. If you were using an older version of Kotlin,
you will need to update it.

Regarding API changes, we've also removed data classes from our public
APIs. This means that for classes that were previously data classes, the
`copy` function and `componentN` functions (destructuring declarations)
have been removed. `equals` and `hashCode` functions still work as
before.

### Play Billing Library 8: No expired subscriptions or consumed
one-time products

**Note:** the following is only relevant if you recently integrated
RevenueCat, and do not (yet) have all your transactions imported.
  
Play Billing Library 8 removed functionality to query expired
subscriptions or consumed one-time products. This means that, for users
migrating from a non-RevenueCat implementation of the Play Billing
Library, the SDK will not be able to send purchase information from
these purchases. We can still ingest historical data from these
purchases through a backend historical import. See
[docs](https://www.revenuecat.com/docs/migrating-to-revenuecat/migrating-existing-subscriptions).
This doesn't affect developers that have all transactions in RevenueCat,
which is true for the vast majority.

### Bumped minimum Kotlin version

RevenueCat SDK v9 bumps Kotlin to 2.0.21, with a minimum Kotlin version
of 1.8.0.

### Using the SDK with your own IAP code (previously Observer Mode)

Using the SDK with your own IAP code is still supported in v9. Other
than updating the SDK version, there are no changes required. Just make
sure the version of the Play Billing Library is also version 8.0.0+.

### 💥 Breaking Changes
* Removes data classes from public API (#2498) via JayShortway
(@JayShortway)
* Marks `PaywallData` and `PaywallColor` as `InternalRevenueCatAPI`.
(#2507) via JayShortway (@JayShortway)
* BC8 migration (#2506) via Toni Rico (@tonidero)
* Update to kotlin 2.0.21 while keeping language compatibility (#2493)
via Toni Rico (@tonidero)

### 🔄 Other Changes
* Update CustomEntitlementComputation sample app kotlin version (#2510)
via Toni Rico (@tonidero)
* Fix `Switch` component previews (#2509) via Toni Rico (@tonidero)
* Add V9 migration guide (#2508) via Toni Rico (@tonidero)
* [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule
(#2499) via RevenueCat Git Bot (@RCGitBot)

---------

Co-authored-by: JayShortway <29483617+JayShortway@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:breaking Changes that are breaking pr:other

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants