Thursday, February 26, 2026

The development cycle

Lately BleachBit has followed a two-week release cycle. Behind that is a software development cycle that looks like this:

  1. 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.
  2. 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?
  3. Code the changes and any new unit tests.
  4. Upload the translation template to Launchpad.
  5. Download new translations from Launchpad.
  6. 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.
  7. Run the unit tests on a few platforms.
  8. Upload the code to openSUSE Build Service, which builds .rpm and .deb files for many platforms.
  9. Build the Windows installation package.
  10. Compile the release notes.
  11. Upload the installation packages and source code files (over 20 files) to the SourceForge File Release System.
  12. Publish the release notes.
  13. Update the BleachBit update notification system.
  14. Update the features page.
  15. Update the screenshots page.
  16. 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.
  17. Take a break.
  18. 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.

Wiping inode (file name) information

When a file is deleted using a standard method, the contents are preserved and even the filename may be recovered. This is definitely true for ext3 (the file system on most Linux systems) and NTFS (Microsoft Windows) and probably true for other most file systems.

Even BleachBit securely shreds a file, its contents are destroyed behind recovery (as much as is feasible). Nevertheless, the filename may still be recovered.

To enhance the free disk space wiping feature in BleachBit 0.6.1, BleachBit 0.6.2 includes a method for wiping the filenames by overwriting the metadata. In Linux, these are unallocated inodes, and in Windows, these are free Master file table (MFT) entries. They are the same thing.

Not taking this privacy feature for granted, it must be tested.

[z@a bleachbit]$ sudo ./test_wipe.sh umount: /tmp/100mb.ext3: not mounted umount: /tmp/100mb: not mounted 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.88821 s, 118 MB/s now you see it secret1 secret1 info: starting BleachBit version 0.6.2 debug: wipe_path('/tmp/100mb/') debug: wrote 1021 files and 95354880 bytes now you don't

Friday, August 28, 2009

BleachBit 0.6.3 released

BleachBit 0.6.3 hides metadata of previously-deleted files, deletes Windows log files, fixes bugs, and updates 16 translations.

UPDATE

September 16: BleachBit 0.6.4 has been released.

Changes

The following changes are included since 0.6.1:

  • More thoroughly wipe free disk space. BleachBit now tries to wipe inodes on Linux and the NTFS MFT (Master File Table) on Windows to hide metadata of deleted files. The metadata includes details such as the filename, file size, and modification date. Initial testing shows this is effective on ext3 (the most common Linux filesystem), ext4, and Microsoft's NTFS.
  • In case of certain errors deleting a file or directory, BleachBit will no longer skip other files that can be deleted.
  • Specific to Windows
    • Delete Windows system log files.
    • Delete Microsoft Office 2007 diagnostic log files.
    • Don't stop deleting when a directory cannot be removed because it is not empty.
    • Include better links in Control Panel's Add/Remove Programs.

Translations

Attention translators: Please read the news on the translations page regarding upcoming changes.

  • Update Arabic thanks to Nizar Kerkeni and MaXeR.
  • Update Brazilian Portuguese thanks to Sidney Ribeiro Júnior.
  • Update Catalan thanks to Oriol Gonzalez.
  • Update Croatian thanks to Miro Glavić.
  • Update Czech thanks to Roman Horník.
  • Update Dutch thanks to Rob.
  • Update French thanks to Jean-Luc Aufranc and S. Matrunchyk aka SkyMan.
  • Update German thanks to MixCool.
  • Update Hebrew thanks to Yaron.
  • Update Hungarian thanks to Gergely Szarka.
  • Update Italian thanks to Luca Falavigna.
  • Update Portuguese thanks to Carlos Geadas.
  • Update Russian thanks to S. Matrunchyk aka SkyMan.
  • Update Spanish thanks to juancarlospaco and Pablo Ponce.
  • Update Thai thanks to shane.fox.
  • Update Ukranian thanks to S. Matrunchyk aka SkyMan.

Want to help translate BleachBit? It's easy.

Screenshots

BleachBit 0.6.3 in Korean:

BleachBit on Ubuntu in Korean showing Firefox

Web site changes

I am testing a new content management system at bleachbit.sourceforge.net. If notice errors or slowness on the web site, please let me know.

The new web new site has a nice forum system. Anonymous posting is allowed, but user registration does not work yet (the email cannot be delivered) but user registration is encouraged.

Download

Download BleachBit now. Installation packages are ready for 20 platforms including CentOS, Debian, Fedora, Mandriva, openSUSE, Red Hat, Ubuntu, and Windows.