Timeline


and

7/15/2009:

14:59 Ticket #221 ("Dangling pointer" on erasing files with multiple hard links) created by fedsaren
On an NTFS partition, when I erase a file with multiple hard links, the …

7/7/2009:

23:59 Ticket #220 (UNC Path erasures don't seem to work) created by Joel
As reported by cruise2001 at http://bbs.heidi.ie/viewtopic.php?f=2&t=5622

7/6/2009:

12:32 Changeset [1184] by lowjoel
  • trunk/eraser5/Eraser.cpp

Unicode fix. Use wide characters when doing a string format operation. Thanks to pollution on the forum for reporting.

11:40 Changeset [1183] by lowjoel
  • trunk/website/Templates/Eraser.dwt
  • trunk/website/announcements/20081201.html
  • trunk/website/announcements/20081213.html
  • trunk/website/announcements/20090103.html
  • trunk/website/announcements/20090108.html
  • trunk/website/announcements/20090418.html
  • trunk/website/announcements/20090610.html
  • trunk/website/announcements/20090611.html
  • trunk/website/announcements/20090706.html
  • trunk/website/contributing.html
  • trunk/website/index.php
  • trunk/website/reviews.html

Released 5.8.8-beta1

11:37 Changeset [1182] by lowjoel
  • trunk/eraser5/Erasext/Erasext.odl

Gunna re-release 5.8.8-beta1, the runtime version was not set correctly.

09:20 Changeset [1181] by lowjoel
  • trunk/eraser6/Eraser.Manager/Settings.cs

Removed the unused UISettings property for Manager.Settings

09:20 Changeset [1180] by lowjoel
  • trunk/eraser6/Eraser.Manager/Exception.cs

Fix FxCop? warnings

09:08 Changeset [1179] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/RNGCrypto.cs
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Logger.cs
  • trunk/eraser6/Eraser.Manager/Task.cs

-Did a review of all lock statements in use, removing unused ones and inserting those requiring lock statements. The most-affected classes are those of Task and of Logger. These two classes are now thread-safe.
-When a task is canceled we no longer throw a FatalException?, instead an OperationCanceledException? is thrown

09:01 Changeset [1178] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

The strings moved around to their new locations after the strings were moved to the exception classes

08:55 Changesets [1176-1177] by lowjoel
  • trunk/eraser6/Eraser.Manager/EntropySource.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseFirstLast16KB.cs
  • trunk/eraser6/Eraser.Manager/Exception.cs
  • trunk/eraser6/Eraser.Manager/Method.cs
  • trunk/eraser6/Eraser.Manager/PRNG.cs

Instead of throwing FatalExceptions?, implement a superclass that deals with such exceptions - currently there are classes for Erasure Method not found, PRNG not found and Entropy Source not found.

08:52 Changeset [1175] by lowjoel
  • trunk/eraser6/Eraser.Manager/Eraser.Manager.csproj
  • trunk/eraser6/Eraser.Manager/Manager.cd
  • trunk/eraser6/Eraser.Manager/ManagerLibrary.cs

Replaced Manager.cs with ManagerLibrary?.cs since that is the class which is implemented there. Also removed the class diagram since it's no longer maintained

06:04 Changeset [1174] by lowjoel
  • tags/5.8.8-beta1

Tagged 5.8.8-beta1

04:35 Changeset [1173] by lowjoel
  • trunk/eraser5/Deployment.vsprops

Oops, unsaved file. But this is part of 5.8.8-beta1

03:31 Changeset [1172] by lowjoel
  • trunk/eraser5/README.txt
  • trunk/eraser5/version.h

Version bump.

03:31 Changeset [1171] by lowjoel
  • trunk/eraser5/EraserDll/Random.cpp

More warning fixes

02:50 Changeset [1170] by lowjoel
  • trunk/eraser5/EraserDll/Random.cpp

Compilo.

