Whatever your backup or sync scenario, ChronoSync has got you covered!

ChronoSync for Mac

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Download ChronoSync 4.9.13

  -  67.3 MB  -  Demo

What's new in this version:

ChronoSync 4.9.13
Changes & Enhancements:
- Updated the list of AWS S3 endpoint regions
- Added a warning to the Bootable Backup Assistant that explains why macOS Big Sur volumes aren't listed as sources and directs users to our tech-note on how to create a macOS Big Sur bootable backup
- Worked around a macOS Big Sur behavior that made it difficult to identify a targeted APFS volume group after an OS update
- Worked around a macOS Big Sur bug that was causing exceptions to be thrown when running scheduled sync tasks on some systems

- Fixed some bugs with the Resolve Alias feature that was introduced by macOS Big Sur changes
- Corrected a recently introduced auto-layout bug in the Archive Handling options panel

ChronoSync 4.9.12
Changes and enhancements:
- Cells in the Schedule Editor Advanced Interval panel used for selecting day-hour-minute ranges are now highlighted using the current system Accent Color
- If the sync task document is unnamed, the Sync Task Document Name toolbar item will display "Unknown" instead of being blank
- Modified various target selection dialogs so that the file selector dialog is able to fully dismiss before the selection is processed
- Added logic to deal with the possibility that the Task documents folder does not exist, in which case it will revert to the "~/Library/Application Support/ChronoSync/Tasks" folder when naming/creating new tasks.
- Implemented a new Data Volume-Only Mismatched macOS Readiness Warning. This prevents Data Volume-Only backups on macOS 11, Big Sur, if the source and destination OS versions are different.
- When selecting a target that represents the root folder of the Data volume of an APFS volume group, and running on macOS 11, Big Sur, the target will now be forced to refer to the Data volume instead of the System volume group. This allows Data Volume-only backups on macOS 11, Big Sur.
- The Create Bootable Backup Readiness Test will now prevent a bootable backup from occurring if macOS 11, Big Sur, is installed on the source target volume.

Bug Fixes:
- Fixed a bug that could result in forcing the synchronization of all multiply-hard-linked files on the initial run of a synchronizer
- Fixed several problems identifying System volumes on macOS 11, Big Sur
- Fixed numerous cosmetic glitches on macOS 11, Big Sur
- Fixed a bug whereby opening the Document Organizer or Scheduled Tasks Manager window from the TouchBar would not prevent ChronoSync from automatically terminating if it was launched for a scheduled synchronization.
- Fixed a bug in the Multiple Folder Backup Assistant, to prevent folders in the common "/Volumes" parent folder from being combined into a single sync task
- Fixed a typo whereby "quickly" was displayed as "quicky" in various controls and tooltips
- Fixed a bug whereby the Archive Panel outline view would not be scrollable after refreshing on app activation
- Fixed a bug whereby, on an initial sync, if the data size trigger was in effect, it could result in an older file replacing a younger one
- Fixed a bug whereby counting files in a branch would not skip excluded items. This is used by the validator and could lead to an erratic progress bar and scan count
- Fixed bug that could result in an erratic Validator progress bar mostly noticeable on macOS 11, Big Sur
- Fixed a bug whereby some of the predefined rules had the word "Template" in their name
- Fixed a bug in identifying that macOS 11, Big Sur, is installed on a mounted volume
- Fixed a bug whereby push notifications could not be configured if the Mac system name contained an ampersand character
- Fixed a bug whereby the Ignore Ownership Readiness Test would not immediately update its status after responding to the 'fix' command

ChronoSync 4.9.11
Changes and enhancements:
- Modified Bootable Backup sync task behavior to account for macOS 10.15.5 not allowing creation of valid firmlinks. On macOS 10.15.6+ ChronoSync provides the 'Fix' Readiness option to configure the required valid APFS Volume Group. On macOS 10.15.5 systems, the backup volume must be erased using the Bootable Backup Setup Assistant to create the required APFS Volume Group for Bootable Backup
- Altered the logic so that sub-second timestamps have to differ by 2ms or more for a file-pair to be considered different when comparing package file contents
- Added the ability to detect if a connected ChronoAgent implements the firmlink creation to allow Remote Bootable Backup on ChronoAgent connections
- Added logic to allow instantiating sync task documents in-memory if for some reason the underlying macOS system doesn't allow document creation read from storage/disk
- The Google Cloud connection profile type is no longer available to users UNLESS an existing Google Cloud connection profile is defined. In this case, the user is able to edit and create Google Cloud profiles, but they won't work due to API changes on Google's side
- The Bootable Backup Readiness Test now generates an error if the source target of a bootable backup resides on a macOS 11 (aka Big Sur) or later system
- Added the ability to specify a custom location for mounting APFS snapshot volumes via the 'Snapshot_Mount_Folder' plist setting on macOS 10.15 or newer
- Snapshot mount points now use 0755 permissions
- The Bootable Backup Assistant does not present source volumes with Big Sur (or later) installed on them as potential sources for a Bootable backup operation
- Applied fall back logic to all error conditions that occur when attempting to obtain attributes for an item
- Improved recognition of the active System component of the boot APFS volume group and its Data counterpart
- Increased the priority of the Bootable Backup Readiness test so that it is evaluated before many other readiness errors and reported to the user before other terminal conditions
- If a bootable backup operation encounters an error when running the UpdatePreboot tool, the entire output generated by UpdatePreboot is dumped to the ChronoSync-console.log
- Snapshot mount points are now created by the ChronoSync process instead of ChronoAgentLocal on macOS 10.15 or newer
- Determining if volumes are mounted is now done in a more Big Sur compatible way
- Modified the console messages produced when post-processing a bootable backup to provide a clearer idea of what is happening when diagnosing problems
- Changed the package aggregation algorithm to improve bulk file and folder attribute collection
- Added the ability to collect diagnostic messages when invoking the Restore operation
- Modified the Validator date compare to take into account date value rounding that can occur

Bug Fixes:
- Fixed a bug whereby deleting a task document from the Organizer window would not delete any scheduled items that are referencing that task document
- Fixed a bug whereby interpreting millisecond timestamps attached to files on APFS filesystems was subject to a scaling error when converting between time representations. This could result in unnecessary file data copying
- Fixed a bug whereby the Volume Group Converter would raise exceptions and fail to completely convert a single volume to a volume group if the user just previously retargeted their destination and opted to preserve sync history
- Fixed a bug whereby the Volume Group Converter wouldn't work correctly in some right-to-left scenarios
- Fixed an error handling bug when collecting attributes to force a rescan of the directory contents instead of causing an immediate fatal error
- Fixed a bug when collecting attributes for directory contents and identifying items that should remain invisible to apps and be ignored
- Fixed a bug whereby if a sync task document window is open, and the completion summary sheet is displayed, scheduled synchronizations for that sync task will fail because the summary sheet does not get auto-dismissed
- Fix for a cosmetic problem displaying checkboxes in the Trial Sync Selector on Big Sur
- Fixed a bug regarding priority of Readiness Tests when working from a saved sync task document

ChronoSync 4.9.10
Changes and enhancements:
- Implemented work-around for failing bootable backups on macOS 10.15.5 (Catalina). See tech note: https://www.econtechnologies.com/chronosync/TN-CS-Bootable-10-15-5-Catalina.html
- When instantiating new sync and container tasks from their default template file, we now catch any exception that is raised.
- Hardened all logic involved with reading result data back from any shell task to better deals with situations that could cause indefinite hangs.

Bug Fixes:
- Fixed a bug whereby an exception that occurs while Blessing the destination after a bootable backup would cause the application to terminate.
- Fixed a bug in the AWS S3 Connections whereby if the user's account was restrictive to the point that they weren't allowed to list buckets, the connection 'Test' would fail and not allow the user to manually specify a bucket name in the next panel.
- Fixed a bug whereby attempts to mount the volume that a target disk image resided on were likely to fail on Mojave (and later) systems.

ChronoSync 4.9.9
Changes and enhancements:
- Improved reliability and compatibility when mounting disk images
- Completely reworked the OAuth code to conform to the latest authentication requirements from Google. This includes a custom landing web page presented upon success.
- Changed the interval at which each connection profile’s connection status is retested if a connection profile is deemed to be 'available'
- Added logic to the Background Scheduler that checks to see if any other instance of the Background Scheduler is running and terminates duplicate instances
- A target connecting to an AFP File Server will now use Carbon-based APIs for accessing the target by default
- Improved error logging when testing the availability of AWS S3 servers

Bug Fixes:
- Fixed a bug whereby the Catalina APFS Volume Group Readiness Test would not reliably present the "Fix" option
- Modified how ChronoSync communicates with the hdiutil tool to combat a possible hang
- Eliminated the attempt to unmount a volume for connections that do not support volume mounting
- Fixed the long-standing "Synchronizer deallocated with task views in place" bug that was related to Task Containers that were trying to adjust a non-existent progress sheet

ChronoSync 4.9.8
Bug Fixes:
- Fixed a problem that would cause files moved to a synchronizer's archive to become locked
- Fixed a bug whereby Archive Maintenance was failing to remove old archive files on a Catalina bootable backup
- Fixed a bug whereby the user could not delete files in a Catalina bootable backup archive using the Archive Panel
- Fixed a bug whereby the user could not restore files from a Catalina bootable backup archive using the Archive Panel
- Fixed a bug whereby deleting a file from the archive during the maintenance phase of synchronization would fail if the folder containing that file in the archive was locked
- Fixed a bug whereby creating a folder in the archive during a synchronization would fail if the parent for that folder was locked

ChronoSync 4.9.7
Changes and enhancements:
- Implemented the ability to 'force mirror' empty folders as part of the bootable blacklisting. Applied this logic for saved application state folders & preference files
- Implemented the FireWire Bootable Device readiness test that will flag a warning if attempting to create a bootable backup of a Catalina (or later) system onto a FireWire device because Catalina does not support booting from FireWire devices
- Implemented the Archive Performance readiness test that will flag a warning if archiving is enabled on a target that does not offer an efficient move/rename capability.The warning suggests performance may be poor and offers to 'Fix' the problem by disabling archiving. Currently this is only triggered by cloud-based targets
- Implemented the Safe-Copy Performance readiness test that will flag a warning if safe-copy is enabled on a target that does not offer an efficient move/rename capability. The warning suggests performance may be poor and offers to 'Fix' the problem by disabling safe-copy. Currently this is only triggered by cloud-based targets
- Modernized routines and implemented additional logic when attempting to move files to the trash so that any restrictive ACLs are temporarily removed from the files to ensure success. This eliminates a potential problem when moving files to the trash without admin access
- Modernized file lock/unlock routines
- Implemented the 'SFTP_SkipShellProbe' public plist property which will indicate that SFTP connections should skip the test for shell support and assume that shell operations are unsupported
- Implemented the 'SFTP_ReconnectDelay' public plist property which will indicate a pause (in seconds) that should be introduced between a failed probe for shell support and a reconnection without shell support

Bug Fixes:
- Fixed a regression bug whereby Terabyte-sized numbers would be formatted as if they were Gigabyte-sized
- Fixed a bug in the Backblaze storage provider whereby if a single large-file transfer took more than 24 hours to complete, the authorization token for that transfer was allowed to expire resulting in a failed file transfer
- Fixed a bug whereby the APFS Compound Volume readiness test was always allowing the 'Fix' option when the destination volume was HFS+ formatted, regardless of the operating system running on the destination volume Mac. Thus older OS's connected via ChronoAgent would present 'Fix,' which would allow the APFS Volume Converter to be invoked and was certain to fail if the destination OS was not Catalina or later
- Fixed a bug whereby a set of bootable backup operations was still being unnecessarily performed on non-Catalina systems
- Fixed a bug whereby determining the version of the OS installed on a bootable target was destined to fail if the target was connected via a ChronoAgent connection
- Fixed some bugs to generate more meaningful error messages when converting volumes to APFS Volume Group format for Catalina Bootable Backup
- Fixed a bug whereby a logic error in the 'Archive Deletions Not Supported' readiness test that could have caused a crash
- Fixed a bug whereby, with a certain combination of task settings, the Analysis Report would fail to print the last page of the report
- Fixed a bug that could cause the Validator to hang while validating a large sync set that contained package files
- Fixed a bug when determining if a volume is mounted whereby it was assumed that calling diskutil with the "-plist" argument would return results in plist format. This is not the case when connected to a ChronoAgent running on an old (pre 10.5 era) OS and triggered an exception

ChronoSync 4.9.6
Changes and enhancements:
- The APFS Volume Group Converter utility is now capable of converting an HFS+ formatted volume to an APFS Volume Group
- If a download is in progress for an in-app-update when the application is quit by the user, the termination will be aborted and the download progress panel window will be brought to the front
- The Configured System Identifier readiness test can now be ignored to allow the sync task to be run on different systems without the warning preventing it from running
- Improved the Trial Key Retriever reliability on macOS 10.15, Catalina (or later)
- Improved shell task execution reliability to better handle errors and exceptions

Bug Fixes:
- Fixed a problem whereby if "Launch at login" was enabled and so was "Use background scheduler," the Background Scheduler could conceivably be launched twice at login
- Fixed a long-standing bug whereby the results of running external commands and tasks could be misinterpreted because of failing to read the entire output/result from running that command affecting operations such as mounting Disk Images or Blessing bootable backup targets
- If running on macOS Catalina (or later), the Background Scheduler uses the UUID of the corresponding 'Data' volume to prevent a situation whereby an OS update causes a change in the UUID of the System volume
- If running on macOS Catalina (or later), the configured system identifier stored in Task Documents is derived from the UUID of the corresponding 'Data' volume to prevent a situation whereby an OS update causes a change in the UUID of the System volume
- Fixed a problem whereby a change to the System volume's UUID caused by an OS update could trick the mount detection logic for a given target to fail, forcing the user to re-select the target
- Fixed a bug whereby selecting a pre- or post- sync script could cause the application to crash
- Fixed a consistency problem whereby kilobyte file sizes and transfer rates were displayed with the K symbol instead of KB
- Fixed a bug whereby a file-folder pair (i.e. folder on one side, file on the other, both with the same name) marked for synchronization would not display a status icon in both the Analyze panel or the Trial Sync Selector sheet window
- Fixed a bug whereby a file-folder pair (i.e. folder on one side, file on the other, both with the same name) was likely to generate a folder enumeration error when running a Trial Sync (the error was benign if the user just ignored it)
- Fixed a bug whereby auditing differences in a file-pair would not factor the file size in some circumstances resulting in the File/Folder Information in the Analyze panel failing to display a file size difference in red
- Fixed a problem whereby some some displayed file attributes in the Analyze panel would remain in cache after file entries were reloaded
- Fixed several bugs in the Synchronizer, Bootable Backup Assistant and APFS Volume Group Converter whereby errors and/or incorrect behavior would result if there was an existing APFS Preboot volume on the destination but it wasn’t spelled exactly 'Preboot' e.g. 'PreBoot'
- Fixed a Catalina-specific bug whereby file system observers would fail to detect deep file system changes if the root folder being modified resided on your boot system's 'Data' volume causing live triggered syncs not to run after deep file system changes were made
- Fixed a bug in our custom target selector whereby rapidly selecting folders before their contents were displayed could conceivably cause a crash
- Fixed a bug in our custom target selector whereby rapidly selecting folders could result in unnecessary fetches of folder contents and extraneous re-display of folder contents
- Fixed a bug in the APFS Volume Group Converter utility whereby it was assumed that the destination volume had ownership enabled but that isn't necessarily the case
- Fixed a bug whereby a copy task could be initiated with a user abort pending and the copy would have to fully complete before the abort was recognized
- Fixed a bug in the Backblaze B2 storage provider whereby move/rename operations on files larger than 5 GB would always fail
- Fixed a bug in the Backblaze B2 storage provider whereby move/rename operations on files that result in a timeout would get caught in a timeout loop until the move/rename operation succeeded

ChronoSync 4.9.5
Changes and enhancements:
- Added support for Archiving over Backblaze B2 connections
- Added support for identifying and managing APFS Volume Groups
- Added support for properly handling firmlinks in Bootable Backup
- Added support for APFS Volume Groups to the Bootable Backup Assistant
- Added the Compound Volume Group readiness check to ensure that a destination volume is constructed properly for Catalina bootable backups
- Implemented the all-new Volume Group Converter utility that allows a single APFS volume to be converted to an APFS Volume Group on macOS Catalina. This utility activates when the user attempts to 'fix' the readiness warning
- The Bootable Backup Assistant now presents the option of creating a sibling APFS volume. To get this option, you must select an existing APFS volume as your destination. When presented with formatting/erase options for that volume, you'll now have the option to create a sibling volume. This will create an all new volume in the same container as the destination volume you selected
- The Bootable Backup Assistant now enforces unique volume names when naming your destination volume (either after choosing to erase it or to create a sibling volume).The restriction is such that you cannot choose a name that already exists in your destination APFS container, unless you are erasing an existing volume and keeping the same name. Note that duplicate volume names are allowed, just not in the same APFS container
- The Bootable Backup Assistant now makes sure that Preboot and Recovery volumes are dereferenced when deleting or erasing existing APFS volumes
- The Bootable Backup Assistant now creates a bootable sync task that has Aggressive Smart Scan enabled on the destination
- The Bootable Backup assistant will now append "Not recommended" to the "Proceed as-is" formatting option if a) the source and destination are APFS volumes AND b) they have mismatched crypto users as a crypto user mismatch is likely to produce errors from the UpdatePreboot utility
- Implemented logic whereby sync task targets configured on pre-Catalina systems will automatically update the VolumeSpecifier object (if necessary) after being opened for the first time after a Catalina upgrade
- Now attempts to suspend Spotlight operation on Admin Access Volumes
- Improved volume detection and mounting efficiency
- Modified Full Disk Access detection logic for macOS 10.15 (Catalina)

Converted to using bookmark objects instead of alias objects to track the location of various files and folders. This affects the location of:
- The main 'Tasks' (aka 'Sync Documents') folder
- Any sync task ever opened by ChronoSync and tracked in the Organizer
- A scheduled item's reference to the sync task that is scheduled
- A container sync task's reference to all contained sync tasks
- A sync (and container sync) task's reference to pre- and -post- sync scripts
- Any File Comparison Helper's reference to the helper application
- Improved the Readiness Manager efficiency by caching commonly used sync task properties when evaluating all readiness tests
- The Resolve Alias and Freeze Filesystem readiness warning is no longer generated if the target file manager is not running with root privileges because a snapshot will not be taken unless you're running with root privileges
- The 'Aggressive' SmartScan mode now functions as it was originally intended by turning off self-audits. Previously, all this setting did was reduce the frequency of self-audits
- All assistants that create uni-directional sync tasks with SmartScan enabled will now enable Aggressive Mode on the destination target
- The Delete Action UI presented from Analyze when manually deleting files now displays the "Deletion is permanent" warning using the OS's secondary label color instead of disabled text color
- If the application is instructed to terminate due to a system shutdown or restart, and there are currently scheduled syncs running, the warning dialog that tells the user about the running sync will auto-dismiss after 10 seconds. If this happens, the app will behave as if the user instructed the dialog to abort all syncs and terminate. If the user interacts with the dialog within the 10 second window, system shutdown/restart can be cancelled
- On application termination, will now shut down any active Bonjour service listeners before quitting
- Retrieval of a graphic resource when displaying an update notice is now performed asynchronously in a background thread to avoid the potential of a rather long block before the update notice was displayed
- When selecting a target, a new VolumeSpecifier object is now always created even if the new target resides on the same volume as the previous target to prevent potential problems whereby not all properties of the volume are collected, and some of those properties may have changed since the target was last specified
- Optimized the mount detection logic for non-local volumes for ChronoAgent-connected targets for which we have valid device information and a device GUID
- SmartScan query reset log messages will now indicate the name of the volume where the reset occurred
- File system freezing log messages now indicate the volume name which contains the frozen filesystem
- Disabled self-validation when creating alias objects
- The "/Cores" folder is no longer part of the bootable backup blacklist
- The "/Volumes" folder has been added to the auto-exclusion blacklist
- Eliminated the use of deprecated APIs when attempting to move items to the trash
- Copying and/or deleting dylib files in the /Users domain will no longer trigger the execution of update_dyld_shared_cache at the end of a bootable backup synchronization

Bug Fixes:
- Fixed a bug in the False Mount Point Detection Readiness Test that could lead to erroneous false-mount-point warnings when the real problem was that the target was not connected
- Fixed a bug in the Validator whereby validating the root level of a volume could introduce an error and premature termination of the validation process
- Fixed a bug in the SFTP storage provider whereby it was assumed that an SFTP server would always provide a list of valid authentication methods which could cause a crash
- Fixed a bug whereby if the user had selected a file-pair in Analyze and the program was in the midst of fetching file information as a result, and the user then switched back to Setup and selected a different file manager, the program could crash when trying to display the results of the file information fetch that was still pending
- Fixed a bug whereby attempting to create the parent path of a nested item which had no parent that could result in unexpectedly synchronizing all files or creating a new destination folder outside of the sync tree
- Fixed a bug whereby entering a blank value in the "Max retry attempts" field (when scheduling tasks) would raise an exception
- Fixed a bug whereby when executing external tasks, an overflow of the error stream's pipe buffer would cause a long stall and slow execution of the task. This was most evident when running update_dyld_shared_cache during the "Optimizing" phase of a bootable backup. A stall would occur if that task generated a lot of error output
- Fixed a bug whereby the Resource Fork Unsupported Readiness Test would generate a warning even if the sync task had 'preserve resource forks' set to NO
- Fixed a bug whereby the Full Disk Access Readiness Test could erroneously report that full disk access was required on the right target, if it needed testing
- Fixed a bug whereby the partition scheme readiness test would sometimes be performed when a target volume was not mounted, resulting in an erroneous warning about the partition scheme
- Fixed a bug whereby the VolumeSpecifier might not perform its final, 'forced' attempt to unmount a volume if the standard efforts to unmount the volume failed
- Fixed a bug whereby the Bootable Backup Assistant would indicate that an HFS+ filesystem must be selected even though there were APFS options presented
- Fixed some bugs in the archive management logic whereby assumptions were being made about the location of the sync task archive that could cause some features to break if the archive were located anywhere but at the root level of the corresponding target
- Fixed a bug whereby the archiving logic would produce an error if the archive data structure became out-of-sync with the filesystem with regards to a package becoming a folder. It now self heals if an attempt is made to archive a file that resides within a package rather than the package as a whole. This sort of problem was possible when enabling dissect packages on a sync task that was previously run with standard/merge package handling
- When calling update_dyld_shared_cache as part of the 'Optimizing' phase of a bootable backup, some newly added arguments will not be passed to the utility on pre-10.14 systems since older OS's don't appear to handle them properly
- Fixed a bug in the Sync Task Document Window Controller whereby a UI change was being performed in a background thread
- Fixed a bug whereby inconsistent information could be returned about mounted disk images, causing a sync task target to lose information necessary to mount the disk image
- Fixed a bug whereby the test to see if a sync target's volume contained a bootable operating system was being performed on a file server connection. This was always destined to fail
- Fixed a bug whereby when un-registering with the push notification server, we now properly re-establish hardware identity properties to prevent a reset from continuing to occur every time a push notification is sent

ChronoSync 4.9.4
Changes and enhancements:
- Changed Strict Volume Identification to no longer examine deviceModel and deviceProtocol
- Implemented full Diagnostic Logging support in the InterConneX connections

Bug Fixes:
- Fixed a bug when communicating with an InterConneX sharespace as a target whereby it was not likely going to be able to copy into a locked folder
- Fixed a bug whereby if invoking a Trial Sync and target validation fails, subsequent attempts to invoke a standard sync (after correcting the cause of the validation failure) would invoke Trial Sync again unexpectedly
- Fixed a few diagnostic messages that were being generated in non-debug builds
- Fixed the logic used to determine a unique, temporary file name for copying to a remote cloud or InterConneX target as it had concurrence issues and could return non-unique filenames if called simultaneously from different threads
- Fixed a bug whereby setting the UF_HIDDEN, UF_IMMUTABLE and UF_APPEND BSD flags on a file stored in an InterConneX target was prone to setting random values for those flags
- Fixed a bug whereby extracting a file path from a collection record could result in a corrupt path. This could lead to errors or even a crash
- Fixed a bug whereby the read-only destination readiness test would report "Left target is read-only" when BOTH targets were read-only, even though it was a left-to-right sync

ChronoSync 4.9.3
Enhancements and Changes:
- Changed the algorithm for determining temporary file names to be less prone to natural filename collisions during concurrent copying tasks.
Now handles any exceptions when obtaining attributes from an SFTP directory entry and treats this condition as a non-directory entry (i.e. it just skips it)
- When a comparison helper is called, the sync target's file manager is now used to obtain information about the files being compared
- Now validates any relative alias object created and compares it against the original item to catch potential mismatches
- Now only replacing the reference to the task document when modifying a scheduled item if it has actually changed
- Improved memory management in the Backblaze B2 storage provider
- Added logic to the sync task document loader so that it can better deal with potentially damaged task documents
- Significantly reduced the size of the scheduler database and the overhead of loading/saving it
- More efficiently instantiate scheduled items from the scheduled items database to handle potentially corrupt elements
- Modified how the scheduled item database gets saved so that multiple changes made in quick succession are coalesced before saving
- Reduced app activation overhead by no longer reconstructing the Templates contextual menu on every activation of the app
- Updated the Trial Sync results window to clean up a path to an item before passing that off to a helper tool or external service such a 'Get Info in Finder' to ensure that the path represents the file object on the real target and not a snapshotted version of it
- Now performs a sync history reset (retaining exclusions) after changing Package Handling, Sync Operation, and Sync Triggers on a previously synchronized task document to ensure all appropriate information gets collected and items are handled correctly on the next run
- Changed the terminology used to identify Backblaze B2 application keys & account IDs to match the latest B2 terminology and to be consistent (i.e. English) across all languages
- All the cloud service connection profile editors have had their authentication's credential fields set to character-wrap instead of word-wrap.
Added logic that ensures any excluded file-pair does not have any other status set

Bug Fixes:
- Fixed a bug whereby the pre-defined AWS S3 endpoint strings were inadvertently translated in non-English languages
- The ChronoAgentLocal-Console.log file is now being rolled-over automatically
- Fixed some auto-layout problems in the AWS and Backblaze B2 connection profile editors
- Fixed some bugs whereby many commands were not properly setting the thread-specific error property when they completed
- Fixed a bug that occurs when launching comparison helper applications in a manner that was incompatible with files residing on an APFS snapshot volume
- Fixed a bug whereby an alias located in the immediate descendant of a resolved folder alias would not be resolved correctly
- Fixed a bug that was affecting the synchronizer's ability to identify self-referencing aliases when 'resolve aliases' was in effect and the target currently referred to an APFS snapshot volume
- Fixed a (harmless) bug that could result in wasted time and a guaranteed low-level error (and console messages) when trying to do Trial Sync or Sync Selection on an APFS snapshot
- Fixed a bug in resolving an alias on an APFS snapshot
- Fixed a bug whereby it was possible to convert an existing object that was marked as a symbolic link or directory to a regular file when updating attributes on Backblaze B2
- Fixed a bug in the Backblaze B2 storage provider whereby it wasn't always correctly identifying package files
- Fixed a bug resolving an alias file where it was possible that it would resolve to a URL but a file pathname could not be extracted from the URL causing an exception
- Fixed a bug whereby when presenting an error caused by enumerating folders in the file system, the object used to contain information about the error was volatile and could be corrupted by another thread that was preparing to present a different error likely resulting in a crash
- Fixed a bug whereby marking a folder node for exclusion would release all children and setup a potential crash for any other code that has retained a direct reference to one of those children. This is possible in Trial Sync and sync-selection scenarios
- Added logic to the outermost node processing loop that checks each node's exclusion state before attempting to process it to prevent unwanted operations and/or potential crashes
- Fixed a bug whereby attempting to retry a failed deletion of a file on the destination would trigger an unrecoverable, infinite loop and potentially cause a crash or memory consumption
- Fixed a bug whereby retry attempts would be performed on failed processing of nodes even if an abort condition were signaled
- Fixed a bug whereby when editing a previously created "When independent volume mounts" scheduled item, a "Connect" message was not being sent to the independent volume specifier. Thus the volume would always appear as "Not available" in the user interface even though it was
- Fixed a bug in the file system notification trigger that would not reliably start a live filesystem trigger after it was created
- Fixed a bug in the file system notification trigger that would not reliably remove a live filesystem trigger after it was disabled or deleted
- Fixed a bug whereby package merging between a source file system that supports millisecond timestamps (APFS) and a destination that doesn't could result in failure to efficiently merge
ChronoSync 4.9.0

Changes and enhancements:
- Optimized APFS Support for faster file scanning and copying
- A new 'Freeze file system' option allowing you to take a snapshot of your filesystem before syncing
- Mojave Dark Mode support
- Full Disk Access assistant to grant ChronoSync permission to fully access your files
- A completely overhauled ChronoSync Organizer window with better sorting and organization options, along with a toolbar, allowing easier access to task functions
- Improved Restore function allows you to recover data directly and with greater control from the Analyze panel
- Touch ID Support feature to allow ChronoSync to access system data
- Smarter Assistants that can format drives and disk images using an APFS filesystem
- New "Running Scheduled Tasks" System menu option to monitor your scheduled tasks without having to open ChronoSync
- Improved Container Editor interface includes a "Special Notes" section and now displays more information about each contained task
- Can now instantly access task logs directly from the ChronoSync Organizer window
- Better management of ChronoAgent connections
- Faster launch and shutdown times
- More efficient Amazon S3 and Backblaze B2 data transfers
- A new Validator "Recommended Settings" button

