Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

History of API changes for JUnit #1489

Open
lvc opened this issue Nov 3, 2017 · 6 comments
Open

History of API changes for JUnit #1489

lvc opened this issue Nov 3, 2017 · 6 comments

Comments

@lvc
Copy link

lvc commented Nov 3, 2017

Hello,

I'd like to share report on API changes and backward compatibility for the JUnit library: https://abi-laboratory.pro/java/tracker/timeline/junit/

Report for JUnit5: https://abi-laboratory.pro/java/tracker/timeline/junit-jupiter-api/

BC — binary compatibility
SC — source compatibility

The report is generated according to the article https://wiki.eclipse.org/Evolving_Java-based_APIs_2 by the https://github.com/lvc/japi-tracker tool.

Hope it will be helpful for users and maintainers of the library.

Thank you.

junit-1

junit-2

@marcphilipp
Copy link
Member

Thanks for sharing, @lvc!

For JUnit 5 I was wondering if there is a way to customize what the tool considers public API. We have a custom @API annotation to mark public classes as internal, deprecated, maintained, stable etc. Is there a way to exclude internal code from the analysis?

@kcooney
Copy link
Member

kcooney commented Nov 4, 2017

That's fantastic @lvc

Any way to include the code in our master branch in the report? I would love to see what incompatible changes we would have between 4.12 and 4.13 if we released today.

@lvc
Copy link
Author

lvc commented Nov 5, 2017

@kcooney,

Any way to include the code in our master branch in the report? I would love to see what incompatible changes we would have between 4.12 and 4.13 if we released today

Done: https://abi-laboratory.pro/java/tracker/timeline/junit/

The snapshot is taken from: https://oss.sonatype.org/content/repositories/snapshots/junit/junit/

The report is updated daily. Please be careful when reading the report due to possible false positives.

Thank you.

junit-3

@lvc
Copy link
Author

lvc commented Nov 5, 2017

@marcphilipp,

Is there a way to exclude internal code from the analysis?

Need some time to teach https://github.com/lvc/japi-compliance-checker to distinguish annotation parameters before filtering by a parameter value...

Thank you.

@panchenko
Copy link
Contributor

It seems like the only breaking change is #1245

@kcooney
Copy link
Member

kcooney commented Nov 5, 2017

#1421 is also technically a breaking change (source incompatibility) but no one should call External Resource.after()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants