Submitted by admin on Thu, 2012/09/20 - 18:48
Bugfixes:
  • Bugfix: incorrect shutdown of application.
  • Bugfix: Fixed serialization problem (data streams were opened in text mode instead of binary).
  • Bugfix: Fixed potential problems with file handle leaks in certain situations when copying files.
  • Bugfix: got rid of some deadlocks when handling progress info.
  • Bugfix: dereferencing NULL pointers caused crashes and deadlocks in some cases.
  • Bugfix: wrong handling of multiple input paths (task copied the first file over and over).
  • Bugfix: Crash when double-clicking on 'All' task in mini view.
  • Bugfix: wrong calculations of the processed/total size.
  • Bugfix: unhandled exception when loading task data from file.
  • Bugfix: 100% of a processor used by the clipboard monitoring thread.
  • Bugfix: Fixed potential problem with constant re-reading drive id.
  • Bugfix: restored resume functionality.
  • Bugfix: importing paths from file didn't work properly.
  • Bugfix: task stopping (pause/cancel/kill) did not work properly when in copy files phase.
  • Bugfix: potential problem with auto-continuation of operation when enough space on disk appears (when showing 'not enough space on disk' dialog).
  • Bugfix: filtering incorrectly shown in status dialog.
  • Bugfix: Fixed incorrect memory management in drive detection mechanism.
  • Bugfix: Fixed problem with language not being read at startup when no configuration file was present.
  • Bugfix: shell extension controller returned pointer to unallocated memory.
  • Bugfix: fixed an infinite loop when iterating over files in a directory in some cases.
  • Bugfix: exiting CH while copying data caused status to be changed to finished; this prevented auto-resuming at the next launch.
  • Bugfix: Tasks loaded at startup did not start automatically when the status was right.
  • Bugfix: invalid priority was set for the thread in custom copy dialog.
  • Bugfix: deleting files while moving was not working.
  • Bugfix: corrected fast-move operation to skip fast-moving when path already exists or access denied (i.e. different volumes).
  • Possible fix for problem with activation context when launching CH (exception thrown from CMainWnd::OnCreate() caused Create() to fail).
Translations:
  • Added Dutch translation made by Jurgen@CH-CF.
  • Updated German translation by White-Tiger.
Under the hood:
  • Rewritten major parts of the copy engine for improved performance and reliability(!)
  • Improved storing/loading operation progress mechanism.
  • Improved support for x64 architecture.
  • Removed unused option "Copying/Use auto-complete files".
  • Improved responsiveness for operations on tasks.
  • Various code cleanups.
  • Reduced amount of information stored in the task description files.
  • Changed task identification from time(NULL) to an uuid string.
  • Rewritten internal configuration system to use boost::property_tree.
  • Changed the way temporary files are handled - now there are 4 files per task -> .cht with strict task definition, .cht.rstate with rarely changing contents, .cht.ostate with often changing contents and .cht.log with log file.
Features/options removed:
  • Removed functionality creating n copies of the original file - it made code more complicated, preventing core code from rewriting (hopefully nobody uses it).
  • Removed option 'auto-resume on error' - wasn't really used, did not work properly.
  • Removed configuration option "Create log file" - most of the logging was done without taking this option into consideration.
  • Removed 3 not implemented (anymore) configurations settings:
    • "Show visual confirmation dialogs"
    • "Use timed confirmation dialogs"
    • "Time of showing confirmation dialogs"
  • Removed 'advanced' button from status dialog (along with rename input paths functionality which was rather useless).
  • Improved shell extension support:
    • renamed 'shell extension' to 'integration with system'
    • enabling integration will automatically check for compatibility (previously only after ch's restart)
    • on startup, when integration is disabled, notification dialog box will allow to enable it again.
  • Changed the way shell extension communicates with CH from binary protocol to XML.
  • Rewritten most of the shell extension code to allow more fine-grained control of the items that appear in menu (also to possibly add new options in the shell menus).
  • Replaced buffer type detection algorithm with the one that should work reliably on any system.
  • Disabled enforcing drive detection mechanism - some fixed drives (i.e. TrueCrypt volumes) does not report physical drive location.
  • Improvements in scanning directory subtask.
  • Added new subtask class handling fast move operation before scanning directories for files.
  • Updated installer script to the newest version of InnoSetup (unicode).
  • Lots of refactoring.
New features:
  • Feature: Added two new task options to allow changing the generated name for the file in case copy is done inside single directory.
  • Feature: Added support for very long paths.
  • Feature: Added portable mode in case configuration file is found in the executable directory.
  • Added command-line option '--ImportTaskDefinition' allowing launching operations copy/move operations.