The version number scheme is simple and will remain the same. major.minor.patch
Major releases changes break everything... 1 -> 2 changed how everything worked internally and that broke a lot of code that poked around inside the internals of things. Minor releases happen when API changes are made, features or added or depreciated, or a function call has its interface changed in such a way that it presents a compatability problem Patch releases happen when a bug is fixed, but the API is the same. These numbers do not track the upstream SDL version numbers for the simple reason that they have nothing to do with eachother. If we produce 30 patch releases and get 2.2.30 out the door, then so be it. Similarly every time we add a new module or add an api, the minor number should be increased by 1. This is a tried and true and well established practice. It is not going to change because doing so defeats the purpose of version numbers... to tell you when something is sufficiently different. Dave