* Optimized the subroutine that searches for contiguous fragments.
* Fixed a bug that would prevent the program from running (immediate finish) without a proper error message, if there was a directory called "Settings" anywhere in the path. Also added some extra error messages in case there is a problem executing a script.
* Optimized the subroutine that vacates items out of the way.
* Disabled the OtherInstances(ask) setting for the screensaver.
* The "F1" key now looks for the manual in the installpath, instead of always using "C:Program FilesMyDefrag v4.XManual.chm".
* Added a special version of the SetFileColor() setting that can be used outside a VolumeSelect, for example in the Settings.MyD script.
* It is now possible to use macro's in any STRING.
* Added some keyboard keys: "F1" Open the manual. "Space" Pause / Continue "CTRL-C" Copy the path of the file under the mouse to the clipboard. "+" Zoom in. "-" Zoom out. "Arrow up" Scroll 8 pixels up. "Arrow down" Scroll 8 pixels up. "Home" Scroll to top. "End" Scroll to bottom. "Page Up" Scroll up half a page. "Page Down" Scroll down half a page.
* Added the "!RunTime!" macro.
* Added the "!Include!" macro.
* Added Japanese translation.
* Fixed the screensaver so it will add double-quotes around the name of the selected script.
* Made some changes in PreventScreenSaving() and PreventPowerSaving() in the hope of solving a bug where running MyDefrag disables screen- and powersaving in Windows.
* Added some extra paths to find scripts, see the * RunScript manual page.
* Added Slovenian translation.
* Changed the location of the debug logfile. Previously it was the current directory, now it is the installation directory. Also changed the name of the screensaver debug logfile into "MyDefrag.debuglog" (previously "MyDefragScreenSaver.debuglog").
* Added Portuguese translation.
* Changed the default for the OtherInstances() setting from "exit" into "ask".
* Replaced the ExitIfOnBatteryPower() command with the BatteryPower() setting. Previously the program would exit without warning if the computer was running on battery power. Now it will show a popup window asking if it should continue.
* Changed the vacate policy. If there is no gap large enough for the item to be vacated then the program will now take the largest gap available, instead of the first gap.
* Created a workaround for the SortByName() fileaction and the root directory on NTFS volumes. Previously it would ignore the root directory, now it will always place the root directory as the very first directory.
* Added Turkish translation.
* Deleted the SetPalette() setting and added the SetColor() and SetFileColor() settings.
* Added Estonian translation.
* Added Russian translation.
* The "$BadClus:$Bad:$DATA" file on NTFS disks is no longer listed in the logfile in the "These items could not be moved", "These items are fragmented", and "The 25 largest items on disk" lists.
* Fixed a bug in the graphics code for drawing files on the diskmap. If a file spanned more than 2 lines on the display then the top line (the end of the file) would always be drawn all the way to the right side of the display.
- Reverted back to an old Microsoft Screensaver library. The 2008 compiler has a library that is incompatible with Windows XP ("The procedure entry point ChangeWindowMessageFilter could not be located in the dynamic link library USER32.dll").
- Fixed a problem with extremely long path names.
- Upgraded to the Microsoft Visual Studio 2008 compiler.
- Logfile is now written in UTF-8, it used to be ANSI.
- Changed the default font into a smaller font.
- A change in the display code to respond faster to multiple redraw requests, for example when the users resizes the window.
- Rewrite of the subroutine that finds combinations of files to fill a gap, to make it faster.
- Changed the algorithm for "-a 6" (move to end of disk) to better fill gaps.
- Changed the way disks are accessed to accomodate special kinds of disks, such as virtual and encrypted disks.
- Bugfix in the screensaver for very long commandlines.
- Change in the disk analyzation code to fix a "zero bytes per cluster" problem.
- Re-fixed the "DisableDefaults" bug.
- Partial undo of the change that uses the mountpoint of a volume. It was causing
problems during the automatic scanning for disks to be defragmented.
- Pushed the "Zone calculation" messages down to debug level 4.
- Fixed the VisualC example project.
- Fixed a bug in the Windows version that for some users caused the display of
the diskmap to get stuck.
- Fixed a bug in the forced-fill optimization that caused the program to skip
fragments that were left by filling a gap with a part of the fragment.
- If the volumename of a disk cannot be determined then the program will now
fallback to using the mountpoint of a volume to open a handle.
- If the user specifies a short input mask without a wildcard, for example "C:"
or "C:", then the input mask is rewritten as "C:*".
- Fixed a bug where the special "DisableDefaults" spacehogs mask only disabled
the masks, but not the "Files bigger than 50 megabytes"" and "Files not
accessed in the last month" criteria.
- Bundled some language-specific SpaceHogs masks into
"?:\*\Installshield Installation Information\*".
- Moved the "Volume ID" message for FAT disks from debug level zero to 6.
- Fixed a problem in the Windows version, it now redraws the diskmap when the user changes the size of the window.
- Added special cases to the exclude masks to recognise a drive letter without an asterisk, for example "c", "c:", or "c:".
- FAT disks are now analysed by directly reading the FAT from disk. This is a lot
faster, and finds more system files.
- Changes to the graphics routines in the Windows and screensaver versions.
The screen is now updated faster and more efficiently.
- Added the "average begin-end distance" statistic to the report.
- The commandline is now scanned for the "-l" logfile option before anything
is written to the logfile.
- Changed the progress counter for the Fixup phase.
- Added a second fixup phase after optimizing "-a 3" to catch files that could not
be moved the first time.
- Bugfix for automatic processing of volumes that are mounted on a directory
instead of a drive letter.
- Total rewrite of the "-a 7"..."-a 11" sorted optimizations.
- Total rewrite of the code that calculates the begin of the zones.
- Excluded files are no longer listed in the "These items could not be moved" report.
- Bugfix in the Windows version for very long filenames.
- Added exception to ignore the Symantec GoBack configuration files.
- Added protection against defragging hybernated disks.
- Added to the list of build-in spacehogs: