Skip to content

Update compose and androidx dependencies - bump minSDK/compileSDK versions.#12419

Merged
jaynewstrom-stripe merged 4 commits intomasterfrom
jaynewstrom/update-compose
Feb 24, 2026
Merged

Update compose and androidx dependencies - bump minSDK/compileSDK versions.#12419
jaynewstrom-stripe merged 4 commits intomasterfrom
jaynewstrom/update-compose

Conversation

@jaynewstrom-stripe
Copy link
Collaborator

@jaynewstrom-stripe jaynewstrom-stripe commented Feb 23, 2026

Summary

Updates a bunch of androidx and compose dependencies.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 23, 2026

Diffuse output:

OLD: paymentsheet-example-release-master.apk (signature: V1, V2)
NEW: paymentsheet-example-release-pr.apk (signature: V1, V2)

          │              compressed              │           uncompressed            
          ├─────────────┬───────────┬────────────┼───────────┬───────────┬───────────
 APK      │ old         │ new       │ diff       │ old       │ new       │ diff      
──────────┼─────────────┼───────────┼────────────┼───────────┼───────────┼───────────
      dex │     5.2 MiB │   4.5 MiB │ -794.8 KiB │  11.7 MiB │   9.5 MiB │  -2.2 MiB 
     arsc │     3.6 MiB │   3.5 MiB │  -69.7 KiB │   3.6 MiB │   3.5 MiB │ -69.7 KiB 
 manifest │     5.7 KiB │   5.7 KiB │       +5 B │  30.4 KiB │  30.4 KiB │       0 B 
      res │ 1,016.4 KiB │ 985.7 KiB │  -30.8 KiB │   1.7 MiB │   1.6 MiB │ -73.3 KiB 
   native │       1 MiB │   2.7 MiB │   +1.7 MiB │   2.7 MiB │   2.7 MiB │       0 B 
    asset │    27.2 KiB │  23.5 KiB │   -3.7 KiB │    48 KiB │  44.4 KiB │  -3.5 KiB 
    other │   249.2 KiB │ 242.4 KiB │   -6.8 KiB │ 510.7 KiB │ 498.3 KiB │ -12.4 KiB 
──────────┼─────────────┼───────────┼────────────┼───────────┼───────────┼───────────
    total │    11.1 MiB │  11.9 MiB │ +791.8 KiB │  20.2 MiB │  17.9 MiB │  -2.4 MiB 

         │          raw           │                 unique                 
         ├───────┬───────┬────────┼───────┬───────┬────────────────────────
 DEX     │ old   │ new   │ diff   │ old   │ new   │ diff                   
─────────┼───────┼───────┼────────┼───────┼───────┼────────────────────────
   files │     2 │     1 │     -1 │       │       │                        
 strings │ 63751 │ 44320 │ -19431 │ 54804 │ 44320 │ -10484 (+7544 -18028)  
   types │ 22771 │ 13973 │  -8798 │ 18019 │ 13973 │  -4046 (+6967 -11013)  
 classes │ 15131 │ 11343 │  -3788 │ 15131 │ 11343 │  -3788 (+5699 -9487)   
 methods │ 85034 │ 62248 │ -22786 │ 78349 │ 62248 │ -16101 (+47549 -63650) 
  fields │ 54791 │ 39945 │ -14846 │ 50443 │ 39945 │ -10498 (+37348 -47846) 

 ARSC    │ old  │ new  │ diff         
─────────┼──────┼──────┼──────────────
 configs │  325 │  318 │ -7 (+0 -7)   
 entries │ 7004 │ 7004 │  0 (+59 -59)
APK
       compressed       │       uncompressed       │                                                                                              
───────────┬────────────┼───────────┬──────────────┤                                                                                              
 size      │ diff       │ size      │ diff         │ path                                                                                         
