I use JkDefrag gladly since version 2.26.
How about to add a history file in the doc folder like this:
JkDefrag v3.5 (Jan 07, 2007)
- Different method of starting the alternate screensaver, in the hope it will work for more users.
- Added the "%SystemRoot%" folder to scan for screensavers.
- Added a "2003" test to filter out non-standard screensavers.
- Added zero to the choices in the "do not defrag if last run was less than ... hours ago" in the screensaver configuration window.
- Bugfix: if more than one disk was specified on the commandline, and the program was stopped by the user during any but the last disk, then the program would close the window, finish the current file, and start processing the next disk in the background. It will now close the window and finish the current file.
- Different method for determining the LCN of a file, in the hope it will fix a looping problem with compressed files during optimization.
- Made a change in the method used to defragment huge files to reduce the number of midway fails, and make it faster.
- Added debug level 6 for detailed gap-finding messages.
- The "Analyzing disk", "Starting defragmenter for", and "Finished" messages are now written to the logfile.
- For DLL users: Added a parameter to the ShowMove() callback.
- For DLL users: extra message 46.
JkDefrag v3.4 (Dec 25, 2006)
- The screensaver now has several settings. You can specify commandline options just like with the other versions, so you can control which disks will be defragged; you can specify another screensaver to run when JkDefrag has finished; and you can select a number of hours to wait before running again.
- The screensaver now writes all the messages to a logfile, just like the other versions.
- Added a bit of code that will find fragmented files at the end of a gap. It's not really necessary but makes certain warnings a bit less confusing.
JkDefrag v3.3 (Dec 15, 2006)
- Bugfix for the X64 versions. The program ran but couldn't find any files and therefore didn't do any work. I wish I had an X64 system to test new versions on! Anyone care to donate a computer?
- Added a couple more files to the internal dollar-list of special system files.
JkDefrag v3.2 (Dec 13, 2006)
- Fixed a bug in the DLL that caused the name of the RunDefrag() subroutine to be mangled.
- The distributions now include a 'doc' directory with a copy of the JkDefrag homepage.
- Moved the .bat file to compile the X64 version to the main directory.
- Small change in the code that rewrites input paths.
- Suppressed "could not get volume bitmap" message at the end of the optimization phase.
JkDefrag v3.1 (Dec 08, 2006)
when running the program, "3.0" still appears at the top of the window.
Only the version string was incorrect.
JkDefrag v3.1 (Dec 07, 2006)
- Managed to compile the screensaver and the DLL for X64.
- Fixed a divide-by-zero error when the window is minimized.
- Added a bit of code to get backup permissions, to gain access to special system files and folders such as the "System Volume Information" folder.
- Added a maximum-loop counter to the code that finds out the size and location of file fragments, as a preventative measure for a suspected bug in the Windows defragmentation API.
- The dollar special system files (such as "$Mft") are no longer analysed when the user has specified a file or a folder on the commandline, but only for full disks.
JkDefrag v3.0 (Dec 03, 2006)
Changes between version 2.27a and version 3.0:
- I've changed the name from plain old "defrag" into "JkDefrag". The old name was really no name at all and made talking about it a little bit awkward. The "jk" are my initials. The change in name is reflected in the names of the executables and the sources, for example "windefrag.exe" is now "JkDefrag.exe".
- The program and it's sources are now released under the GNU General Public License, and the DLL library under the GNU Lesser general public license. Previously the program was copyrighted freeware with published sources.
- New to this release is the screen saver. You can use it just like any other screensaver, go to lunch and come back to a fully optimized harddisk.
- Big changes in the DLL to give programmers access to a lot more data and to make the library completely thread-safe. The new library is not downwards compatible, although the structure and calls resemble the old library.
Changes in the Windows version:
- Name changed from "windefrag.exe" into "JkDefrag.exe".
- Starts in a resizable window instead of full screen.
- Shows a percentage counter of how much is left to do.
Changes in the commandline version:
- Name changed from "defrag.exe" into "JkDefragCmd.exe".
- Prints a small report with some numbers when it has finished processing a disk. The windows version saves the report in the logfile, but does not show the numbers on the screen.
- Options are now processed before processing items.
- Ultra long paths are now supported. Previously the program was limited to a maximum pathlength of 259 characters, as advised by Microsoft, but there are cases where pathnames can grow longer than that. Most Microsoft programs cannot handle ultra long paths.
- Switched to Unicode wide-character strings and system calls for filenames and paths, instead of 8-bit ANSI.
- Replaced the commandline options "o", "o1", and "o2" with the "a" options. It is now possible to run the defragger in analyze-only mode.
- It is now possible to specify individual files on the commandline.
- It is now possible to defragment/optimize unmounted volumes by specifying them explicitly on the commandline.
- Changed the way invisible system files are colorized.
- Invisible system files can now be defragged/optimized when the utility is started from a read-only medium such as cd-rom.
- Fixed a bug that could cause the program to loop when moving files using strategy 2.
- Moved the already-running test from the library to the individual programs, so that the library can now process multiple disks simultaneaously.
Defrag version 2.27 (Nov 16, 2006)
- I have upgraded from "Microsoft Visual C++ Toolkit 2003" to "Visual C++ 2005 Express Edition", and from "Microsoft Platform SDK for Windows Server 2003 SP1" to "Microsoft Platform SDK for Windows Server 2003 R2". It required some minor changes in the sources.
- I've included a small "make.bat" in the sources to compile the defragger, and a "x64/make.bat" to compile the x64 versions.
Defrag version 2.27b (Nov 22, 2006)
This is an in-between maintenance release to fix a compilation bug in the X64 executables.
No changes in the regular Windows binaries, and 1 character changed in the sources.
Defrag version 2.26 (Nov 07, 2006)
- The defragger can now partially defragment. When it encounters a huge file for which there is no gap big enough, then it will defragment as much of the file as it can. Previously it would just skip the file.
- Added a commandline option "-s" to slow down the defragger.
- The program will now refuse to start if another instance is already running.
Defrag version 2.25 (Oct 23, 2006)
- Rewritten the code that draws (colorizes) files on the screen.
- Reorganised the debug messages.
- Fixed a bug that could cause the program to hang on startup.
- Changes that prepare for future partial defrag of huge files.
- Different strategy to retry moving a file.
- Went back to freespace and MFT optimization of version 2.23.
Defrag version 2.24 (Oct 13, 2006)
- Further improvements in the algorithms to optimize the directories, the scratch-area, and the files in the MFT-zone.
Defrag pre-versions 2.24 (Pre Oct, 2006)