Generate source and binary compatibility report

Check compatibility, so you can update your libraries without worrying about breaking the app

App screenshot

Generate Report

Ex: com.squareup.okhttp3:okhttp:4.12.0

Ex: com.squareup.okhttp3:okhttp:4.11.0

Report Configuration

Outputs only modified classes/methods.

Outputs only classes/methods that are binary incompatible. If not given, all classes and methods are printed.

Library not hosted on Maven? You can generate report by
uploading files

Frequently asked questions

What is source and binary compatibility? Why should I care?

Good question! Instead of explaining it here in few words let me redirect you to couple of excellent blog posts written on this subject. Post #1 and Post #2

How does it work?

Behind the scenes it uses japicmp to generate the compatiblity report. If you want, you can use japicmp cli to generate it. However, the purpose of this small app is to avoid hassle of doing all the grunt work to generate the report. So, you can focus on the main task which is checking source and binary compatibility between two library versions

Who should use this tool?

If you use third-party java or android dependencies in your source code, you can use this tool to check source and binary compatibility between the two library versions before upgrading.
If you're library author, you can integrate tools like Metalava or Japicmp Gradle plugin in your CI workflow to make sure you don't introduce unintended incompatiblities in your library

© 2024 Punit Dama. All rights reserved.