───────────┼────────────┼───────────┼──────────────┼──────────────────────────────────────────────────────────────────────────────────────────────
           │   -1.4 MiB │           │     -3.2 MiB │ - classes2.dex                                                                               
   4.5 MiB │ +634.3 KiB │   9.5 MiB │ +1,004.3 KiB │ ∆ classes.dex                                                                                
 718.8 KiB │ +472.1 KiB │ 718.6 KiB │          0 B │ ∆ lib/arm64-v8a/libsentry.so                                                                 
 737.3 KiB │ +464.9 KiB │ 737.2 KiB │          0 B │ ∆ lib/x86/libsentry.so                                                                       
   705 KiB │   +454 KiB │ 704.9 KiB │          0 B │ ∆ lib/x86_64/libsentry.so                                                                    
 468.8 KiB │ +250.4 KiB │ 468.7 KiB │          0 B │ ∆ lib/armeabi-v7a/libsentry.so                                                               
   3.5 MiB │  -69.7 KiB │   3.5 MiB │    -69.7 KiB │ ∆ resources.arsc                                                                             
  16.6 KiB │    +11 KiB │  16.4 KiB │          0 B │ ∆ lib/arm64-v8a/libsentry-android.so                                                         
  16.1 KiB │  +10.5 KiB │    16 KiB │          0 B │ ∆ lib/x86_64/libsentry-android.so                                                            
  14.5 KiB │   +8.7 KiB │  14.4 KiB │          0 B │ ∆ lib/x86/libsentry-android.so                                                               
  11.9 KiB │   +6.9 KiB │  11.8 KiB │          0 B │ ∆ lib/armeabi-v7a/libsentry-android.so                                                       
  10.7 KiB │     +6 KiB │  10.5 KiB │          0 B │ ∆ lib/x86_64/libandroidx.graphics.path.so                                                    
    10 KiB │   +5.6 KiB │   9.9 KiB │          0 B │ ∆ lib/arm64-v8a/libandroidx.graphics.path.so                                                 
   9.2 KiB │   +4.4 KiB │   9.1 KiB │          0 B │ ∆ lib/x86/libandroidx.graphics.path.so                                                       
   7.3 KiB │   -3.6 KiB │   7.2 KiB │     -3.6 KiB │ ∆ assets/dexopt/baseline.prof                                                                
   7.2 KiB │   +3.1 KiB │   7.1 KiB │          0 B │ ∆ lib/armeabi-v7a/libandroidx.graphics.path.so                                               
    57 KiB │     -2 KiB │ 126.2 KiB │     -4.6 KiB │ ∆ META-INF/CERT.SF                                                                           
  53.6 KiB │     -2 KiB │ 126.1 KiB │     -4.6 KiB │ ∆ META-INF/MANIFEST.MF                                                                       
           │   -1.8 KiB │           │     -4.8 KiB │ - res/oi.xml                                                                                 
           │   -1.7 KiB │           │       -7 KiB │ - res/92.xml                                                                                 
           │   -1.5 KiB │           │     -4.6 KiB │ - res/pR.xml                                                                                 
           │   -1.3 KiB │           │     -3.8 KiB │ - res/EF.xml                                                                                 
           │   -1.2 KiB │           │     -3.9 KiB │ - res/2d.xml                                                                                 
           │   -1.2 KiB │           │     -3.5 KiB │ - res/7z.xml                                                                                 
           │   -1.1 KiB │           │     -2.2 KiB │ - res/y71.xml                                                                                
           │   -1.1 KiB │           │     -3.4 KiB │ - res/B4.xml                                                                                 
           │   -1.1 KiB │           │     -1.9 KiB │ - META-INF/kotlin-stdlib.kotlin_modul
...✂
MANIFEST
@@ -1,4 +1,4 @@
 <manifest
-    android:compileSdkVersion="35"
-    android:compileSdkVersionCodename="15"
+    android:compileSdkVersion="36"
+    android:compileSdkVersionCodename="16"
     android:versionCode="11"
@@ -6,4 +6,4 @@
     package="com.stripe.android.paymentsheet.example"
-    platformBuildVersionCode="35"
-    platformBuildVersionName="15"
+    platformBuildVersionCode="36"
+    platformBuildVersionName="16"
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -11,4 +11,4 @@
   <uses-sdk
-      android:minSdkVersion="21"
-      android:targetSdkVersion="35"
+      android:minSdkVersion="23"
+      android:targetSdkVersion="36"
       />