ChronoSync 4.8.7
Changes & Enhancements:
- Added support for path-style URLs in the Amazon S3 Connection.
- Added intelligence to the Amazon S3 connection setup process so that the "Path-style URLs" setting is automatically enabled during a "Test" connection if the remote server requires it.
- Constructed URLS no longer escape the '/' character when appending the object key in the Amazon S3 Connection.
- We now include the 'Date' header when constructing the string that is used to sign any request to Amazon S3 connections.
- Improved the responsiveness when trying to abort agent-based tasks after a connection is abruptly broken.
- Changed the behavior of "Open Other..." so that it defaults to the current location of the "Task Documents" folder as specified in the "ChronoSync->Preferences->General" panel.
- Added logic to prevent sync-on-launch and sync-on-quit jobs from running when ChronoSync is launched and quit via scheduled task execution.
- Limited requests for some unneeded volume data which results in slightly more efficient operations on HFS+ volumes in certain instances.
- Volume mount checks now occur within their own autorelease pool.
- The file format accessory view is now only displayed on Save if the current document is NOT a v4 document format.
- Fixed various minor auto-layout problems, tooltips and spelling errors throughout the App.
- Update Online Help.

Bug Fixes:
- Fixed a potential crash if a log window was left open while the parent document window was closed by the user.
- Fixed a bug whereby auto-exclusion of root folder items was not properly occurring.
- Fixed a bug whereby the "Optimizing" message during a bootable backup would not be displayed under certain circumstances.
- Fixed a minor bug whereby the wrong Resource Fork handling mode was set briefly after connection with the remote file manager is established.
- Fixed a bug whereby the diagnostic setting was not being automatically applied to previously created task documents.
- Fixed a bug whereby pasting a rule into a group would not set the rule's parent properly, eventually resulting in an exception being raised.
- Fixed a bug whereby opening a task document on the Archive panel would result in no archive path being displayed.
- Fixed a bug whereby the Google Cloud service object was not being deallocated after a connection was closed.
- Fixed a potential problem where an occasional exception while browsing files on an 'Admin Access' connection was being thrown.
- Fixed a bug whereby the online help was not being linked from the B2 Connection Profile editor.
- Fixed a bug whereby the test for nested folders in the Multi-Folder Assistant could easily be tricked by partially matching folder names e.g. "/Test Folder 2/Subfolder" would be flagged as a child of "/Test Folder".
- Fixed a bug whereby the custom folder selector wasn't being displayed when downloading an update.

ChronoSync 4.8.6

- Added support to connect directly to the BackBlaze B2 cloud service
- Added new Dock menu items to provide quick access to open the ChronoSync Organizer and Scheduled Task Manager windows
- The Backup to Disk Image Assistant now has a relaxed storage space requirement when creating a sparse/sparse bundle disk image. As long as we’re not sizing the image based on the source, we will allow the creation of disk images with only a minimal amount of free space on the destination. This allows you to create, for example, a 1 GB disk image when only 700 MB is free
- We now makes sure that a connection is NOT in progress when attempting to mount volumes or verify targets
- We eliminated the duplicate ChronoSync Organizer window entry from the Window menu
- The ‘percentComplete’ reported by a Sync Task now subtracts any in-progress file copies before calculating the percentage to provide more accurate progress reporting in places such as the Scheduled Task Manager and Task Container Task List panel
- We reworked the logic associated with ChronoSync starting up ChronoAgentLocal and determining if it is running and ready for business
- We now post "Reset sync history" to the synchronizer's log whenever a "Reset Sync History" operation is performed
- We added log messages that get posted when updating the Preboot volume on an APFS bootable backup
- We now always attempt to delete the mount point for the Preboot volume even if the unmount attempt fails (which probably happens because it wasn’t mounted)
- When running the updatePreboot command after an APFS bootable backup, we now better deal with errors caused by deleted directory service users
- Added extensive workaround logic to deal with diskutil’s newfound (10.13.4) inability to create & mount APFS auxiliary volumes at custom mount points
- Added logic to deal with problems with diskutil not mounting APFS auxiliary volumes on DiskImages (a problem which existed prior to 10.13.4)
- We added an exception handler to manage potential system exceptions that could occur when requesting removable volume insertion
- We added an exception handler to prevent problems displaying the Task Container Task List
- We added more descriptive error strings for the SSL-related error codes -1200 thru -1206
- Changed some diagnostic error messages so that they always get posted, not just on debug builds
- Updated localizations

Bug Fixes:
- Fixed a bug in the Google Cloud connection whereby replaced files would have the ‘hidden’ attribute set
- Fixed a potential error in the Google Cloud connection by making sure we have buffered data available to re-attempt an upload for the previous data block, if requested
- Fixed a bug in the S3 connection whereby replaced files would have the 'hidden' attribute set
- Fixed an inefficient attribute caching bug when connected to Amazon S3 with no metadata preservation enabled
- Fixed a bug whereby the "Get" localized string had the incorrect key
- Fixed a bug whereby the sync statistics (scan count, error count, etc) would not be properly updated when processing items concurrently in a contained synchronizer task. This would yield inconsistently wrong summary statistics, though it wouldn't affect the accuracy of the sync/backup task
- Fixed a potential hang when monitoring the startup of ChronoAgentLocal
- Fixed an Assistant UI glitch that caused the feedback of individual steps of the task creation process to be cut-off if they were too wide

ChronoSync 4.8.5

