February 1st, 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
January 9th, 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.
January 3rd, 2012· the following translations were added: Kapampangan, Georgian
· the following translations were updated: Italian, Polish, Swedish, Burmese (Padauk), Finnish, Japanese
December 26th, 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
October 21st, 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
July 27th, 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
January 3rd, 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
January 3rd, 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
January 3rd, 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
January 3rd, 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
January 3rd, 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
August 24th, 2010GUI:
· 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
May 30th, 2010RC4:
· 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!)
March 6th, 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
February 1st, 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
February 1st, 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
February 1st, 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
February 1st, 2010· this is the most stable release at this moment
· graphical interface was completely rewritten
February 1st, 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
February 18th, 2009· Most of the known bugs were fixed.
· Japanese translation was added.
February 10th, 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
November 13th, 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
October 6th, 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)
March 3rd, 2008· few important bugs were fixed
March 3rd, 2008· SCSI and RAID volumes support was added
· some significant bugs were fixed (BSOD's)
· new installation location: %windir%system32UltraDefrag
February 6th, 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
December 28th, 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
December 5th, 2007· two gui bugs (#1833605 and #1839755) are fixed;
· localized errors descriptions added;
· small driver optimization performed;
November 22nd, 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;
October 8th, 2007· bug #1807912 fixed (Boot time defrag BSOD on w2k
October 4th, 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
September 6th, 2007· Ability to defragment system files at boot time
· Useful filter presets
August 3rd, 2007· 120 DPI bug fixed; small console bug fixed
· drive letters assigned by subst command excluded
· this is most stable 1.0.x release
July 17th, 2007· FULL x64 SUPPORT
· Significant bug fixes
· Windows DDK support
July 11th, 2007· fix 'stop' function and some other significant bugs