Scala Backward Compatibility
What changes or code evolution break backward compatibility (mainly binary compatibility)? Is it fully specified anywhere?
I checked the Scala language specification, but didn't see any section on the matter like Java Language Specification Ch. 13 Binary Compatib开发者_如何学JAVAility.
According to the mailing list, the spec documenting detailing backward compatibility issues does not yet exist but is in the works.
For current status and oulook of binary compatibility (mainly of the scala library), see Martin's message to scala-user mailing list.
For a migration manager preview, see this page http://typesafe.com/technology/migration-manager.
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/
精彩评论