Changelog

Sun, 2016/03/20 - 16:30

Bugfixes:

  • [CH-237] - MiniStatus shows black 100% filled progress bar for waiting tasks
  • [CH-238] - Task hangs when retrying write errors
  • [CH-239] - Copy Handler does not launch on some old hardware running Windows XP
  • [CH-240] - Directory modified time not preserved when there are files inside
  • [CH-241] - Checking for updates fails on Windows XP
  • [CH-242] - Cleanup language files
Wed, 2016/03/09 - 11:55

Feature request

  • [CH-25] - Allow drag & drop or multi-folder select (sf.net)

Bug

  • [CH-104] - Scanning for files - inconsistent information in status dialog
  • [CH-210] - CH internal tool rc2lng wrongly processes rc files
  • [CH-211] - Wrong parsing of string table in rc file
  • [CH-212] - Show source names in waiting tasks
  • [CH-218] - Wrong numericals displayed in options list
  • [CH-220] - Crash when using exclude filters
  • [CH-221] - Feedback replace dialog contains partially unreadable file info
  • [CH-222] - Task enters error state when appending to larger file
  • [CH-227] - Wrong calculation of 64bit divide
  • [CH-228] - Wrong progress data after restarting CH
  • [CH-229] - Source path is "empty" after operation finishes
  • [CH-230] - Rare CH crash when interacting with shell extension
  • [CH-232] - Wrong estimated time calculation when no size data were processed
  • [CH-233] - Restarting fast-move operation succeeds when no source data are present
  • [CH-234] - Installers' "Start with system" does not work
  • [CH-235] - Language change is not applied until after restart

Story

  • [CH-209] - Checking for updates using xml response
  • [CH-216] - Reduce errors and warnings reported by cppcheck
  • [CH-217] - Get rid of libicpf
  • [CH-219] - Improve exception handling in libchcore
  • [CH-223] - Enforcing ordering of tasks' execution with prescanning and fast move enabled
  • [CH-226] - Update sqlite to 3.11.1
  • [CH-236] - Code cleanups
Sun, 2015/12/27 - 09:38

Translation

  • [CH-112] - Update Polish translation for 1.40

Bugfixes

  • [CH-146] - Moving files - deleting is done at progress of 100%
  • [CH-181] - Shell extension not working after migration to VS2015
  • [CH-204] - After restarting move task the operation needs to be skipped twice
  • [CH-205] - Wrong encoding of start menu entries

Other changes

  • [CH-60] - Increate unit tests coverage for libchcore to min. 5%
  • [CH-201] - Update boost to 1.60
  • [CH-202] - Revert compiler to VS2013 for upcoming 1.40
  • [CH-203] - Minor adjustments to handling read-only files
  • [CH-207] - Update tagging script to support rc versioning
Sun, 2015/12/20 - 19:40

Bugfixes

  • [CH-165] - Soft freeze when file is 'Access is denied' and 'Apply to all items' + 'Retry' is choosen
  • [CH-189] - Random size stats errors when copying data
  • [CH-190] - Build tools cannot be run on machines with only VS2015 installed
  • [CH-191] - Task serialization might fail when restarting task
  • [CH-192] - Setting attributes not always done using filesystem layer
  • [CH-194] - Wrong handling of paths longer than 260 chars

Other changes

  • [CH-193] - Refactoring: remove use of icpf::circular_buffer
  • [CH-195] - Optimize searching for files subtask
  • [CH-196] - Unify retrieving file/dir attributes when file handle is open
Mon, 2015/12/14 - 19:45
  • Added GUI support for setting buffer count (used with async read/write),
  • Binary files are now built using Visual Studio 2015 Update 1,
  • Bugfix: fast move sometimes performed copy+delete instead of content-less moving,
  • Bugfix: resuming copying caused file to be rewritten from the beginning,
  • Bugfix: crash at the end of copying when storing last task state to sqlite database,
  • Bugfix: shell extension "Copy To" -> "Choose location" did not display dialog with locations,
  • Bugfix: amount of tasks running concurrently were not properly counted when limit was already exceeded by manual user resume,
  • Bugfix: buffer changes were not stored in the database,
  • Bugfix: changing buffer size while task was running causes task to fail,
  • Dev: updated sqlite3, boost to newer versions,

For more detailed changelist, please see here.

Mon, 2015/06/01 - 21:12
  • Changed IO from synchronous/blocking to asynchronous/non-blocking - this should result in significant performance improvements
  • Added option to export task data from the custom copy dialog
  • Various bugfixes

The full list of changes can be seen here.

Sun, 2015/02/08 - 22:45

Most notable changes

  • Change of the development IDE (and compiler) from Visual Studio 2008 to Visual Studio 2013 Community Edition
  • Lot of bugfixes

More detailed changelist is available at https://dev.copyhandler.com/issues/?jql=project%20%3D%20CH%20AND%20fixV…

Tue, 2014/07/15 - 19:56

Most notable changes

  • Huge overhaul of the task state storage system - instead of custom binary format it uses sqlite3 as the underlying storage mechanism
  • Introduction of the unit testing framework (google test and google mock)
  • Preliminary support for VS2013
  • Additional stats in the status dialog
  • Possibility to disable inquiry at startup regarding shell extension registration
  • Shell extension options "Copy To/Move To/MoveTo Special" now allow choosing directory manually

More detailed changelist is available at https://dev.copyhandler.com/secure/ReleaseNote.jspa?projectId=10001&ver… and https://fisheye.copyhandler.com/graph/CH (both might require installing root certificate from cacert.org or accepting insecure certificate from the site itself).

Thu, 2012/09/20 - 16: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.
Sun, 2010/03/07 - 18:37
  • Internal project changes and cleanups not visible to end-users.
  • Bugfix: crash at startup (problem with activation context).
  • Updated about box with better contact alternative.
  • Bugfix: clipboard monitoring did not work in Windows 7 x64.
  • Bugfix: crash at startup (rare, but long standing problem with corruption of task files).
  • Bugfix: input paths were ignored if did not exist (often causing task to end with success while it should not).
  • Bugfix: importing paths in custom copy dialog did not work.
  • Bugfix: fixed an endless loop when searching for files.
  • Fix: Copy Handler at every startup tried to write "Start with system" setting to registry, whether it was needed or not.
  • Updated russian translation by Alexander Polukhin.
  • Applied patch by eegee for displaying time to finish in main copy dialog.