Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.java > #8955 > unrolled thread

API changes tracker for Java libraries

Started byPonomarenko Andrey <andrewponomarenko@yandex.ru>
First post2016-03-26 16:30 +0100
Last post2016-04-06 17:00 +0200
Articles 12 — 4 participants

Back to article view | Back to linux.debian.maint.java


Contents

  API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-03-26 16:30 +0100
    Re: API changes tracker for Java libraries Emmanuel Bourg <ebourg@apache.org> - 2016-03-26 16:50 +0100
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-03-26 17:10 +0100
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-03-29 18:50 +0200
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-04-01 20:10 +0200
        Re: API changes tracker for Java libraries Emmanuel Bourg <ebourg@apache.org> - 2016-04-01 22:00 +0200
          Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-04-02 18:40 +0200
    Re: API changes tracker for Java libraries Sebastiaan Couwenberg <sebastic@xs4all.nl> - 2016-03-27 00:20 +0100
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-03-30 12:50 +0200
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-04-05 23:20 +0200
    Re: API changes tracker for Java libraries Paul Wise <pabs@debian.org> - 2016-04-03 09:00 +0200
      Re: API changes tracker for Java libraries Ponomarenko Andrey <andrewponomarenko@yandex.ru> - 2016-04-06 17:00 +0200

#8955 — API changes tracker for Java libraries

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-03-26 16:30 +0100
SubjectAPI changes tracker for Java libraries
Message-ID<rgYk2-2G4-3@gated-at.bofh.it>
Hello,

I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/

As the first step I've prepared reports for a random set of libraries: Android, Berkeley DB JE, Commons Collections, Hadoop, log4j and SLF4J.

The reports are generated by the new 1.5 version of the japi-compliance-checker tool. It's a big and useful update and it's highly recommended to update the tool if you are using it in your project: https://github.com/lvc/japi-compliance-checker

I'd like to ask the community what other libraries would you like to see in the tracker?

Thanks for your feedback.

BTW: The old tracker reports are still hosted by the ROSA Linux team but not updated anymore: http://upstream.rosalinux.ru/java/

[toc] | [next] | [standalone]


#8956

FromEmmanuel Bourg <ebourg@apache.org>
Date2016-03-26 16:50 +0100
Message-ID<rgYDo-2MQ-7@gated-at.bofh.it>
In reply to#8955
Hi Andrey,

Le 26/03/2016 16:15, Ponomarenko Andrey a écrit :

> I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/
> 
> As the first step I've prepared reports for a random set of libraries: Android, Berkeley DB JE, Commons Collections, Hadoop, log4j and SLF4J.
> 
> The reports are generated by the new 1.5 version of the japi-compliance-checker tool. It's a big and useful update and it's highly recommended to update the tool if you are using it in your project: https://github.com/lvc/japi-compliance-checker
> 
> I'd like to ask the community what other libraries would you like to see in the tracker?

Thank you for japi-compliance-checker, I often use it to check the
compatibility when upgrading sensitive libraries. The Apache Commons
libraries aren't very interesting to track because they almost never
break the compatibility by policy (note that you should split
commons-collections and commons-collections4, these are two distinct
APIs that can coexist in the same classpath). Some libraries I'd like to
see in the tracker are BouncyCastle, ASM, CGLIB, Guava, Jetty, ICU4J, JNA.

If I may suggest an improvement to the tool, it would be to compare two
jars specified by their Maven coordinates. Something like this:

   japi-compliance-checker org.apache.commons:commons-io 2.4 2.6

That would be a huge time saver.

Thank you,

Emmanuel Bourg

[toc] | [prev] | [next] | [standalone]


#8957

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-03-26 17:10 +0100
Message-ID<rgYWJ-39R-3@gated-at.bofh.it>
In reply to#8956
26.03.2016, 18:45, "Emmanuel Bourg":
> Hi Andrey,
>
> Le 26/03/2016 16:15, Ponomarenko Andrey a écrit :
>
>>  I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/
>>
>>  As the first step I've prepared reports for a random set of libraries: Android, Berkeley DB JE, Commons Collections, Hadoop, log4j and SLF4J.
>>
>>  The reports are generated by the new 1.5 version of the japi-compliance-checker tool. It's a big and useful update and it's highly recommended to update the tool if you are using it in your project: https://github.com/lvc/japi-compliance-checker
>>
>>  I'd like to ask the community what other libraries would you like to see in the tracker?
>
> Thank you for japi-compliance-checker, I often use it to check the
> compatibility when upgrading sensitive libraries. The Apache Commons
> libraries aren't very interesting to track because they almost never
> break the compatibility by policy (note that you should split
> commons-collections and commons-collections4, these are two distinct
> APIs that can coexist in the same classpath). Some libraries I'd like to
> see in the tracker are BouncyCastle, ASM, CGLIB, Guava, Jetty, ICU4J, JNA.
>
> If I may suggest an improvement to the tool, it would be to compare two
> jars specified by their Maven coordinates. Something like this:
>
>    japi-compliance-checker org.apache.commons:commons-io 2.4 2.6
>
> That would be a huge time saver.

Great idea!

Thank you.

[toc] | [prev] | [next] | [standalone]


#8966

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-03-29 18:50 +0200
Message-ID<ri507-wp-25@gated-at.bofh.it>
In reply to#8956
26.03.2016, 18:45, "Emmanuel Bourg":
> Hi Andrey,
>
> Le 26/03/2016 16:15, Ponomarenko Andrey a écrit :
>
>>  I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/
>>
>>  As the first step I've prepared reports for a random set of libraries: Android, Berkeley DB JE, Commons Collections, Hadoop, log4j and SLF4J.
>>
>>  The reports are generated by the new 1.5 version of the japi-compliance-checker tool. It's a big and useful update and it's highly recommended to update the tool if you are using it in your project: https://github.com/lvc/japi-compliance-checker
>>
>>  I'd like to ask the community what other libraries would you like to see in the tracker?
>
> Thank you for japi-compliance-checker, I often use it to check the
> compatibility when upgrading sensitive libraries. The Apache Commons
> libraries aren't very interesting to track because they almost never
> break the compatibility by policy (note that you should split
> commons-collections and commons-collections4, these are two distinct
> APIs that can coexist in the same classpath). Some libraries I'd like to
> see in the tracker are BouncyCastle, ASM, CGLIB, Guava, Jetty, ICU4J, JNA.
>

Added report for ASM library: http://abi-laboratory.pro/java/tracker/timeline/asm/

I need some time to add others. Seems that there are a lot of critical issues in the basic japi-compliance-checker tool that should be fixed first (performance, RAM usage, size of the report for big sets of changes, separating the code into modules, etc.).

Thank you.

[toc] | [prev] | [next] | [standalone]


#8976

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-04-01 20:10 +0200
Message-ID<rjbGb-8dp-13@gated-at.bofh.it>
In reply to#8956
26.03.2016, 18:45, "Emmanuel Bourg":
>  Hi Andrey,
>
>  Le 26/03/2016 16:15, Ponomarenko Andrey a écrit :
>
>>   I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/
>>
>>   As the first step I've prepared reports for a random set of libraries: Android, Berkeley DB JE, Commons Collections, Hadoop, log4j and SLF4J.
>>
>>   The reports are generated by the new 1.5 version of the japi-compliance-checker tool. It's a big and useful update and it's highly recommended to update the tool if you are using it in your project: https://github.com/lvc/japi-compliance-checker
>>
>>   I'd like to ask the community what other libraries would you like to see in the tracker?
>
>  Thank you for japi-compliance-checker, I often use it to check the
>  compatibility when upgrading sensitive libraries. The Apache Commons
>  libraries aren't very interesting to track because they almost never
>  break the compatibility by policy (note that you should split
>  commons-collections and commons-collections4, these are two distinct
>  APIs that can coexist in the same classpath). Some libraries I'd like to
>  see in the tracker are BouncyCastle, ASM, CGLIB, Guava, Jetty, ICU4J, JNA.

Done:

http://abi-laboratory.pro/java/tracker/timeline/bouncycastle/
http://abi-laboratory.pro/java/tracker/timeline/asm/
http://abi-laboratory.pro/java/tracker/timeline/cglib/
http://abi-laboratory.pro/java/tracker/timeline/guava/
http://abi-laboratory.pro/java/tracker/timeline/jetty/
http://abi-laboratory.pro/java/tracker/timeline/icu4j/
http://abi-laboratory.pro/java/tracker/timeline/jna/

Feel free to add more libraries to the tracker.

Thank you.

[toc] | [prev] | [next] | [standalone]


#8977

FromEmmanuel Bourg <ebourg@apache.org>
Date2016-04-01 22:00 +0200
Message-ID<rjdoD-Hb-31@gated-at.bofh.it>
In reply to#8976
Le 1/04/2016 19:56, Ponomarenko Andrey a écrit :

> Done:
> 
> http://abi-laboratory.pro/java/tracker/timeline/bouncycastle/
> http://abi-laboratory.pro/java/tracker/timeline/asm/
> http://abi-laboratory.pro/java/tracker/timeline/cglib/
> http://abi-laboratory.pro/java/tracker/timeline/guava/
> http://abi-laboratory.pro/java/tracker/timeline/jetty/
> http://abi-laboratory.pro/java/tracker/timeline/icu4j/
> http://abi-laboratory.pro/java/tracker/timeline/jna/
> 
> Feel free to add more libraries to the tracker.

Thank you!

I noticed a false positive on the report for commons-collections 4.1 vs 4.0:

http://abi-laboratory.pro/java/tracker/compat_report/commons-collections/4.0/4.1/662d3/bin_compat_report.html#Removed

The removal of the equals() and hashCode() methods is erroneously
reported as an incompatible change. If the removed method exists in a
super class it shouldn't be reported I think.

Emmanuel Bourg

[toc] | [prev] | [next] | [standalone]


#8978

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-04-02 18:40 +0200
Message-ID<rjwKC-6wn-21@gated-at.bofh.it>
In reply to#8977
01.04.2016, 22:55, "Emmanuel Bourg":
> Le 1/04/2016 19:56, Ponomarenko Andrey a écrit :
>
>>  Done:
>>
>>  http://abi-laboratory.pro/java/tracker/timeline/bouncycastle/
>>  http://abi-laboratory.pro/java/tracker/timeline/asm/
>>  http://abi-laboratory.pro/java/tracker/timeline/cglib/
>>  http://abi-laboratory.pro/java/tracker/timeline/guava/
>>  http://abi-laboratory.pro/java/tracker/timeline/jetty/
>>  http://abi-laboratory.pro/java/tracker/timeline/icu4j/
>>  http://abi-laboratory.pro/java/tracker/timeline/jna/
>>
>>  Feel free to add more libraries to the tracker.
>
> Thank you!
>
> I noticed a false positive on the report for commons-collections 4.1 vs 4.0:
>
> http://abi-laboratory.pro/java/tracker/compat_report/commons-collections/4.0/4.1/662d3/bin_compat_report.html#Removed
>
> The removal of the equals() and hashCode() methods is erroneously
> reported as an incompatible change. If the removed method exists in a
> super class it shouldn't be reported I think.

Hi,

Thanks for reporting this! Usually the tool reports such changes as "the method has been moved up type hierarchy to ...", but it failed in this case due to the lack of information about the java.lang.Object class in the analyzed archive. I've fixed the issue and regenerated reports for commons-collections.

Thank you.

[toc] | [prev] | [next] | [standalone]


#8959

