[ 
https://issues.apache.org/jira/browse/NET-729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17834083#comment-17834083
 ] 

Henrik Lindqvist commented on NET-729:
--------------------------------------

Thanks for the release log link, i must have missed that.

Sorry, i didn't know the "binary compatibility" mentioned on the migration page 
was explicitly referring to the specification definition. Running Java 8 code 
in an Java 7 JRE is of course not "binary compatible".

Android 7 was released in 2016, that's 8 years old not 14, and it's probably 
still supported by a majority of apps. It seems "binary compatibility" was 
broken in version 1.3.9, so any reverting would actually restore it.

My apologies, my intention was not to offend, but to highlight the importance 
of backwards compatibility. If the library no longer works on Android then it 
will sadly become irrelevant for such projects, and if that's because of some 
minor code changes, e.g. replacing java.util.Calendar with java.time.Instant, 
then that seems necessary.

If you were to revert those minor code changes, at least internally and restore 
the old public methods while also retrofitting the new ones, then the library 
could probably still be used on Android since it will only fail when missing 
classes are actually used.

> Undisclosed Java 8 requirement.
> -------------------------------
>
>                 Key: NET-729
>                 URL: https://issues.apache.org/jira/browse/NET-729
>             Project: Commons Net
>          Issue Type: Bug
>          Components: FTP
>    Affects Versions: 3.9.0, 3.10.0
>         Environment: Android 7 and lower
>            Reporter: Henrik Lindqvist
>            Priority: Minor
>             Fix For: 3.11.0
>
>
> Has for a decade been using this library in an Android app. Decided to update 
> from an older version to 3.10.0 mostly for the fixed security issue, but this 
> is sadly not possible due to version 3.9.0 now requires Java 8 which Android 
> lacks full support for, e.g. it's missing java.time.Duration. It's 
> unfortunate that such unnecessary changes are made, replacing working code 
> with new Java features just for the fun of it, since this will force projects 
> use another dependency making this library even more irrelevant. Please 
> revert the changes that use Java 8 features, or at least update the 
> documentation with a notice that version 3.9.0 is not binary compatible with 
> prior versions: [https://commons.apache.org/proper/commons-net/migration.html]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to