Timeline


and

6/27/2010:

18:14 Build of Eraser 6 [2215] on Windows completed
18:04 Build of Eraser 6.2 [2220] on Windows completed
14:17 Changeset [2220] by lowjoel
  • trunk/eraser/Eraser/ProgressForm.resx

Anchor the right and bottom ends of the total progress label and the item label. Addresses #303: Verify Eraser's UI in high DPI mode

14:07 Changeset [2219] by lowjoel
  • trunk/eraser/Eraser/ProgressForm.resx

Get the Eraser logo to stretch with the changes in DPI. Addresses #303: Verify Eraser's UI in high DPI mode

13:41 Changeset [2218] by lowjoel
  • trunk/eraser/Eraser/SettingsPanel.Designer.cs
  • trunk/eraser/Eraser/SettingsPanel.resx

Space out the settings combo boxes from their labels, to better fit high-dpi screens. Addresses #303: Verify Eraser's UI in high DPI mode

13:38 Changeset [2217] by lowjoel
  • trunk/eraser/Eraser/MainForm.resx

Get the Eraser logo to stretch with the changes in DPI. Addresses #303: Verify Eraser's UI in high DPI mode

13:22 Ticket #347 (Verification URL in Trac is incorrect) closed by Joel
fixed: Updated. Reopen this ticket if other users experience this problem.
13:10 Changeset [2216] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Shell/CtxMenu.cpp
  • trunk/eraser/Eraser.Shell/ShellExt.vcproj

Forward-port from Eraser 6.0: Don't display the Eraser context menu for the Start Button. Fixes #365: Blank context menu item: Windows XP

13:07 Ticket #365 (Blank context menu item: Windows XP) closed by Joel
fixed: Fixed in r2215.

06/27/10:

13:07 Changeset [2215] by lowjoel
  • branches/eraser6/6.0/ShellExt/CtxMenu.cpp

Don't display the Eraser context menu for the Start Button. Fixes #365: Blank context menu item: Windows XP

10:23 Ticket #364 (Eraser problems when deleting many files) closed by Joel
wontfix: This particular problem doesn't seem to be due to file names being too …

06/25/10:

17:05 Ticket #371 (Hot key to run task) created by DavidHB
On the Eraser programming forum user joe935 stated "In Version 5 I had …

06/19/10:

17:30 Build of Eraser 6.2 [2214] on Windows completed
11:01 Changeset [2214] by lowjoel
  • trunk/eraser/Eraser.BlackBox/BlackBox.cs

Specify the culture we are interested in for BlackBox? when calling string.Format (the Invariant culture, since developers will be reading it)

10:57 Changeset [2213] by lowjoel
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Allow non-administrators to query the physical drive a volume is on, too.

10:53 Changeset [2212] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs

Revert accidental commit.

10:50 Changeset [2211] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs

More compilos.

10:49 Changeset [2210] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs

Compilo.

10:47 Changeset [2209] by lowjoel
  • trunk/eraser/Eraser.BlackBox/BlackBox.cs
  • trunk/eraser/Eraser.Manager/Plugins.cs
  • trunk/eraser/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser/Eraser.Util/ExtensionMethods/Assembly.cs
  • trunk/eraser/Eraser/Program.cs
  • trunk/eraser/Eraser/SettingsPanel.cs
  • trunk/eraser/Eraser/UpdateForm.cs

Define the GetFileVersion? assembly extension method to query assemblies for their file version (not manifest version, as previously used.) This is important since user-displayed versions should be file versions, not manifest versions used for module loading.

10:46 Changeset [2208] by lowjoel
  • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/StreamInfo.cs

Call the extension methods class Methods instead of breaking up to separate classes, to reduce name conflicts.

10:34 Changeset [2207] by lowjoel
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Handle spanned drives and other dynamic volumes better. This patch allows basic dynamic volumes to be grouped under the parent physical drive.

10:14 Changeset [2206] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs
  • Don't define a shortcut function for DeviceIoControl? since that's a rather low-level API and we don't want to confuse things further.
  • Properly implement the querying of the Physical drive a volume belongs to using the IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS Control Code
06:04 Build of Eraser 6.2 [2205] on Windows completed
04:29 Changeset [2205] by lowjoel
  • trunk/eraser/Eraser/Strings.en.resx
  • trunk/eraser/Eraser/Strings.it.resx
  • trunk/eraser/Eraser/Strings.nl.resx
  • trunk/eraser/Eraser/Strings.pl.resx
  • trunk/eraser/Eraser/Strings.resx

New strings.

04:02 Changeset [2204] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs

Make the progress be indeterminate when finding cluster tips for erasure.

02:48 Changeset [2203] by lowjoel
  • trunk/eraser/Eraser/ProgressForm.cs
  • trunk/eraser/Eraser/SchedulerPanel.cs

Allow tasks to report that their progress is indeterminate, and reflect this in the UI appropriately.

