nats-io / nats.java

Java client for NATS
Apache License 2.0
569 stars 154 forks source link

keeping compatibility with Android apps using Android API older than API 26 #1120

Closed pwittchen closed 6 months ago

pwittchen commented 6 months ago

…, Oreo (Android 8.0) by adding internal implementation of the Base64 class named as Base64Utils to distinguish it from the native Java API, resolves issue #1044

scottf commented 6 months ago

A couple things in general for work on this open source repo.

  1. We cannot use the Base64Utils because of it's copyright and lack of an open source friendly license.
  2. We cannot change the signature of any public method since this would be a breaking change and require a major version update.

Regarding a client that is compatible with Android 24 or 26... We are currently in the processes of building a conversion tool that will pull the latest version of the client from git and replace all instances of non-compatible code. This includes having replacements for several things including Base64, Duration, CompletableFuture, etc. This is currently being done for a paying customer and it has not been determined how this will be publicly available. At a minimum, we need to find replacements that are licensed in a way that it is acceptable to use in the form we release the project.