Version 3.24 available now and finally back to being stable and 99% bug free:
http://www.kessels.com/JkDefrag/index.htmlChangelog since version 3.16 (ie since the disk reading improvements that introduced the latest bugs):
QUOTE
JkDefrag v3.17 (August 24, 2007)
Changes:
- NTFS disks are now analysed by directly reading the MFT from disk. This is a lot
faster, and finds more system files.
- NTFS streams are now supported and will be defragged and optimized.
- Added an icon.
- Added a version info resource to the executables.
- Added a manifest so Vista will always run JkDefrag with administrator privileges.
- Added support for short filenames. The masks now also work for short names, for
example "PROGRA~1" (instead of "Program Files").
- Spacehogs are now shown in dark-green, regular files in light-green. Allocated
space is now shown in grey, instead of black.
- Bugfix in redrawing the diskmap, to properly handle redraw-requests while
redrawing.
- Files larger than 1 gigabyte are now closed and re-opened at 1 gigabyte intervals.
- Change in the fast optimize algorithm. When a gap cannot be perfectly filled
the program now takes the highest file on disk that will fit, instead of the
largest file. This reduces the amount of data moved and optimization will finish
quicker.
- Added a special exception for the "?:\\BootAuth?.sys" files used by DriveCrypt.
- Added a few extra lines to the status report.
- The logfile now shows which command line options were used.
- Added to the default list of spacehogs:
?:\RECYCLED\* (FAT on 2K/XP)
?:\$RECYCLE.BIN\* (Vista)
?:\WINDOWS\Ehome\*
?:\WINDOWS\Fonts\*
?:\WINDOWS\Help\*
?:\WINDOWS\IME\*
?:\WINDOWS\Speech\*
?:\WINDOWS\Symbols\*
*.chm
*.mp3
*.pdf
*.bup
*.ifo
*.vob
*.avi
*.log
For programmers:
- All instances of CHAR changed into WCHAR. This has widespread implications in
many locations. I am hoping the change will fix the problem that some users
have reported on weird filenames.
- Renamed "JkDefrag.cpp" into "JkDefragLib.cpp"
- Renamed "JkDefrag.h" into "JkDefragLib.h"
- Renamed "JkDefragWindows.cpp" into "JkDefrag.cpp"
- Added "ScanNtfs.cpp" and "ScanNtfs.h"
- Several changes in the DefragDataStruct.
- Several changes in the "Makefile" to facilitate debugging.
JkDefrag v3.18 (August 26, 2007)
Changes:
- The icon now has a transparant background.
- Icon added to the X64 JkDefrag and JkDefragCmd binaries.
- Bugfix in the calculation of the begin of the zone's. The old method did not
take excluded files into account.
- Changed two buffers from being allocated with "new" into "malloc". I hope this
fixes the weird "ModName: ntdll.dll ModVer: 5.1.2600.2180" crash that some users
are experiencing on XP.
JkDefrag v3.19 (August 27, 2007)
Changes:
- Fixed a bug that caused the program to crash at various places during execution,
mostly on Windows XP.
- If the NtfsDisableLastAccessUpdate registry key is set then the program will
not look at the LastAccessTime when testing if a file is a SpaceHog.
- Added to the default list of spacehogs:
?:\I386\*
*.old
*.bak
JkDefrag v3.20 (August 29, 2007)
Changes:
- The NTFS analysis code now also interprets Inodes 12 to 23.
- Fixed a problem that caused the NTFS analysis code to malfunction on a-typical
NTFS disks.
- The icon now also shows in the taskbar and the upper-left-hand corner of
JkDefrag's window.
- Softened the messages generated by the NTFS analysis code.
JkDefrag v3.21 (August 30, 2007)
Changes:
- Fixed the fix in v3.20 for the problem that caused the NTFS analysis code to
malfunction on a-typical NTFS disks. The fix only worked on disks with a cluster
size of 4096 bytes, it now works on all disks.
JkDefrag v3.22 (August 30, 2007)
Changes:
- Yet another fix of the fix. The out-of-sequence rundata on these a-typical disks
caused yet another error. If have now made a special exception for the MFT to
accept even out-of-sequence rundata.
JkDefrag v3.23 (August 31, 2007)
Changes:
- Sigh. Yet another fix of the out-of-sequence problem that keeps plaguing a small
set of users. I have deleted the previous fixes and added code that will delay the
processing of the AttributeList in the MFT until the Data attribute has been
processed.
- Fixed the test for the NtfsDisableLastAccessUpdate registry key (see v3.19). If
the key is not available the program defaulted to ignoring the LastAccessTime.
JkDefrag v3.24 (September 3, 2007)
Changes:
- A final fix for the out-of-sequence problem. Beta tests by users show that the
problem is now finally fixed.
- Bugfix for missing parameter in status message that caused JkDefrag to crash
when it wanted to display the "Cannot find volume name for mountpoint" message.
This message can happen when scanning the system for disks and a special volume
is encountered such as a "subst" volume.
- The "25 largest items on disk" list in the statusreport is now sorted by (used)
clusters instead of by (allocated) bytes.
- Fixed the progress percentage during analysis of NTFS volumes. It was counting
too fast and reached 100% before analysis was complete.
- The "unmovable", "still fragmented", and "largest 25" lists in the report are now
suppressed if empty.
- Directories on FAT disks cannot be moved, this is a known limitation of the
Microsoft defragmentation API and not a bug in JkDefrag. To speed up things the
program will now count the number of failed tries to move directories, and when
it reaches 20 will ignore all directories.