5 stars award

UltraDefrag 6.0.1

Advertisements

UltraDefrag is an open source disk defragmenter for Windows NT 4.0 and later operating systems. It makes use of the same defragmenting API used by many other windows defrag utilities, both open and closed source. However, UltraDefrag has many features that makes it unique. Firstly it has a kernel mode driver that does most of the work, secondly is the ability to run the application at boot up time in a manner similar to chkdsk. This allows for faster defragmentation time and the ability to defragment all files including system files. It can also defrag single file or multiple directory and can generate a list of all fragmented files. The program is available for both 32bit and 64bit version of Windows running on both AMD and Intel based processor.

If you are having problems running UltaDefrag on Windows Vista then make sure to check out the VISTA INSTALLATION FAQ

Current version is 3.2.0 which is the sixth stable release of UltraDefrag.

Ultradefrag Has The Following Features:


* Defragmentation algorithm was completely rewritten to be more effective. Click To know more about the algorithm. Now UD is more reliable and effective.
* GUI configurator option to allow UD to be configured using a graphical window.
* Very fast defragmentation, the work is done via a kernel mode driver which has an optimal defraging algorithm.
* Single file or directory defragmentation ability. Select any file or folder in Explorer and choose the appropriate context menu item to defragment them.
* Debug logging feature - Program writes debugging information to %windir%UltraDefraglogs directory. That means if your windows is installed in drive "C" and directory name is "Windows", then logs can be found in C:/Windows/UltraDefrag/Logs.
* Very small engine written in pure C.
* PortableDefrag can be installed on demand which can be carried around in USB storage devices and used without any installation.
* Nice graphical interface - compact and functional.
* A new graphical configurator which allows access to help files, boot time defrag option and UD font settings.
* Safety, because the file moving is accomplished with Microsoft`s own Defrag API.
* Simple to use.
* Set program`s filter to exclude unwanted files and folders from the analysis.
* Ability to generate html reports of fragmentation status.
* Ability to include/exclude files based on simple filters.
* Native x64 support.
* Free: Distributed with full source code under the GNU General Public License.

* Many Gui Translations Were Made:


Catalan, Chinese (Simplified), Chinese (Traditional), Japanese, Dutch, Danish, French, Farsi, German, Greek, Italian, Portuguese, Slovak, Swedish, Slovenian, Czech, Korean, Latvian, Polish, Portuguese (Brazilian), Spanish (AR), Thai

* Scripting support for boot time interface. Now you can do anything with your drives during the Windows Boot Process.
* Portable Version also available.
* Complete documentation avalable both online and on the installer.

User's rating:

  • Currently 4.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
Enlarge the screenshot of UltraDefrag
[ Enlarge Image ]

Download alternate UltraDefrag solution

Look at the free or trial alternatives and similar apps to UltraDefrag software by the tags. It's possible also to find substitutes for the most popular titles in the Operating System Utils category.

| Ultradefrag | Ultra Defragmenter | Optimize | Optimization | Open Source Disk Defragmenter | Hard Drive | Free Defragment | Defragmentation | Defragger | Boot Time Defragmentation | Boot Time Defragger |

History updates (Complete changelogs since the listing on this site)

6.0.1 [04-05-13]

- Installer no longer warns about Windows 8 being untested - shortened the delay after hitting the finish button of the installer - increased Windows 8 compatibility - the following translations were added: Armenian - the following translations were updated: Chinese (Traditional), Filipino (Tagalog), Italian, Portuguese, Spanish (AR), Ukrainian, Vietnamese Version 6.0.0 2013-03-02 ------------------------------------------------------------------------------ - the following translations were updated: Chinese (Traditional) RC3: - fixed bug #175 "End of stage shows completion at 0.0%" - log creation in case of out of memory condition added - performance of analysis for fragmented files count above 30000 was improved dramatically - the following translations were updated: Chinese (Traditional), Dutch, Iloko, Italian, Russian, Spanish (ES), Spanish (MEX) RC2: - upgrade check now better supports development releases - out of memory condition handling added RC1: - Internals: changed definition of WGX_OPTION structure - WgxGetControlDimensions routine added to wgx library - the following translations were added: Bengali - the following translations were updated: Catalan, Italian beta2: - added progress indication to the taskbar button for Windows 7 and more recent Windows editions; it can be turned on/off by show_progress_in_taskbar GUI option - file fragmentation reports moved from the root directories of the drives to the /reports sub-folder of the program's directory - added ability to configure the Explorer's context menu handler; an appropriate section added to guiopts.lua file - bug fix: UD_IN_FILTER forced to be not ignored when individual files/directories are specified on the command line - bug fix: UD_SORTING and UD_SORTING_ORDER environment variables forced to be set properly on GUI startup according to the Preview menu selections - added prefixes for all the debugging messages for easier analysis of logs - Internals: many prototypes changed in zenwinx, udefrag, wgx libraries; obsolete routines removed - winx_bootex_check routine added to zenwinx library - udefrag_init_library, udefrag_unload_library, udefrag_bootex_check, udefrag_bootex_register, udefrag_bootex_unregister routines added - WgxSetTaskbarProgressState, WgxSetTaskbarProgressValue, wgx_sprintf, wgx_vsprintf, wgx_swprintf, wgx_vswprintf routines added to wgx library - tracing macros for easier debugging added to zenwinx.h and wgx.h files - Windows Server 2003 DDK support dropped because of lack of variadic macros support there - use Windows Driver Kit v7.1.0 instead - the following translations were updated: Catalan beta1: - all the disk processing algorithms were reimplemented to reach better efficiency and shorter processing times - FAT optimization was implemented - ability to sort files on the disk by the disk optimization was added; files can be sorted by path, size, creation time, last modification time, last access time - in either ascending or descending order - ability to filter out files by size of their fragments was added (fragment_size_threshold option in GUI; UD_FRAGMENT_SIZE_THRESHOLD environment variable in command line tool and boot time interface) - ability to tune the disk optimization by UD_OPTIMIZER_FILE_SIZE_THRESHOLD environment variable (optimizer_file_size_threshold GUI option) was added - ability to suspend/resume the running job was added to GUI - ability to minimize the program to the taskbar notification area (system tray) was added; it can be turned on/off by minimize_to_system_tray GUI option - MFT optimization was forced to do nothing silently on non-NTFS disks - quite useless cyan color removed from the cluster map - icons were redesigned to reach better appearance on Windows Vista and above - high DPI screens support was improved - Internals: flags field removed from winx_file_disposition structure - many zenwinx prototypes changed by replacing short keyword by wchar_t - useless fat32_xxx fields removed from winx_volume_information structure - device_capacity field added to winx_volume_information structure - WgxShowWindow and WgxHideWindow definitions added to wgx.h file - WgxSetProcessPriority routine added to wgx library - Windows Server 2003 DDK needs to be patched in order to compile the program; look at rsc/compilation.dox for details

Other versions : 6.0.0 5.1.2 5.1.1 5.1.0 5.0.7 5.0.6 5.0.5 5.0.4 5.0.3 5.0.0

v6.0.0 [03-04-13]

- the following translations were updated: Chinese (Traditional) RC3: - fixed bug #175 "End of stage shows completion at 0.0%" - log creation in case of out of memory condition added - performance of analysis for fragmented files count above 30000 was improved dramatically - the following translations were updated: Chinese (Traditional), Dutch, Iloko, Italian, Russian, Spanish (ES), Spanish (MEX) RC2: - upgrade check now better supports development releases - out of memory condition handling added RC1: - Internals: changed definition of WGX_OPTION structure - WgxGetControlDimensions routine added to wgx library - the following translations were added: Bengali - the following translations were updated: Catalan, Italian beta2: - added progress indication to the taskbar button for Windows 7 and more recent Windows editions; it can be turned on/off by show_progress_in_taskbar GUI option - file fragmentation reports moved from the root directories of the drives to the /reports sub-folder of the program's directory - added ability to configure the Explorer's context menu handler; an appropriate section added to guiopts.lua file - bug fix: UD_IN_FILTER forced to be not ignored when individual files/directories are specified on the command line - bug fix: UD_SORTING and UD_SORTING_ORDER environment variables forced to be set properly on GUI startup according to the Preview menu selections - added prefixes for all the debugging messages for easier analysis of logs - Internals: many prototypes changed in zenwinx, udefrag, wgx libraries; obsolete routines removed - winx_bootex_check routine added to zenwinx library - udefrag_init_library, udefrag_unload_library, udefrag_bootex_check, udefrag_bootex_register, udefrag_bootex_unregister routines added - WgxSetTaskbarProgressState, WgxSetTaskbarProgressValue, wgx_sprintf, wgx_vsprintf, wgx_swprintf, wgx_vswprintf routines added to wgx library - tracing macros for easier debugging added to zenwinx.h and wgx.h files - Windows Server 2003 DDK support dropped because of lack of variadic macros support there - use Windows Driver Kit v7.1.0 instead - the following translations were updated: Catalan beta1: - all the disk processing algorithms were reimplemented to reach better efficiency and shorter processing times - FAT optimization was implemented - ability to sort files on the disk by the disk optimization was added; files can be sorted by path, size, creation time, last modification time, last access time - in either ascending or descending order - ability to filter out files by size of their fragments was added (fragment_size_threshold option in GUI; UD_FRAGMENT_SIZE_THRESHOLD environment variable in command line tool and boot time interface) - ability to tune the disk optimization by UD_OPTIMIZER_FILE_SIZE_THRESHOLD environment variable (optimizer_file_size_threshold GUI option) was added - ability to suspend/resume the running job was added to GUI - ability to minimize the program to the taskbar notification area (system tray) was added; it can be turned on/off by minimize_to_system_tray GUI option - MFT optimization was forced to do nothing silently on non-NTFS disks - quite useless cyan color removed from the cluster map - icons were redesigned to reach better appearance on Windows Vista and above - high DPI screens support was improved - Internals: flags field removed from winx_file_disposition structure - many zenwinx prototypes changed by replacing short keyword by wchar_t - useless fat32_xxx fields removed from winx_volume_information structure - device_capacity field added to winx_volume_information structure - WgxShowWindow and WgxHideWindow definitions added to wgx.h file - WgxSetProcessPriority routine added to wgx library - Windows Server 2003 DDK needs to be patched in order to compile the program; look at rsc/compilation.dox for details Version 5.1.2 2012-12-18 ------------------------------------------------------------------------------ - USB keyboards detection problem solved for the boot time interface - bug fix: boot time logs forced to use correct error messages - now displaying a message when installing on a newer versions than Windows 7, to make users aware of UltraDefrag being not tested on anything newer than Windows 7 currently - the following translations were updated: Iloko, Russian, Spanish (ES), Tamil Version 5.1.1 2012-11-11 ------------------------------------------------------------------------------ - it is now supported to install over an existing portable package - a problem with launching the cluster map legend from the help menu, if the path to the HTML file contained spaces, is fixed - the following translations were updated: Czech, Greek, Hungarian, Iloko, Javanese, Latvian, Tamil Version 5.1.0 2012-10-18 ------------------------------------------------------------------------------ - added fragmentation level display to all the interfaces - added ability to skip the disk processing when fragmentation level is below a specified one (fragmentation_threshold option in GUI; UD_FRAGMENTATION_THRESHOLD environment variable in command line tool and boot time interface) - added settings for file pattern groups to easier exclude or include groups of files (fixes issue #3449331) - bug fix: GUI forced to handle any setting changes reliably - bug fix: filters forced to be case insensitive for all the characters (they worked properly for ANSI characters only) - added ability to specify the installation folder - added log file creation to debug silent installations - the following translations were added: Malay - the following translations were updated: Albanian, Arabic, English (GB), French, Indonesian, Italian, Polish, Spanish (ES), Spanish (MEX) - Internals: creation_time, last_modification_time, last_access_time members added to the winx_file_info structure - bug fix: winx_wcsistr, winx_wcsmatch, winx_patfind, winx_patcmp routines forced to work properly for all the characters (they worked well for ASCII characters only) - bug fix: winx_hr_to_bytes routine forced to convert numbers with leading zeros after the decimal point properly - winx_toupper, winx_tolower, winx_wcsistr, winx_stristr, winx_wcsmatch, winx_patfind, winx_patcmp routines optimized for speed - winx_towupper, winx_towlower, winx_wcsupr, winx_wcslwr, winx_wcsicmp routines added to zenwinx library to be used instead of the fake Windows routines working properly for ASCII characters only - udefrag_towupper, udefrag_towlower, udefrag_wcsupr, udefrag_wcslwr, udefrag_wcsicmp routines added to udefrag library for the same reasons as mentioned above - os.setenv, os.getenv Lua routines reimplemented for better reliability Version 5.0.7 2012-09-01 ------------------------------------------------------------------------------ - added compatibility with the following software by exclusion their essential files from moving (excluded files are listed in brackets): SafeBoot (safeboot.fs), Symantec GoBack (Gobackio.bin), PGP Whole Disk Encryption (PGPWDE0*), Acronis OS Selector (bootwiz*), DriveCrypt (BootAuth?.sys), DiskCryptor ($dcsys$) - added crash handling code to the GUI, it shows the crash information on startup when the program crashed during the last run - changed unit suffixes from lower case 'b' to capital 'B', this is going conform with the SI units. Current scripts will still function, since we ignore character case. - error messages of the command line tool redirected to stderr while everything else - to stdout to comply with the common practice - fixed the progress indicator overflow; now it should never exceed 100% - added option to specify a custom cluster map background color (free-space color) - included further information in the documentation to fix bug #3561122 - the following translations were added: Lithuanian, Albanian - the following translations were updated: Vietnamese, Polish, Iloko, Portuguese (BR), Norwegian, Slovak, Chinese (Simplified), Chinese (Traditional), Spanish (MEX), Wáray-Wáray, Japanese, Spanish (AR) - Internals: WgxPrintUnicodeString, WgxCheckAdminRights routines added to wgx library Version 5.0.6 2012-06-20 ------------------------------------------------------------------------------ - GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.1.2 [12-20-12]

beta1: - all the disk processing algorithms were reimplemented to reach better efficiency and shorter processing times - FAT optimization was implemented - ability to sort files on the disk by the disk optimization was added; files can be sorted by path, size, creation time, last modification time, last access time - in eighter ascending or descending order - ability to filter out files by size of their fragments was added (fragment_size_threshold option in GUI; UD_FRAGMENT_SIZE_THRESHOLD environment variable in command line tool and boot time interface) - ability to tune the disk optimization by UD_OPTIMIZER_FILE_SIZE_THRESHOLD environment variable (optimizer_file_size_threshold GUI option) was added - ability to suspend/resume the running job was added to GUI - ability to minimize the program to the taskbar notification area (system tray) was added; it can be turned on/off by minimize_to_system_tray GUI option - MFT optimization was forced to do nothing silently on non-NTFS disks - quite useless cyan color removed from the cluster map - icons were redesigned to reach better appearance on Windows Vista and above - high DPI screens support was improved - Internals: flags field removed from winx_file_disposition structure - many zenwinx prototypes changed by replacing short keyword by wchar_t - useless fat32_xxx fields removed from winx_volume_information structure - device_capacity field added to winx_volume_information structure - WgxShowWindow and WgxHideWindow definitions added to wgx.h file - WgxSetProcessPriority routine added to wgx library - Windows Server 2003 DDK needs to be patched in order to compile the program; look at rsc/compilation.dox for details Version 5.1.2 2012-12-18 ------------------------------------------------------------------------------ - USB keyboards detection problem solved for the boot time interface - bug fix: boot time logs forced to use correct error messages - now displaying a message when installing on a newer versions than Windows 7, to make users aware of UltraDefrag being not tested on anything newer than Windows 7 currently - the following translations were updated: Iloko, Russian, Spanish (ES), Tamil Version 5.1.1 2012-11-11 ------------------------------------------------------------------------------ - it is now supported to install over an existing portable package - a problem with launching the cluster map legend from the help menu, if the path to the HTML file contained spaces, is fixed - the following translations were updated: Czech, Greek, Hungarian, Iloko, Javanese, Latvian, Tamil Version 5.1.0 2012-10-18 ------------------------------------------------------------------------------ - added fragmentation level display to all the interfaces - added ability to skip the disk processing when fragmentation level is below a specified one (fragmentation_threshold option in GUI; UD_FRAGMENTATION_THRESHOLD environment variable in command line tool and boot time interface) - added settings for file pattern groups to easier exclude or include groups of files (fixes issue #3449331) - bug fix: GUI forced to handle any setting changes reliably - bug fix: filters forced to be case insensitive for all the characters (they worked properly for ANSI characters only) - added ability to specify the installation folder - added log file creation to debug silent installations - the following translations were added: Malay - the following translations were updated: Albanian, Arabic, English (GB), French, Indonesian, Italian, Polish, Spanish (ES), Spanish (MEX) - Internals: creation_time, last_modification_time, last_access_time members added to the winx_file_info structure - bug fix: winx_wcsistr, winx_wcsmatch, winx_patfind, winx_patcmp routines forced to work properly for all the characters (they worked well for ASCII characters only) - bug fix: winx_hr_to_bytes routine forced to convert numbers with leading zeros after the decimal point properly - winx_toupper, winx_tolower, winx_wcsistr, winx_stristr, winx_wcsmatch, winx_patfind, winx_patcmp routines optimized for speed - winx_towupper, winx_towlower, winx_wcsupr, winx_wcslwr, winx_wcsicmp routines added to zenwinx library to be used instead of the fake Windows routines working properly for ASCII characters only - udefrag_towupper, udefrag_towlower, udefrag_wcsupr, udefrag_wcslwr, udefrag_wcsicmp routines added to udefrag library for the same reasons as mentioned above - os.setenv, os.getenv Lua routines reimplemented for better reliability Version 5.0.7 2012-09-01 ------------------------------------------------------------------------------ - added compatibility with the following software by exclusion their essential files from moving (excluded files are listed in brackets): SafeBoot (safeboot.fs), Symantec GoBack (Gobackio.bin), PGP Whole Disk Encryption (PGPWDE0*), Acronis OS Selector (bootwiz*), DriveCrypt (BootAuth?.sys), DiskCryptor ($dcsys$) - added crash handling code to the GUI, it shows the crash information on startup when the program crashed during the last run - changed unit suffixes from lower case 'b' to capital 'B', this is going conform with the SI units. Current scripts will still function, since we ignore character case. - error messages of the command line tool redirected to stderr while everything else - to stdout to comply with the common practice - fixed the progress indicator overflow; now it should never exceed 100% - added option to specify a custom cluster map background color (free-space color) - included further information in the documentation to fix bug #3561122 - the following translations were added: Lithuanian, Albanian - the following translations were updated: Vietnamese, Polish, Iloko, Portuguese (BR), Norwegian, Slovak, Chinese (Simplified), Chinese (Traditional), Spanish (MEX), Wáray-Wáray, Japanese, Spanish (AR) - Internals: WgxPrintUnicodeString, WgxCheckAdminRights routines added to wgx library Version 5.0.6 2012-06-20 ------------------------------------------------------------------------------ - GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.1.1 [11-12-12]

beta1: - all the disk processing algorithms were reimplemented to reach better efficiency and shorter processing times - FAT optimization was implemented - ability to sort files on the disk by the disk optimization was added; files can be sorted by path, size, creation time, last modification time, last access time - in eighter ascending or descending order - ability to filter out files by size of their fragments was added (fragment_size_threshold option in GUI; UD_FRAGMENT_SIZE_THRESHOLD environment variable in command line tool and boot time interface) - ability to tune the disk optimization by UD_OPTIMIZER_FILE_SIZE_THRESHOLD environment variable (optimizer_file_size_threshold GUI option) was added - ability to suspend/resume the running job was added to GUI - ability to minimize the program to the taskbar notification area (system tray) was added; it can be turned on/off by minimize_to_system_tray GUI option - MFT optimization was forced to do nothing silently on non-NTFS disks - quite useless cyan color removed from the cluster map - icons were redesigned to reach better appearance on Windows Vista and above - high DPI screens support was improved - Internals: flags field removed from winx_file_disposition structure - many zenwinx prototypes changed by replacing short keyword by wchar_t - useless fat32_xxx fields removed from winx_volume_information structure - device_capacity field added to winx_volume_information structure - WgxShowWindow and WgxHideWindow definitions added to wgx.h file - WgxSetProcessPriority routine added to wgx library - Windows Server 2003 DDK needs to be patched in order to compile the program; look at rsc/compilation.dox for details Version 5.1.1 2012-11-11 ------------------------------------------------------------------------------ - it is now supported to install over an existing portable package - a problem with launching the cluster map legend from the help menu, if the path to the HTML file contained spaces, is fixed - the following translations were updated: Czech, Greek, Hungarian, Iloko, Javanese, Latvian, Tamil Version 5.1.0 2012-10-18 ------------------------------------------------------------------------------ - added fragmentation level display to all the interfaces - added ability to skip the disk processing when fragmentation level is below a specified one (fragmentation_threshold option in GUI; UD_FRAGMENTATION_THRESHOLD environment variable in command line tool and boot time interface) - added settings for file pattern groups to easier exclude or include groups of files (fixes issue #3449331) - bug fix: GUI forced to handle any setting changes reliably - bug fix: filters forced to be case insensitive for all the characters (they worked properly for ANSI characters only) - added ability to specify the installation folder - added log file creation to debug silent installations - the following translations were added: Malay - the following translations were updated: Albanian, Arabic, English (GB), French, Indonesian, Italian, Polish, Spanish (ES), Spanish (MEX) - Internals: creation_time, last_modification_time, last_access_time members added to the winx_file_info structure - bug fix: winx_wcsistr, winx_wcsmatch, winx_patfind, winx_patcmp routines forced to work properly for all the characters (they worked well for ASCII characters only) - bug fix: winx_hr_to_bytes routine forced to convert numbers with leading zeros after the decimal point properly - winx_toupper, winx_tolower, winx_wcsistr, winx_stristr, winx_wcsmatch, winx_patfind, winx_patcmp routines optimized for speed - winx_towupper, winx_towlower, winx_wcsupr, winx_wcslwr, winx_wcsicmp routines added to zenwinx library to be used instead of the fake Windows routines working properly for ASCII characters only - udefrag_towupper, udefrag_towlower, udefrag_wcsupr, udefrag_wcslwr, udefrag_wcsicmp routines added to udefrag library for the same reasons as mentioned above - os.setenv, os.getenv Lua routines reimplemented for better reliability Version 5.0.7 2012-09-01 ------------------------------------------------------------------------------ - added compatibility with the following software by exclusion their essential files from moving (excluded files are listed in brackets): SafeBoot (safeboot.fs), Symantec GoBack (Gobackio.bin), PGP Whole Disk Encryption (PGPWDE0*), Acronis OS Selector (bootwiz*), DriveCrypt (BootAuth?.sys), DiskCryptor ($dcsys$) - added crash handling code to the GUI, it shows the crash information on startup when the program crashed during the last run - changed unit suffixes from lower case 'b' to capital 'B', this is going conform with the SI units. Current scripts will still function, since we ignore character case. - error messages of the command line tool redirected to stderr while everything else - to stdout to comply with the common practice - fixed the progress indicator overflow; now it should never exceed 100% - added option to specify a custom cluster map background color (free-space color) - included further information in the documentation to fix bug #3561122 - the following translations were added: Lithuanian, Albanian - the following translations were updated: Vietnamese, Polish, Iloko, Portuguese (BR), Norwegian, Slovak, Chinese (Simplified), Chinese (Traditional), Spanish (MEX), Wáray-Wáray, Japanese, Spanish (AR) - Internals: WgxPrintUnicodeString, WgxCheckAdminRights routines added to wgx library Version 5.0.6 2012-06-20 ------------------------------------------------------------------------------ - GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.1.0 [10-21-12]

- added fragmentation level display to all the interfaces - added ability to skip the disk processing when fragmentation level is below a specified one (fragmentation_threshold option in GUI; UD_FRAGMENTATION_THRESHOLD environment variable in command line tool and boot time interface) - added settings for file pattern groups to easier exclude or include groups of files (fixes issue #3449331) - bug fix: GUI forced to handle any setting changes reliably - bug fix: filters forced to be case insensitive for all the characters (they worked properly for ANSI characters only) - added ability to specify the installation folder - added log file creation to debug silent installations - the following translations were added: Malay - the following translations were updated: Albanian, Arabic, English (GB), French, Indonesian, Italian, Polish, Spanish (ES), Spanish (MEX) - Internals: creation_time, last_modification_time, last_access_time members added to the winx_file_info structure - bug fix: winx_wcsistr, winx_wcsmatch, winx_patfind, winx_patcmp routines forced to work properly for all the characters (they worked well for ASCII characters only) - bug fix: winx_hr_to_bytes routine forced to convert numbers with leading zeros after the decimal point properly - winx_toupper, winx_tolower, winx_wcsistr, winx_stristr, winx_wcsmatch, winx_patfind, winx_patcmp routines optimized for speed - winx_towupper, winx_towlower, winx_wcsupr, winx_wcslwr, winx_wcsicmp routines added to zenwinx library to be used instead of the fake Windows routines working properly for ASCII characters only - udefrag_towupper, udefrag_towlower, udefrag_wcsupr, udefrag_wcslwr, udefrag_wcsicmp routines added to udefrag library for the same reasons as mentioned above - os.setenv, os.getenv Lua routines reimplemented for better reliability Version 5.0.7 2012-09-01 ------------------------------------------------------------------------------ - added compatibility with the following software by exclusion their essential files from moving (excluded files are listed in brackets): SafeBoot (safeboot.fs), Symantec GoBack (Gobackio.bin), PGP Whole Disk Encryption (PGPWDE0*), Acronis OS Selector (bootwiz*), DriveCrypt (BootAuth?.sys), DiskCryptor ($dcsys$) - added crash handling code to the GUI, it shows the crash information on startup when the program crashed during the last run - changed unit suffixes from lower case 'b' to capital 'B', this is going conform with the SI units. Current scripts will still function, since we ignore character case. - error messages of the command line tool redirected to stderr while everything else - to stdout to comply with the common practice - fixed the progress indicator overflow; now it should never exceed 100% - added option to specify a custom cluster map background color (free-space color) - included further information in the documentation to fix bug #3561122 - the following translations were added: Lithuanian, Albanian - the following translations were updated: Vietnamese, Polish, Iloko, Portuguese (BR), Norwegian, Slovak, Chinese (Simplified), Chinese (Traditional), Spanish (MEX), Wáray-Wáray, Japanese, Spanish (AR) - Internals: WgxPrintUnicodeString, WgxCheckAdminRights routines added to wgx library Version 5.0.6 2012-06-20 ------------------------------------------------------------------------------ - GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.7 [09-01-12]

- added compatibility with the following software by exclusion their essential files from moving (excluded files are listed in brackets): SafeBoot (safeboot.fs), Symantec GoBack (Gobackio.bin), PGP Whole Disk Encryption (PGPWDE0*), Acronis OS Selector (bootwiz*), DriveCrypt (BootAuth?.sys), DiskCryptor ($dcsys$) - added crash handling code to the GUI, it shows the crash information on startup when the program crashed during the last run - changed unit suffixes from lower case 'b' to capital 'B', this is going conform with the SI units. Current scripts will still function, since we ignore character case. - error messages of the command line tool redirected to stderr while everything else - to stdout to comply with the common practice - fixed the progress indicator overflow; now it should never exceed 100% - added option to specify a custom cluster map background color (free-space color) - included further information in the documentation to fix bug #3561122 - the following translations were added: Lithuanian, Albanian - the following translations were updated: Vietnamese, Polish, Iloko, Portuguese (BR), Norwegian, Slovak, Chinese (Simplified), Chinese (Traditional), Spanish (MEX), Wáray-Wáray, Japanese, Spanish (AR) - Internals: WgxPrintUnicodeString, WgxCheckAdminRights routines added to wgx library Version 5.0.6 2012-06-20 ------------------------------------------------------------------------------ - GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.6 [07-10-12]

- GUI debugging output was forced to be saved in the log file - added "Debug" item to the help menu - added "View change log", "View translation report" and "Submit current translation" items to language menu - result of the previous operation stays visible for the boot time interface - the following translations were updated: Arabic, Portuguese, Italian, Spanish (ES), Hebrew, Serbian, Javanese, Indonesian (Bahasa Indonesia), Polish, Korean, Filipino (Tagalog), Iloko, Chinese (Simplified), Dutch, Portuguese (BR), Danish, Hindi, Bulgarian, Russian - the following translations were renamed: French (FR) to French, Bosanski to Bosnian and Vietnamese (VI) to Vietnamese - Internals: winx_to_utf8 routine added to zenwinx library - winx_dbg_print routine enhanced: $NS and $LE magic sequences support added - udefrag_dbg_print routine added to udefrag library - WgxSetDbgPrintHandler routine added to wgx library Version 5.0.5 2012-05-05 ------------------------------------------------------------------------------ - repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.5 [05-18-12]

- repair drives action was added to the GUI menu - displaying the cluster map legend from the help menu was added - cluster map scaling was forced to be more accurate - GUI options verification was added - a bug causing "wrong map detected" error was fixed - ability to analyze, optimize and quick optimize drive from Explorer context menu added - relative log paths support added to both GUI and console interface - support of Unicode strings added to GUI options - encoding of language packs changed to UTF-8 - status bar MFT string removed from translations, since it is nearly impossible to translate due to space issues - handbook section about bug reporting reworked to include detailed steps - the following translations were updated: Hebrew, Bosanski - Internals: make-mingw-projects.lua script added - WgxCreateProcess and WgxCreateThread routines added to wgx library - winx_flush_dbg_log routine added to zenwinx library - udefrag_flush_dbg_log routine added to udefrag library - os.setenv routine added to Lua library - WgxBuildResourceTable, WgxSetText, WgxGetResourceString prototypes changed as well as WGX_I18N_RESOURCE_ENTRY structure definition - unsafe IncreaseGoogleAnalyticsCounterAsynch routine removed from wgx library Version 5.0.4 2012-04-07 ------------------------------------------------------------------------------ - dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.4 [04-16-12]

- dirty volumes needing CHKDSK repair were returned to the drives list with a special mark in their status field - taskbar icon overlay indicating that a job is running was added for Windows 7 and more recent Windows editions; it can be turned on/off by show_taskbar_icon_overlay GUI option - menu item to manually check for updates added - i18n support was added to file fragmentation reports - the following translations were updated: Korean, French (FR), Spanish (AR), Croatian, Spanish (MEX), Wáray-Wáray - menu icons for high DPI screens were added - Internals: WgxSetTaskbarIconOverlay, WgxRemoveTaskbarIconOverlay, WgxLoadIcon and WgxGetTextDimensions routines added to wgx library - WgxGetResourceString behavior changed - math.lshift function added to Lua library - incremental compilation enabled - MS Visual Studio 6.0 development environment support dropped Version 5.0.3 2012-02-26 ------------------------------------------------------------------------------ - produce_html_report and produce_plain_text_report options were added to the udreportopts.lua file; now the program generates text reports only when they're enabled explicitly - GUI was forced to open plain text reports in case of turned off HTML reports generation - size of plain text reports was reduced by use of UTF-8 encoding instead of UTF-16 - one bug preventing language selection saving on installation was fixed - menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option - one bug in GUI cluster map draw was fixed - few bugs in disk optimization algorithm were fixed - UD_SIZELIMIT environment variable superseded by UD_FILE_SIZE_THRESHOLD, sizelimit GUI option superseded by file_size_threshold option - environment variables expansion support was added to the boot time shell - the following translations were added: Wáray-Wáray - the following translations were updated: Iloko Version 5.0.2 2012-01-31 ------------------------------------------------------------------------------ - representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.3 [03-04-12]

- representation of disk clusters on the cluster map was improved - one little bug in MFT Zone redraw was fixed - registry is now queried for the number of installed keyboards to guarantee detection of all installed keyboards - Installer: forced default action for .luar files to be "view" - the following translations were added: Bosanski, Arabic - the following translations were updated: Dutch - some additions to the intro and GUI section of the documentation - PDF version of the documentation is now available as separate download Version 5.0.1 2012-01-08 ------------------------------------------------------------------------------ - few important bugs in disk processing routines were fixed - few bugs in MFT optimizer were fixed - one bug causing boot time interface freeze after "Good bye..." message was fixed - the following translations were updated: Finnish, Indonesian, Italian - some additions to the tips, FAQ and GUI sections of the documentation Version 5.0.0 2011-12-31 ------------------------------------------------------------------------------ - the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

v5.0.0 [01-02-12]

- the following translations were added: Kapampangan, Georgian - the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese RC2: - ability to defragment NTFS attribute lists was added - check for the volume dirty flag was added to the volume analysis - ability to select all disks by pressing Ctrl+A was added to GUI - ability to analyze disk by pressing Enter or double-clicking on the list row was added to GUI - the following translations were updated: Japanese, Korean, Italian, Iloko, Czech, Slovak, Portuguese (BR), Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Hungarian, Farsi, Yiddish - installer has been enhanced in the following ways: + usage tracking can be enabled/disabled during silent installations using the /S switch: * /DISABLE_USAGE_TRACKING ... enable/disable usage tracking through the web - added command script to create translation report as text/plain and text/wiki - few little bugs in volume processing routines were fixed - volume letter being processed was added to GUI title - a header was added to 'udefrag -l' command output - Internals: coding style changed: tabs replaced by four spaces - is_dirty flag added to winx_volume_information (zenwinx.h) and volume_info (udefrag.h) structures RC1: - FILTER SYNTAX CHANGED to provide better flexibility - ability to defragment folder itself without defragmentation of its contents added to the context menu of Windows Explorer - GUI options forced to be not overwritten at GUI program exit - MFT optimization implemented - repeat action menu and toolbar button were added to GUI - --repeat command line switch was added to the console interface and to the boot time defragmenter - volume label is now displayed by the console interface for -l and -la switches - ability to defragment a few more internal NTFS files ($Secure streams, $Extend folder and its subfolders) was added - ability to defragment reparse points was added - all the volume processing routines were optimized for speed - one bug causing incorrect time limit treatment was fixed - added display of the time limit at boot time - MFT zone draw was adjusted to be more precise and correct - few bugs in cluster map redraw algorithm were fixed - few bugs in volume processing routines were fixed - console interface help screen now includes examples - the following translations were added: Latin, Hebrew, Javanese, Indonesian (Bahasa Indonesia), Spanish (MEX) - the following translations were updated: Portuguese (BR), Yiddish, Hungarian, Spanish (ES), Dutch, Finnish, Italian, Iloko, Filipino (Tagalog), Catalan, Danish, Norwegian, Portuguese, Chinese (Traditional), Korean - installer has been enhanced in the following ways: + now checks Mutex to prevent install/remove while the program is running + installer supports full, micro edition and custom installation + component selections are remembered between installations + interfaces can be selected individually + shortcut icons can be selected individually + all selections can be done through command line switches during silent installations using the /S switch: * /FULL .............. install full edition * /MICRO ............. install micro edition (no GUI, no help, no icons) * /ICONS ............. install/remove all shortcut icons * /BOOT .............. install/remove boot time component * /CONSOLE ........... install/remove console component * /GUI ............... install/remove GUI component * /HELP .............. install/remove documentation * /SHELLEXTENSION .... install/remove Explorer context menu handler * /STARTMENUICON ..... install/remove start menu icon * /DESKTOPICON ....... install/remove desktop icon * /QUICKLAUNCHICON ... install/remove quick launch icon - one little bug causing log file path truncation in GUI was fixed - one bug causing infinite loops in volume optimization was fixed - progress percentage calculation was improved - volume analysis was allowed for full disks having no free space - Internals: winx_create_mutex, winx_open_mutex, winx_release_mutex, winx_destroy_mutex, winx_stristr, winx_wcsmatch, winx_patcmp, winx_defrag_fopen, winx_defrag_fclose functions added to zenwinx library - binary tree manipulation routines were added to zenwinx library; they're based on the GNU libavl red-black trees with parent pointers - winx_fbsize, winx_dfbsize, udefrag_fbsize, udefrag_dfbsize routines replaced by winx_bytes_to_hr, winx_hr_to_bytes, udefrag_bytes_to_hr, udefrag_hr_to_bytes routines in zenwinx and udefrag libraries - winx_exit_thread prototype changed by adding the exit status parameter - zenwinx_native_init and zenwinx_native_unload routines replaced by winx_init_library and winx_unload_library routines respectively - winx_init_failed and winx_kb_init routines added to zenwinx library - winx_init routine removed from zenwinx library - WINX_FTW_SKIP_RESIDENT_STREAMS flag added to winx_ftw and winx_scan_disk routines - WgxGetToolbarBitmapForMenu, WgxCreateMenuBitmapMasked functions added - calling conventions removed from all the function prototypes in all the libraries - silent mode (-s switch) added to lua5.1a_gui program beta3: - volume optimization reimplemented - quick volume optimization implemented - the cluster map now indicates unused map blocks with gray color - one bug preventing a proper redraw of defragmented files was fixed - few bugs causing infinite loops in defragmentation algorithm were fixed - one bug preventing MFT defragmentation was fixed - one bug preventing reports containing Asian characters in file names from being built was fixed - one bug preventing defragmentation in some cases on Windows NT 4.0 and Windows 2000 was fixed - the documentation was updated to include better information about taking screen-shots and creating support packages on the bug reports page - tree-view to select chapters was added to documentation and the default doxygen color theme is now used - the following translations were added: English (GB), Iloko - the following translations were updated: Korean, Turkish, Slovak, English (US), Hindi, Romanian, Filipino (Tagalog), Catalan, Spanish (ES), Greek, Chinese (Simplified), Polish, Swedish, Italian, Finnish, Chinese (Traditional), German, Hungarian, Danish - hexview command added to the boot time shell - Internals: udefrag_start_job prototype changed by adding algorithm preview flags beta2: - UD_LOG_FILE_PATH environment variable added to force save of debugging information to a log file. Intended for use in boot time interface and batch scripts. For the GUI a setting was introduced, which is equivalent to setting this variable. - boot time interface startup logging added; the program saves log files in %windir%UltraDefraglogs folder - a bug preventing the boot time defragmenter from being turned off fixed - the following translations were added: Indonesian - the following translations were updated: Spanish(ES), Czech, Belarusian, Ukrainian, Chinese(Traditional) - Internals: winx_strdup, winx_vsprintf, winx_sprintf, winx_enable_dbg_log, winx_disable_dbg_log, winx_get_module_filename, winx_path_remove_filename, winx_path_remove_extension, winx_path_extract_filename, winx_create_path, winx_init_spin_lock, winx_acquire_spin_lock, winx_release_spin_lock, winx_destroy_spin_lock functions added to zenwinx library - udefrag_set_log_file_path function added to udefrag library beta1: - defragmentation algorithm reimplemented; partial defragmentation improved - ability to defragment MFT as well as other internal NTFS files on Windows XP and Windows Server 2003 was added - ability to defragment internal NTFS files on Windows 2000 was added - one huge bug was fixed in the boot time defragmenter, udefrag.dll and zenwinx.dll libraries - they all have had improper definition of the IO_STATUS_BLOCK structure used by many undocumented Windows API functions - a problem was fixed, where the abort flag was not cleared, when entering the interactive mode at boot time - actions to take after processing is done implemented as separate menu - file status was added to reports - current time was added to reports - ability to specify not only drive letters but also paths of files and folders added to the command line and the boot time interfaces - Explorer context menu handler reimplemented to be more reliable (batch script used before caused sometimes an environment desynchronization due to the start of udefrag command with elevated privileges on Vista and Windows 7) - added icon to Explorer context menu handler in Windows 7 and later - the following translations were added: Galician, Tamil - the following translations were updated: Italian, Norwegian, Portuguese, Spanish(ES), French(FR), Dutch, Czech, Vietnamese(VI), Spanish(AR) - dry_run parameter added to GUI options as well as UD_DRY_RUN environment variable support added to the driver to be able to quickly test algorithms without actual data moves on disk - keyboard reading routines used at Windows boot time were reimplemented to reach higher reliability - Internals: winx_get_system_time, winx_get_local_time functions added to zenwinx library - ULONG_PTR wrong definition was replaced by correct one in ntndk.h file alpha2: - ability to resize list of volumes was added to graphical interface - the volume label is now displayed in the volume list - textual progress is now displayed in the status column of the volume list - file sizes were added to HTML reports - file sizes were converted to a human readable format in text reports - few bugs were fixed in the BootExecute Control program used to enable and disable the boot time defragmenter - Internals: build scripts were highly optimized - mistakes preventing build on the path containing spaces were eliminated - support of custom report options was added to simplify upgrade of default options - the following translations were updated: Chinese (Simplified) - the problem of dialog captions not being translated was fixed alpha1: - GUI was redesigned to be much more ergonomic (comfortable for daily use) - ability to change preferences without the need to restart GUI was added - ability to resize GUI window at any time was added; cluster map scales now automatically - GUI flicker on window resize was reduced - better hotkeys were assigned to GUI actions - the process of adding/editing/testing of translations was highly simplified - GUI uses system font respecting global Windows settings anywhere except of the list control for which mono-space fonts are more preferred - GUI uses custom font in all dialog boxes in case of Burmese (Padauk) translation, because otherwise Windows fail to display texts correctly - separate Configuration dialog was retired - Language Selector was retired - ability to run multiple instances simultaneously was added - the driver has been completely reworked to increase its reliability and flexibility; many complicated algorithms were replaced by obvious ones; as a side effect we have a noticeable speedup of the volume analysis - filter pattern length limitation (4096 characters) was removed - added hints about using CHKDSK to get a consistent drive - "Tips and Tricks" moved to separate handbook page to be accessible from the "Best Practice" help menu item - the following translations were added: Estonian, Vietnamese(VI), Burmese(Padauk), Spanish(ES) - the following translations were updated: Portuguese(BR), Czech, French (FR), Portuguese, Catalan - FAT12 and FAT16 volumes are displayed in GUI again as a simple FAT, because this highly speeds up the volume list building - Internals: dfrg.exe historical name of GUI executable was replaced by final name ultradefrag.exe - manifest was added to signal Vista and higher that this is a high DPI aware application (http://support.microsoft.com/kb/969789) - portable.x file became meaningless for the portable edition - winx_patcomp, winx_patfind, winx_patfree, winx_wcsdup, winx_vopen, winx_vflush, winx_ftw_dump_file, winx_get_free_volume_regions, winx_add_volume_region, winx_sub_volume_region, winx_release_free_volume_regions, winx_dbg_print_header, winx_toupper, winx_tolower functions added to zenwinx library - udefrag_get_volume_information function added to udefrag library - WgxDbgPrint, WgxDbgPrintLastError, WgxDisplayLastError, WgxSafeSubclassWindow, WgxSafeCallWndProc, WgxCenterWindow, WgxSetText, WgxCreateFont, WgxDestroyFont, WgxSaveFont, WgxGetOptions, WgxSaveOptions WgxBuildMenu, WgxBuildPopupMenu calls added to wgx library - WgxSetFont prototype changed - obsolete WgxGetLogFontStructureFromFile, WgxSaveLogFontStructureToFile calls removed from wgx.dll library

Average review rating :

Useful independent reviews and opinions of the users

Review UltraDefragWrite a review « Be the first to post a review for UltraDefrag download!

Predicted future versions and notices:

The doDownload.com constantly monitors the update of all programs, including information from the UltraDefrag 6.0.2 changelog file, however sometimes it can happen that data are not complete or are outdated.We assume that author continue's to develop 6.1.0 version with further advanced features, and soon you will be informed. Equally important 7.0.0 upgrades of the program we will continue to monitor. Full UltraDefrag description has been compared with the overall software database and our algorithm has found the following applications (are showed below).

Download 0.6MB UltraDefrag

Download Direct

(0.6MB, Extension: EXE)