@@ -64,3 +64,3 @@
       android:appComponentFactory="androidx.core.app.CoreComponentFactory"
-      android:extractNativeLibs="true"
+      android:extractNativeLibs="false"
       android:icon="@mipmap/ic_launcher"
@@ -491,2 +491,10 @@
         />
+    <uses-library
+        android:name="androidx.window.extensions"
+        android:required="false"
+        />
+    <uses-library
+        android:name="androidx.window.sidecar"
+        android:required="false"
+        />
     <provider
@@ -509,10 +517,2 @@
     </provider>
-    <uses-library
-        android:name="androidx.window.extensions"
-        android:required="false"
-        />
-    <uses-library
-        android:name="androidx.window.sidecar"
-        android:required="false"
-        />
     <meta-data
DEX
STRINGS:

   old   │ new   │ diff                  
  ───────┼───────┼───────────────────────
   54804 │ 44320 │ -10484 (+7544 -18028) 
  
  + 	at __compose.m_
  + 
              |Failed to execute op number 
  + 
  There was 1 root cause:
  + 
  |
  +  (length: 
  +  INVISIBLE in onStart
  +  but has possible resolution
  +  byteCount: 
  +  bytes.
  +  in onStart
  +  is already controlled by 
  +  is null or empty
  +  isAttached=
  +  modifier=
  +  requestPageIndex
  +  root causes:
  +  searchUriIncluded
  +  tail=
  +  to container in onStart
  +  to the disk cache failed, maybe the disk cache is disabled? Trying to decode the data directly...
  +  view 
  + __compose
  + %02x
  + ' in argument savedState. 
  + ' is already added to dispatcher 
  + ' is already registered with a dispatcher
  + ', bounds = '
  + (_|(\?(.)*)|(#(.)*))
  + (SourceFile:1)
  
  + (TT;)TU;
  + (TT;)V
  + (TT;)Z
  + ([\s\S]+?)?
  + (\?|#|_)
  + , calculated CRC value: 
  + , columnCount=
  + , compositeKey=
  + , direction=-1)
  + , emojiSupportMatch=
  + , frameTimeMillis=
  + , inputOffset=null, regionCode=null, pureServiceAreaBusinessesIncluded=false, cancellationToken=
  + , length: 
  + , locationBias=null, locationRestriction=null, origin=null, countries=
  + , mSystemFont: 
  + , mVariationSettings: 
  + , mergedHistory=
  + , regionCode=null}
  + , rotation 
  + , sessionToken=null, cancellationToken=
  + , sourceInfo=
  + , status code: 
  + , tagType: 
  + , tagValue: '
  + , veil=null, hold=
  + , width: 
  + ,mode=
  + ,p:null]
  + . Falling back to provider font.
  + .+_cheets|cheets_.+
  + 0��È0��° �������¢fú§p�xb±
  + 0��È0��° �������¢fú§p�xb±�··RìMV¿yÙ0
  �	*�H�÷
  ����

@emerge-tools
Copy link

emerge-tools bot commented Feb 23, 2026

2 builds increased size, 1 build decreased size

Name Version Download Change Install Change Approval
Stripe Identity Example
com.stripe.android.identity.example.theme1
22.8.1-theme1 (20) 4.4 MB ⬆️ 50.5 kB (1.16%) 10.2 MB ⬆️ 65.1 kB (0.65%) N/A
Financial Connections Example
com.stripe.android.financialconnections.example
22.8.1 (220801) 4.8 MB ⬆️ 40.1 kB (0.85%) 10.5 MB ⬆️ 37.3 kB (0.35%) N/A
PaymentSheet Example
com.stripe.android.paymentsheet.example
22.8.1 (11) 6.0 MB ⬇️ 831.3 kB (-12.18%) 13.5 MB ⬇️ 2.4 MB (-15.3%) N/A

Stripe Identity Example 22.8.1-theme1 (20)
com.stripe.android.identity.example.theme1

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 65.1 kB (0.65%)
Total download size change: ⬆️ 50.5 kB (1.16%)

Largest size changes

Item Install Size Change Download Size Change
androidx.compose.material.ComposableSingletons$AppBarKt ⬆️ 27.1 kB ⬆️ 13.1 kB
kotlin.collections.CollectionsKt__IterablesKt ⬇️ -24.7 kB ⬇️ -11.9 kB
🗑 androidx.compose.ui.focus.FocusInteropUtils ⬇️ -21.4 kB ⬇️ -10.3 kB
androidx.compose.ui.focus.FocusChangedModifierKt ⬆️ 19.3 kB ⬆️ 9.3 kB
androidx.compose.ui.input.key.KeyEvent_androidKt ⬇️ -19.1 kB ⬇️ -9.2 kB
View Treemap

Image of diff

Financial Connections Example 22.8.1 (220801)
com.stripe.android.financialconnections.example

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 37.3 kB (0.35%)
Total download size change: ⬆️ 40.1 kB (0.85%)

Largest size changes

Item Install Size Change Download Size Change
androidx.compose.ui.input.key.KeyEvent_androidKt ⬇️ -44.8 kB ⬇️ -21.1 kB
androidx.compose.material.ComposableSingletons$AppBarKt ⬆️ 32.7 kB ⬆️ 15.5 kB
📝 kotlin.TuplesKt ⬆️ 27.9 kB ⬆️ 13.2 kB
kotlin.collections.SetsKt ⬆️ 25.8 kB ⬆️ 12.2 kB
🗑 com.stripe.android.model.parsers.PaymentMethodJsonParser$USBankAc... ⬇️ -23.4 kB ⬇️ -11.1 kB
View Treemap

Image of diff

PaymentSheet Example 22.8.1 (11)
com.stripe.android.paymentsheet.example

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 2.4 MB (-15.3%)
Total download size change: ⬇️ 831.3 kB (-12.18%)

Largest size changes

Item Install Size Change Download Size Change
🗑 layout-v22 ⬇️ -19.6 kB ⬇️ -19.6 kB
kotlin.math.MathKt ⬆️ 41.8 kB ⬆️ 19.6 kB
🗑 com.google.android.libraries.places.internal.zzbew ⬇️ -35.8 kB ⬇️ -16.1 kB
com.google.gson.JsonElement ⬆️ 32.5 kB ⬆️ 15.2 kB
androidx.fragment.app.FragmentManagerImpl ⬆️ 31.5 kB ⬆️ 14.8 kB
View Treemap

Image of diff


🛸 Powered by Emerge Tools

Comment trigger: Size diff threshold of 100.00kB exceeded

@jaynewstrom-stripe jaynewstrom-stripe force-pushed the jaynewstrom/update-compose branch 3 times, most recently from 6c78ddb to 59d74e7 Compare February 24, 2026 00:53
@jaynewstrom-stripe jaynewstrom-stripe force-pushed the jaynewstrom/update-compose branch from 59d74e7 to ddf4047 Compare February 24, 2026 14:50
Copy link
Collaborator Author

@jaynewstrom-stripe jaynewstrom-stripe Feb 24, 2026

Choose a reason for hiding this comment

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

I spent ~2 hours trying to fix this. This PR doesn't introduce this bug, it just demonstrates it in compose 1.10. I'll file a PQ ticket with the link team to address it.

Merchants would see this if they're using compose 1.10 regardless of what we do.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I was able to get the sizing to be better with some manual scaling stuff, but the alignment was consistently a problem. So my hunch is there's some bug in compose somewhere.

I tried the latest alpha, but the bug still existed there too.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@jaynewstrom-stripe jaynewstrom-stripe added the dependencies Pull requests that update a dependency file label Feb 24, 2026
@jaynewstrom-stripe jaynewstrom-stripe marked this pull request as ready for review February 24, 2026 16:03
@jaynewstrom-stripe jaynewstrom-stripe requested review from a team as code owners February 24, 2026 16:03
@jaynewstrom-stripe jaynewstrom-stripe merged commit d77ee46 into master Feb 24, 2026
22 checks passed
@jaynewstrom-stripe jaynewstrom-stripe deleted the jaynewstrom/update-compose branch February 24, 2026 17:31
@lng-stripe lng-stripe mentioned this pull request Mar 6, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants