Introduce runtime annotations library and add stability annotations for increasing UI performances#2608
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2608 +/- ##
=======================================
Coverage 78.32% 78.32%
=======================================
Files 300 300
Lines 11126 11126
Branches 1551 1551
=======================================
Hits 8714 8714
Misses 1732 1732
Partials 680 680 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tonidero
left a comment
There was a problem hiding this comment.
Just some questions about whether some of these annotations are needed for code that more than likely won't be called from Compose... Other than that, just a note that we did update our compile version to 35 a while back. Not sure if that would enable us to use the official library?
|
@tonidero You're right, I don't wanted to break the test-apps/testpurchasesandroidcompatibility/build.gradle.kts the minimum compile SDK version, but if we're already using compile SDK targets to 35, that would be fine. |
tonidero
left a comment
There was a problem hiding this comment.
This looks great! Nice improvements! 🙌
**This is an automatic release.** ## RevenueCat SDK ### 🐞 Bugfixes * Use `Block store` to backup anonymous user ids across installations (#2595) via Toni Rico (@tonidero) ## RevenueCatUI SDK ### Paywallv2 #### 🐞 Bugfixes * Fixes price formatting discrepancies on Paywalls for `{{ product.price_per_[day|week|month|year] }}` (#2604) via JayShortway (@JayShortway) ### 🔄 Other Changes * Revert dokka 2 and gradle 9 update (#2618) via Toni Rico (@tonidero) * Introduce runtime annotations library and add stability annotations for increasing UI performances (#2608) via Jaewoong Eum (@skydoves) * Override presented offering context paywalls without offering (#2612) via Toni Rico (@tonidero) * Add APIs for hybrid SDKs to set presentedOfferingContext (#2610) via Toni Rico (@tonidero) * Bump Baseline Profiles to 1.4.0 and update profiles (#2611) via Jaewoong Eum (@skydoves) * Migrate deprecated kotlinOptions to compilerOptions (#2607) via Jaewoong Eum (@skydoves) * [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule (#2613) via RevenueCat Git Bot (@RCGitBot) * Migrate amazon & debugview modules to KTS (#2327) via Jaewoong Eum (@skydoves) * Update to Dokka 2.0.0 (#2609) via Toni Rico (@tonidero) * Add log when restoring purchases finds no purchases with some troubleshooting (#2599) via Toni Rico (@tonidero) Co-authored-by: revenuecat-ops <ops@revenuecat.com>
Motivation
This is a follow-up task from #2478
Introduce runtime annotations library (which is completely JVM-based annotations) and add stability annotations on the purchase core models.
Unfortunately, the AndroidX runtime annotations library requires a compile SDK version above 34. So for now, I’ve switched to using compose-stable-marker instead. It offers the exact same functionality, was created two years earlier than the official library, and is already widely adopted by many libraries and SDKs.