UltraDefrag Development Team - (Open Source)
UltraDefrag keeps the computer drives at their normal speed by offering an easy and intuitive defragmentation process.
UltraDefrag is a handy tool developed for fast and reliable hard drives defragmentation.
With a less attractive interface, the application is aimed to the users that are concerned about the performance and not appearance offering many options that balance the interface minus.
The program has the ability to include or exclude files or unmovable files that saves a lot of time, while offering the choice to ignore certain files that are too large.
To avoid being caught off guard and break records fragmentation, UltraDefrag allows to use the planning function.
It also offers the possibility to view the report provided in HTML format containing only the most important information.
- the following translations were added: Kapampangan, Georgian
- the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese
- 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
- 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), Korea
- 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 progra
- 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
- 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)
- 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
- 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
- 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
- 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