02:37 Changeset [1169] by lowjoel
  • trunk/eraser5/EraserDll/Random.cpp
  • trunk/eraser5/EraserDll/Random.h
  • trunk/eraser5/EraserDoc.cpp
  • trunk/eraser5/EraserUI/HyperLink.cpp
  • trunk/eraser5/EraserUI/TimeOutMessageBox.cpp

64-bit fixes.

02:22 Changeset [1168] by lowjoel
  • trunk/eraser5/Deployment.vsprops
  • trunk/eraser5/Eraser.sln
  • trunk/eraser5/Eraser.vcproj
  • trunk/eraser5/EraserDll/EraserDll.vcproj
  • trunk/eraser5/EraserUI/EraserUI.vcproj
  • trunk/eraser5/Erasext/Erasext.vcproj
  • trunk/eraser5/Launcher/Launcher.vcproj
  • trunk/eraser5/Verify/Verify.vcproj
  • trunk/eraser5/shared/Shared.vcproj

Standarise all the defines when compiling Eraser. The settings now compile Eraser for the VS2008 SP1 runtime libraries instead.

00:45 Changeset [1167] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

I should have used the as cast instead of the explicit cast.

00:44 Changeset [1166] by lowjoel
  • trunk/eraser6/Documentation/Documentation.docx
  • trunk/eraser6/Documentation/Settings.png
  • trunk/eraser6/Documentation/Task Properties Dialog.png

Updated documentation to reflect the new Manually run task type.

00:43 Changeset [1165] by lowjoel
  • trunk/eraser6/Eraser.Manager/Schedule.cs
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/SchedulerPanel.resx
  • trunk/eraser6/Eraser/SettingsPanel.resx
  • trunk/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • trunk/eraser6/Eraser/TaskPropertiesForm.cs
  • trunk/eraser6/Eraser/TaskPropertiesForm.resx

Create a new task type - tasks which are run manually. This differs from tasks run immediately in that tasks run immediately has the connotation of being a one-time task; task run manually can be run multiple times. At the same time, tasks which are run immediately will be affected by the automatic deletion; tasks run manually will not.

7/5/2009:

12:28 Changeset [1164] by lowjoel
  • trunk/eraser6/Documentation/Documentation.docx

Eraser 5 migration guide authored

09:49 Ticket #110 (Spelling on web page) closed by Joel
fixed: Eraser bit of his website is removed to point directly to ours.
09:48 Ticket #197 (4 Versions of the Website) closed by Joel
fixed: OK, Garrett's removed the three other websites now.

7/4/2009:

07:18 Ticket #141 (Better method description.) closed by Joel
fixed: Factchecked and accepted.
07:06 Changeset [1163] by lowjoel
  • trunk/eraser6/Installer/DirectoryStructure.wxs

-Add the documentation to the MSIs.
-Add Erase to the App Paths registry key so that calls using ShellExecute? will work with just the file name (e.g. from the Run dialog)

05:30 Changeset [1162] by lowjoel
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.resx

Updated translation.

05:28 Changeset [1161] by lowjoel
  • trunk/eraser6/Installer/Installer.wixproj

Sign the installer with the best certificate - we don't have the Eraser Root CA anymore.

04:53 Changeset [1160] by lowjoel
  • trunk/eraser6/Eraser/AboutForm.cs
  • trunk/eraser6/Eraser/Resources/BackgroundLogo.png
  • trunk/eraser6/Resources/Source/Dialogs/Dialog Logo.psd
  • trunk/eraser6/Version.cs.in
  • trunk/eraser6/Version.rc.in
  • trunk/eraser6/Version.wxs.in

Bump version number. Currently I'm calling this rc-6, but I think we are stable enough for a final release. Also pulled out the logo at the top right of the program form as a separate PSD

03:53 Changeset [1159] by lowjoel
  • trunk/eraser6/Documentation
  • trunk/eraser6/Documentation/Custom Erasure Method.png
  • trunk/eraser6/Documentation/Documentation.docx
  • trunk/eraser6/Documentation/Recycle Bin.png
  • trunk/eraser6/Documentation/Scheduler Context Menu.png
  • trunk/eraser6/Documentation/Select Data To Erase Dialog.png
  • trunk/eraser6/Documentation/Settings.png
  • trunk/eraser6/Documentation/Task Log.png
  • trunk/eraser6/Documentation/Task Properties Dialog - Schedule.png
  • trunk/eraser6/Documentation/Task Properties Dialog.png
  • trunk/eraser6/Eraser/MainForm.Designer.cs
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.resx

First draft of the Documentation with a few blank sections. I'm not sure if Word is the best way to make documentation... but yeah it will work.. for now.

7/3/2009:

11:51 Changeset [1158] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Settings.cs
  • trunk/eraser6/Eraser.Manager/Task.cs
  • trunk/eraser6/Eraser.fxcop
  • trunk/eraser6/Eraser/BasePanel.Designer.cs
  • trunk/eraser6/Eraser/BasePanel.cs
  • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.Designer.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.resx

-Fixed r1091. By using properties the designer could not be used.
-Let the user decide whether he wants locked files to be closed when encountered. We won't create a new task for running on restart anymore.

08:26 Changeset [1157] by lowjoel
  • trunk/eraser6/Eraser.Manager/Task.cs

-Replaced the property/variable combo with a automatic properties
-Don't have so many properties named Method. Method.set will set the MethodDefined? property automatically

08:19 Changeset [1156] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/EraseDoD.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseFirstLast16KB.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseGOSTP50739.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseGutmann.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseHMGIS5.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseRCMP_TSSIT_OPS_II.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseRandom.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseSchneier.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseUSAF5020.cs
  • trunk/eraser6/Eraser.DefaultPlugins/EraseUSArmyAR380_19.cs
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Unlocker/Eraser.Unlocker.cpp
  • trunk/eraser6/Eraser.Unlocker/Eraser.Unlocker.h
  • trunk/eraser6/Eraser.fxcop
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Version.cs.in

Fixed some FxCop? warnings
-Seal all our default plugins' erasure methods since they are not supposed to be inherited
-Don't return a List from the Unlocker module (now returns ReadOnlyCollection?)
-Call GC.SuppressFinalize? when using the Disposable Registry Settings manager
-Declare the Modified field of the BuildInfo? class to be const instead of readonly

07:29 Changeset [1155] by lowjoel
  • trunk/eraser6/Eraser/Program.cs

-Sent the CommandLine? class for a slight rewrite - the properties are now automatic properties, and the command line is no longer passed to the constructor as that would result in a virtual call in the base class constructor; instead a Parse function is used.
-Instead of mapping actions to handlers, use the Types instead
-Convert the CommandLine? class to be a Singleton-like class, where the CommandLine?.Get function will return a CommandLine? object representing the action requested
-Instead of letting the user specify files without a --, - or , we now need the user to specify --file=

07:03 Changeset [1154] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Fixed an erroneous variable reference which prevented tasks meant for restart execution from working.

7/2/2009:

03:58 Ticket #61 (Html files and folders association.) closed by Joel
fixed
03:57 Ticket #80 (Document Symbolic Link/Reparse point behaviour) closed by Joel
fixed

7/1/2009:

11:31 Ticket #216 (Erase from file context menu doesn't work if Eraser is Run as ...) closed by Joel
fixed: Implemented in r1153.
11:31 Changeset [1153] by lowjoel
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/ShellExt/CtxMenu.cpp

If while executing a command-line call we get an Unauthorised access exception, return ERROR_ACCESS_DENIED to the calling process. In the case of the shell extension, this will re-spawn the process with administrator privileges. Implements #216.

11:30 Changeset [1152] by lowjoel
  • trunk/eraser5/EraserDll/FileLockResolver.cpp

Compilo

10:53 Changeset [1151] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj

Use the best certificate for signing instead of one by the now-destroyed Eraser Root CA.

09:58 Ticket #219 (Probable standby/resume problem) closed by Joel
fixed: Does it occur after Eraser is running for a while? If so chances are it is …
09:57 Ticket #218 (Partition corrupted when using FL2KB with Sparse files) closed by Joel
fixed: Fixed in r1149.
09:21 Changeset [1150] by lowjoel
  • trunk/eraser5/Eraser.vcproj
  • trunk/eraser5/EraserDll/EraserDll.vcproj
  • trunk/eraser5/EraserDll/FileLockResolver.cpp
  • trunk/eraser5/EraserUI/EraserUI.vcproj
  • trunk/eraser5/Erasext/Erasext.vcproj
  • trunk/eraser5/Launcher/Launcher.vcproj
  • trunk/eraser5/Verify/Verify.vcproj
  • trunk/eraser5/shared/Shared.vcproj

Apply the Unicode character set for Win32 binaries too. The previous Win32 builds were still ANSI.

09:19 Changeset [1149] by lowjoel
  • trunk/eraser5/EraserDll/NTFS.cpp

Refuse to wipe files which are sparse, encrypted or compressed with the FL2KB method since that can destroy drives. Fixes http://bbs.heidi.ie/viewtopic.php?f=2&t=5584

06/27/09:

12:12 Ticket #219 (Probable standby/resume problem) created by Vista UAC
While unattended, Eraser croaked with an error on Vista with UAC. Might …
10:16 Ticket #217 (No secure move option, even to a different drive) closed by Joel
duplicate: Ah, yes, this will be implemented in future. Duplicate of #60.
10:02 Ticket #218 (Partition corrupted when using FL2KB with Sparse files) created by Joel
With reference to …
08:55 Changeset [1148] by lowjoel
  • trunk/eraser6/ShellExt/CtxMenu.cpp

Fixed a crash when right-clicking a drive in the Computer folder. Thanks to mcmaster76 at http://bbs.heidi.ie/viewtopic.php?p=15130#p15130 for reporting the bug.

06/26/09:

14:12 Ticket #217 (No secure move option, even to a different drive) created by Vista UAC
6.0.5.1114 no longer displays a secure move option, even when moving to …
14:05 Ticket #216 (Erase from file context menu doesn't work if Eraser is Run as ...) created by Vista UAC
If 6.0.5.1114 is set to Run as an Administrator on Vista with UAC, then …

06/19/09:

08:44 Changeset [1147] by lowjoel
  • trunk/eraser6/Eraser/LogForm.Designer.cs
  • trunk/eraser6/Eraser/LogForm.cs
  • trunk/eraser6/Eraser/LogForm.resx

Rewrote the log viewer to scale well with thousands of log entries.

08:42 Changeset [1146] by lowjoel
  • trunk/eraser6/Eraser.Manager/Logger.cs

-Change the LastSession? DateTime? value in the Logger class to be a public property. This allows us to know which is the last/active session.
-Also fixed the wrong event function called when a New Session event should be raised. Also, the event was unreferenced and now it wll be called.

07:07 Changeset [1145] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/FileSystem.cs

Properly fix the bug where files were left in the drive root. Properly implements r1140

06:37 Changeset [1144] by lowjoel
  • trunk/eraser6/Eraser/LogForm.resx

Fixed the resizing of the log dialog to obey minimum dimensions and for the correct alignment of controls.

06:35 Changeset [1143] by lowjoel
  • trunk/eraser6/Eraser/LogForm.Designer.cs
  • trunk/eraser6/Eraser/LogForm.cs

Do not refresh the log list view three times - changing the filter settings would have caued an update which can take a long time.

06:34 Changeset [1142] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/StreamInfo.cs

