OK, I didn't want to make an issue out of it, but here how the story goes. I had released three betas and an RC of 3.1. Nobody reported any grave issues with the RC for almost a month, so I proceeded to release 3.1 stable. Guess what? People started reporting bugs which they had found during the betas and RC but never reported, in the hopes that they would magically disappear. This made me have to fix them as soon as possible, because the version was released as stable. I had already branched out the code to start working on 3.2 when people started reporting bugs with Windows-based servers (which sadly account for 20% of the Internet). So, I had to fix them. In the process, another bug was triggered, which could potentially kill a suPHP-based site, something which regular testing failed to catch.
Now, I knew that the updater wasn't tested and the ZIP archiver was also not tested. I had two options: a. screw everybody using suPHP or b. release early, fixing this major issue, and run regular testing and bug fixing to get the ZIP archiver and the updater working. I chose the former, which I honestly think was the best approach. In fact, I had to stay awake for 24 hours in order to fix it and release the new version, but I didn't bother mentioning it.
The bottom line is that as long as people do not report bugs when the product is in alpha, beta or RC stage the stable releases won't be stable for all. An unreported bug can't be magically solved. I mean, even mega-corporations like Microsoft release products with bugs because nobody reported them during the CTP and beta periods. All I can do to counter that is to simply choose to add more testing rules in my usual testing procedures to catch failure cases discovered in past releases.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!