UltraDefrag Changelog

What's new in UltraDefrag 7.1.2

Jul 1, 2019
  • Compatibility with HiDPI displays was improved
  • Turkish translation was updated

New in UltraDefrag 7.1.1 (Oct 15, 2018)

  • Links to documentation pages were fixed

New in UltraDefrag 7.1.0 (Sep 28, 2018)

  • The repeat action option was retired, now all the disk processing algorithms decide themselves whether it’s worth to run one more pass or not
  • Compatibility with Windows 8.1 and Windows 10 was improved
  • Cluster map was adjusted to always fit perfectly into the main frame
  • File fragmentation reports appearance was improved
  • Options.lua file was moved to conf subfolder to fix configuration
  • Tracking bugs (#222 and #225)
  • Explorer’s context menu entries were fixed to never show up
  • For special objects like recycle bin and control panel
  • File fragmentation reports were fixed to take daylight saving time
  • Settings into account
  • A lot of minor bugs were fixed
  • Documentation was expanded
  • The following translations were updated:
  • Chinese (China), English (United Kingdom), Estonian, French, Galician, German, Iloko, Italian, Japanese, Lithuanian, Polish, Portuguese, Portuguese (Brazil), Spanish, Spanish (Argentina), Spanish (Mexico), Swedish

New in UltraDefrag 7.0.2 (Dec 19, 2016)

  • graphical and command line tools were optimized for speed and size
  • the following translations were updated:
  • Arabic, Filipino (Tagalog), Iloko, Indonesian, Japanese, Ukrainian, Uzbek (Latin)

New in UltraDefrag 6.1.2 (Jul 8, 2016)

  • crash handling was reimplemented

New in UltraDefrag 7.0.1 (Mar 27, 2016)

  • wxWidgets were upgraded to the latest 3.1.0 release
  • crash handler was improved to handle division by zero errors
  • Uzbek (Latin) translation was added
  • the following translations were updated: Filipino (Tagalog), Iloko, Korean

New in UltraDefrag 7.0.0 RC 1 (Dec 21, 2015)

  • few minor bugs were fixed
  • the following translations were updated: Filipino (Tagalog), Spanish

New in UltraDefrag 7.0.0 Beta 6 (Dec 10, 2015)

  • few major bugs affecting thread safety were fixed

New in UltraDefrag 7.0.0 Beta 5 (Dec 7, 2015)

  • wxWidgets were upgraded to the latest stable 3.0.2 release
  • a lot of minor bugs were fixed
  • Finnish translation was updated
  • NOTE: the language selection got broken, because wxWidgets 3.0.2 uses different language identifiers; just click Settings > Language and select yours once again to fix that

New in UltraDefrag 7.0.0 Beta 4 (Nov 30, 2015)

  • safer options were used for compilation
  • Slovak translation was updated
  • one minor bug was fixed

New in UltraDefrag 6.1.1 (Nov 20, 2015)

  • Graphical interface forced to check for available updates more reliably

New in UltraDefrag 7.0.0 Beta 3 (Nov 20, 2015)

  • crash handling was reimplemented to gather more information
  • few minor bugs were fixed
  • Portuguese (Brazil) translation was updated

New in UltraDefrag 6.1.0 (Apr 19, 2015)

  • documentation was cleaned up
  • configuration files were superseded by a single options.lua file
  • few minor bugs were fixed

New in UltraDefrag 6.0.4 (Oct 25, 2014)

  • fixed a bug preventing configuration files creation on Windows 7

New in UltraDefrag 7.0.0 Beta 2 (Oct 20, 2014)

  • the following translations were updated: Catalan, Chinese (China), Chinese (Taiwan), Czech, Danish, Dutch, English (United Kingdom), French, Georgian, German, Greek, Hungarian, Iloko, Indonesian, Italian, Japanese, Korean, Lithuanian, Persian, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Spanish (Mexico), Swedish, Thai, Turkish, Ukrainian, Vietnamese

New in UltraDefrag 6.0.3 (Oct 20, 2014)

  • corrected a problem where the Windows folder was not detected properly if the terminal services were activated
  • online translation support discontinued due to migration to transifex
  • the following translations were updated: Filipino (Tagalog), Galician, German, Thai, Ukrainian

New in UltraDefrag 7.0.0 Beta 1 (May 21, 2013)

  • GUI and command line tool reimplemented on top of wxWidgets library
  • online translation migrated from http://ultradefrag.wikispaces.com/
  • to http://www.transifex.com/projects/p/ultradefrag/
  • initial language selection is now done by the GUI instead of the installer
  • ability to hide drives list columns through their resizing added
  • ability to apply for all or only stable update notifications added
  • multicolumn language selection menu implemented
  • internal GUI settings moved from guiopts-internals.lua to gui.ini file
  • Windows NT 4.0 and Windows 2000 support dropped due to poor API support
  • useless font selection dialog removed from GUI (adjust Windows theme instead)
  • scale_by_dpi GUI parameter removed, as well as disable_latest_version_check
  • and restore_default_window_size parameters (examine guiopts.lua file for details)
  • Internals: Windows Driver Kit support dropped because of its
  • unreliable development environment - use Windows SDK v7.1 instead
  • winx_vswprintf and winx_swprintf routines added to zenwinx library
  • wgx library replaced by wxWidgets library

New in UltraDefrag 6.0.2 (May 17, 2013)

  • the FAQ section of the handbook now contains information about how to set up v6 to optimize similarly to v5
  • the Explorer context menu is now reduced to a single entry with sub-menu on Windows 7 and above
  • the following translations were updated: Albanian, Danish, Filipino (Tagalog), Indonesian (Bahasa Indonesia), Javanese, Polish, Portuguese (BR)

New in UltraDefrag 6.0.1 (Apr 1, 2013)

  • 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

New in UltraDefrag 6.0.0 (Mar 4, 2013)

  • The following translation was updated: Chinese (Traditional)

New in UltraDefrag 6.0.0 RC 3 (Feb 27, 2013)

  • 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)

