source: trunk/website/announcements/20090610.html @ 1121

Revision 1121, 19.0 KB checked in by lowjoel, 6 years ago (diff)

5.8.7 formally released

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2    "">
3<html xmlns="" xml:lang="en" lang="en"><!-- InstanceBegin template="/Templates/Eraser.dwt" codeOutsideHTMLIsLocked="false" -->
5<!-- InstanceBeginEditable name="Title" -->
6<title>Eraser ::  Announcemens :: June 10, 2009</title>
7<!-- InstanceEndEditable -->
8<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
9<link href="../style.css" rel="stylesheet" type="text/css" />
10<script type="text/javascript" src="../scripts.js"></script>
11<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
12<!-- InstanceParam name="ArticlePoster" type="boolean" value="true" -->
15<body onload="MM_preloadImages('../images/btn_home_hov.gif', '../images/btn_download_hov.gif', '../images/btn_forum_hov.gif', '../images/btn_trac_hov.gif')">
16<div id="wrap">
17    <div id="banner">
18        <a href="../index.php"><img src="../images/header.jpg" class="banner_img" alt="Eraser v6" /></a>
19    </div>
20    <div id="content">
21        <div class="left">
22            <!-- InstanceBeginRepeat name="LeftContent" --><!-- InstanceBeginRepeatEntry -->
23            <div class="article">
24                <div class="article_head">
25                    <div class="title">
26                        <h2><!-- InstanceBeginEditable name="LeftContentEditTitle" --><a href="../index.php">Eraser</a> 6-rc5 <!-- InstanceEndEditable --></h2>
27                        <div class="posted"><!-- InstanceBeginEditable name="LeftContentEditPoster" -->Posted
28                                by: Joel, 10 June 2009, 7.00pm, +800 GMT <!-- InstanceEndEditable --></div>
29                    </div>
30                </div>
32                <!-- InstanceBeginEditable name="LeftContentEdit" -->
33              <p>Having written almost 25,000 lines of code since the start of our project, v6 was due for a code review. So that's what I did, reviewed the code with the help of a static code analysis tool (FxCop for you developers out there :) ) and fixed all sorts of inconsistencies in the code. This should result in slightly higher performance and better behaviour when Eraser is in use.</p>
34              <p>However, due to the same code changes resulting from the review, <strong>all tasks will be lost during the upgrade</strong>. You are encouraged to note down tasks which you intend to use in the new install and redefine them once it is installed. Furthermore, because quite a substantial amount of code has been rewritten, certain functions may no longer work (or they may not work properly.) Please report such bugs to <a href="/trac/newticket">Trac</a>!</p>
35              <p>Nonetheless, there has been a large number of bugs being fixed (as evidenced from the large jump in build number) and this release of Eraser should be better than before. Please help find any remaining bugs and report thme to Trac - this is most likely to be the final RC before Eraser 6 is released as stable. </p>
36              <h2>Changelog</h2>
37              <table class="changelog">
38                    <tr>
39                        <th>Revision</th>
40                        <th>Description</th>
41                        <th>Author</th>
42                    </tr>
43                    <tr>
44                        <th>876, 1014, 1015</th>
45                        <td>FAT dates only reach up to Jan 1 1980. Fixes #168.</td>
46                        <td>Joel</td>
47                    </tr>
48                    <tr>
49                        <th>878</th>
50                        <td>Allow drives to be erased from the Explorer context menu.</td>
51                        <td>Joel</td>
52                    </tr>
53                    <tr>
54                        <th>879</th>
55                        <td>Allow task cancellations to take place when searching for file cluster tips to erase.</td>
56                        <td>Joel</td>
57                    </tr>
58                    <tr>
59                        <th>880</th>
60                        <td>Internationalised the Log Viewer.</td>
61                        <td>Joel</td>
62                    </tr>
63                    <tr>
64                        <th>881</th>
65                        <td>Add the Eraser icon to the add/remove programs control panel applet. Fixes #187.</td>
66                        <td>Joel</td>
67                    </tr>
68                    <tr>
69                        <th>892, 897</th>
70                        <td>Store all certificates in the Windows certificate store instead of having thme as loose PFX's on the disk for security reasons.</td>
71                        <td>Joel</td>
72                    </tr>
73                    <tr>
74                        <th>893</th>
75                        <td>Flush all data to disk immediately after writing. Fixes #171.</td>
76                        <td>Joel</td>
77                    </tr>
78                    <tr>
79                        <th>894-895</th>
80                        <td>Handle files which are currently locked during erasure as well as files which are encrypted, compressed or sparse gracefully.</td>
81                        <td>Joel</td>
82                    </tr>
83                    <tr>
84                        <th>896, 1022</th>
85                        <td>Improvements to the progress dialog, better user experience when the dialog is waiting for data to come from the Erasure Executor.</td>
86                        <td>Joel</td>
87                    </tr>
88                    <tr>
89                        <th>898, 899, 901-973, 976, 978-984, 986-988, 991-1010, 1017, 1018, 1052-1053, 1057-1063, 1069-1071, 1088-1094, 1096, 1102-1103</th>
90                        <td>
91                            Code Review/Cleanup with FxCop: User-visible changes:
92                            <ul>
93                                <li>Dialog boxes appear as right-to-left under Arabic or Hebrew locales (currently no impact since Eraser doesn't come in the Arabic or Hebrew translations; but this will be of importance once those translations are complete.)</li>
94                                <li>Remote Executor classes (eg Explorer context menu erasure, Eraser Command Line) rewritten from scratch - less prone to crashing and more reliable. This should fix problems for users who report that after selecting a file for erasure through the context menu nothing happens.</li>
95                                <li>Called IDispoable.Dispose on some disposable objects; should reduce memory consumption in the long run.</li>
96                                <li>The Eraser Tool Bar now is an ownerdrawn menu bar instead of a generic control. This allows for shortcuts to be used. Ctrl+N now maps to New Task.</li>
97                                <li>Native context menus look better. All context menus under Vista+ will be natively styled.</li>
98                                <li>More error messages are localisable, for it to be displayed in languages other than English (in non-English environments)</li>
99                            </ul>
100                        </td>
101                        <td>Joel</td>
102                    </tr>
103                    <tr>
104                        <th>900</th>
105                        <td>Disable redrawing on the log viewer when log items are being added. This allows for the display of long logs quickly.</td>
106                        <td>Joel</td>
107                    </tr>
108                    <tr>
109                        <th>972, 974</th>
110                        <td>Fixed crash in Log Viewer when copying an empty log.</td>
111                        <td>Kaz/Joel</td>
112                    </tr>
113                    <tr>
114                        <th>975</th>
115                        <td>Delete the folder the user asked for erasure only if it is empty! Fixes the problem reported in <a href=";t=5556">the forums</a>.</td>
116                        <td>Joel</td>
117                    </tr>
118                    <tr>
119                        <th>977</th>
120                        <td>
121                            Implemented filename escaping/unescaping when using the Eraser command line. All filenames containing any one of:
122                            <ul>
123                                <li>\</li>
124                                <li>,</li>
125                                <li>=</li>
126                            </ul>
127                            must be escaped by prepending a \ to it. This reduced ambiguity to the Eraser command line parser since , and = are used to denote subparameters.
128                        </td>
129                        <td>Joel</td>
130                    </tr>
131                    <tr>
132                        <th>985</th>
133                        <td>The About dialog displays our new Website now instead of the SourceForge one.</td>
134                        <td>Joel</td>
135                    </tr>
136                    <tr>
137                        <th>989-990</th>
138                        <td>Remove ISAAC from the list of PRNGs.</td>
139                        <td>Joel</td>
140                    </tr>
141                    <tr>
142                        <th>1011-1013, 1081</th>
143                        <td>Allow users to export and import task lists. Implements #193.</td>
144                        <td>Joel</td>
145                    </tr>
146                    <tr>
147                        <th>1016</th>
148                        <td>Display the nice antialiased Security Shield instead of an old aliased one previously.</td>
149                        <td>Joel</td>
150                    </tr>
151                    <tr>
152                        <th>1019</th>
153                        <td>Fixed how the Scheduler manages actively executing tasks. This should prevent progress bars from being &quot;abandoned&quot;: displayed without a parent item.</td>
154                        <td>Joel</td>
155                    </tr>
156                    <tr>
157                        <th>1026</th>
158                        <td>Disable the context menu for the recycle bin entry when there are no files in the recycle bin. Implements #50..</td>
159                        <td>Joel</td>
160                    </tr>
161                    <tr>
162                        <th>1028</th>
163                        <td>All forms should call UXThemeApi.UpdateControlTheme so that relevant theming upgrades can be made (eg list-views) and that the proper system font can be assigned (Tahoma on XP, Segoe UI &gt;= Vista). This prevents the ugly use of MS Sans Serif under XP.</td>
164                        <td>Joel</td>
165                    </tr>
166                    <tr>
167                        <th>1033, 1034</th>
168                        <td>Allow date Created, date Accessed and date Modified values to be set on streams.</td>
169                        <td>Joel</td>
170                    </tr>
171                    <tr>
172                        <th>1035</th>
173                        <td>Fixed ADS enumeration. WIN32_STREAM_ID is a structure with packing 1 - the native packing doesn't seem to give a structure of the right size. I picked Pack=1 because this is meant to be stored to file and files don't usually have alignments (unlike memory).</td>
174                        <td>Joel</td>
175                    </tr>
176                    <tr>
177                        <th>1037</th>
178                        <td>Implemented ADS Deletion.</td>
179                        <td>Joel</td>
180                    </tr>
181                    <tr>
182                        <th>1041</th>
183                        <td>GetPathADSes takes a value by &quot;out&quot;, meaning whatever value the totalSize variable had before would have been overwritten. Fixed the code to work properly now. This would have reported the wrong amount of data that needs to be written to erase the file..</td>
184                        <td>Joel</td>
185                    </tr>
186                    <tr>
187                        <th>1042, 1044, 1046, 1047</th>
188                        <td>Implemented drag-and-drop into the scheduler. Task Lists are imported and all other files are erased.</td>
189                        <td>Joel</td>
190                    </tr>
191                    <tr>
192                        <th>1048</th>
193                        <td>Fixed the Log viewer's resizing: the buttons aren't all over the place now.</td>
194                        <td>Joel</td>
195                    </tr>
196                    <tr>
197                        <th>1049</th>
198                        <td>Use SetFileAttributes directly when dealing with streams since that will support ADSes but not the .NET variant (which does path checking.) ADSes can be erased properly now and their properties are also reset like normal files.</td>
199                        <td>Joel</td>
200                    </tr>
201                    <tr>
202                        <th>1050</th>
203                        <td>When erasing Recycle bin files erase ADSes before the unnamed stream (following the order of the other file erasures). This allows for the secure deletion of files with ADSes which were sent to the recycle bin.</td>
204                        <td>Joel</td>
205                    </tr>
206                    <tr>
207                        <th>1051</th>
208                        <td>Don't delete folders which are volume mount points even if they are empty</td>
209                        <td>Joel</td>
210                    </tr>
211                    <tr>
212                        <th>1054</th>
213                        <td>Save all tasks when exiting Eraser on system shut down.</td>
214                        <td>Joel</td>
215                    </tr>
216                    <tr>
217                        <th>1056, 1064, 1083, 1087</th>
218                        <td>Implemented unlocker feature - all locked files which are slated for erasure will have all open handles closed where possible before erasure.</td>
219                        <td>Joel</td>
220                    </tr>
221                    <tr>
222                        <th>1066</th>
223                        <td>Include the correct runtime library - prevent Runtime configuration incorrect errors.</td>
224                        <td>Joel</td>
225                    </tr>
226                    <tr>
227                        <th>1067</th>
228                        <td>
229                            Various scheduler fixes, including:
230                            <ul>
231                                <li>Scheduled tasks should be queued at start up</li>
232                                <li>Multiple tasks with the same scheduled execution time will now work as expected</li>
233                            </ul>
234                        </td>
235                    </tr>
236                    <tr>
237                        <th>1068</th>
238                        <td>Place the run status on the Status column instead of the Next Run column</td>
239                        <td>Joel</td>
240                    </tr>
241                    <tr>
242                        <th>1072, 1073</th>
243                        <td>Fixed crash when clearing the task log while the task was executing, and when there are no entries for a particular execution session, append a blank entry so that the session header will appear.</td>
244                        <td>Joel</td>
245                    </tr>
246                    <tr>
247                        <th>1082</th>
248                        <td>Allow tasks to specify files to delete - and if they don't exist when the task is executed ignore and continue.</td>
249                        <td>Joel</td>
250                    </tr>
251                    <tr>
252                        <th>1085</th>
253                        <td>Handle locked files' ADSes more elegantly - if the file can't be unlocked when searching for ADSes just continue; if the file is still locked it will throw an error later when the unnamed stream is erased.</td>
254                        <td>Joel</td>
255                    </tr>
256                    <tr>
257                        <th>1086</th>
258                        <td>Rewritten ADS finding function - more efficient.</td>
259                        <td>Joel</td>
260                    </tr>
261                    <tr>
262                        <th>1095</th>
263                        <td>Updated About dialog - version information is displayed, along side special build status (when there are uncommitted changes)</td>
264                        <td>Joel</td>
265                    </tr>
266                    <tr>
267                        <th>1097-1099, 1105-1106</th>
268                        <td>Better-looking native menus (down to pixel)</td>
269                        <td>Joel</td>
270                    </tr>
271                    <tr>
272                        <th>1100</th>
273                        <td>Better error handling when FL16KB erase method was unselected/deleted</td>
274                        <td>Joel</td>
275                    </tr>
276                    <tr>
277                        <th>1101</th>
278                        <td>When displaying the Invalid default values message box, do not specify the invalid/invisible parent window. This ensures that the dialog can be seen in the status bar at startup.</td>
279                        <td>Joel</td>
280                    </tr>
281                    <tr>
282                        <th>1102</th>
283                        <td>
284                            Multiple scheduler fixes:
285                            <ul>
286                                <li>When cancelling scheduled tasks we removed the scheduled version of the task as well so tasks will no longer run on the schedule</li>
287                                <li>When editing tasks the schedules were not updated and scheduled tasks still ran on the old schedule</li>
288                                <li>Determining whether the task was queued manually for execution was a little unpredictable, this is now fixed</li>
289                                <li>For consistency, when tasks are queued we will prevent editing of tasks</li>
290                            </ul>
291                        </td>
292                        <td>Joel</td>
293                    </tr>
294                    <tr>
295                        <th>1107</th>
296                        <td>Fixed a regression introduced in the scheduler fixes</td>
297                        <td>Joel</td>
298                    </tr>
299                </table>
300                <h2>Why remove ISAAC?</h2>
301                <p>Perhaps some of you are wondering why I'm removing ISAAC, the default PRNG for Eraser 5, from Eraser 6.</p>
302                <p>I met up with <a href="">Professor Ling San</a> on a seminar he conducted and I managed to ask him about his opinion regarding ISAAC (through email). This was his response and I quote:</p>
303                <blockquote>
304                    <p>After discussing with some colleagues who know ISAAC better, this is what some of them have to say:</p>
305                    <p>ISAAC cannot be considered as broken so far, despite the few properties highlighted in the works of Aumasson (the best attack to date) and Paul-Praneel (on a modified version rather than the original ISAAC).</p>
306                    <p>However, using ISAAC as a pseudo-random generator is maybe not an optimal choice, for</p>
307                    <ol>
308                        <li>the specification of ISAAC includes no precise initialization mechanism,</li>
309                        <li>ISAAC has probably not been as thoroughly analyzed as other algorithms,</li>
310                        <li>it uses a rather large internal state (more than 8192 bits), which may be a performance issue in certain environments.</li>
311                    </ol>
312                    <p>To use as a pseudo-random generator in cryptographic applications, we would suggest one of the stream ciphers selected by the eSTREAM project (, or AES in counter mode.</p>
313                </blockquote>
314                <p>This, and in light of concerns that some members of the community have over the security of ISAAC (most notably <a href="/trac/ticket/143">#143</a>), I've come to a decision that ISAAC will be removed from Eraser. In addition, since an alternative was readily available in .NET (RNGCryptoServiceProvider) and that the default for v6 was set to the RNGCryptoServiceProvider, I felt that the change was not going to be really significant.</p>
315                <h2>The On-Ramp</h2>
316                <p>So you've still decided that v6 is for you? Look no further.</p>
317                <p>
318                    <strong>Disclaimer: The code is still of <em>beta quality</em> and may not be as stable or secure as the released versions of Eraser.</strong>
319                    Internal testing has been conducted to a certain extent, but remember that this is beta quality code and any loss of information or any data left unerased due to the use of this software has been disclaimed.
320                </p>
321                <p>If you have read the disclaimer, read a few notes about <strong><a href="../trac/wiki/InstallingBetas">installing
322                            and using betas</a></strong> then download and runthe <strong><a href="../download.php?id=12">installer</a>.</strong> Some
323                            may have realised that the need for installing an Eraser Root Certificate
324                            is no longer needed - that is correct. I have managed to acquire a validated
325                            Certum Certificate which should validate without further action.</p>
326              <!-- InstanceEndEditable -->
327            </div>
328            <!-- InstanceEndRepeatEntry --><!-- InstanceEndRepeat -->
329        </div>
330        <div class="right">
331            <div class="right_nav">
332                <div class="right_nav_bg">
333                    <a href="../index.php"><img src="../images/btn_home.gif" id="nav1" alt="Home" onmouseover="MM_swapImage('nav1','','../images/btn_home_hov.gif',1)" onmouseout="MM_swapImgRestore()" /></a><a href="../index.php#download"><img src="../images/btn_download.gif" id="nav2" alt="Download" onmouseover="MM_swapImage('nav2', '', '../images/btn_download_hov.gif', 1)" onmouseout="MM_swapImgRestore()" /></a><a href="" target="_blank"><img src="../images/btn_forum.gif" id="nav3" alt="Forum" onmouseover="MM_swapImage('nav3', '', '../images/btn_forum_hov.gif', 1)" onmouseout="MM_swapImgRestore()" /></a><a href="../trac/"><img src="../images/btn_trac.gif" id="nav4" alt="Trac" onmouseover="MM_swapImage('nav4', '', '../images/btn_trac_hov.gif', 1)" onmouseout="MM_swapImgRestore()" /></a>
334                </div>
335            </div>
337            <div class="right_news">
338                <h3>Latest News</h3>
339                <div class="right_news_bg">
340                    <h2>Eraser 5.8.7 released!</h2>
341                    <div class="posted">Posted by: Joel, 11 June 2009, 9.15am, +800 GMT</div>
342                    <p>Eraser 5.8.7 stable is finally released after being too long in the making! This version brings with it Unicode changes, allowing the erasure of file names containing non English characters as well as the Portable distribution being a supported distribution. <a href="announcements/20090611.html">See the full announcement.</a></p>
343                    <h2>Eraser 6-rc5 released!</h2>
344                    <div class="posted">Posted by: Joel, 10 June 2009, 7.00pm, +800 GMT</div>
345                    <p>Having written almost 25,000 lines of code since the start of our project, v6 was due for a code review. So that's what I did, reviewed the code with the help of a static code analysis tool (FxCop for you developers out there :) ) and fixed all sorts of inconsistencies in the code. This should result in slightly higher performance and better behaviour when Eraser is in use. <a href="announcements/20090610.html">See the full announcement.</a></p>
346                </div>
347            </div>
349            <!-- InstanceBeginRepeat name="RightContent" --><!-- InstanceEndRepeat -->
350        </div>
351    </div>
352    <div id="footer">
353        <div class="footer">
354            <div class="footer_l">
355                <p>2008 &copy; Eraser</p>
356            </div>
357            <div class="footer_r">
358                <p>
359                    Original Design by <a href="" target="_blank">Olle Axelsson</a><br />
360                    Modified for Eraser by <a href="" target="_blank">Dennis van Lith</a><br />
361                    HTML edits by <a href="" target="_blank">Joel Low</a>
362                </p>
363            </div>
364        </div>
365    </div>
367<div id="ffscrollbarfix"></div>
369<!-- InstanceEnd --></html>
Note: See TracBrowser for help on using the repository browser.