Menu

Summary of changes

Bogdan Drozdowski

2024-11-03
* WipeFreeSpace version 3.0
Wiping orders are introduced: by block and by pattern. Portability
updates - WipeFreeSpace now compiles on Solaris/SunOS and should
compile without patching on ArchLinux. Fixes in displaying the
wiping progress. Other important and small fixes. Utility functions
have been split into more files. Code quality updates. Updates in
the build system. Many new unit tests, for each filesystem backend
(current coverage: 38% with all filesystems enabled). Documentation
updates.

2022-09-01
* WipeFreeSpace version 2.6
Important portability updates: WipeFreeSpace now compiles also on
FreeBSD and macOS (as provided by Travis CI). Fixed a potential
compilation error. Enabled GCC advanced code analysis. Better
checking for types and functions. Progress bar for ext2/3/4 fixed.
Small code clean-up. Documentation updates. Other small updates.

2021-09-30
* WipeFreeSpace version 2.5
It is now possible to use the dedicated wiping tools for a given
filesystem type using the new command-line option '--use-dedicated'
(currently, only 'ntfswipe' is supported). Fixed yet another crash
in the TFFS library which provides FAT filesystem support (binary
releases of WipeFreeSpace will be linked against the fixed library,
users compiling manually need to apply a patch). The XFS backend
should no longer crash on environments where modifying constant
strings is disallowed. Other major and minor changes and
simplifications of the code. Compatibility improvements. Significant
changes in the TeXinfo documentation. New unit tests.

2021-08-18
* WipeFreeSpace version 2.3.1
This is a compatibility-improvement-only release. No new features
are added. Fixed compile errors on newer systems, fixed some memory
and flow errors found by cppcheck, Address Sanitizer and Valgrind.
Documentation updates.

2019-10-25
* WipeFreeSpace version 2.3
This is a major bugfix release. No new features are introduced.
Fixes in XFS, OCFS, FAT and Reiser4 filesystem support. Specifying
--last-zero now triggers flushing for better security. Compatibility
and portability improvements. Better error setting. Progress bar
fixes. Updated copyright and documentation. Other small fixes.

2018-01-14
* WipeFreeSpace version 2.2.2
HFS+ filesystem support fixes. Thanks goes to Gregory Grosse for
reporting the problems.

2017-09-17
* WipeFreeSpace version 2.2.1
FAT filesystem support improvements and fixes. Binary version linked
against libtffs with fsync() removed for faster operation on FAT.
Fixed buffer operations in wiping. Fixed compile errors and
improved configuration. Other minor fixes.

2016-05-15
* WipeFreeSpace version 2.2
New command-line option: --no-wipe-zero-blocks, for not wiping empty
(all-zero) blocks, useful for virtual/sparse devices, where empty
areas are read as all-zeros and do not use physical space unless
actually written to. Some minor optimisations & more safety checks.
Sending a signal to WipeFreeSpace (like pressing Ctrl+C) sends an
interrupt signal to the child process (which is doing the wiping).
In case the child process is stuck, sending another signal to
WipeFreeSpace kills the child process forcefully. Fixed writing
beyond the device size in JFS.

2015-09-26
* WipeFreeSpace version 2.1
Improved checking if the filesystem to be wiped is mounted. Added
unit tests for WipeFreeSpace. Improved MinixFS opening of unattached
loop devices.