New in UltraDefrag 6.0.0 RC 2 (Feb 4, 2013)

  • Upgrade check now better supports development releases
  • Out of memory condition handling added

New in UltraDefrag 6.0.0 RC 1 (Jan 21, 2013)

  • 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

New in UltraDefrag 6.0.0 Beta 2 (Dec 24, 2012)

  • 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

New in UltraDefrag 5.1.2 (Dec 19, 2012)

  • 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

New in UltraDefrag 5.1.1 (Nov 12, 2012)

  • 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

New in UltraDefrag 6.0.0 Beta 1 (Nov 3, 2012)

  • 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

New in UltraDefrag 5.1.0 (Oct 18, 2012)

  • 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

New in UltraDefrag 5.0.7 (Sep 1, 2012)

  • 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

New in UltraDefrag 5.0.6 (Jun 21, 2012)

  • 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

New in UltraDefrag 5.0.5 (May 7, 2012)

  • 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

New in UltraDefrag 5.0.5 (May 7, 2012)

  • 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

New in UltraDefrag 5.0.4 (Apr 9, 2012)

  • 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

New in UltraDefrag 5.0.3 (Feb 27, 2012)

  • The GUI report options produce_html_report and produce_plain_text_report were added to the udreportopts.lua file; now the program generates text reports only when they are enabled explicitly.
  • A problem preventing language selection saving on installation was fixed.
  • Optional menu icons were added for Vista and more recent Windows editions; they can be enabled/disabled through the show_menu_icons GUI option.
  • A problem with the GUI cluster map drawing routine was fixed.
  • Some problems with the disk optimization algorithm were fixed.
  • Environment variables expansion support was added to the boot time shell.
  • The translation Wáray-Wáray has been added. Thanks to the translator.

New in UltraDefrag 5.0.2 (Feb 1, 2012)

  • 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

New in UltraDefrag 5.0.1 (Jan 9, 2012)

  • A problem where the MFT optimization aborted early was fixed.
  • A problem where the boot time interface would hang under certain conditions was fixed.
  • Additional information was added to the tips, GUI and FAQ sections of the documentation.

New in UltraDefrag 5.0.0 (Jan 3, 2012)

  • the following translations were added: Kapampangan, Georgian
  • the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese

New in UltraDefrag 5.0.0 RC 2 (Dec 26, 2011)

  • 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
  • dded 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

New in UltraDefrag 5.0.0 RC 1 (Oct 21, 2011)

  • 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
  • Developers: 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