- Added logic to all of the assistants that ensures the 'Tasks' folder exists before proceeding to name & generate a task document
- Introduced a minor tweak to how detailed file information is displayed to prevent queueing up a bunch of display requests for the same item
- ChronoSync now disables the keychain UI to (theoretically) eliminate the "ChronoSync wants to use the ChronoAgentLocalKeychain" dialog from appearing
- Enhanced error logging for keychain API errors to help when debugging keychain access issues
- Implemented a completely different method of determining if ChronoAgentLocal is running and ready to receive connections
- Implemented a feature whereby holding the OPTION key down while switching to the Advanced tab of any Connection Profile Editor reveals the 'Diagnostic logging' option, provided the connection profile supports it
- ChronoSync now intelligently disables the "Archive replaced files" option if it is not currently ON and the destination file manager doesn't support archiving as well as chooses the appropriate deletion method
- Added workaround logic to better deal with file managers that may not properly aggregate packages
- Added logic to deal with the possibility of exceptions being thrown when a filename has a malformed UTF-16 name
- Hardened the log entry logic to better handle subtle corruption at the expense of losing a log entry
- Added exception handlers to deal with unexpected exceptions that may occur at certain points within the file deletion and file copy operations
- Reworked how the copy buffer size is negotiated between targets
- Implemented a new, 'System-to-Server' Readiness Error that will prevent a task from running if it targets the boot volume as the source and a file server as the destination
- Made a change to the Container Synchronizer that should allow it to abort much quicker
- ChronoSync now only simulates user activity on scheduled runs when the wake-to-sync preference setting is enabled to prevent unwanted screen wakes
- The Validator will now retry after content mismatches to eliminate a lot of 'false negatives' on cloud-based validations
- ChronoSync now posts more detailed error codes to the log for certain validation errors
- ChronoSync now posts error messages to the console log if a file system error occurs when refreshing an item's attributes
- Tweaked the formula for calculating maxConcurrentOperationCount so that fewer operation threads are spawned for cloud connections
- Enhanced the retry delay logic to better respond to aborts during the delay
- Added diagnostics that get generated when the Bootable Backup or Disk Image Assistant fails to save the generated document
- Updated tooltips

Bug Fixes:
- Fixed a CRITICAL bug introduced in v4.8.4 whereby hard links recreated on the destination of a sync would all reference the same exact object
- Added logic that will force all multi-hard linked files to be synchronized on the next full run so that the new hard-link logic can correctly recreate them on the destination. If a sync has not been run since Nov 27th, 2017, the fix doesn't need to be applied since that is the earliest date that the the bug could have appeared
- Fixed a bug whereby if a user abort occurred at precisely the wrong time, it was possible that the item(s) being scanned at the time of the abort would be force-synchronized even if they didn’t need to be copied
- Fixed a bug whereby if an open Container Task Document job was invoked from the Scheduled Tasks Manager window, there was a chance that aborting the run would lead to a hang
- Fixed a bug that could cause crashes if scheduling/clearing power manager wake events returns an unexpected error
- Fixed a bug that could cause a deadlock if scheduler jobs were being run with their sync/container task document windows open
- Fixed a bug whereby if the user chose a custom grace interval but not a max interval, the grace interval was allowed to exceed the default max interval of 300 seconds. We now assert a max interval of 3x the grace interval in such circumstances
- Fixed a bug whereby you could not open the Synchronizer Log window when running a Validation
- Fixed a bug when aborting Amazon S3 connections
- Fixed a bug whereby a never-saved task document that is 'saved as default' would become the default document rather than remaining unsaved
- Fixed a bug whereby a never-saved task document that is saved as a Template would become the template document rather than remaining unsaved
- Fixed a bug that would cause the Bootable Backup Assistant to spin indefinitely if saving the generated document failed
- Fixed a bug whereby selecting a bookmark in the Log window was stealing focus from the log list

ChronoSync 4.8.4

Notable enhacements:
- Added more intelligence to the Analyze Panel in an effort to reduce/eliminate unnecessary refreshes
- Posting entries to a task document’s log during a synchronization is now less thread intensive
- A ‘bootable’ trigger mode will now enable the EA and ACL variable attribute triggers, but only if both targets support ‘ExtendedInfoCollection’ i.e. not for connections to old versions of ChronoAgent
- Implemented an alternate technique for aggregating package files that is much faster on APFS file systems. We now use optimal package aggregation techniques depending on whether we are accessing an APFS or HFS filesystem
- Internally, all timestamp manipulations & comparisons are done with sub-second precision. The UI still floors to the nearest second, however
- The Scheduled Tasks database is now loaded and instantiated in a background thread. If you have a large schedule and/or slower computer, ChronoSync will launch faster but you’ll see a delay before scheduled entries appear
- The filesystem validation logic employed when scanning the contents of folders will now try to adapt to inconsistencies detected in the file system rather than immediately throwing an error. This is because High Sierra is reporting a lot of inconsistencies, especially with SMB mounted file servers
- If package dissection is OFF, maintaining an archive which contains package files is now much more efficient. Depending on the nature of your sync/backup task, this could yield a significant performance improvement
- Added the ‘Post more detailed information to the log’ checkbox to the Validator UI. This determines whether or not detailed info will be posted about mismatches. This used to be controlled by the Synchronizer’s equivalent property but now you can control the behavior independently
- Now prevents the system from sleeping when restoring or deleting a batch of files in the Analyze Panel
- The process of connecting to target file managers in a scheduled sync (one that runs without a user interface) is now more streamlined & efficient
- Added new Chinese and Paris endpoints to the Amazon S3 Connection Profile Editor
- When creating a folder as part of a sync operation, we now wrap the operation in a compound task

- When the system wakes from sleep, we added logic in an attempt to thwart the problem where, sometimes, the system wakes from sleep for a scheduled sync, but then goes back to sleep before the sync can be started
- Reworked the 65 second wake assertion we create after invoking a scheduled sync so that it asserts user activity during that time frame if wake-to-sync is enabled
- Added additional operations that generate diagnostics if schedulerDebug is enabled
- The application’s scheduler and scheduled items manager now waits for the background scheduler to be launched before starting themselves up (but won’t wait more than 5 seconds)
- When the system wakes from sleep, we now attempt to schedule the next system wake event. This is an attempt to thwart the problem where a system may stop sending us sleep notifications before putting the system to sleep
- We now schedule a wake event whenever a change is detected in the scheduled items database, the WakeToSync preference is enabled, or the scheduler is turned ON/RESUMED. We also remove all of our scheduled wake events whenever the WakeToSync preference is disabled, or the scheduler is turned OFF/SUSPENDED
- Implemented a scheme whereby a deadlock in the coordinated read/write of the scheduler database can be broken, thereby disabling the coordinated read-write system. The deadlock breaks after 15 seconds and an error message will be posted to the ChronoSync-Console.log or ChronoSync-Scheduler-Console.log
- Tweaked the heartbeat logic so that if it has been over 100 seconds since we last checked the schedule, we treat it as if it were an awake-from-sleep event
- We now declare user activity at the beginning and end of a scheduled sync

