wordpress-mobile / AztecEditor-Android

A reusable native Android rich text editor component.
Mozilla Public License 2.0
675 stars 112 forks source link

Min SDK is 24, frontpage says min SDK is 16 #1029

Closed mikedawson closed 1 year ago

mikedawson commented 1 year ago

Expected

Aztec editor supports SDK16 as per front page.

Observed

minSdkVersion is set to 24 in Aztec's root build.gradle file. This caused a compilation issue working on a project with SDK21 support

Reproduced

  1. Add dependency to any project where the MinSDK is less than 24.

Tested

N/A - this is a compilation / versioning issue.

Does the min SDK have to be 24? Most official Jetpack libraries support SDK21+. If it does have to be 24, it would be good to update this on the front page.

ParaskP7 commented 1 year ago

👋 @mikedawson !

Thank you so much for opening this issue and for pin-pointing this outdated information on our README.md documentation. 🥇

I went ahead and created this PR to remove this information as it has been outdated for years now and it has the ability to become outdated with every year passing by.

Does the min SDK have to be 24?

The Android team(s) at Automattic is usually trying to keep the minSdkVersion updated to that version that makes more sense in terms of maintainability. As such, when the general distribution of a specific API falls at about 5% and below (see screenshot), we then start considering updating the minSdkVersion for all our libraries/apps in order to make it easier for us to maintain our repos going forward.

I hope that makes sense. 🙏

image

Most official Jetpack libraries support SDK21+.

You are right about that, but Jetpack libraries apply to all Android users, are maintained by Google itself, are highly maintainable and plus, they are backwards compatible. It seems that Google's threshold on the general distribution of a specific API, and thus its users, is at about 1% or less, that is, before them deciding to dropping support.

I think this makes sense for Google as they want to support all, or at least almost all, Android libraries and apps. In our case, we can't be as strict. If we were as such, this would have meant additional maintainability efforts on our side, which might add a side-effect, us not being able to move as fast as we would like both, in terms of other library updates and new feature development.

I hope that makes sense. 🙏

mikedawson commented 1 year ago

Hi @ParaskP7 - many thanks for the quick update! Much appreciated. I understand the need for the min sdk policy. I'm only a grateful user of Aztec, so I'm not familiar with the compatibility issues that would be created by using a lower sdk.

I have to maintain a min SDK 21 because our users are mostly in low income settings, but I can limit parts of the app with HTML editing (e.g. where we use Aztec) accordingly. Even in low income settings, the vast majority of devices will be SDK 24 and higher.

ParaskP7 commented 1 year ago

Many thanks for your note on the minSdkVersion inconsistency of ours @mikedawson , this was greatly appreciated from our side too! 💯

I have to maintain a min SDK 21 because our users are mostly in low income settings, but I can limit parts of the app with HTML editing (e.g. where we use Aztec) accordingly.

It would be great if you could do that. 🥇

Even in low income settings, the vast majority of devices will be SDK 24 and higher.

I would hope so, it's been about 7 years since SDK 24 appeared out there, it would be a shame, and to be honest, a security concern if users are still using SDK 21 which doesn't even have runtime permissions, introduced in SDK 23. 🤞