New in UltraDefrag 5.0.0 Beta 3 (Jul 27, 2011)

  • 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)
  • 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
  • Developers: udefrag_start_job prototype changed by adding algorithm preview flags

New in UltraDefrag 5.0.0 Beta 2 (Jan 3, 2011)

  • 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%\UltraDefrag\logs 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)
  • Developers: 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

New in UltraDefrag 5.0.0 Beta 1 (Jan 3, 2011)

  • 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
  • Developers: 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

New in UltraDefrag 5.0.0 Alpha 2 (Jan 3, 2011)

  • 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
  • Developers: 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 translation was updated: Chinese (Simplified)
  • the problem of dialog captions not being translated was fixed

New in UltraDefrag 5.0.0 Alpha 1 (Jan 3, 2011)

  • 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
  • Developers: 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
  • 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

New in UltraDefrag 4.4.0 RC2 (Jan 3, 2011)

  • history of typed commands added to the boot time interactive mode; navigation is possible by arrow keys, 'history' command can be used to list all typed commands
  • call, man and type commands added to the boot time shell
  • echo, exit, pause and set commands of the boot time shell improved
  • clearing of the failed boot flag added for reboot and shutdown at boot time
  • pending boot-off boot time script command support added, this removes the limitation of boot-on/off not working before reboot/shutdown
  • interactive mode at boot time now displays help split into pages
  • escape key handling added to break the boot time script execution
  • boot time commands parsing was rewritten to increase reliability and flexibility of the boot time shell
  • corrected cluttered progress display if console output was redirected
  • optimized timeout for waiting for a keyboard event in boot time interface
  • the following translations were updated: Portuguese, Chinese (Traditional)
  • FAT formatted volumes are displayed in GUI now as FAT12/FAT16/FAT32 instead of less informative FAT/FAT32
  • winx_heap_alloc replaced by winx_heap_alloc_ex to allow specifying flags
  • winx_heap_alloc_zero added to allow allocating memory initialized with zero winx_ftw, winx_scan_disk, winx_fsize, winx_kb_read, winx_xtime, _prompt_ex, winx_get_file_contents, winx_release_file_contents, winx_wcsistr, winx_print_array_of_strings, winx_get_volume_information, calls were added to zenwinx library
  • winx_fbopen call added to zenwinx library for buffered file i/o support
  • obsolete winx_get_volume_size and winx_get_filesystem_name calls were removed from zenwinx library; use more common winx_get_volume_information instead
  • one little bug in winx_kbhit, winx_breakhit functions was fixed
  • udefrag_get_vollist and udefrag_release_vollist calls were added to udefrag library; an obsolete udefrag_get_avail_volumes was removed

New in UltraDefrag 4.4.0 RC1 (Aug 24, 2010)

  • GUI:
  • Progress is now added to the GUI window caption, so it is displayed in the tooltip of the taskbar icon.
  • Cryptic single character progress label was replaced by the localized operation names.
  • Driver:
  • Partial defragmentation was added to decrease number of fragments even when there are no free space on disk to hold all fragments of file together.
  • Volume optimization algorithm was improved to prevent useless additional optimization passes.
  • One little bug preventing optimization from being stopped was fixed.
  • Volume optimization algorithm was improved to prevent skipping heavily fragmented parts of the volume.
  • Boot time interface:
  • 10 seconds delay is skiped on boot time scan, if only one keyboard is present.
  • Translations:
  • Added language selector to the GUI package.
  • Hindi translation was added.
  • The following translations were updated: Croatian, Danish, Dutch, French, Greek, Polish, Russian, Serbian, Swedish, Turkish

New in UltraDefrag 4.3.0 (May 30, 2010)

  • RC4:
  • GUI window resizing feature was added
  • scaling according to the screens DPI settings added
  • native keyboard check was enhanced to add a delay if one of the first two keyboards fail detection
  • RC3:
  • driver was improved to better distinguish between free space and MFT zone
  • progress indication was improved in the boot time interface
  • backspace and escape keys handling added to the boot time interactive mode
  • one little bug preventing the root directory from being defragmented fixed
  • RC2:
  • --use-entire-window option was added to the command line interface
  • fixed a bug preventing OS version check to work on later Windows versions
  • update check was added to the GUI
  • few wrong prototypes in /src/dll/zenwinx/ntndk.h file were fixed
  • RC1:
  • UltraDefrag Scheduler has been retired as a component less functional than standard Windows Task Scheduler; visit http://ultradefrag.wikispaces.com/ for tutorials on scheduling disk defragmentation tasks through Windows Task Scheduler
  • --wait option was added to the command line interface to make scheduled defragmentation more flexible
  • more reliable monolithic boot time defragmenter was made
  • few bugs preventing the correct MFT displaying were fixed in driver
  • one little bug preventing displaying system files in green color on NTFS volumes was fixed
  • cluster map appearance in GUI was improved and made absolutely independent from the screen DPI
  • cluster map block size was made customizable in GUI through map_block_size and grid_line_width parameters added to guiopts.lua configuration file
  • the following translations were updated:
  • Czech, Finnish, Japanese, Spanish (AR), Portuguese (BR), Korean, Hungarian
  • installer was updated to include publisher, version, estimated size, custom icon and support link in uninstall information
  • sources were cleaned up by removing the obsolete kernel mode driver support at all
  • for programmers: winx_create_thread improved, winx_getche and winx_gets improved, winx_prompt added, udefrag.dll interface optimized (function prototypes changed!)

New in UltraDefrag 4.1.0 (Mar 6, 2010)

  • few bugs in driver were fixed
  • a huge analysis speedup performed
  • one bug in GUI (#2964309) was fixed
  • one little bug preventing the Scheduler running on Windows 2000 was fixed
  • volume status messages were improved in UltraDefrag GUI
  • the report saving speedup was performed
  • the following translations were added: Belarusian, Bulgarian, Croatian, Filipino (Tagalog), Finnish, Icelandic, Macedonian, Norwegian, Romanian, Serbian, Ukrainian, Yiddish
  • the following translations were updated: Catalan, Chinese(Simplified), Chinese(Traditional), Czech, Danish, Dutch, Farsi, French(FR), German, Greek, Hungarian, Italian, Japanese, Korean, Latvian, Polish, Portuguese(BR), Portuguese, Russian, Slovak, Slovenian, Spanish(AR), Swedish, Thai, Turkish
  • /LANG command line option was added to the installer

New in UltraDefrag 4.0.0 (Feb 1, 2010)

  • a lot of extremely important bugs were fixed
  • the strongest error handling was added to all program modules
  • program is available again for all 64-bit targets
  • documentation was rewritten to be much clearer
  • kernel mode driver was removed as a component
  • less reliable by definition
  • USB keyboards support at Windows boot time was added
  • all important program sources were well documented

New in UltraDefrag 3.3.0 (Feb 1, 2010)

  • volume optimization algorithm was highly improved
  • fragments threshold filter parameter was added
  • UD_TIME_LIMIT option was added
  • portable version was highly improved
  • few little bugs were fixed
  • now the program is much more compatible with Vista and later versions
  • of Windows; this is achieved by adding the User Mode Driver to it
  • program's reliability increased by removing error handlers caused
  • infinite loops
  • now the program can be used in Windows Safe Mode when the user mode
  • driver is enabled

New in UltraDefrag 3.2.0 (Feb 1, 2010)

  • Ultra Fast NTFS scanning feature was added, NTFS analysis becomes
  • approximately 25 times faster now
  • defragmentaion of additional streams attached to NTFS files was added
  • information about trash (temporary files) excluded from reports,
  • statistics and cluster map; these files are completely ignored now
  • a lot of new options were added to the console program
  • the \??\ sequence removed from file names in reports
  • Thai translation was made
  • some important parts of handbook were completely rewritten
  • Scheduler was rewritten in C language; NET framework is not required now!
  • ability to translate Scheduler into foreign languages was added
  • GUI options were moved from udefrag-gui.cmd script to
  • easy to understand guiopts.lua file
  • debugging information will not be saved on disk since this version of the
  • program; read carefully an appropriate chapter of program's handbook for
  • detailed instructions about kernel mode driver debugging instead
  • few fatal driver bugs were fixed
  • driver's reliability was increased
  • now UltraDefrag requires less software for its development

New in UltraDefrag 3.1.0 (Feb 1, 2010)

  • this is the most stable release at this moment
  • graphical interface was completely rewritten

New in UltraDefrag 3.0.0 (Feb 1, 2010)

  • defragmentation algorithm was completely rewritten to be more effective
  • free space optimization algorithm was completely rewritten to be more effective
  • a lot of important bugs were fixed

New in UltraDefrag 2.1.1 (Feb 18, 2009)

  • Most of the known bugs were fixed.
  • Japanese translation was added.

New in UltraDefrag 2.1.0 (Feb 10, 2009)

  • debug logging feature was added
  • UltraDefrag Handbook was added
  • winx_fopen: a, a+ modes were added
  • two different driver versions (for NT4 and later systems) were replaced by one universal os version independent driver

New in UltraDefrag 2.0.0 (Nov 13, 2008)

  • scripting support for boot time interface was added
  • program options were moved to environment variables
  • UltraDefrag Micro Edition package was added
  • a lot of portable application bugs were fixed
  • gui program was translated into the following languages:
  • Catala, Chinese (Simplified), Chinese (Traditional), Dutch,
  • French (FR), German, Greek, Italian, Portuguese, Slovak, Slovenian
  • boot-on, boot-off, ud-config scripts were added
  • few useful shortcuts were added
  • udefrag.dll great optimization was performed
  • many functions were added to zenwinx.dll
  • installer compression ratio was increased
  • gui design was improved

New in UltraDefrag 1.4.0 (Oct 6, 2008)

  • i18n support was added
  • gui program was translated into Hungarian and Russian languages
  • documentation was improved
  • program settings were moved to one file
  • gui design was improved and simplified
  • console program's option -l was added
  • many significant bugs were fixed (possible buffer overflows)

New in UltraDefrag 1.3.2 (Mar 3, 2008)

  • few important bugs were fixed

New in UltraDefrag 1.3.1 (Mar 3, 2008)

  • SCSI and RAID volumes support was added
  • some significant bugs were fixed (BSOD's)
  • new installation location: %windir%system32UltraDefrag

New in UltraDefrag 1.3.0 (Feb 6, 2008)

  • driver code was completely rewritten (to improve reliability)
  • highly configurable reports feature was added
  • report sorting ability was added
  • documentation was improved
  • driver code cleanup was performed
  • gui application memory requirements were reduced
  • build scripts were improved
  • many bugs were fixed
  • error handling was improved
  • coding style was changed to improve readability

New in UltraDefrag 1.2.4 (Dec 28, 2007)

  • big modern volumes support was added (by reducing memory requirements)
  • context menu handler for volumes in Explorer was added
  • documentation improved
  • first compilation using gcc -> strong code verifying -> hundreds of small bugs were fixed
  • full MinGW support for compilation
  • configure.pl script was created

New in UltraDefrag 1.2.3 (Dec 5, 2007)

  • two gui bugs (#1833605 and #1839755) are fixed;
  • localized errors descriptions added;
  • small driver optimization performed;

New in UltraDefrag 1.2.2 (Nov 22, 2007)

  • all modules was internally completely redesigned; full NTFS junctions (reparse points) support! many bugs are fixed; documentation improved; full optimization performed; portable application simplified; full WinDDK support for compilation; GUI improved with new list of volumes; console program improved with new useful options;

New in UltraDefrag 1.2.1 (Oct 8, 2007)

  • bug #1807912 fixed (Boot time defrag BSOD on w2k

New in UltraDefrag 1.2.0 (Oct 4, 2007)

  • full NT 4.0 support; boot time defragmentation for 64-bit systems;
  • Scheduler.NET; bug #1771887 (I/O error!) fixed;
  • native application optimized;
  • offline manual;
  • system preset improved;
  • portable application option added;
  • small gui bugs fixed

New in UltraDefrag 1.1.0 (Sep 6, 2007)

  • Ability to defragment system files at boot time
  • Useful filter presets

New in UltraDefrag 1.0.5 (Aug 3, 2007)

  • 120 DPI bug fixed; small console bug fixed
  • drive letters assigned by subst command excluded
  • this is most stable 1.0.x release

New in UltraDefrag 1.0.2 (Jul 17, 2007)

  • FULL x64 SUPPORT
  • Significant bug fixes
  • Windows DDK support

New in UltraDefrag 1.0.0 (Jul 11, 2007)

  • fix 'stop' function and some other significant bugs