Bootable Backup:
- /private/var/run and /private/var/tmp are no longer content- blacklisted for bootable backups
- /private/var/vm is now content-blacklisted for bootable backups
- Added logic to the bootable bless process that ensure /private/ var/vm exists on the destination
- Added logic to the bootable synchronizer that will only ‘touch’ the system extension folders if .kext were actually copied/deleted by the sync. This triggers a rebuild of the kext caches
- The Bootable Backup assistant now enables auto-mount for the destination device in all instances. It used to only do this if it was formatted as an encrypted volume by the assistant
- Deleting a .dylib file is now considered ‘copying’ one, so the dylib caches will get rebuilt at the end of a bootable backup

APFS Bootable Related:
- Added initial set of console messages that get generated when synchronizing the APFS Recovery partition fails
- When synchronizing the Recovery volume as part of an APFS bootable backup, we now dump the Recovery synchronizer’s log to the console if any errors were generated
- Added diagnostic messages that get generated when preparing/ refreshing an APFS Preboot volume
- If our initial manual prep of the Preboot volume fails, we now try to call updatePreboot to see if it can prep the volume. Previously, we only called updatePreboot after our manual prep succeeded
- Added logic to make sure the destination Preboot volume is dismounted after calling the updatePreboot utility because that utility has a tendency to leave it mounted if it produces an error
- All files and folders created while constructing an APFS Preboot volume are now owned by root:wheel
- When refreshing an APFS Preboot volume, we now completely delete the /var/db folder in the volume’s Preboot container and let the upodatePreboot utility rebuild it from scratch
- Modified the Bootable-Backup Recovery volume refresh logic to deal with situations where the source and destination volumes reside within the same APFS container

ChronoAgent Connection Related:
- Added a mechanism whereby the maximum number of pooled command sessions is limited by the maxPooledSessions property
- The prepareToSync method now sets the maxPooledSessions property (if supported) of the target file manager based on the maximum number of concurrent operations plus two

Cloud Related:
- Added logic so that if the MIME type returned by the OS does not conform to “type/subtype”, the default MIME type (typically “binary/octet-stream”) is used as the result

- Reduced the rate of update checks from the ChronoSync Scheduler to once every 24 hours (from once every 12). Our update-check server will be thankful
- Changed the animation style of the ChronoSync Organizer window to ‘none’. Having it ‘zoom’ open all the time was deemed annoying
- Added a 15 second wake assertion at application startup
- We now explicitly set the NSAppSleepDisabled = YES application preference setting when launching the main ChronoSync application
- Enhanced the DocumentRef’s ‘verify’ method (used by ChronoSync Organizer) so that changes to the ‘displayName’ property are made on the main thread. This is in response to some messages about modifying the auto-layout engine on a background thread that were observed in customer-supplied logs, even though this has never been witnessed
- Added logic to the SyncTarget’s setFileTimestamps:atPath: method which will use an alternate API for setting creation & modification date if the item resides on a non-AFP file server while running High Sierra (or later). This method is mainly used on folders
- Added more FMAudit diagnostics to the createFileNamed:inFolder:attributes:flags:newFileRef: method to try and shed light on mysterious permission errors
- We now redirect stdout to our private log files in addition to stderr

Notable bug fixes:
- Fixed a bug in the Remote Target Selector whereby folder contents presented to the user were not being sorted
- Hardened some code in the remote target selector UI to reduce the possibility of exceptions getting raised
- Fixed a validator bug whereby sockets and devices were being included in orphan counts
- Fixed a bug in the Validator whereby if the user aborted a validation, the file that was presently being compared would get reported as being mismatched. That could cause confusion with the user
- Fixed a bug in the Validator whereby it would always skip invisible items if Ignore Invisibles was enabled. It really should only skip them if the *source* item is invisible. If it is a bidirectional sync, it should only skip if *both* items are invisible. Otherwise, it could be a mismatch and should be reported
- Fixed a bug in the Validator whereby the ‘Skip Aliases’ setting was being ignored when comparing the contents of file packages
- We now clear the package aggregation cache of both target file managers before running a validation
- Fixed a relatively rare problem which can occur when working off a bootable backup of a system which had ChronoSync installed, and the default document template contains target specifications for volumes that are still online
- Fixed some bugs related to the mount-check performed prior to any mass file deletions (and periodically during a sync). The bugs would a) lead to ‘false positives’ meaning some file servers could erroneously have dismounts detected, and b) when such a dismount was detected, the error message was extremely unhelpful
- Fixed a bug whereby, sometimes, authenticating for admin access would cause the Scheduled Tasks Manager window to stay hidden after authentication
- When moving a file to an archive, we now have an exception handler to catch any exception raised in the process of enumerating a folder in the archive. It will now generate an error rather than throwing an unhandled exception
- Fixed a bug whereby having the “Don’t create empty folders” setting enabled and running a Trial Sync would skip any folders that need deletion or attribute-only syncs
- Fixed a bug whereby the display of Roll Back Errors was not interpreting the temporary pre-determination value that was set by previous invocations of the routine which would lead to it being interpreted as the status flags for other roll back warnings
- Fixed a bug whereby in some cases, posting a verbose log message about file deletion would only show the filename instead of the relative path
- Fixed a bug whereby some systems mis-report information about running processes and this was confusing ChronoSync into believing that ‘Admin Access’ was not available. The result was an inability to choose “Mounted Volumes (Admin Access)” and might also be the cause of nagging Keychain prompts that some users have reported
- Fixed a bug when performing a coordinated load

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.