02:48 Changeset [2202] by lowjoel
  • trunk/eraser/Eraser.Util/ProgressManager.cs

Unset the Indeterminate flag when:

  • The Completed property is set
  • The MarkComplete? function is called
02:28 Changeset [2201] by lowjoel
  • trunk/eraser/Eraser/SchedulerPanel.Designer.cs
  • trunk/eraser/Eraser/SchedulerPanel.it.resx
  • trunk/eraser/Eraser/SchedulerPanel.resx

Use a continuous progress bar instead of blocks, just like the progress dialog.

02:19 Changeset [2200] by lowjoel
  • trunk/eraser/Eraser.Util/ProgressManager.cs

Allow the progress of tasks to be marked as indeterminate (notably for long tasks without known completion)

02:09 Changeset [2199] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs

Fixed progress calculation for securely moving files.

02:09 Changeset [2198] by lowjoel
  • trunk/eraser/Eraser.Util/NtfsApi.cs

Fixed UnauthorizedAccessException? when erasing files from an NTFS volume under Windows 7. Fixes regression in r2189

01:52 Ticket #20 (Attached Drive Total Wipe) closed by Joel
fixed: With r2197 Dynamic disks will also be destroyed. This ticket is completely …
01:29 Changeset [2197] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs

Fix an UnauthorizedAccessException? when erasing a physical disk with mounted partitions.

01:29 Changeset [2196] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

Define the IOCTL_DISK_DELETE_DRIVE_LAYOUT which erases the MBR of the physical drive, allowing us to delete all partitions on the physical drive.

00:25 Changeset [2195] by lowjoel
  • trunk/website/scripts/blackbox/.htaccess

Increase the input timeout to 1 day since we deal with large uploads which may take a (long) while.

06/18/10:

18:09 Build of Eraser 6 [2182] on Windows completed
18:04 Build of Eraser 6.2 [2194] on Windows completed
15:14 Changeset [2194] by lowjoel
  • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
  • trunk/eraser/Eraser.Util/StreamInfo.cs

Change all internal OpenHandle? functions to private, since they should not be callable from outside the class.

15:09 Changeset [2193] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.resx

New strings.

15:07 Changeset [2192] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.Designer.cs
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.resx
  • trunk/eraser/Eraser.DefaultPlugins/Plugin.cs

Implemented the erasure of a complete drive or partition. Addresses #20: Attached Drive Total Wipe

15:05 Changeset [2191] by lowjoel
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

Implemented the opening of physical disks for direct read/write access.

14:37 Changeset [2190] by lowjoel
  • trunk/eraser/Eraser/ProgressForm.cs
  • trunk/eraser/Eraser/Strings.en.resx
  • trunk/eraser/Eraser/Strings.it.resx
  • trunk/eraser/Eraser/Strings.nl.resx
  • trunk/eraser/Eraser/Strings.pl.resx
  • trunk/eraser/Eraser/Strings.resx

There's no need for the UpdateProgress? function to require a SteppedProgressManager?. The only thing that provides is a step name, which we can use a generic one if the progress class is not a SteppedProgressManager?.

14:36 Changeset [2189] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • trunk/eraser/Eraser.Util/NtfsApi.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs
  • Define a VolumeStream? class which is a FileStream? customised for raw volume access. This results in the VolumeLock? class being merged into the VolumeStream? class, automatically handling locking and unlocking of volumes.
  • Change all internal OpenHandle? functions to private, since they should not be callable from outside the class.
  • Perform error checking in OpenHandle? so that even callers of OpenHandle? gets error checking.
11:54 Changeset [2188] by lowjoel
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

Define the PhysicalDriveInfo?.Equals function to check whether two VolumeInfo? instances are equal (it is a class type but should exhibit value type behaviour)

11:33 Changeset [2187] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Allow us to query the size of non-ready partitions and disks (for more informative UIs)

11:32 Changeset [2186] by lowjoel
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

Make the device path a constant to increase readability, also, generate the necessary disk and partition paths based on the template.

6/18/2010:

11:29 Changeset [2185] by lowjoel
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Define VolumeInfo?.GetHashCode? since we defined VolumeInfo?.Equals

10:01 Changeset [2184] by lowjoel
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

There is no longer a need for the regular expression.

10:00 Changeset [2183] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: Supplements r2170: some functions can be used when the drive is not mounted.

09:59 Changeset [2182] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Supplements r2170: some functions can be used when the drive is not mounted.

09:54 Changeset [2181] by lowjoel
  • trunk/eraser/Eraser.Util/VolumeInfo.cs
  • Define the VolumeInfo?.PhysicalDrive? property to get the physical drive the volume is on
  • Define the VolumeInfo?.Equals function to check whether two VolumeInfo? instances are equal (it is a class type but should exhibit value type behaviour)
09:33 Changeset [2180] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs

Better algorithm to find which partitions are on which drives which works on Windows Vista as well. Address #20: Attached Drive Total Wipe

06:53 Changeset [2179] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Refactor a function which parses null-delimited string arrays.

06:44 Changeset [2178] by lowjoel
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Fixed error in marshalling managed to unmanaged -- the mount points for any volume would only return a maximum of 1 regardless of how many mountpoints there really were due to the array being null-terminated.

06:42 Changeset [2177] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: Fixed potential ArgumentException? when a network path is simply remembered, but not mounted.

06:40 Changeset [2176] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Fixed potential ArgumentException? when a network path is simply remembered, but not mounted.

6/14/2010:

17:43 Build of Eraser 6.2 [2175] on Windows completed
12:59 Changeset [2175] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs

Potential fix for a crash when erasing cluster tips (The attributes can't be reset when the exception is thrown)

6/13/2010:

17:35 Build of Eraser 6 [2172] on Windows completed
17:31 Build of Eraser 6.2 [2174] on Windows completed
14:32 Changeset [2174] by lowjoel
  • trunk/eraser/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
  • trunk/eraser/Eraser.Util/Win32ErrorCodes.cs

Added a PhysicalDriveInfo? class which allows us to enumerate the physical drives on the current computer, and determine the partitions on those drives. However, this class doesn't yet work on dynamic volumes (or volumes which are non-basic)

10:03 Changeset [2173] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: Supplements r2170: some functions can be used when the drive is not mounted.

09:57 Changeset [2172] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Supplements r2170: some functions can be used when the drive is not mounted.

08:54 Changeset [2171] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.resx

New strings.

06:28 Changeset [2170] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: Fix crash when a volume is connected but not mounted.

06:25 Changeset [2169] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/Strings.en.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.pl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.resx
  • branches/eraser6/6.0/Eraser/Strings.pl.resx

Updated Strings.

06/13/10:

06:21 Changeset [2168] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Fix crash when a volume is connected but not mounted.

05:38 Build of Eraser 6.2 [2167] on Windows completed
04:11 Changeset [2167] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs

Forward-port from Eraser 6.0: Handle UnauthorizedAccessExceptions? when erasing folders, as certain folders allow us to erase the files within but not the folder itself.

04:08 Changeset [2166] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

Handle UnauthorizedAccessExceptions? when erasing folders, as certain folders allow us to erase the files within but not the folder itself.

04:01 Changeset [2165] by lowjoel
  • trunk/eraser/Eraser.Util/Win32ErrorCodes.cs

If we get ERROR_DEV_NOT_EXIST, throw an IOException.

03:58 Changeset [2164] by lowjoel
  • trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.cpp

Fixed potential crash when ResolveHandleName? is called by two threads at the same time (since the initialisation order of the Handle is undefined)

03:34 Changeset [2163] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.resx

Rearrangement of strings.

03:33 Changeset [2162] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs

For erasing old file system table resident files:

  • Rewritten algorithm which is faster than the previous one
  • Reset all temporary files' times since they will be simply deleted during the free space erase

For erasing directory structures:

  • Reset all temporary files' times so that we can use the faster folder delete instead of the deep erase
03:30 Changeset [2161] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser/Eraser.Manager/FileSystem.cs

Since we are just simply deleting all temporary files when filling up the drive with junk files, we must reset all file times to invalid.

02:40 Ticket #360 (Eraser crashes and is no longer usable after setting up new task) reopened by Joel
02:09 Changeset [2160] by lowjoel
  • trunk/eraser/Eraser.Util/ProgressManager.cs

Fix the calculation interval expansion/contraction:

  • a geometric growth of the amount of time between samples would take too long to get an accurate reading, grow by 30% each time
  • reduction by subtracting 3 must only be done if we have sufficient time, otherwise we must maintain the 3-second interval
00:52 Changeset [2159] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.resx

Forward-port from Eraser 6.0: Fixed log messages when erasing cluster tips.

00:47 Changeset [2158] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.en.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.pl.resx
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.resx

Fixed log messages when erasing cluster tips.

00:43 Changeset [2157] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • trunk/eraser/Eraser.Manager/FileSystem.cs

Compilo fix.

00:39 Changeset [2156] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
00:29 Ticket #273 (Use NtSetInformationFile to deeply set file times) closed by Joel
fixed: Fixed in r2155, but only for v6.2.
00:29 Changeset [2155] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
  • trunk/eraser/Eraser.Util/StreamInfo.cs

Implements #273: Use NtSetInformationFile? to deeply set file times.

06/12/10:

03:56 Ticket #370 (Break up MFT erase folders to folders of fixed lengths.) created by Joel
Large folders slow down the file system and unnecessarily increases erase …

06/10/10:

20:36 Ticket #369 (Eraser could not load the setting) created by c0m4r
After completly uninstalling Eraser 6.0.7.1893, clean and reboot my …
Note: See TracTimeline for information about the timeline view.