Lately BleachBit has followed a two-week release cycle. Behind that is a software development cycle that looks like this:
- Prioritize and choose features, enhancements, and bug fixes. Some of this is managed in Launchpad's nice bug tracker. Bug fixes and applications that many people use (for example, Firefox) are given high priority.
- Research the requirements for the changes. For example, where does Opera store its cookies? What is required to effectively wipe free disk space? How is Fedora 11 different than Ubuntu 9.04? Windows XP different than Vista?
- Code the changes and any new unit tests.
- Upload the translation template to Launchpad.
- Download new translations from Launchpad.
- Test the new features on a few platforms. My home machine runs Fedora 11, and I have VirtualBox virtual machines for other platforms such as the popular Ubuntu 9.04.
- Run the unit tests on a few platforms.
- Upload the code to openSUSE Build Service, which builds .rpm and .deb files for many platforms.
- Build the Windows installation package.
- Compile the release notes.
- Upload the installation packages and source code files (over 20 files) to the SourceForge File Release System.
- Publish the release notes.
- Update the BleachBit update notification system.
- Update the features page.
- Update the screenshots page.
- Notify Freshmeat [no longer exists as of 2026], GnomeFiles [no longer exists as of 2026], the PAD file [no longer exists as of 2026], etc.
- Take a break.
- Look for feedback in the forums, web site analytics, blogosphere, bug tracker, etc.
All this is a lot of work and encouraging me to adopt a longer release cycle.