-
Notifications
You must be signed in to change notification settings - Fork 658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why does the sdk depend on RC versions of androidx artifacts? #3272
Comments
@calvarez-ov thanks for filing this issue. I'd like to apologize for the inconvenience that this release caused. We noted this dependency in our changelog, but there might be other ways of publicizing these changes. We don't have a stated policy about dependency version stability, but I agree that including an RC artifact introduces integration issues and should be avoided unless absolutely necessary. For now, I would recommend rolling back to Stripe SDK v16.1.1. |
Thanks for the response. Indeed, I missed this note in the changelog!
Actually I prefer to keep this open. It's concerning that new updates are being made to the stripe sdk, that we can't take advantage of, unless we accept to have dependencies on unstable androidx artifacts. |
One more note: It looks like If I force
Maybe that should go into the release notes as well? |
Also,
Another thing to mention in the release notes perhaps? |
This is not the first time Stripe Android is pulling in non-stable dependencies :/ Version 12.7.0 (more than 1 year ago) pulled in some alpha-versions of Material: #1966 Pulling in
Quite a few of these bring in breaking changes, as pointed out above. |
I see there's a new release of the stripe sdk, 16.2.1, which has one item which could be interesting:
The problem is that 16.2.1 still depends on unstable versions of androidx libraries. We would like to have the latest 3DS2 library, if it has important updates, without having to rely on unstable androidx artifacts. |
@calvarez-ov thanks for the feedback. I'm anticipating that a stable version will be released soon [0], which will allow you to upgrade. |
These dependencies have graduated to stable: #3367 |
Will we have a new release of Stripe, which will depend on the new stable versions of the androidx artifacts? |
@calvarez-ov yes, planning on doing a new release with the stable artifacts today. See changelog: #3371 |
I noticed in the release notes of activity 1.2.0 :
Will the new stripe release have a direct or transitive dependency on this alpha version of app compat? |
@calvarez-ov It sounds like that only applies if the SDK needs to "gain ViewTree support." |
Does stripe need viewtree support? |
@calvarez-ov no, we don't depend on ViewTree support. The latest Android SDK release will not be depending on any non-release Jetpack libraries. :) |
awesome, thanks! 🙇 |
16.3.0 has now been released: https://github.com/stripe/stripe-android/releases/tag/v16.3.0 |
Thanks for your feedback regarding the RC dependencies. |
Summary
The stripe sdk depends on unstable (release candidate) versions of some androidx artifacts. Looks like in commit 97c3ac3, for example, these versions were specified:
We prefer to stay on stable versions of libraries whenever possible.
I did try to force stable versions of these libraries with a
resolutionStrategy
in our project'sbuild.gradle
, and that resulted in crashes when opening the stripe UI for the card list. (java.lang.NoClassDefFoundError: Failed resolution of: androidx/activity/result/contract/ActivityResultContract;
)I don't have enough info right now to provide details of the crash.
For now:
1️⃣ I'd just like to know if there's a specific reason stripe depends on these rc versions.
2️⃣ I'd also like to request to depend on stable versions in the future, if possible.
Thanks!
SDK version
16.2.0
UPDATE: I may try to answer 1️⃣ "why" myself 😄 :
AddPaymentMethodContract.kt
usesActivityResultContract
which is only available in the1.2.0-rc1
version of theactivity
artifact.1.1.0
stable version ofactivity
, the stripe ui crashes because this class isn't available.The text was updated successfully, but these errors were encountered: