As I understand it the SDL version numbers are in the format major.minor.patch so the differences between 2.0.3 and 2.0.4 ought to be in the category of a ‘patch’ only. Based on that I was expecting to be able to pin down fairly easily what change is causing my Android app to fail in 2.0.4, and perhaps revert just that module to its 2.0.3 state.
But what I have been finding is that the differences are much more extensive than I expected. In particular there are dependencies which often prevent me reverting just one source module, because if I do that the whole thing fails to link, so without a thorough understanding of how the various components interact it is proving difficult to build ‘intermediate’ versions. Call me picky if you like, but that’s not what I understand to constitute a ‘patch’!
I appreciate how difficult it must be to update SDL with confidence that nothing has been broken, especially given the large number of supported platforms and configurations, but it is frustrating to be forced to use 2.0.3 when there are several features and bug-fixes in 2.0.4 that would be useful in my application. I would have been more wary of 2.0.4 had the version number better represented the extent of the changes.