-More error-proof cluster tip erasure. This is because of how we now cache a reference to the opened handle so when the StreamInfo? class needs to set file times it can use the cached exclusive handle.
-Do not let the OnProgressChanged? event be called with an empty item name

02:50 Changeset [1141] by lowjoel
  • trunk/eraser6/Eraser.Manager/FileSystem.cs

Compilo.

02:49 Changeset [1140] by lowjoel
  • trunk/eraser6/Eraser.Manager/FileSystem.cs

Clean up files meant for cleaning up the MFT after we are done with it. Thanks to mcmaster76 for reporting the bug.

01:54 Changeset [1139] by lowjoel
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Handle unformatted (or unrecognised) partitions of a drive properly. Thanks to Xanashi for reporting the bug!

06/16/09:

10:19 Changeset [1138] by lowjoel
  • trunk/eraser6/Eraser/LogForm.Designer.cs
  • trunk/eraser6/Eraser/LogForm.cs
  • trunk/eraser6/Eraser/LogForm.resx

Allow the user to filter log messages by severity.

09:56 Changeset [1137] by lowjoel
  • trunk/eraser6/Eraser/Eraser.csproj
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/SettingsCompatibility.cs

Store the task list in a local appdata file instead because task lists with log messages can grow to a few megabytes. This also meant that I wrote a compatibility class to migrate old task lists to the new location.

09:55 Ticket #215 (Document uninstallation behaviour) created by Joel
Show the user how to get rid of traces of Eraser after uninstall, like …
05:49 Ticket #214 (Folders are not erased) closed by Joel
fixed
05:40 Changeset [1136] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

New string used when access is denied erasing a file cluster tip.

05:38 Changeset [1135] by lowjoel
  • trunk/eraser6/Installer/Installer.wixproj

Upgrade WiX

05:38 CompilingEraser edited by Joel
We're now using WiX 3.5 since r1135 (diff)
05:35 Changeset [1134] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

Slightly neater exception handling

05:29 Changeset [1133] by lowjoel
  • trunk/eraser6/Eraser/ProgressForm.Designer.cs
  • trunk/eraser6/Eraser/ProgressForm.cs
  • trunk/eraser6/Eraser/ProgressForm.resx

-Create a Hide button for the progress dialog
-Catch object disposed exceptions when updating the progress dialog. Since Control.Invoke can proceed asynchronously (because a NULL message is pumped to the application message loop) we may be called for progress updates even after a Close()
-Relabelled tab orders

05:28 Changeset [1132] by lowjoel
  • trunk/eraser6/Eraser.Manager/EntropySource.cs

Fixed the InvalidOperationException? thrown when we gather thread information for entropy and the thread has exited (in the middle of our foreach)

03:55 Changeset [1131] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

-Placed some code which throws exceptions into more try-catch blocks. The exceptions we deal with here are UnauthorizedAccess? exceptions which are thrown whenever we try to traverse the drive for file cluster tips' erasure
-When a user does a folder erasure, delete all empty subfolders of the target if they are empty after the erase regardless of whether the folder should be deleted when empty

03:32 Changeset [1130] by lowjoel
  • trunk/eraser6/Eraser/ProgressForm.cs

Set the item progress bar to continuous mode after a task regardless of the mode before that, otherwise the marquee will just continue ad infinitum if the previous state was marquee.

02:23 Ticket #35 (Eraser leaving info after install) closed by Joel
fixed
02:21 Ticket #7 (Recycle Bin Menu Remains after Uninstall) closed by Joel
fixed
02:21 Ticket #209 (Right Click Recycle bin 35-Pass guttman just does a one-pass) closed by Joel
fixed
02:18 Ticket #214 (Folders are not erased) created by Joel
With reference to http://bbs.heidi.ie/viewtopic.php?f=14&t=5590.
02:09 Ticket #213 (Update Readme) created by Joel
Tag the readme that all running versions of Eraser must be erased before …
Note: See TracTimeline for information about the timeline view.