FromSebastiaan Couwenberg <sebastic@xs4all.nl>
Date2016-03-27 00:20 +0100
Message-ID<rh5ER-7Zn-3@gated-at.bofh.it>
In reply to#8955
On 03/26/2016 04:15 PM, Ponomarenko Andrey wrote:
> I'd like to ask the community what other libraries would you like to see in the tracker?

Thanks for the very useful service. I'd like to suggest the important
geospatial Java libraries: JTS [0], GeoTools [1] & Spatial4j [2].

[0] https://sourceforge.net/projects/jts-topo-suite/
[1] http://docs.geotools.org/
[2] https://www.locationtech.org/projects/technology.spatial4j

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1

[toc] | [prev] | [next] | [standalone]


#8970

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-03-30 12:50 +0200
Message-ID<rilRg-40o-9@gated-at.bofh.it>
In reply to#8959
27.03.2016, 02:15, "Sebastiaan Couwenberg":
> On 03/26/2016 04:15 PM, Ponomarenko Andrey wrote:
>>  I'd like to ask the community what other libraries would you like to see in the tracker?
>
> Thanks for the very useful service. I'd like to suggest the important
> geospatial Java libraries: JTS [0], GeoTools [1] & Spatial4j [2].
>

Added JTS: http://abi-laboratory.pro/java/tracker/timeline/jts/

Other libraries will be added during the week or so. Also I'll release complete source code of the tracker soon after fixing some critical issues (actually it's a fork of the https://github.com/lvc/abi-tracker project) and anybody will be able to run it locally for any library and share reports to others.

Thank you.

[toc] | [prev] | [next] | [standalone]


#8995

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-04-05 23:20 +0200
Message-ID<rkGyf-1F1-29@gated-at.bofh.it>
In reply to#8959
27.03.2016, 02:15, "Sebastiaan Couwenberg":
> On 03/26/2016 04:15 PM, Ponomarenko Andrey wrote:
>>  I'd like to ask the community what other libraries would you like to see in the tracker?
>
> Thanks for the very useful service. I'd like to suggest the important
> geospatial Java libraries: JTS [0], GeoTools [1] & Spatial4j [2].
>
> [0] https://sourceforge.net/projects/jts-topo-suite/
> [1] http://docs.geotools.org/
> [2] https://www.locationtech.org/projects/technology.spatial4j
>

Done:

http://abi-laboratory.pro/java/tracker/timeline/jts/
http://abi-laboratory.pro/java/tracker/timeline/geotools/
http://abi-laboratory.pro/java/tracker/timeline/spatial4j/

Feel free to add more libraries.

Thank you.

[toc] | [prev] | [next] | [standalone]


#8980

FromPaul Wise <pabs@debian.org>
Date2016-04-03 09:00 +0200
Message-ID<rjKaR-7Yp-3@gated-at.bofh.it>
In reply to#8955
On Sat, Mar 26, 2016 at 11:15 PM, Ponomarenko Andrey wrote:

> I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/

Is this based on Debian binary packages or upstream?

I wonder if we need a japi.debian.net service providing this for all packages.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

[toc] | [prev] | [next] | [standalone]


#9000

FromPonomarenko Andrey <andrewponomarenko@yandex.ru>
Date2016-04-06 17:00 +0200
Message-ID<rkX62-5pE-11@gated-at.bofh.it>
In reply to#8980
03.04.2016, 09:56, "Paul Wise":
> On Sat, Mar 26, 2016 at 11:15 PM, Ponomarenko Andrey wrote:
>
>>  I've just opened the new API changes tracker for Java libraries: http://abi-laboratory.pro/java/tracker/
>
> Is this based on Debian binary packages or upstream?
>
> I wonder if we need a japi.debian.net service providing this for all packages.
>

Hello Paul,

The tool checks upstream packages, e.g. it checks for new packages on the page http://www.slf4j.org/dist/ when creating report for slf4j: http://abi-laboratory.pro/java/tracker/timeline/slf4j/

It's not a problem to target the tool on any other directory with java archives or zip/tar packages with java archives.

Thank you.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.java


csiph-web