Are there any backward compatibility guidelines for scala?

For example, it is fairly well known in Java that adding a method to an interface is backward compatible as long as the signatures are not removed. It's the same with adding fields / methods to objects, unless the constructors have changed.

I am having a hard time knowing what are the recommendations in scala? Is adding your own type back? Is adding a new optional field to the case class with the default back? I am using MIMA to check for binary compatibility, but it only checks for binary compatibility TRUE and not necessarily backward compatibility, so if someone is using V1.1 of the library but uses the code associated with V1 that the associated code will still play well.

+3


source to share





All Articles