How do the version numbers of release relate to stability of the API. I guess I really mean public methods on public classes, for example if I write code against 1.1.0, should I expect it to compile and work as expected against 1.2.0? or 2.0 when it comes? Is there a deprecation policy, how long (generally speaking) would a method or class be marked deprecated before it is removed? Do you record a list of changes to public classes & methods in the release notes, between major or minor versions?