What changes or code evolution break backward compatibility (mainly binary compatibility)? Is it fully specified anywhere?
I checked the Scala language specification, b
I've added support for Scala to the japi-compliance-checker tool (1.6 version). So now you can identify breaking changes in your code automatically. The tool is available here: https://github.com/lvc/japi-compliance-checker
Sample usage:
japi-compliance-checker OLD.jar NEW.jar
Also I've created a page with analysis reports for Scala versions evolution generated by this tool as an example: http://abi-laboratory.pro/java/tracker/timeline/scala/