2013-11-01
* WipeFreeSpace version 2.0
Portability improvements. Documentation improvements. Code cleanup.
Better error handling. The filesystem backends are now completely
separate from each other (they are not including each other's
header files, not passing each other's handlers, etc.).

2013-01-06
* WipeFreeSpace version 1.7.2
This is a bugfix-only release.

2012-09-03
* WipeFreeSpace version 1.7.1
This is a bugfix-only release.

2012-08-23
* WipeFreeSpace version 1.7
Improved NTFS support. Code cleanup and portability improvements.
Corrections in the wiping mechanism. More checks for NULL. Not
showing errors and messages from inside the backends, because this
could make the progress bars unparseable. More compile fixes.
Changed the use of the error parameter, allowing less possibilities
for a NULL dereference. Fixed wiping the journal on JFS.

2012-06-01
* WipeFreeSpace version 1.6.1
This is a bugfix-only release.

2012-05-06
* WipeFreeSpace version 1.6
Improved NTFS compile-time support. Added support for OCFS/OCFS2.

2011-12-04
* WipeFreeSpace version 1.5
Fixes for compiler warnings. Improved compatibility with non-ANSI
C compilers. Wiping method selectable at runtime. Two new wiping
methods: Schneier and DoD. Support for ntfsprogs from ntfs3g.

2011-05-22
* WipeFreeSpace version 1.4
Run cppcheck on the code. Compiling parts of the wiping code is
now optional with the new --enable-wfs, --enable-unrm and
--enable-part options to ./configure. Added patches to some of the
filesystem tools used by WipeFreeSpace. HFS+ support. Run cppcheck
and rats on the code.

2010-09-12
* WipeFreeSpace version 1.3
JFS filesystem now supported. Updated gettext version and related
files. Compiled with new GCC. Corrected compiling for non-ANSI C
compilers. Run flawfinder on the code and Valgrind on the program.

2009-11-28
* WipeFreeSpace version 1.2
MinixFS version 1 and 2 now supported.

2009-04-25
* WipeFreeSpace version 1.1
Renamed wfs_ext23. to wfs_ext234.. Better closing routines for
some filesystems. FAT12/16/32 support. Using binary opening mode, if
available. New command-line options: '--last-zero' causes an
additional wiping with zeros to be performed, '--all-zeros' causes
the program to use only zero bits for wiping. Added progress bars
visible in verbose mode.

2008-09-28
* WipeFreeSpace version 1.0
All files prefixed with "wfs_". Gutmann method as default. Fixed
some possibilities for wiping to be finished too early for some
blocks. ReiserFSv4 support. License reverted to GPLv2+, because of
linking with ReiserFSv3/4 libraries, which are GPLv2-only (read
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility). New
command-line option, --use-ioctl, allows to disable the device's
cache prior to wiping and bring it back to the previous state after
wiping. This can be dangerous (hdparm says so), so it's disabled by
default. Checked to compile against e2fsprogs-1.41.1. Works on the
ext4 filesystem. Changed the verbose mode output to include the
current filesystem in the second field.

2008-06-22
* Wipefreespace version 0.9
Compatibility with non-ANSI C compilers. Journal wiping. Better XFS
support. Portability fixes. Better error checking.

2008-01-12
* Wipefreespace version 0.8
Big portability corrections. The program now compiles on OpenBSD.
Added ReiserFSv3.

2007-10-21
* Version 0.7
More GNU Coding Style ('info standards'). More enum using.
Operating buffer is now local to each function, not global.

2007-07-01
* Version 0.6
Switch to autoconf+automake. Works great. Project rename
to 'wipefreespace'.

2007-04-31
* Version 0.5
Code rebuild: separate 3 source files (+headers), to allow
other file systems in the future. Info doc update. Man page.

2007-04-10
* Version 0.4
Finding last partially used buffer only if needed. More code
changes & cleanup. Added sync()ing after every writing,
if available. Three new options: --nopart, --nounrm, --nowfs.
Docs updated with signal information. Removing deleted files'
names fully works. Some Makefile updates - easy building RPMs.
Signals corrected and checked more often. Security: checking
stdout & stdin.

2007-04-08
* Version 0.3
Various security fixes (checking of argc&argv and a safer
signal handler). New option --force makes the program continue
even if the file system contains errors. Separate function for
wiping blocks. Doc comments. Small code cleanup. Makefile upgrade
with the 'static' target and more warning options. More file
system checking. Wiping free space in partially used blocks.
Documentation (README & info) update. Includes compiled gzipped
'info' documentation. Block wiping corrected (flushing added).
Flushing verbose messages - in case of crashes the last message
shown is important for tracking.

2007-04-01
* Version 0.2
Adds generating the error table. Adds flushing the file system
before starting if it's marked dirty or invalid. Adds a second
try for opening the file system, when exclusive access is
impossible. Adds a 'verbose' option. Makefile fixed.

2007-03-24
* First release of e2wipefreespace, version 0.1.
Uses exclusive access, if possible. Checks if the file system is
mounted. Uses raw block access, no i-nodes. Uses patterns from
'shred', but has own random-generating code. Sets signal handlers.
Accepts 7 command-line options, 'license' being an alias for
'licence'.


Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.