Did you attend ScalaSphere 2018 in Poland? There was so many great talks to hear from including this one from Sébastien Doeraene on 'Designing libraries for source and binary compatibility', catch up on it here!
We have all experienced at least once the dismay of trying to use two libraries, only to discover that they are not binary compatible with each other. The good news is: we can avoid this kind of situation, if we correctly design our libraries and their APIs so that we can *evolve* them later in binary compatible ways.
In this talk, we will first explain what source and binary compatibility are, why they matter, and when. Then, we will give practical advice on designing APIs that can be evolved in backward compatible ways, as well as recommendations for versioning libraries.