A while ago [Mid-summer of 2013], after roughly four months of development, version 1.0 was almost ready for release. I had even
posted about that in the SDL2 forums. The library passed through three release candidate releases, yet it was never actually released. Furthermore, even the tags for these versions are not there anymore, leaving everyone using the library dissapointed [all four of them :p].
So what happened???
Well, after three and a half months of development, I wanted to make a first release (v0.9) of the library, which would be done alongside the release of SDL2. The release of SDL2 was postponed, with many bug fixes every day [I tracked the development state before the stable SDL2 release closely]. For that reason, I decided to keep the release of SDLU as well.
Time went along without an SDL2 release, so I kept fixing bugs and adding useful features in the library, as well premature support for Visual Studio and Android [at that time I used the library solely on my development system, which was Linux]. Many things were changed, so I decided to call off v0.9 and go on with v1.0.
After a while, I made the very first RC available. The response was quite depressing, as the announcement did not get even one comment. Anyway, I kept fixing bugs while releasing RC 2 and 3.
In the meantime, I had a local dev branch where I put new features (preparing the library for a stable release I could not add them to the main development line). I was aiming to keep that branch local until all tests were deployed, so I could then merge it into master for the next release.
However, one day or two before the release, I was commiting some stuff at my local dev branch [which had gone over 30 commits away from master], when that exact split-second my Windows machine decided to reboot by itself. That led to a complete disaster, because git had written inside the repository a bad tree. I couldn't recover the repository state, AND I had kept no local nor remote back-up.
Thankfully, I didn't lose any work [all changes were there, since I was on the dev branch when the corruption happened]. For that reason, and due to the little response I got while in RC status, I decided to once again call off the release. I began the git repository from scratch, losing all tags and branches. Furthermore, I noticed quite a few bugs in the code that should not be in a stable release.
So, I left the messy and painful version 1.0 go away, and went head on to prepare an as good as possible 2.0 release. The current code has had
many API improvements, additions and bug fixes since that time, and after some things are added, I will hopefully go on to finally release it!
-- Aggelos Kolaitis