From 38b19fe256bc3faf67222a96ed8aaab68fa110b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 13 Aug 2026 15:07:34 +0200 Subject: [PATCH 01/12] build: AGP 9.3.1, Gradle 9.7.0, Kotlin 2.3.21, Poko 0.22.1, Paparazzi alpha05 These cannot be separated. Kotlin 2.3 needs Poko 0.21+, which requires Gradle 9.0, which is what AGP 9 runs on; and Paparazzi alpha02 breaks on Gradle 9 while alpha05 ships Kotlin 2.3 metadata, so it cannot land earlier either. Forced along the way: - kotlinLanguage 1.8 to 2.0. Kotlin 2.3 rejects language version 1.8 outright, and anything below 2.0 selects the K1 frontend, so this is also the switch to K2. - kotlinOptions{} is AGP DSL that AGP 9 removes, and the String jvmTarget form is gone in Kotlin 2.3, so three app modules move to the Kotlin compilerOptions DSL. - sdksizetesting is a standalone build; its Kotlin only has to read the SDK's metadata, and a compiler reads one minor ahead, so 2.2.21 suffices. - One opt-in the K1 frontend did not require at the call site. AGP 9 enables built-in Kotlin and rejects the kotlin-android plugin. Opting out keeps this change reviewable; migrating to built-in Kotlin is the follow-up, and both flags are removed by AGP 10. --- examples/checkpointtester/build.gradle.kts | 9 ++++++--- examples/rcttester/build.gradle.kts | 9 ++++++--- gradle.properties | 5 +++++ gradle/libs.versions.toml | 13 ++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../SubscriberAttributesManager.kt | 1 + test-apps/e2etests/build.gradle.kts | 9 ++++++--- test-apps/sdksizetesting/gradle/libs.versions.toml | 4 +++- 8 files changed, 34 insertions(+), 18 deletions(-) diff --git a/examples/checkpointtester/build.gradle.kts b/examples/checkpointtester/build.gradle.kts index 83078fde72..79b9935a1e 100644 --- a/examples/checkpointtester/build.gradle.kts +++ b/examples/checkpointtester/build.gradle.kts @@ -60,9 +60,6 @@ android { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = "11" - } buildFeatures { compose = true } @@ -85,3 +82,9 @@ dependencies { debugImplementation(libs.androidx.test.compose.manifest) debugImplementation(libs.compose.ui.tooling) } + +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} diff --git a/examples/rcttester/build.gradle.kts b/examples/rcttester/build.gradle.kts index 00b9352cf8..52fd44dcfb 100644 --- a/examples/rcttester/build.gradle.kts +++ b/examples/rcttester/build.gradle.kts @@ -41,9 +41,6 @@ android { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = "11" - } buildFeatures { compose = true } @@ -81,3 +78,9 @@ dependencies { debugImplementation(libs.compose.ui.tooling) } + +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} diff --git a/gradle.properties b/gradle.properties index f94b2630af..adfb9d1b06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -58,3 +58,8 @@ org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 # Enable the Gradle build cache (local task-output cache) for the main build. org.gradle.caching=true + +# AGP 9 enables built-in Kotlin and rejects the kotlin-android plugin, which also needs the +# new DSL. Both flags go away in AGP 10. +android.builtInKotlin=false +android.newDsl=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0f8a6aff03..99bf81b49b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ android-compileSdk = "36" android-minSdk = "23" android-targetSdk = "36" -agp = "8.13.2" +agp = "9.3.1" activityCompose = "1.9.3" # Note that version 18.0.1 adds the AD_ID permission to the SDK. # We should not add that permission ourselves, so keeping it at 17.0.1 for now. @@ -42,8 +42,8 @@ googleBlockstore = "16.4.0" hamcrest = "1.3" recyclerview = "1.2.1" roboelectric = "4.16" -kotlin = "2.0.21" -kotlinLanguage = "1.8" +kotlin = "2.3.21" +kotlinLanguage = "2.0" # Can't update until we use more recent kotlin. 1.6.0 uses Kotlin 1.9.0 kotlinxSerializationJSON = "1.5.1" samsungIap = "6.5.2" @@ -56,9 +56,8 @@ metalava = "0.5.0" mockk = "1.13.11" mockwebserver = "4.2.0" multidex = "2.0.1" -# Can't use alpha04 because it requires higher Kotlin version than we're using -paparrazzi = "2.0.0-alpha02" -poko = "0.17.2" +paparrazzi = "2.0.0-alpha05" +poko = "0.22.1" testJUnit = "1.2.1" testJUnitParams = "1.1.1" testLibraries = "1.6.1" @@ -69,7 +68,7 @@ webkit = "1.16.0" junit = "1.2.1" uiautomator = "2.3.0" benchmarkMacroJunit4 = "1.3.4" -baselineprofile = "1.4.1" +baselineprofile = "1.5.0-beta01" profileinstaller = "1.4.1" leakcanary = "2.14" kotlinpoet = "1.18.1" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4f5eb9dcc0..1e922f4074 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt b/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt index 45ff29ce68..1dc596af5d 100644 --- a/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt +++ b/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt @@ -27,6 +27,7 @@ internal class SubscriberAttributesManager( private val obtainingDeviceIdentifiersObservable = ObtainDeviceIdentifiersObservable() @Synchronized + @OptIn(InternalRevenueCatAPI::class) fun setAttributes(attributesToSet: Map, appUserID: String) { val attributesAsObjects = attributesToSet.map { (key, value) -> key to SubscriberAttribute(key, value) diff --git a/test-apps/e2etests/build.gradle.kts b/test-apps/e2etests/build.gradle.kts index 2b1298876e..956a2bc337 100644 --- a/test-apps/e2etests/build.gradle.kts +++ b/test-apps/e2etests/build.gradle.kts @@ -48,9 +48,6 @@ android { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = "11" - } buildFeatures { compose = true buildConfig = true @@ -73,3 +70,9 @@ dependencies { debugImplementation(libs.compose.ui.tooling) debugImplementation(libs.androidx.test.compose.manifest) } + +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} diff --git a/test-apps/sdksizetesting/gradle/libs.versions.toml b/test-apps/sdksizetesting/gradle/libs.versions.toml index 5461adcf9c..9077693902 100644 --- a/test-apps/sdksizetesting/gradle/libs.versions.toml +++ b/test-apps/sdksizetesting/gradle/libs.versions.toml @@ -1,6 +1,8 @@ [versions] agp = "8.13.2" -kotlin = "2.0.21" +# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one +# minor ahead, and the SDK now publishes 2.3.x. +kotlin = "2.2.21" coreKtx = "1.17.0" junit = "4.13.2" junitVersion = "1.3.0" From ce8bf76408d3aa63ad025e7a045088b7d3b92f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 13 Aug 2026 15:07:34 +0200 Subject: [PATCH 02/12] test: re-record debugview goldens for Paparazzi alpha05 LayoutLib --- ...tTest_configuredStateDisplaysCorrectly.png | Bin 46270 -> 44141 bytes ...st_notConfiguredStateDisplaysCorrectly.png | Bin 20258 -> 18039 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/debugview/src/test/snapshots/images/com.revenuecat.purchases.ui.debugview_DebugViewSnapshotTest_configuredStateDisplaysCorrectly.png b/ui/debugview/src/test/snapshots/images/com.revenuecat.purchases.ui.debugview_DebugViewSnapshotTest_configuredStateDisplaysCorrectly.png index 4ce7d69f515fedbd9408d9a0556016f7157c9fce..efbf0211d4af767414bbcecf21da8005d35ed663 100644 GIT binary patch literal 44141 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�Ycqhh#iopfrMCM~)nrFFIK{Er@q=zRPY=Gcyb^Yi~+^{K<4*~Br zQNlgOTtSQYmOgv5rA%>7}mDU4#bi2X*?(blAk)6_YN{`>FKhsrg;mJvBgD(EIQ z&Z^Qg0}Ce=lC%Ae`!^LwhmqcUySxP4F{0E#D?$KQ?T+=hqttDrre2G}Yt4L<^d3kRsI@6+kocp>NcZy(>KsAQDC z6&^veH2?vdV@itJ*t^+#V+$9Hp1YjIg>_+7v)X_D5U#&KAA}#_HYI`D7m6LmGo3$d z_~feNXwg%1QLFjJtlbyoC=n%BlWR~6bX=L0mIOpGdlQGO!mbP~Pww>wx2@;W_o&IY z)V2Ywy%3Y*K%ADP5u?!RXy3oT%lE?W=djG9yU^7-Vz${~6jX6Wy!#Jc(UNh^SosCv^nOeHYLclqWwvd#+5&g~27Nl|lT>?cAF`I-!H zX7LYgrQUAUpSHLp?fIE+%Swemb^@oLqgn19yXovh^T9NJUJFlt>hj zsoqt<#ii)tBlv)Pgd55fW~9o)5{A4H&t?QCjU!G(i2JwZ)j!o5og0OsiKRt0e6xHfJ5kG{na}X8JC53d;TtOM&n#1nGm&~goCPwhniy$r39D$b zvOcO%{Mx?O8$9K((UnS2J{)f4sdGbeGUep`wItm{HVbtQts6Nx;&z+!$B86cR8_Bs z)26=(w!;d2kp*@7yYPCv9NV;4(&LIB=;?+M?S$v+j;5agL>QbvfWN45ZN} zuLZ}*WXb(GzfBjlu}((0Hg@YHmS@ObZ?y9J@9$ITScQ*H7Xi0kSNkrHcdEE zPIEofCz-_)XOg|Lk4z9AVWZDt+V@##kK*C5^60&&^qaaPx&5BEh%F*~ir_)e1RET; zDR)plI$+LKrKc#CQP!_htYe?xYjm=5m6U*MeU<5%OlbC9Jlf+qd=63;y5bQ!s6-B>AhOpeParyHCf+zjBBQW^~3IquJoh6m&{J9QAjoB(tSgbnqdYdzuY*&B(l=uT&I#7ORVN0{J4ii{w>6Cw zT}%0zR=-_BCp;Z{O@AdcqrnG3m?>bDm^#Bmi5aUrQL0LURj2WHb>wMm_q@J%O0D*E z;pB)Q-ZxuHGD|udt(P`-XvB&~)=0jvN1zSMirvZNdFWVfShPBE(2oi`7ISy*2iATn z`hgoR@WfygiM-9q^j{vfB!WFz&Wvo}sxK7NhxhVH$q~|@>ol!Z22Jb^MqKUw_-_p* zd}WyBHw}?Z77XX`hd?HDTDG&yOZJiM*>kNwyigZ@FoEeV6B5gY1vLZfWL|N2zuh~A zJ^?XB=zWfLFM`U@2Gb<1lCMbiyyHee`RcnG4i>Ny+gG>icTEMWYF?X`x11JD(9KeK z+JYDF>@qn;cR46@|CgUlHysPP_Sh}JSm4nkLyUrq@Ff<_OOm}z=IASJzx1>kWs;F3 zQEx{j5+4;6MwtXo4Pf8yKNmF3;+HP%6KK7}vv09#@EK#)z!UA~KQ-dBKb$x|Jg_?Z z{yOz(>A`z={r8=>1G0A?KxnlJB9M()*`HZ^QbxFwkJSd)9AAgWJUetYm>a*IH}O2m zrSp}(8p5WTm2!D}wo|=TVe_k3agFB#M3Aa)qM2yGanHeZ0$Vjx_rr%%f6Bo$5W!_v zWTC&)pQO+HSmUQL*U(i;N%FUfg(qt{(!2)TC}ecLt|EF)pf3fjXY(tE*16G4Uw|t) zDWv|eFOcSNJ=(IodPY`0cmkpu;JuLWku~-Cc9Ou}Y--^G;{0WUZ$p!tcMP$wkj6tg zI)O2di;2>acrm&2`@bKR5WOGOLJ9lJm80oQ*)n7MlXj_W)lyeF%_yAv{qRF;+~)sw zM^>!WS5}U_YjIPKc`y%OIYS8C^5;s))41)ehzt7DELlC>Hm4?oo_p0QmNfYq#AI!( z~CM;s~!$Gk`# z;+y(;TR!-DgE?6Ed<%9~;T>pQ#HIJR)yuKQ>k1-$%X(O>`)~%y;<;YMM{)P9-^1U3 zQ)44mKgM`INAYDC7G1~g=`h)At9|}avMFq5m{auJkSALq~3)!cfcP-r)6cid)WUGwf&_V zR+Oa}Y|FLOkU07A3K^~Z^tw`)H;`m{L)8zCs`2G)HNSW8N&U$t&0W5QOX(_-`BJd+ zvG*gN18T`I~9{hE|d4VS^jE0$VH7ulmUe5b^ zoSFG4ua?W#o*^PV(xB4&@K7S3ShdPyXcO1c1LnQe(_7X2TV1nKtMr6Nc9AV!rZEiH z-#Ud?B2ZxgLX8JCOAAt>Y-Vzowj;!$hhb;solrM(U#Fq?-BfGElQoJX13`+u-(-r1 z+cY`*=e2houMg7}2KJ~=y&g+I$d^;^g$BJbs>9h?yS5(e*oz!AUGad!L_cU#Kvqoc zwqUZvT)NDoR}NJ}UdKh1tpeXWVr$MoMtrJ)(rijQ6%C!YTWvCv zvi=2JFR(RpGz+u>qrI5T(>b@_5iNDzSu0hO`sbdAK=RsGS(0&DR$o`XSifCqKhThs zUHrClj82ul?MNTfJXbQ-S|- zq!}5?p4|5+7XIhD(85Fu%`h(jRvGF4>8A^9*RMXjzQpjlXGu>*)*SLw0BZiTzi)THP-+9kTV>Pfd(Fe1`-26 z*Slb(RcgK|{r=W(GL0m&nmQx^jk1HY%#Y_U03i-TorYF=IsUu>ext{wm;7@ozW}@@ zTg*8tiW(w^L7Kzil)}FQ1imUuX?ab3fZ>JI9MI#vPe-8~AGpT<{Higz48v;~LFz%F zmC=+MQQuUEAhaRnXa8k)@b7jE|INRRg&_fN%UmF_6@@Yyy5CUv22yI;s87`^422d- z%e(&&fZwXT{qdwAUT6kfkm}g*DIx5)|0fS}nPkvjB*1$5fKFXr#ETvPOce(T*`mAQ zoV>(QAZXjLy0&&ED;)Ji$F^&>!ba_E(EN(U|9oa)6__pJW@k;nc~R$gGf;btsiwaW z2L}gZxFbK`j*Hyf@BlHve&7pOzE%N{oY;$n>&t9??U3^NF+vFNxI71iE6I8Q>>P_M zN3Q`P#vrx(3uL0gYQ5a0VNs}1fkw**~S7SuK-ib480 zaN5v$3d+iwgKwJE*txmdb$e0^^ltgIWCyU$x&$D!n*?ZM3N@esP;|(0>(yWT)n2A6 zz;fSO-2t%afw2Oe<4bUc>jM^{-^YNEVgvXne`x{sj1!=F1!_eFW?uPStkH?5dQe4; zh~p*4vr0-D`;UNY#L?`1Dhi?fp#*YUdvl=AV8xK=OdkLpe(?t!g*=#C62JjfQvPkd zzTA5a>NEWy^UQYrr&sp3w2VF2=k9W{vnwtv*rb}Smik{7ngBp(!(LGl-|b$)!l_dL zFe*HU8=ubcmek2%=;aciF$qgA1{T4xAr5ZWDNuA}J>QTz0f^P1ebQSzEW@Y;Y_Q^n zB4+IJGFLHu>;Cob>Ouay0w7rifEA%SQq=c?nThs*V z6`J|taXLzikfrtO_oo1W+!|2d?z7MO91U^6KTd;@0IXD-uR)Q>@h&C!0K3ylctH`= z&Gf1Q3f(h-g*RTvYh;LP?Es=!Qo2(EH_JNk)+)3xK1Bnm7Zchy_cuLN_P7F2oy~Gg zcf7uhs#;!FxY_lV`So z)|fCuKoekv`2iOc%R(&2I_Od-b11=(c?n3}8kp7&(&M1P7fbd^J$UMpe!%MBqJQWb z=Hmnt{gU{J^awDK@*VXimVyYb&PM#70LAzBH7F)MsNV2_Y;rrg&{>Bj3k0yT_A&N(rMV?)`Fol z7ue=SH`T+G!oYYa3t6h_-h7<5V@v~)2RPi{{(gdvh%_p2Q5(QTWi0}=Cp%8^5A%S= zWDRDq_z^Pb@-FE9vMMd7i~FmKn1GsOMCNCc92x|?bs?kg&?|iSy@EaZ)fu4a`jLlO7$X*kV*HV1*Kb$d6EPpC8 zaoHdz>L04w;S#8&so%g+B>+m9Ki&w=Q|x6XCVq_Vz38zZ>&$22;Mt>nMdu(CNlo_WGi7TrR}YfvDjT+6Np0+^X}TnH09*I$-#19turjd|b^CJqk9eCeR4*s@5Ktvcl?z zvT|<>{jpeC$PZxO;{lMGJX`yZxqkqQ}z;boHgTysMWBAij zpp0Arcsxc`FXD-oK#$4a&MBnT+;IJPYeK_bK-OadzRmJapFj753GJi3te{av*U@d( z`zE~O7qEjCV09A^p1Bi050J;NK|@A`aje0?!O`lLsT!@1O3!m1LRO@?m4UzPN5pS1 ziKk$ub_~NC^=9&;GD$rkLb;xUf~E4p;LuQV3cvBMat6?dGk*&KB|%+cowtDC{2Ev( zMn&45q8UgLpj`^fH3AK2RYnz+mB)3nP2h4Ycpc0|ufLT&nY3yU6&4FT&T8j{%e}`; z9Ojkl(3$dItjWRYY{SAuMH>L!y#TCw?|bnn-E5<6V=gh%inrN^a8%q#``}D0ALAxF|j|l07B$x_rRA7&TOBGmQ&CiVGt~FA4*ZQQeal5 zfF?f%(1$h9igJ9U&K>X_B3m%fa~m)tKF6!OCP;shGC-N-_t&mi^SylN9k0?0O^#=h zI}dyTk`r+T43*VItbXK`_@!W~1?9%V$ZUj<({He}eHOdnQupc$n9ILc+385Pg0`vo zaeqq4p^5Ee4@D%HtjA52x-h+PeE@jwugr|jN(KEC)5$DCqqqQt@B+R;yS2w%uYfYY z)$z-W=PtCj5%}MZMP~Hj4EDZny`#9W;!P1lB7g5c7Im1^>>hpp7{`}H;~acl^`*b0 zmC>O18yYcM9N+A50CU6E9mcd`27M3+6T|NNj-UnvB(w^>Re0e*&0D2j1>Zi6k><1 zWb|E8sllLEr~TTKHDAm=#P^6Oc3@Ufm9KvgP{G6KN@qVP-r~piuyYs8CnY@sp4L2U zd>*%2kRWZ+;Wc~Tq(~lRfDXDWfpJU)giqnXIDW4gnpp10npVauRU{%&k8}$t<%g0W4H828ROJD}D`6gx!Y8 zfHH4Y$NC-s>;2BsLe( z?f@F=zWc$fSt9^Cac<7mSJu=XOg;*3lR3NN=wiUoGWxNup16jvgx&ZRzt9(rRbx^!R69@vz5hQWsA>CB>oJjriB_4~5$xict^o|Jdl z`dqN(k6fqggv;CBeNL-L&h@b|T?v2+tg^tSxY;W<@Q#bL3&0Y~RBuKb^rXKwCoONJ z0$q-h0ibsfP!Ny(r++*M4)E@k&ZE=cn}JvLt@|y-E!OOP%oP5>#>IZFBY_YJ3v0ZDDlRf=sJ5W|L<`C+k)at$_ zJz*ac%85SNjg1IM^GCQ$jB=4oWD`}@w4LksN*5Cyo1sMrnW=UjWGOD^Y;FrjrFC?f zbS~1oARoPgM5Tes^uIlzB!2=I>$y|mtt=5}eiz9K?QGk71%f8znTta#PDOH>Pf9XZJVl^bezk8vEia%Qp`oM>48Jbh<=IZcVR?a#058sI51u!hGnH zKqS!R?q&W8%g2BqF^4I?5M+IO0Fw5>3sRcAAx|wFR%$sWP6sBe$BH009YoI8I%1RV zf!XWM{0ZlTTfmg7xLuWC9^L3mn=iazzR0QrU7~;4{}n|3>g%FaSl^GBk|5%Q!&S(9 zC6Ep)@KJUaIL~dd#(}PF9LS1I|C~bpcBVFXRpz!NF)@6KIxG(>IX2v%L!?X7XwX{F zfp3E2NLvqrAWmS>EQ|UQh_u^Fm<+7neimj1NrVJ#Jrf_gd{3`l&+3}HsrUr6@0n8W zR`*8II3%fl;O|1$1ob{B2j{N5DT_LHpA%rUSBTDSg28D!{8LqXy0+UH;oe|9dBcVM ziQ}dm@AtEP8G4pkK72>BF7@BGKj1#U+=7K0h z44C-hKt{{E=@2}&VuL$iqdoU&`Lj+T2&cpk^S2ScS|FvGX}pR6u%yCT&Vn1^!~wqX zivc^PrD8dfGx6;qp9qFkG6LHGCfjr_rcB=El;|Z@%tI|UxKy(IM#WUj4IPIEM{I=Dvul*iy~O@;7~POUmvT` z;3z>HUH<7-|I`K{y!<)!X8s)qR*p$kmKLk%ypXrrV-#nUyAsP=50)>)fmBfGq;C(? z1BCjs`?1g1IMph@eEm|-i+i&m_vARYb**kYa{Jz$mu5k9#XEy% zb;ML-KUZ&l{Qhc+ze#sJm&WoZ^PBp)w4%Ejtfy9D~``XM1tIQsF_KC0wGzjX`d=|y*^&@^1$?X24S(6s$(X6M}P;ssWn^@FW zD-#j5QK6XhjVa<4Da=83hRFf%`UWc&je1uAYmIy4ZEdBqZ05f05lZ9JHUc3fXBQXh zgYE(H-44CvA=C)EE%Aj~ov>R1qU+79i?S(w;6#zWC7Ud|1%cz2A4J0)hD2?yKSHag zV8MUZ>j@&+*EoEILQ!`00k-gic7@RW@mmn@P{gtpXaXjC+fiFb=Le!OxRr^Y|7mxR ztr;~|k0LxNg&azSBD36O5z3m8BzybKVtX)}!%CD`M9f~Z+>x(|oM%$3y82c(^}wc5 zY`MAALvC9js5aBw!^QhsN%WbQSb?1{!B$r`EbbGPx|W+R8@$Ik(KpD*GinsC#}BH7 zGm@1bMt}SaZKAo(sxx^o#@7~tZ|%Wh7UwdmPHGz^y7Dm)Vf}>l)_}{XVQK9LBOT%? zYYyT~81=@`mw4g~PBcr?2kh`*|2Ox@CHH@}G5PS|T9oiJ)AX(xM&aP&4qJN>5hpI2 z!YTCGtncS*T`m&WiOm**?WwTvo>Uf+1~JlX>87GzfIA@mYz1tavr`_25OO|gCWVU7 zJCfv?Ub)4yO5gDxv1+ z3^6e(r1=(y9TU8^1iCSZOG-qMOonG-1%Ibk1MOC!+ii76i%|$7=DAmrxbeSb-pXsX z6rCv#W748JU-Gvw!y1w^XyN%_7KWlx@(G=ejSAge{<8r^EYZ!Mq18hRqtDQHT9Mqi zyV5+=6Ks#r^JS>FoqO+_pAHMvwn^zoG?PDy`W1YxVXY7YdGv{IhN#NZG+532w#^+< zXgni!Zfj6j+~uo1q|Q^LJQ~H-pIxS8$8zX!^}sF!2m?G46kuXXwF|1boj65*rOsL+ zJ?N65x!LWy!+EllaG&6DCa(Qn_0FS&}BHrufvVofBsDVyh zr4M2q4yiH(KWUd*4rC;{O^i4N=>{(nr~`LU;rKrTzo!3;C2AiE*8ro-Rt9R%kr)(U z^(qkckvK>a5GC@5LqChofmXD7=nFjUyWi~E{r0z?U%*i5nmY#98`1F^VgB4#+5mSaEFOE~Z5uq;lysHd{E6EJ{j;=@M+vHNI| zHzF*rp1H!9q5$msDZ@G|=}Y}ANa9_*K%5*>8l}GczAKaQrzgStb1f!Z&wf4)TQlXG zBZVks=oF<7o%(zHokFK~VS5KP&OKtjD&eTgGrP)X z0R_Qg;ot4EuY-T^wcK_{AUAk%2UI5PUyb0`_VE}P4lNsBhoBx-iDyl=foH#euP>0q zI*GRkeo(yEyyd2EqFA|rd5%CN{sSn)VEpfVrCHujP^bRX-en>J>gB4T;q{<@ylBE5 za>NgyqO#E^QvjiKbglY&y>Dw`L#4E^^0V)|u2$pBai36E)S+d3)tv1h-NOI-tLe?1 zgk(S&;%fCVVe_Q1`My%I{d(p{RrR!pDG@?}K~k!6*0$ObD6pIPUy#Oo3|GTIHt44k zr0nZtCOOj^!9JcXKJANhHWSn=?O(vZiZ2nZF$k=ZwOA>ad6CU2&wx(Mp65>@nO;-< z=-9E>dXepL=JG1XZ^H8`CKNtUCw6N!6f5`;y=jylRzGuQbf|dh8ei<4c!??z4ohC4g{Q_k#%1A0@3PhVU^l_*scTXP2wCD;$`@_cA69+g-Z z3nVJvL2E)zTO^c)Q&KlQ>`o-C6ykj@3{}c%*HrxUQB|`NraevCOh+yJs%m{=~(*DogdNFG@(l-d*T_t{*tts^`Jd`6sSzJ%%@>TSsm6Tihu>nm-YqGY~kE zEhD1Fiq(aNwC+~Bv}Vd}9N5Ih;WJVXTg|^|)m#%QRG6=0-i|H^AU%rHuYXRsKbIX! z`SRws)zUS8XFklWrL5Pz-LXBAjW*bu-u!tRcD0cU^E>Q{!#6SJD5OdrsLXSI=x`50 z@{*DgYDS$S?fWE!C{okw(TWKLBJ>^96;5UO`_i~HwPeFab;h?7cIBy(V_m{C>Ucl2 ze+WY!d>WL?*%>(d%pqV!*)$%*cVUBOu07Tyt&xq?89=(IP;QCx;Eb`2G4vXlU7o7AnPSKm!q!qwu@von`&JTTXew^hCxfeH&-g8(F)a1wM&7~}nz8UdcP zn&_Zuf~N8Oa{@v~&$DMcYMiMHF#`ZlMkMdA1~7~ zx)uU4u;z}g;PvSt=73v8wl#k;m|_1Y7U_7ot7cH#MNW(PP3+TzUIC8vh#~k>8rA4< z2^Y-Z`p-X~l6K7=#G(7XONiKkYgYj5C`J>TvF2)H>oI~UE$$8`D45!$vpL1!SN&w# z-yPF>d{!&|vRRlfD3=FzRixH}X3!~8Yc3NvcF9pmZx(hHQK5{tN?(@@GOwNFHeJ|| zPKmPYr>SL(Ia_qvY=BeD|KNB0cuq*8Rwp_yn(;Nus+=$SR7#vL8LD=_;ZyN=(qrX~882+6#oR{hsmu#Af6Q5=flCSB z%3n!F$Y&*$&Fu6R@1c1T!;-t#vm~Kv-50)3JY>n|1;UCJRe~R}cbLaatp)Ah*GBa8 zP#y&+)i3q6ozkkKX@wy8q2Ln#-Dk18f0)6S7s1pR+Tl2^b+z`9P?NON&9HF=NewIbZJqp$mZ1vdYTC{--f$ zS^=vnl}y+Yy4UJsQ{#20mqVI%B4k#7yt@ggTm_%5jdC6B9`=yR997x9V|`i6@w+!R zgeCa*K5Xx5fokxduag4O3-yZM?0<93nwzIFs15n+9b<}o`g7-Y>qn!(%+YGwnR5oY z-ljc~JC`vjS|^Gl4>xN1W!wovPp=%U{`Eai`(>fk3cMF3Sr@oG0s8Q~+tL_^WqPi#iuP@yzxoUtM@&kW@Cu{Qk zvxs`o*s;Rv_+{loCl4DU-rzT&fC|?_6W-t3ZuRq%r*eCSUPryd$+6PXiuYouJnX41 z;A(m^raIyPgrLL!OVR3|KO4IRIg*CI?|OHH60&@orQ;TtnYrW7%Mq?FrGX2d)J*|% z`n9nVJ^TJY-0xMOa>jwaDdqwVKUvOzzIl<(Mes7!^vySknshZYvn)_Jld14Idws1; z1_bkuM|w+uu3hT`fafjzcWpsJ`8Ci@2Y^T;fWc~CfNK5KQG17?;$MmL6=a(Prcn^j ziy9!zK4H6Wxj^?We7{YE^)pHD$?m&T30prMMY32eZ`|kTuuY(oYm>1)Ct`TJ4f^WL z0uifW2xuPsK<05&Koel}u%yIi4^kDIbDn>6!D^Qr$$F`p~wg-jp^=S3fl{yr8rWz#N7rurb;-I0V)ZJhi6`RR5q~t2 z2XwgmYp-r&I#bULPac9x5Wp$t3iP+US)l1x0Nh9&tOtt7V2zd12GX0o-BiWrSYBXe_ucvfzcDm(LF{>rzkBFN{$eNuF(yn5sA^Fh@c1v2+{(R94XS$ zAs{7E0&>6kd_VU&cm2+}fBZ4d*xA^2UDrEaujljeM4td-M>??TTel|9&&YB}eO~hW za@k=Ix&SSYdmpY$7Z(-%c*461!T<~hAt0K@lwK*H84i;XfJNSRSWwQ59HSI?7jm}5 zwgI41NMZpr@KnBgqg8`�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 Teg2Ru;740SPrY2#Cj5T@m95Yp diff --git a/ui/debugview/src/test/snapshots/images/com.revenuecat.purchases.ui.debugview_DebugViewSnapshotTest_notConfiguredStateDisplaysCorrectly.png b/ui/debugview/src/test/snapshots/images/com.revenuecat.purchases.ui.debugview_DebugViewSnapshotTest_notConfiguredStateDisplaysCorrectly.png index 43c428b49eac8557f7a3f646879e9bcad9107a79..0d48740fd923d6ba3d0a15360a3e292cbf1ab499 100644 GIT binary patch literal 18039 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 literal 20258 zcmeIaX;@R&{y$3VDV(+lZT%~vOjQIe0vZ$q0x5^8MG+jTfItulATkM&gfJww9JN*j zBti&NtOID7BtQZLh!%x}1R@|)0*OijB7{H!gb3e(eD_x_*y;5RQU{?|i2J-=z6AH04_ zMM}p%Z_QL@$aIBWo6p<)Qt)E;krV&ei+p(PK0hy5vSq`mkc$boA4Mfyy|?phvg46E zo$!ZICls4abAQ-&<45cJeHtAzfPrDE)0aIvWY}IA){`kxETzIN#j}mdL`r7w=uG|a z*>q{BO`f&SLBS*4FV;RM^9^Bn)=%Q}O?~oya?ZMC?ekr+*P%S?{2r_AK6%|yxp%C6 zBAr-2<~^jEqQJ*T{~JEe&+YY8&$1mDv#_PQoXo1QAM$7|@ouaVtPn?>K`LA9TAr^@ z*wZYrPjtmiI#FCzf10$v65ZOT%F(UluyrbgE;?B=6Glju*oEPepBxRnn0(`C$ob^y zqhV>u`IRA&$sJpTmy%iEUSABb3vHju2-Ap;>ge^dcC{aJwV&jNUwmM>qzaU}&U?2$eLEAaJCWYc(QWX7a>VQR*Z{H*c(a8s^In=a*;sYM=3KX@f2N!5U}W zpBu_viApg2;CY9S)ug_(b5MDZZM}QaMQWke=176pUggP>?kGxS8AK1|7&^6; zhLJSwFh!klU{W+Z>4c>&l{r$hN++o4JLu$30{JKG_OfmzBom8$d);QLv{8-3yZH-Q zmTPaqKO5H~L&V!m$ZO9n*Pe?BYdN~Tsy30jZ3ojO>HY85mtE*@J;dJ{lgA_uSkqRW zMkaGaqGQcbXI+@89$VY8)bj-5)*`Pc$>e$%VYPz52LrXx&R=(IK9+S0Bc{z*Def6~ zTu2^E>avG!c}}k45%BWvfcE5(-F)Pf+i-L5C3k*v_mMS6o!l`RZ<3HUQ0(Wq_`C5j z{8D9D&u%p*Oq)FNMZJ2C!P`v{J&6yZUAv`QPMe+lU_hSzSCNvg80FzHaw@4Uj;a)< z^D=Y+Z68kCiga3~x_JDlA*q^@)ImeFQf@;`K4>cek z_LSezY&+_v;5ykFXS`V#U4tD7zrJ)c#z1y7Y_*>&dp0h^D>u@6HM7x(t=XlfwdkH$ zBs#D;q0%`mmmTpm#MMT+J~6dJyf%f9h=+4sy%`|mcT<&t9XagaL=XslelfH@}b&HX>5nxY9c``AfEE~Xbg)hH@kl4 z+g(G+SH!8MgNA{)UvxrcyUSQbEqE2gh#U{hAcM0>;~q3>nYq|UbR?)a9nbNjJx`0& zB0N(Q-)omMeYU`o!&DF{Yp4}G+LEarm-+P`n7De-DS+fnz z;Y}1qWSio#$pi%hy*gc?yxH>_Q6RNa@Q2$mH!bKidvjEOm}W4n2YyZET1A6zQki>v zc>KU7Ow}E5Z9G6T*NU@uVTqMX*AZ)P=SL=;6@iIT(X;z}Nr1bVSS1M-tqzI7EWZ=a zgy~kFrqs42sOyo^_})r$6xDq`56sCTb2#mljH#Vr`qic{+ziVYX>-#m&l-^98ac{R zW?Ld&QA|AL=lUoNmB8^BQmNVTlD$0<>HL_Ao{;v(k_0qTDzC&D{iNwOglW3tnlo9d z&$QfVPbV|)SIFqQ^lg)Dw9xY90C;QD$&9&{nLo-xL`yZ;W3|MMJ@-Q`a4_x{k1|u> zEq`vT+0%NFSJQCNoUpdwG|cX{vb)=Aw_{kAsQ3`TTotdgT=|~hyr^|Rb;cTHE>FN!cDna*7n*`Bp5h}LR za9F~Ql6B|ng9t+2&bg$Vbi*z_S3N$R^EOC)-=ysVVeoY0{w&{aUTo{!CkAG(!df4~ z{h)ccj$OYj^1jwl0hjC|Zty$sJCol4mUn_;5UdgIC09OJB{ra*>JF^+?*6XBKfQGA znEf#HpX|>ZQ=d=EP30szgl?TN{8AKl?0pTkZDtSmQI?V0h1Dhaq2RObEYwKP&+QWg zku(82V-iNwEitvji!Jn)!D<_wOs8Q^6KbP!*+&q(o66QH50cq&OKj_e`StJ^p-dad zIQTwMJDGT`R_a)tYNOiM;~$Ls7cvX>1pBYpg! z>>2B;K2Ou#w!yenM7O1GrOSzf;&diUR;6~(9d%eH>lL)TPPa{18@M=b>0kA-2|kcK zk0xwwJM8h{#Ft^@II$HmAcWo~jVFy!aPkjzx}b+^z2ZShQ;7bJ#)4{NmFaDH(~?A_ zeSa9yBF5Y2dEFCjdpc@B)~OJ>sl^u6=#r9YzwSscZ$P9(;+;h+oi3}D#!Gg;W7`#_ zP6WG~vvd*u%j<);%}~_O?lT<~sIS!Z2z5P}k6|l?oW#svpUEGb`Wgb{vW&}`TOGX*r>85< zZ zstu_p_JKZGn`kFj=8Jwlj9BgK5U9~{L#aV(vpQrJ_sg)AKi|f>Fh+aI!#EM`MX-?D z!|a>IckSU5!v$MW^41bry+(*OJFj0nR)JW3fGAQ4w=-uH7Y)cI4iRfQ*Z0~@^rn~M zy*W6pxEH);?%td`6kY4@)jD$+>jH9zKDp|(Aj`w)p7`@W90}GFFx;2t&-f|2ZTgd% z;dd74ORK|7e3~lKF@3bz`{jrl6zfP?fO9cTq`03Si1cbqEaq-FC2F-5RQ*GKvC6Rv z(@=a}k=ZMFR|jUjY^6&={g9Z1ikgb{AEAfsh-PJ}?49Z3oc)6ZM3V?A|EoQc+7!4$H248rc!{No{7Ifn;cd5|@j)(*fd}LQ`_Jp(cT}v<21q`wqvl&f44F>?4gi<15(}OpSn9ijQyh zvT=OeDUr9eO?k+sO-#EJ?t!5?_HIQAyrNp$T2rSvvLg(;-SS^*YyY1~S{^*qx^O#j z*2ENJ*$}*+YMOomm&|e9-x*o&L$_yC@CDt(srw07hQPkH^tGqgy(BB9wZ zbYj?KJq!mIymfYbw<&*0hOvvy-tb|@fQ)0vy5vhqmC53(7sCG9z0ONk#E9M0%7>x5 zqBcY_2e&uYZlcCUJ>swX9(^t(7=X-m+fAg%ie`yPU&bQh_5xx^pJE*01j8l*L~ zV9RcBA}OZ(0h?o0y(?QUGW>pz!3 zsnJ^5hKD>6=`%uRiAoV_WDE$ciI888Dbk*93T@}(gil=rP9S0Pv%)F-xQ zme5{W)ep&QvKKtC&eKLl= z1i&3d`>wfB8Q!K(&S-cR=(!uamPVs;(-#V;8>>8qsxs?d&$W;tkn_a+2MWNT%A31) zCAL|TcnUP)aYL4`=lzIB{3%KZ{Xcs`kdhm8vz1D5dGSzt;I|V0$Vc)&{un=-XS+aK zyF>T?N?~-1>vd^D0*sb6g8#IJH$sCjWJ*6#KpjN{XvXJ0o(v+dt+!*?ysP8Wrul9T*S6swe zPJJ(5KKOkZx|0Ja1@3T^Isef;GczYK^cSuEwh4576e)nQ-%7T!*^xt3wVpxu-jbmHd7*L-3xz$X%d9$$ zl;lWGpHC0!Rn&hSc~$w&gqg|~_y(Me$z^XU!0dQ!`M8y@aI~-RxYr8SBPO>Q@H#}B z-`-uFrA2b?D3vHesX@Q zhy0z1xk10hTS~xB8fJ6eY|BM3hz8rM9O5ONNA;mI4iT>3H)|~9vRdqD(U3)m>8P*n z-?s4Z1B4SsExiu)Cm4@v`mF}q89Vr0u8oW%3O}lLin>L5`1+#V@Ajss)#|*ht}Jm~ zXuLEtu+}R|$gB4_=fWuBhaMhXf+L+}iu&X~t}n;|f=xF&r~gPB-MmGmzTm{Vklqku zK&}emW3PuyY#DxULN1`6&EZIXI64!g{w@Xn`A^P>oT*oV4Q!Xl;TNgn2h~l(C$D;y zXP)m~*c=>8+twg^IPJo$Er%!I>^?k34E-^_pPY{r9%7FDJnCBat|{Y@SGkAwyV^JE z@yk+4r7AS=34TWd-^)hUYFayBX$vhPW^7Dz&Oc*fYwPcTJx;vP3Kw;yuKv6>o9sYZ zpyCqykl=;#B3j{$uHo%jw`hlpF}XfcM$mcTCympr?Kveu3Bu1?X$|nc+g<(Q_}n0J z2H=WC+F(wm#Sumf)GP`1v;+yVcjJWkwV59>iLV5Hvx*}nZ~;t*HQ(l z*B@Gs!E^|9MLi|$gmkE6?PnfC78?T!CdAUpkY)A%sC|6|ytJ<_FD6pP^Qg%&%p5$4 zl`PqtNN`F1w1cJ%-CQ}Eaylt@`g$|YcGsHN7U5dYz0X@a8?QNXVSg5P?>PA>n!;ZV zy)AVgn{4a{PcyNg1;nKZs)Cs#EH9hJu8D)Rle9!r3ig**4d4^##fFNez#c(uz{NHL zaz?FGDU@{=k-Va&Vh4<28pavE8rAYE%>&pfYOD?)hQ8GRC@3mgp znjiDMujct>)q$+RyBnXiI-k#FfBvSE6HssW*yGE&Rxg`Kmp4tmnDtdrS2(gmTs!|J zX>$xll&QSRS(ZG!B4uQ+dhMW(dmiGHe(fd^^(;6|$T#Yf4MozqX6?QHI;~O?0Dp>a*7OpP$>!c$s{%sa5`-a@^&7u4<(V;n@cF&*o$noUl-0ehk{jYM_jN zqxxS$NjH&~DN7ecB9;zVroR$Ko%u~OF+l2S(cJ5Tf7`46H484BfSLYclCLHk{}w0f zO75CPN%lI>-+M0)^#evfCNgvH)AmlTDthPPLl(9h?BX@uJiB$ly+;JK|4?tl>k}n3 zxma15nVzZ}nyFh}^HX>d<93S(LWeQobxg^AH=;L{FiCpiu^%e!fH z@3(JT&41CluD(7mUR1rW`?us1(jyHXDQg8ZPvZ9&#?0XRy(REAw3Re@{ z@MsTjuZGtN*3wU4TR2L8Hn2E=9>=LW(MC7%k;S&XRXbnJ5F3VjnB@G~2ut98apqb2|&z;aA#@qXkuCBylbbe z!GWpIE5{o=&hBG9Ecx>Bc>f*S!dA|Bh*_;S;)EQbc1KYo|8Q74qA6E{Yk*%uTysn(oeGI12A; z@?~|{jXiFIU7|Zyvgs z-2+jbL6(v-epZ3$atO%wh%wMg#Iksy6z~+hjyhAr#LFDD?;OvVEv{k%dx-gA*+*jy zYQThaZyLgRpK}a8BG3spW%+)2_#)M(UGaw|Cg^ou1JoK6?!KQRiiZzU{S!iZ9wczMQ_e#sB;KfbAUVOxRCnUXSi> zdC!K`?o@c#r{zORMt4NPL^9uY=!AZgVS?#50%Ji)Os)@Ze+tl(k1Y$+Wjp9wN9Dx& ztmWFtfbVQ=;cu?2i=w@6puV)DcsnI>#_v-j%RN2`vI{oqzdt?BwAkO1G=g97?0KfTs%0c8p^rgUk4b`-&&1g$S;G}tiDkz#2(vTc_ z%oNrRAgeK*q;7s+SUy;=@dt|mc$rEYpm@?>`~+TLIwV&*d3FY?J;ZxWb^6=9)0lQC zjS@Z8T1m1g9&JGAmW&M&>$ALAfE?{VdM*Cw(QneDq?eNw|XcO=6C` zo{gSdQIeU;>P(9hQp^gl!G`LqegJAjGxld6{t9ruFssyjXU4XGQ|Zai&A!?lqXzz1 z!zof|^u+TH*G(6NKXW2*c9+siP8N_FGJ$Kxf5KVt#Br7nl!(XA8dzq`UyAe1X0nq~ za3nv%7r%x?A2s3^G_(U}O}Z%2o5aaRf~}{X2T7l7wT_1@xuUfx#vS>nw{-NkbR2`w zyQeKk7`c-TthuAz!95D{5!V2}UbABVmw2^6)IO;&|LZaT|K{iYSDB0d`@@je&wex( zt~zGC6?++{y%Gb#qD$-vWXr$gypL`WL!?PyHd*_ejSyt!s(?%7?E3E4?KZV(gOxVC zbfLn=F?0H;?R9g^h!_Ie;#NiPjEQ4kEkQHGeqgD2&sG6d5OOrBuON#``^Q=D>t@L; z6o7-JvrL_qIFapM!wk%8*w8Qziv6A(!rBBWbX3-+6cQmhM|0XG^P@&(J>n5%kyh9B9r@WA}_a$?QlrC@piSi%?>z61L}5@Mg-$lKRG|dhAuZknl8ubZ&$SHu}Rs+A%=#KTD~*85$=q7OjG=34ll$ubIM&rhQIqdr%)9n9=X?HjA#wJ z{2p3~iz3#9v*$HnJzp&kBlM!noY1Aw9y37$9MAcmjkzI1BQHccN(bW@FVc@BjJ=QZ@j*8}2v@}hAs z_Y2&9$(Y?l3hXu4&Ta^?)`18~4moDWz)i0IcKX>m;}Qof5EN6IYSU-yy7C0SR-u5k zXTl3X*uBL!;~>X)J%oO;`oyBrH%va)=*NBIg_K&SES zvV0gJ*K%mkHgqBpRyr)pLV&SQqT(~xI80v>V(Im%>-lNw?EAY$1zUlYOWJy^0~dK9hSYNo4R%Xr)VcWa zISjqns4DN_?Zo2sFi6RZE}J(#@a78sPO}C$I3*<+a`vfA)AI?K`eOT_-??Zgg&=RN z&8%kL0B%*V9`(=JT0!@vJ6PmxAR{YoMZ+W5OX;o&k2SLRy+9f3Jv349YkjX<>`3xp zm?!TM7}?us7uweVAQoQtm<>Og5M8!5hHgC*hG3ztfNQz0yvb4*-?5HAE{Mxz`^@oe z)sTs$*%tg0hS5MTc6uKrQG;S|c|@WZCTND8NFeSoM;!1+WKKE*)tI zzVg!1Zw^$4-rb5f28h%&4bZOA105XFM>&3^=Dynr`!s2{7<Ig?1ZwF#zaS4VW(~(dL9N5TI_mp&%2G~B+ z04TFp4n&f8fGvM^JB(M;K?6Ql$)%?nrM#Z!@OaEG!I9BN-5=Eo&q3oS<26 z{RwF+LE`u~qwfZgWk8Dg#X3gN(4$WtZeMP6@?XB0ogaAARF98!9tZwou)Mdt^*dhk zk9>mqmA7$eP`M?FnsU!Ecq`RCF2u%8j;o$LCjz%+uH0l6Hp9CceE*k}(6e91D4Bg4 z>JU6=?Xxv(+G|qZrRn+NvRp^16m>5^*^{&&VB+5FxS!nLp48mBH5v(QI27q{dXUjd z=ubv&38e8&SzKuAkU0V01v^sHW8j@nJfb4E8;}hhq?%qY*3DJOJg<*an+5{nH1Yf7 zQZp|zA*va;4GPV+yoc*AfbFAtF|~X{tC0~1OjZ%2bAQd=wl;)j03mfOdxEe%hS_y1 zo^3_UIy=<}`~l&2LS%uu?Xh$(Yi$60iYrlcckL5bcaLglW6?43Vyl4!)eW<*hR68S z49M|r+U6u$$(=@+!ez^6UxPcsb~YeHT1=-_?x;&{;T|%AX@c7n zYWicdhhq-K3B>T^s?kgyA(r@9b5@ZpzQcrn^h6hzeQ*$wM>kpID<3RS#PYBrbF_u1zjAb$KLw zyf0<-b;X$!!b#8ad!fz-wmAS4$Drxp6xNoSUrv>g1*4+OXmt%YmneN?{` zEV_6`ywiHvG~}r+Qmd*=)?a|~15pVT<|sM&duilN{a;ERl!qo9H6YVlCH77niT#M; zBEbllOBvVtnz&$BOlaT5aMlCsnnc{ts}AJ^SEKvelA5(siMe+k_KX9xLESc;^Pow% zRO6ztYOkvbfrT_MzJncDw7XxzK-IP_7da4#6HB&yPCPwYa2vmaF$(Ha60HrMXfH!B zrvNmOaF2flCZVg`Llx2>dwm2%42*3_%r!}L!DzpiP4tU+5{K8U!9^Y&=&;nzlOw5- zaYDuo0Dzd&Fje3$xDLOw34nw(EG~;Ub&k@^Zdni^>ix2}Hxcj@XDom_INkg z6|r@SYvqTs^f}iIBmZ=q=PpLr=Q)xY*Bj$aaazK);*viR!Qb-pL&Z&b%c#_tdY}wW z%NVkDCyw~v_))hz^nKA^{@F_3PX}CDw5uTWjOlO5TZh}`Qlfi*gY&`DdV3MlRhL-7 zWA8R~FkNI$g>nz^Eq10xFVAUlGMY?@QP&3py*gfr(9NEQpn<2^uVd{q_VU8T4(eZz zn*knomT=vDEPV0?;ZD^H`Oid7%8RcL?^fx(#L0iZ0wQOLtCfi@UN(~Pvq5zrh*IfM zV7&?oTGB^uJsdl(C{vcGWKd`bn#Ua-zIGI(mUY-Oc`~-k92-J#>adOAF-i@0!~!wO zC@q0^xAjN;8m&`P-d~Rp3E28)6k=N>r=zv{%TYHX555XqPGML|LeRHSR?`MWV;Ik~ zR#SJT=`U`@cLKe3=Jc6Y(oGetf*TnK*Q8+el2$ssixDZW`&5(g7;td?(+-JP$M_yA zV)Ah*BwoH3GM4+3E6Qt6V(y5O*vh;0 zud;KFsU4oO7_FP~BTmQ*6k~^IV_X5Ou`IGO*fViwqAibyKH8m7X4XYim(YKlg6|7H zWkHAIN6k%Dg}>QrJc!ou+0HMm9z2TtteB|h5Rh(BI_p_?vcOszXNq!;868h*=7c7^ zC1+C9V^h6xx7nXi^Zxo<_+bzbEKlEltXpvjpSc{^~dQTOj zEN4`1jBE|S=U}~awvB!3dRmNO3jIPwue-6{2%Ee0!Vn|H9JTtbjpzrzTEr?iH`nRS zzTu}3++W4L*i)a7#k~*y_NsZR%zX)j%(m!_cs0(fB|RQxg+~ESm4B@;BLYfaiD&D1 z`g)j4K~p*2J%@~)f<0KfU0yV-<3jN|c2IQbepiq{{N#%HPeV&VQ}lH`hm4$p_p_=n zznU5phJj2)$7PxYHYCqFzKoi{bMu^8O}aO_se{|H9>!U}cfuuKV(rtP9Xzx&(Rnlf z8u{2>)}ps>c^&>&*NIzBhI_%gv5qXIq!18Xu6tAzV?9hk>*Q`dj|Y)AL!G@(9;S>s z$1~iMSO}E-YSXBp_}m!mE{PQ-?o7AKB@lL7j|~LZfJcr~Os(p_kNSnHFLfwCwjX$+ zowtG`s6Nw+1OAjX5P_7{eh04h3v3-~6U%o`LViq6{^(s`ite9$eagQS0=b&gI{;@p z9(9HLsq_pPn7FBNzH@6l{Bphak38!b+nr9&4zN(pI{`o91a08AD)_qY`&1zV5)pROyDZY<`o0*oipUM3VOCh0 z(ITi`DH?d5YD3->V3jHxP!TQ@7GB*sY~dQ}2m*Vu_m0TZ`leZ2YIS5TTe$#bcwZ$v zah)uTxK^79Q8D3=0U(!eV?ltEUK9)=!F9idE&LYXTQ>i1TVJH+Lx3@((b}iDV%b%9 zx;E`JVc|G!sA}<3>?1>%J~=X&V}$yD~l@TmqC$h^tYi z>kd5dT?0|;HXE=({RkU<`Y}6a=nzruKwnOWO9F>dCeSNj$18T&O?*tjLh{33G4axw zkmzKfd0duPMSH|XksB`L;y_m1&F~0F8jTk{($#k%v zA%)#n`pQ-#fMc}e)s7kEATg_rb%tk}XU~GfGIzKh$z~*~2~HLZzaEYoeD)MX%0E6; zCvAE2M}pK52>^lmQhN~%$^rxRonb^$GAe<7Qh^C{U3}#o?U4Rvo#lbHs!TuKTVuk3 z%&xd=*CC}LkRaY%l%&cs_DpSAOIr_vc=)xS?ZSAQ$WS)4BafPlF? zoQ%*;Am$uFajlS---5e@$@54h2{;u9PaMdw?{dL|RXkm@Ad(!6>$O*a$Sqb5a{cL> zk901vM$!ynLB?T|Fp_CI1`7BG8q>>E+-M_G=(}%7fiQ6#>OVIH=2TbtaHvl@E!?Mn z*?!%R`UP-=ZUWqUzA!kyxj*M;2)&RTO)QDwnY+4u{=K=ge(W)TKdWIUG?-gav z-<`$14g&ITXGRI+oRfjs_7IYyd(wkj8XKaLVJ%n$0=+x9SdNahnFCL0lMvyWMeG7}FR8V^w(GJPZN6&7Sx8m{UV?cm#z%-Yi-%TuA=~?>aRO<0HlIF48iEsA|~^~ z&YbAw$|HHsVYs7c_g_)33Il}69uCA5uOVX4;V6?+>6#=-8`z=%fw^nagsUF-LvOyl zZU)n&xwA5~3JL}9aebFq#ATMww9a33G;7xu&|4#0)@UrNdZX$oD`MES1&>wA$_rai z3PHRx`Ok+T1zDZQWh!aO#5hsPDSsZ&F3;B-%zG#expphb{0_J^R?&SfkN$mhbKFbz zC(jjrCrL|_O=~NSfR?*GX+vgbn(ER+OaRp!Vo#{Lx6Kf>B2OR@mva(t8p38?r5V9u z#!!XpXf>F|N_$trv*avai`rqPcBw;R8bwt(PJP2la+=;R%p&m(4=gNUIu;4SRDgF0Bh_bZGq?3bg@TlNOfw1gEf~-7v)M4|K*Nfj*pAhOOVV5YN4!irg z{?ldV_i7I;rwJL#k%~pVxeXp+W?KPNR2}Tz3%f%!kB`CKf^C-UEyA8Fu=dISZ)+j? z-&OwqY5NnV&}$OZ`n`HjiKF5AWKbM80pK{h2Lhvf73{yPQR@HQD68tmNcMdNvIziQ z%T)ZcE$=qg9vF=zh1vkyK9$hda(S+K$|xsE+eB%kXtbd2;j^W;|t>{jqoogv+$*Et_cjvbb9~OdQnv!7{!a@-{kB6jr8oE09ga zhN<~`j`7luqtz4fr9gw%yz~a4CJ<>F6Gnw~ADUkC+Y#eC>n0W6E_ z_S(p@84*0Nycq>`i>;?)f%=^}XS@nEx-5ETg0d)cEU?z-G$2r8VYHQnmOQXndaQl- zJ76}6$&iV$T2eH%W*?Kj9tK)S7!^v*M=J}OCNWeV#Jl`)-HS8+Y5m02%J>V=83vqS z{EZy950Aalzq+K=lQ%+P&;h|J=xT7wuxDDwLv1zt-$RH=45fp`GM!d-z1mLE0%Z)x zgid7(x3u?ThMPL~UyFon2c-%0dLWwHftKV0Pba)>5DVcptN;O=2!Ik(1QEIH)fJF+ z*Url(uO^CaCtQB;mI|HP!Ta}Bfh?C>1MsSuFD9r`cM^zNP5Cl~46wiiV}Evo))W_l zm8P88dNOsS!@?PUEq=5?1%mR}(TH=vI;k|I-+6u{Zy$3Ccy|L+W379n>EKM-)3yfu z9gu1Z>XOLK5a`O_@rzV|W__1M1RWdd$RJDlTfHXlp7JwA7Is2fL)5e`;{iK02x(1^ zG*?3o&w;3^kNJKhP@SKi-r;yn;ODXQdODK;Vv%m>po`e*r5W;VE_A$fSt%fiQw~YH zawxBvruq^&|I6E09q8d18~alZ>OKX6o=tFrur{y-H`nM~2nrYCI6&hoY0jV2JaPm) zu4AbtLt>XW5a#Fe#~E72ROu63FMR&lx@ZT^CKWtqk_uh4qu9L@W{pZUrRaijC-}7n zAZIIGDAE-B@KbouivYpv@;pO74bwD$!5_R9dN?A;B--3WVHDLqP&&6SLC*l6 za&E4ZCljF_>_e>x#PH4ZpXPU4VW8%@re3H|Py23t517n&D7fIi96U({%|)S3q}!6}H_aK1 z-s~pM4Db-y+)4wV{ZZd*~{`;m1}rFKj)NR?ZGZO#J)|mtBUnnhzXGbe#&+ zzio!uQ?o%XikR8U0!>abQ?2{Dqcpw9(%0Q@KX3l4^`^RgVWbdhK_PyW#b0hM`_E$t zPwYctcR)>1(KP}RJ!Hx{b<{bn~QQ=+)KX->kt%{Bo5xNZ$W`eaBN>lm(0x*f~S$h2=%)`|k`e9nfd=Er9X zc-;RGF1$s|UH17AZX^RyHa zn`Mr|^8b4zFL0_f8jH)2=66rH;eYZnf(wc)TdbwC9`ZXmW@Y}hm#*6RQijn{W9?AS zV8^B4vWEVKUx6m@v6t7FcF>1zz@A_K9)oGfY^( z=D*mCxb9;Ea>$VXQap$s7I&p&6o+M(@FE<1`0~zb@q>(K?^>sZszk}Y=L?!adoMin zZPW@YrE|s-&D}dN!v&*(dpZ|X@;jUZ5yu;jE z_P}_o;V#^sNZA%Wr-7)68HK2u!@5Ui=5APw)HAIm5(N^>sz23&CuHQUGdgf?GHojv z?5eY%;Y0lc)Vk|O;^-2Cf#!~D^#o$Qe*(H#z+F2Zxgj#!Q%2ZZpHi;d5#lF2wA1IT zj+)I0|ID?PGjvzL-s=?W>KZy!7ewi7jfilL)h8c2+b)8f_^11$U-t|V4G%S!`mOR!IKI~;q(>RSKoDdZ!iYsBAkfgU z&v_2n?Q&P=vG8I8q?9sxd4{<`R!&|~S=@hu-7p$HupTxAY>quw8-pYL+@%fEdx(ki zP}8fpX(D^88OROjeV-Im0V?}Kha2833er4ZCERA;$_)xXWdxJXJxZ$NrdDweaBnfl z@?&L}{`_3;nbEeHjhbmN^Wuo7gGK*h|zxvF; zSPu_&_`1Kk<-K0-X~dRcWsov)@hc*bZhbiGohH5q*B#-ffB@m%7|`eb+W4*o^!NgmBYX8C>rvn$L2+oI5?k+^cu4tKMEv4l$YjwExa8 ze)yj))BoeM(?TKt=ySdA59*uh-P@gIsCT@;OJ8p%$7-G4-N@We^txdzJ-tX%l-?B( z1k(FH= Date: Fri, 14 Aug 2026 11:13:02 +0200 Subject: [PATCH 03/12] ci: replace the androidDependencies cache-warm step, removed in AGP 9 AGP 9 removed the task, whose only job here was to populate ~/.gradle between the orb's restore and save. Deleting just the task would leave restore immediately followed by save, and since the orb keys that cache on the root build's files and save_cache is write-once, a job could claim the key with an unpopulated cache. Only the admob lane builds in the root build, so it keeps restore and save. The other two lanes build nested Gradle projects and now restore only. --- .circleci/config.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cd7dc03131..587a58fc8b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -59,14 +59,6 @@ parameters: default: alpha commands: - android-dependencies: - steps: - - android/restore_gradle_cache - - run: - name: Download Dependencies - command: ./gradlew androidDependencies - - android/save_gradle_cache - prepare-signing-key: steps: - run: @@ -147,7 +139,9 @@ jobs: - revenuecat/install-gem-unix-dependencies: cache-version: v1 - android/accept_licenses - - android-dependencies + # This lane builds a nested Gradle project, so it restores the shared dependency cache but + # must not save it: that key belongs to the root build. + - android/restore_gradle_cache - android/restore_build_cache - run: name: Build sample app @@ -164,7 +158,7 @@ jobs: - revenuecat/install-gem-unix-dependencies: cache-version: v1 - android/accept_licenses - - android-dependencies + - android/restore_gradle_cache - android/restore_build_cache - run: name: Build sample app @@ -181,11 +175,12 @@ jobs: - revenuecat/install-gem-unix-dependencies: cache-version: v1 - android/accept_licenses - - android-dependencies + - android/restore_gradle_cache - android/restore_build_cache - run: name: Build sample app command: bundle exec fastlane android build_admob_integration_sample + - android/save_gradle_cache - android/save_build_cache prepare-tests: From dd1be47dae2f792dbc554d9a65dfc8b28aab7cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Fri, 14 Aug 2026 11:13:02 +0200 Subject: [PATCH 04/12] build: keep the snapshot-consuming sample apps able to read our metadata The three nested example builds resolve purchases 10.17.0-SNAPSHOT from the Sonatype snapshot repo and were pinned at Kotlin 1.8.22 / 1.9.0. A compiler reads metadata at most one minor ahead, so once main publishes a snapshot built with 2.3.x they stop compiling. Nothing here would have caught it: their jobs only run in snapshot-deploy-sample-app-tests, on main, after the snapshot is published. Kotlin 2.0+ also requires the Compose Compiler Gradle plugin wherever compose is enabled. --- .../CustomEntitlementComputationSample/app/build.gradle.kts | 1 + examples/CustomEntitlementComputationSample/build.gradle.kts | 1 + .../gradle/libs.versions.toml | 5 ++++- examples/MagicWeather/gradle/libs.versions.toml | 4 +++- examples/MagicWeatherCompose/app/build.gradle.kts | 1 + examples/MagicWeatherCompose/build.gradle.kts | 1 + examples/MagicWeatherCompose/gradle/libs.versions.toml | 5 ++++- 7 files changed, 15 insertions(+), 3 deletions(-) diff --git a/examples/CustomEntitlementComputationSample/app/build.gradle.kts b/examples/CustomEntitlementComputationSample/app/build.gradle.kts index bd7a5d59d9..3bed5e4f23 100644 --- a/examples/CustomEntitlementComputationSample/app/build.gradle.kts +++ b/examples/CustomEntitlementComputationSample/app/build.gradle.kts @@ -4,6 +4,7 @@ import java.util.Properties plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) + alias(libs.plugins.compose.compiler) } val localProperties = Properties() diff --git a/examples/CustomEntitlementComputationSample/build.gradle.kts b/examples/CustomEntitlementComputationSample/build.gradle.kts index 93cad503e2..44693b0279 100644 --- a/examples/CustomEntitlementComputationSample/build.gradle.kts +++ b/examples/CustomEntitlementComputationSample/build.gradle.kts @@ -2,4 +2,5 @@ plugins { alias(libs.plugins.android.application).apply(false) alias(libs.plugins.kotlin.android).apply(false) + alias(libs.plugins.compose.compiler).apply(false) } diff --git a/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml b/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml index 55c9288da0..dea08f6b6d 100644 --- a/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml +++ b/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml @@ -1,12 +1,15 @@ [versions] agp = "8.13.2" -kotlin = "1.8.22" +# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one +# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. +kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" androidxCore = "1.10.1" [plugins] android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } [libraries] androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidxCore" } diff --git a/examples/MagicWeather/gradle/libs.versions.toml b/examples/MagicWeather/gradle/libs.versions.toml index f0eedb1244..6240872b48 100644 --- a/examples/MagicWeather/gradle/libs.versions.toml +++ b/examples/MagicWeather/gradle/libs.versions.toml @@ -1,7 +1,9 @@ [versions] agp = "8.13.2" androidxNavigation = "2.6.0" -kotlin = "1.9.0" +# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one +# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. +kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" lifecycle = "2.6.1" androidxCore = "1.10.1" diff --git a/examples/MagicWeatherCompose/app/build.gradle.kts b/examples/MagicWeatherCompose/app/build.gradle.kts index 779264823e..f195c488c2 100644 --- a/examples/MagicWeatherCompose/app/build.gradle.kts +++ b/examples/MagicWeatherCompose/app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) + alias(libs.plugins.compose.compiler) } android { diff --git a/examples/MagicWeatherCompose/build.gradle.kts b/examples/MagicWeatherCompose/build.gradle.kts index 93cad503e2..44693b0279 100644 --- a/examples/MagicWeatherCompose/build.gradle.kts +++ b/examples/MagicWeatherCompose/build.gradle.kts @@ -2,4 +2,5 @@ plugins { alias(libs.plugins.android.application).apply(false) alias(libs.plugins.kotlin.android).apply(false) + alias(libs.plugins.compose.compiler).apply(false) } diff --git a/examples/MagicWeatherCompose/gradle/libs.versions.toml b/examples/MagicWeatherCompose/gradle/libs.versions.toml index 5302ca4770..76071d2eef 100644 --- a/examples/MagicWeatherCompose/gradle/libs.versions.toml +++ b/examples/MagicWeatherCompose/gradle/libs.versions.toml @@ -1,7 +1,9 @@ [versions] agp = "8.13.2" androidxNavigation = "2.5.3" -kotlin = "1.8.22" +# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one +# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. +kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" lifecycle = "2.5.0" androidxCore = "1.10.1" @@ -9,6 +11,7 @@ androidxCore = "1.10.1" [plugins] android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } [libraries] androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidxCore" } From 5ca03e5bc39c1b158eba93694a734ae9b5169807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Fri, 14 Aug 2026 11:13:02 +0200 Subject: [PATCH 05/12] build: keep unit tests on the published release variant AGP 9 only creates unit tests for the testBuildType variant, so release variants silently lose theirs. Release is what we publish, and the only variant where BuildConfig.DEBUG is false, which gates debug logging, extra request logging, WebView contents debugging and the release-only source sets in ui/debugview and ui/revenuecatui. HasUnitTestBuilder is still available in AGP 9.3.1, so the library convention re-enables them for every module. Also update the documented minimum Kotlin: the published kotlin-stdlib is now 2.3.21, whose metadata a compiler reads only one minor ahead, so consumers need 2.2.0. --- README.md | 2 +- .../buildlogic/convention/ConfigureAndroidLibrary.kt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 114dd5560b..c83ba454be 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Or view / build our Android sample app: ## Requirements - Java 8+ -- Kotlin 1.8.0+ +- Kotlin 2.2.0+ - Minimum target: Android 6.0+ (API level 23+) - Paywalls and Customer Center minimum target: Android 7.0+ (API level 24+) diff --git a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt index 876bdf182c..87ce26818e 100644 --- a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt +++ b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt @@ -1,5 +1,7 @@ package com.revenuecat.purchases.android.buildlogic.convention +import com.android.build.api.variant.HasUnitTestBuilder +import com.android.build.api.variant.LibraryAndroidComponentsExtension import com.android.build.gradle.LibraryExtension import com.revenuecat.purchases.android.buildlogic.ktx.getVersion import com.revenuecat.purchases.android.buildlogic.ktx.versionCatalog @@ -24,6 +26,14 @@ internal fun Project.configureAndroidLibrary() { return result } + extensions.configure { + beforeVariants { variantBuilder -> + // AGP 9 only creates unit tests for the testBuildType variant, but the published + // variant is release, so its tests would otherwise never run. + (variantBuilder as? HasUnitTestBuilder)?.enableUnitTest = true + } + } + extensions.configure { compileSdk = compileSdkVersion From ef1397ae0dbf760d59b270d67c022abfab3c397d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Tue, 25 Aug 2026 18:32:22 +0200 Subject: [PATCH 06/12] build: drop to Kotlin 2.2.21, the minimum AGP 9 requires AGP 9 requires KGP 2.2.10 or higher; 2.3.21 was our choice, not a requirement, and it costs more than it saves. Kotlin 2.3.21 rejects languageVersion 1.8 outright, which forced the K1 to K2 frontend migration into this bump. It also publishes stdlib metadata 2.3.0, which no released React Native can read: RN pins KGP 2.0.21 through 0.79 and 2.1.20 through 0.86, and only RN main pins 2.2.0. Every React Native app would have needed an explicit KGP override. At 2.2.21 the published metadata is 2.2.0, which RN 0.81+ reads untouched, and languageVersion stays at 1.8 so the K2 migration moves out of this release. Poko follows to 0.20.2, the release compiled against 2.2.21; it runs on Gradle 9.7 despite 0.21.0 being what raised Poko's own minimum Gradle to 9.0. The opt-in on SubscriberAttributesManager.setAttributes was only needed by the K2 frontend and is removed again. Consumer floor verified in both directions against the release AAR plus the stdlib we publish: a consumer on Kotlin 2.1.21 compiles, and 2.0.21 and 1.9.24 both fail with "metadata is 2.2.0". README and the new v11 migration guide say 2.1.0. --- README.md | 2 +- gradle/libs.versions.toml | 6 ++--- migrations/v11-MIGRATION.md | 24 +++++++++++++++++++ .../SubscriberAttributesManager.kt | 1 - 4 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 migrations/v11-MIGRATION.md diff --git a/README.md b/README.md index c83ba454be..dfe5357ad1 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Or view / build our Android sample app: ## Requirements - Java 8+ -- Kotlin 2.2.0+ +- Kotlin 2.1.0+ - Minimum target: Android 6.0+ (API level 23+) - Paywalls and Customer Center minimum target: Android 7.0+ (API level 24+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 99bf81b49b..be2ebe2f39 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -42,8 +42,8 @@ googleBlockstore = "16.4.0" hamcrest = "1.3" recyclerview = "1.2.1" roboelectric = "4.16" -kotlin = "2.3.21" -kotlinLanguage = "2.0" +kotlin = "2.2.21" +kotlinLanguage = "1.8" # Can't update until we use more recent kotlin. 1.6.0 uses Kotlin 1.9.0 kotlinxSerializationJSON = "1.5.1" samsungIap = "6.5.2" @@ -57,7 +57,7 @@ mockk = "1.13.11" mockwebserver = "4.2.0" multidex = "2.0.1" paparrazzi = "2.0.0-alpha05" -poko = "0.22.1" +poko = "0.20.2" testJUnit = "1.2.1" testJUnitParams = "1.1.1" testLibraries = "1.6.1" diff --git a/migrations/v11-MIGRATION.md b/migrations/v11-MIGRATION.md new file mode 100644 index 0000000000..072290793a --- /dev/null +++ b/migrations/v11-MIGRATION.md @@ -0,0 +1,24 @@ +# V11 API Migration Guide + +This release updates the SDK's build toolchain to Android Gradle Plugin 9 and Kotlin 2.2.21. Our new minimum version is Kotlin 2.1.0+. If you were using an older version of Kotlin, you will need to update it. + +There are no public API changes in this release. + +### Bumped minimum Kotlin version + +RevenueCat SDK v11 bumps Kotlin to 2.2.21, with a minimum Kotlin version of 2.1.0, up from 1.8.0 in v9. + +The SDK declares `kotlin-stdlib` at compile scope, so Gradle resolves your app onto the version we publish. A Kotlin compiler can only read metadata from at most one minor version ahead of itself, so a compiler older than 2.1 cannot read the 2.2.x standard library and the build fails with: + +``` +Module was compiled with an incompatible version of Kotlin. +The binary version of its metadata is 2.2.0, expected version is 2.0.0. +``` + +If you see this, update the Kotlin Gradle Plugin in your app to 2.1.0 or newer. + +Note that AGP 9 is not a requirement for your app. The SDK is built with it, but nothing about the published artifacts requires you to upgrade your own Android Gradle Plugin or Gradle version. + +### Reporting undocumented issues: + +Feel free to file an issue! [New RevenueCat Issue](https://github.com/RevenueCat/purchases-android/issues/new/). diff --git a/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt b/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt index 1dc596af5d..45ff29ce68 100644 --- a/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt +++ b/purchases/src/main/kotlin/com/revenuecat/purchases/subscriberattributes/SubscriberAttributesManager.kt @@ -27,7 +27,6 @@ internal class SubscriberAttributesManager( private val obtainingDeviceIdentifiersObservable = ObtainDeviceIdentifiersObservable() @Synchronized - @OptIn(InternalRevenueCatAPI::class) fun setAttributes(attributesToSet: Map, appUserID: String) { val attributesAsObjects = attributesToSet.map { (key, value) -> key to SubscriberAttribute(key, value) From 1395e6b63a1f81ef583ce8ba5e0d017f15c316a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Tue, 25 Aug 2026 18:45:43 +0200 Subject: [PATCH 07/12] build: pair AGP 9.2.1 with Gradle 9.4.1 so Kotlin 2.2 can read it :codegen is a java-gradle-plugin module, so it compiles against the Kotlin that Gradle embeds, and a compiler reads metadata at most one minor ahead. Gradle 9.7.0 embeds Kotlin 2.4.0, which our 2.2.21 compiler cannot read; CI failed in prepare-tests with "metadata version is 2.4.0, but the compiler version 2.2.0 can read versions up to 2.3.0". Embedded Kotlin by Gradle release: 9.3.1 ships 2.2.21, 9.4.1 ships 2.3.0, 9.5.1 ships 2.3.20, 9.7.0 ships 2.4.0. So Kotlin 2.2.x needs Gradle 9.4.1 or lower. AGP 9.3.1 requires Gradle 9.5.0 or higher, so it cannot be used with a Gradle we can read. AGP 9.2.1 is the newest release that runs on Gradle 9.4.1, verified along with 9.1.1 and 9.0.1. Published AAR contract is unchanged: minCompileSdk=1, minAndroidGradlePluginVersion=1.0.0, and no api*.txt diff. --- gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index be2ebe2f39..b2d4a50340 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ android-compileSdk = "36" android-minSdk = "23" android-targetSdk = "36" -agp = "9.3.1" +agp = "9.2.1" activityCompose = "1.9.3" # Note that version 18.0.1 adds the AD_ID permission to the SDK. # We should not add that permission ourselves, so keeping it at 17.0.1 for now. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1e922f4074..c61a118f7d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 7001e13de36a30fa1dfda906c0212832c4b48261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 27 Aug 2026 15:08:11 +0200 Subject: [PATCH 08/12] build: tighten the AGP 9 bump after a review pass Drop the "must be able to read the SDK's Kotlin metadata" comments from the four sample catalogs, and both CircleCI cache comments. They justify a version choice or an absent step, which belongs in a commit message rather than in the tree. The metadata ones were also stale: they still claimed the SDK publishes 2.3.x. `baselineprofile` 1.5.0-beta01 to 1.5.0-rc02. 1.4.1 still builds on AGP 9.2.1, but warns "tested with versions below Android Gradle Plugin version 9.0.0-alpha01" on all seven projects that apply the plugin; 1.5.0 raises that ceiling. rc02 rather than beta01 since it is published. `enableUnitTest` uses a hard cast. `LibraryVariantBuilder` already extends `HasUnitTestBuilder` in 9.2.1, so `as?` could only ever hide a future AGP dropping it, which is the exact regression the line exists to prevent. Remove `composeOptions.kotlinCompilerExtensionVersion` from the two samples that gained the Compose plugin; it is ignored once that plugin is applied. Reword the `android.newDsl` comment. It is `kotlin-android` that needs the old DSL, since it casts the android extension to `BaseExtension`, not the other way round. --- .circleci/config.yml | 2 -- .../buildlogic/convention/ConfigureAndroidLibrary.kt | 6 +++--- .../CustomEntitlementComputationSample/app/build.gradle.kts | 3 --- .../gradle/libs.versions.toml | 2 -- examples/MagicWeather/gradle/libs.versions.toml | 2 -- examples/MagicWeatherCompose/app/build.gradle.kts | 3 --- examples/MagicWeatherCompose/gradle/libs.versions.toml | 2 -- gradle.properties | 4 ++-- gradle/libs.versions.toml | 2 +- test-apps/sdksizetesting/gradle/libs.versions.toml | 2 -- 10 files changed, 6 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 587a58fc8b..99d6a27b52 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -139,8 +139,6 @@ jobs: - revenuecat/install-gem-unix-dependencies: cache-version: v1 - android/accept_licenses - # This lane builds a nested Gradle project, so it restores the shared dependency cache but - # must not save it: that key belongs to the root build. - android/restore_gradle_cache - android/restore_build_cache - run: diff --git a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt index 87ce26818e..c304310856 100644 --- a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt +++ b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt @@ -28,9 +28,9 @@ internal fun Project.configureAndroidLibrary() { extensions.configure { beforeVariants { variantBuilder -> - // AGP 9 only creates unit tests for the testBuildType variant, but the published - // variant is release, so its tests would otherwise never run. - (variantBuilder as? HasUnitTestBuilder)?.enableUnitTest = true + // AGP 9 only creates unit tests for the testBuildType variant, so the release + // variant we publish would otherwise have none. + (variantBuilder as HasUnitTestBuilder).enableUnitTest = true } } diff --git a/examples/CustomEntitlementComputationSample/app/build.gradle.kts b/examples/CustomEntitlementComputationSample/app/build.gradle.kts index 3bed5e4f23..4336f351eb 100644 --- a/examples/CustomEntitlementComputationSample/app/build.gradle.kts +++ b/examples/CustomEntitlementComputationSample/app/build.gradle.kts @@ -55,9 +55,6 @@ android { compose = true buildConfig = true } - composeOptions { - kotlinCompilerExtensionVersion = "1.4.8" - } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" diff --git a/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml b/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml index dea08f6b6d..aa7d6b6ef6 100644 --- a/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml +++ b/examples/CustomEntitlementComputationSample/gradle/libs.versions.toml @@ -1,7 +1,5 @@ [versions] agp = "8.13.2" -# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one -# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" androidxCore = "1.10.1" diff --git a/examples/MagicWeather/gradle/libs.versions.toml b/examples/MagicWeather/gradle/libs.versions.toml index 6240872b48..ec00ec91be 100644 --- a/examples/MagicWeather/gradle/libs.versions.toml +++ b/examples/MagicWeather/gradle/libs.versions.toml @@ -1,8 +1,6 @@ [versions] agp = "8.13.2" androidxNavigation = "2.6.0" -# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one -# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" lifecycle = "2.6.1" diff --git a/examples/MagicWeatherCompose/app/build.gradle.kts b/examples/MagicWeatherCompose/app/build.gradle.kts index f195c488c2..26f4f90ab9 100644 --- a/examples/MagicWeatherCompose/app/build.gradle.kts +++ b/examples/MagicWeatherCompose/app/build.gradle.kts @@ -50,9 +50,6 @@ android { compose = true buildConfig = true } - composeOptions { - kotlinCompilerExtensionVersion = "1.4.8" - } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" diff --git a/examples/MagicWeatherCompose/gradle/libs.versions.toml b/examples/MagicWeatherCompose/gradle/libs.versions.toml index 76071d2eef..3e55ced198 100644 --- a/examples/MagicWeatherCompose/gradle/libs.versions.toml +++ b/examples/MagicWeatherCompose/gradle/libs.versions.toml @@ -1,8 +1,6 @@ [versions] agp = "8.13.2" androidxNavigation = "2.5.3" -# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one -# minor ahead, and the published snapshot this app consumes is now built with 2.3.x. kotlin = "2.2.21" purchases = "10.20.0-SNAPSHOT" lifecycle = "2.5.0" diff --git a/gradle.properties b/gradle.properties index adfb9d1b06..d25cf72e76 100644 --- a/gradle.properties +++ b/gradle.properties @@ -59,7 +59,7 @@ org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 # Enable the Gradle build cache (local task-output cache) for the main build. org.gradle.caching=true -# AGP 9 enables built-in Kotlin and rejects the kotlin-android plugin, which also needs the -# new DSL. Both flags go away in AGP 10. +# Built-in Kotlin rejects the kotlin-android plugin, and that plugin casts the android extension +# to BaseExtension, which the new DSL drops. Both flags go away in AGP 10. android.builtInKotlin=false android.newDsl=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b2d4a50340..b4e26a7bfb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -68,7 +68,7 @@ webkit = "1.16.0" junit = "1.2.1" uiautomator = "2.3.0" benchmarkMacroJunit4 = "1.3.4" -baselineprofile = "1.5.0-beta01" +baselineprofile = "1.5.0-rc02" profileinstaller = "1.4.1" leakcanary = "2.14" kotlinpoet = "1.18.1" diff --git a/test-apps/sdksizetesting/gradle/libs.versions.toml b/test-apps/sdksizetesting/gradle/libs.versions.toml index 9077693902..512b37612e 100644 --- a/test-apps/sdksizetesting/gradle/libs.versions.toml +++ b/test-apps/sdksizetesting/gradle/libs.versions.toml @@ -1,7 +1,5 @@ [versions] agp = "8.13.2" -# Must be able to read the SDK's Kotlin metadata: a compiler reads metadata up to one -# minor ahead, and the SDK now publishes 2.3.x. kotlin = "2.2.21" coreKtx = "1.17.0" junit = "4.13.2" From 95f53c0f86e7f5a6295e0d7dba77200bcc398789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 27 Aug 2026 15:44:30 +0200 Subject: [PATCH 09/12] build: move the new kotlin{} blocks above dependencies, drop two stale comments The three `kotlin { compilerOptions { jvmTarget } }` blocks that replaced `kotlinOptions{}` in `checkpointtester`, `rcttester` and `e2etests` were appended after `dependencies {}`, leaving them 25 lines away from the `compileOptions` they have to agree with. Every other build script in the repo puts Kotlin compiler config between `android {}` and `dependencies {}`. Pure move: the compile tasks stay up to date across it. Drop `# Can't update until we use more recent kotlin. 1.6.0 uses Kotlin 1.9.0` above `kotlinxSerializationJSON`. Kotlin is 2.2.21 now, so the stated blocker is gone. Not bumping that dependency here. Trim the duplicate sentence from the v11 guide intro; the 2.1.0 minimum was stated three times in 24 lines. --- examples/checkpointtester/build.gradle.kts | 12 ++++++------ examples/rcttester/build.gradle.kts | 12 ++++++------ gradle/libs.versions.toml | 1 - migrations/v11-MIGRATION.md | 2 +- test-apps/e2etests/build.gradle.kts | 12 ++++++------ 5 files changed, 19 insertions(+), 20 deletions(-) diff --git a/examples/checkpointtester/build.gradle.kts b/examples/checkpointtester/build.gradle.kts index 79b9935a1e..72cab0b996 100644 --- a/examples/checkpointtester/build.gradle.kts +++ b/examples/checkpointtester/build.gradle.kts @@ -65,6 +65,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} + dependencies { implementation(project(":purchases")) implementation(project(":ui:revenuecatui")) @@ -82,9 +88,3 @@ dependencies { debugImplementation(libs.androidx.test.compose.manifest) debugImplementation(libs.compose.ui.tooling) } - -kotlin { - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) - } -} diff --git a/examples/rcttester/build.gradle.kts b/examples/rcttester/build.gradle.kts index 52fd44dcfb..7c9730efad 100644 --- a/examples/rcttester/build.gradle.kts +++ b/examples/rcttester/build.gradle.kts @@ -46,6 +46,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} + dependencies { // RevenueCat SDK implementation(project(":purchases")) @@ -78,9 +84,3 @@ dependencies { debugImplementation(libs.compose.ui.tooling) } - -kotlin { - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b4e26a7bfb..2ed79bc07b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,7 +44,6 @@ recyclerview = "1.2.1" roboelectric = "4.16" kotlin = "2.2.21" kotlinLanguage = "1.8" -# Can't update until we use more recent kotlin. 1.6.0 uses Kotlin 1.9.0 kotlinxSerializationJSON = "1.5.1" samsungIap = "6.5.2" kover = "0.9.9" diff --git a/migrations/v11-MIGRATION.md b/migrations/v11-MIGRATION.md index 072290793a..7ee2cd5302 100644 --- a/migrations/v11-MIGRATION.md +++ b/migrations/v11-MIGRATION.md @@ -1,6 +1,6 @@ # V11 API Migration Guide -This release updates the SDK's build toolchain to Android Gradle Plugin 9 and Kotlin 2.2.21. Our new minimum version is Kotlin 2.1.0+. If you were using an older version of Kotlin, you will need to update it. +This release updates the SDK's build toolchain to Android Gradle Plugin 9 and Kotlin 2.2.21. Our new minimum version is Kotlin 2.1.0+. There are no public API changes in this release. diff --git a/test-apps/e2etests/build.gradle.kts b/test-apps/e2etests/build.gradle.kts index 956a2bc337..cd54da1176 100644 --- a/test-apps/e2etests/build.gradle.kts +++ b/test-apps/e2etests/build.gradle.kts @@ -54,6 +54,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} + dependencies { implementation(project(":purchases")) implementation(project(":ui:debugview")) @@ -70,9 +76,3 @@ dependencies { debugImplementation(libs.compose.ui.tooling) debugImplementation(libs.androidx.test.compose.manifest) } - -kotlin { - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) - } -} From 563bcddcc35b123e3cf9c4833bcb7cd213c90fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 27 Aug 2026 15:50:26 +0200 Subject: [PATCH 10/12] Cleanup --- .../buildlogic/convention/ConfigureAndroidLibrary.kt | 2 -- gradle.properties | 3 --- migrations/v11-MIGRATION.md | 9 +++------ 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt index c304310856..849a19cf32 100644 --- a/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt +++ b/build-logic/convention/src/main/kotlin/com/revenuecat/purchases/android/buildlogic/convention/ConfigureAndroidLibrary.kt @@ -28,8 +28,6 @@ internal fun Project.configureAndroidLibrary() { extensions.configure { beforeVariants { variantBuilder -> - // AGP 9 only creates unit tests for the testBuildType variant, so the release - // variant we publish would otherwise have none. (variantBuilder as HasUnitTestBuilder).enableUnitTest = true } } diff --git a/gradle.properties b/gradle.properties index d25cf72e76..fdb2da7893 100644 --- a/gradle.properties +++ b/gradle.properties @@ -58,8 +58,5 @@ org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 # Enable the Gradle build cache (local task-output cache) for the main build. org.gradle.caching=true - -# Built-in Kotlin rejects the kotlin-android plugin, and that plugin casts the android extension -# to BaseExtension, which the new DSL drops. Both flags go away in AGP 10. android.builtInKotlin=false android.newDsl=false diff --git a/migrations/v11-MIGRATION.md b/migrations/v11-MIGRATION.md index 7ee2cd5302..b3d08443a7 100644 --- a/migrations/v11-MIGRATION.md +++ b/migrations/v11-MIGRATION.md @@ -2,13 +2,12 @@ This release updates the SDK's build toolchain to Android Gradle Plugin 9 and Kotlin 2.2.21. Our new minimum version is Kotlin 2.1.0+. -There are no public API changes in this release. -### Bumped minimum Kotlin version +### New minimum Kotlin version -RevenueCat SDK v11 bumps Kotlin to 2.2.21, with a minimum Kotlin version of 2.1.0, up from 1.8.0 in v9. +RevenueCat SDK v11 bumps minimum Kotlin version to 2.1.0, up from 1.8.0 in v10. -The SDK declares `kotlin-stdlib` at compile scope, so Gradle resolves your app onto the version we publish. A Kotlin compiler can only read metadata from at most one minor version ahead of itself, so a compiler older than 2.1 cannot read the 2.2.x standard library and the build fails with: +A Kotlin compiler can only read metadata from at most one minor version ahead of itself, so a compiler older than 2.1 cannot read the 2.2.x standard library and the build fails with: ``` Module was compiled with an incompatible version of Kotlin. @@ -17,8 +16,6 @@ The binary version of its metadata is 2.2.0, expected version is 2.0.0. If you see this, update the Kotlin Gradle Plugin in your app to 2.1.0 or newer. -Note that AGP 9 is not a requirement for your app. The SDK is built with it, but nothing about the published artifacts requires you to upgrade your own Android Gradle Plugin or Gradle version. - ### Reporting undocumented issues: Feel free to file an issue! [New RevenueCat Issue](https://github.com/RevenueCat/purchases-android/issues/new/). From fcf90f859e1cebf610431264eb2b1641825dc9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 27 Aug 2026 16:59:31 +0200 Subject: [PATCH 11/12] Restore comment on backcompat flags --- gradle.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gradle.properties b/gradle.properties index fdb2da7893..991ecec08d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -58,5 +58,7 @@ org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 # Enable the Gradle build cache (local task-output cache) for the main build. org.gradle.caching=true + +# backwards compatibility flags for AGP9, to be enabled in a future PR android.builtInKotlin=false android.newDsl=false From 1b6b4dfc24ca9e7092688e7a54b81395c836bff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 27 Aug 2026 17:16:03 +0200 Subject: [PATCH 12/12] ci: stop saving the Gradle cache from the admob sample lane The lane requires prepare-tests, whose only job is warming the shared Gradle cache, and save_cache is first-write-wins per key. So this save could never claim the key: it uploaded nothing and logged that the cache already existed. Leaves all three sample lanes restore-only and symmetric, rather than one of them writing because it happens to build in the root project. --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 99d6a27b52..2e09d4335f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -178,7 +178,6 @@ jobs: - run: name: Build sample app command: bundle exec fastlane android build_admob_integration_sample - - android/save_gradle_cache - android/save_build_cache prepare-tests: