The support forum

Release 77

Mar 07, 2017

Release at a glance

⦁    Log viewer improvements, including an errors-only mode

⦁    Added support for upgrading from Personal to Professional license
⦁    Added "Symantec" mode for built-in update checks

⦁    Added support for Windows Image Container reparse points
⦁    Added support for vendor quirks to the device tracking module
⦁    Added support for using pre-backup commands as conditions

⦁    Added new "Welcome" mini-guide for the first-time users
⦁    Revised UI wording in several places for clarity

⦁    Resolved an issue with scanning empty locations at a device root
⦁    Resolved an issue with timestamp and attribute matching filters

Important changes from later 76.xx releases

⦁    Added preliminary support for media and device ejection

⦁    Changed the engine to run under its own account in service mode

⦁    Added support for retrying on errors during the scan phase

⦁    Added support for pre-seeding and migrating backups

Mar 07, 2017

Log viewer improvements

⦁    Log viewer can now be switched to show just the errors and their immediate context. May not sound like much of work, but it maps onto a lot of complexity behind the scenes.

        Details are here -

⦁    It's now possible to hover over longer log entries to see more of them. Again, you'd think it'd be something simple, but - no. This. Is. Windows.

        Details are here -

Mar 07, 2017

License upgrades

As you likely know the main difference between two license types is the permitted type of use for the software. Personal license is strictly for backing up personal data on your home computer, no exceptions. All other cases require a Professional license.

This release add the "Upgrade to Pro" option that allows those who need to rectify their Bvckup 2 licensing to do just that.

This options also acts as a stepping stone for the upcomin licensing changes that will introduce *functional* differences between license types. See this post from October last year for details -

Mar 07, 2017

"Symantec" update mode

Norton Security line of Symantec products has a very poorly thought-through feature whereby they flag or even silently remove an .exe file IF it hasn't yet been seen by a sufficient number of Symantec's users.

This is their take on "reputation-based" white listing, but I am frankly not sure how many half-brains they needed to pool together to design it this way. The only workaround is to send them an explicit request to whitelist a new version before it's made available to anyone using their security products.

Note that Microsoft does something similar with its SmartScreen service, *but* they also correctly respect the presence of EV Digital Signatures on the files and whitelist these automatically.

Long story short - as of this release Bvckup 2 will check if there exists HKEY_LOCAL_MACHINE\Software\Symantec registry key, and if it does, it will include a note to that effect in its request for updates. Upon seeing such note our update server will withhold new versions from them until these versions go through the Symantec's whitelisting process, which is something that we'll try and do shortly after each release.

You can turn this feature off by setting

        updates.conf.av_aware    0

in bvckup2-engine.ini (making sure, of course, to stop the app before editing the INI).

Mar 07, 2017

Additional functional changes

⦁    Added support for Windows Image Container reparse points - these are now simply ignored as per

⦁    Added support for vendor quirks to the device tracking module - this has to do with external drive enclosures made by Icy Dock (and, no, I haven't heard of them before either).

These little fellas override drive serial number (from ATA/IDENTIFY) when it's reported to the computer and they also *randomize* it on every plug/unplug. No idea why, but as of this release device tracking is NOT automatically enabled for removable devices IF they have a device ID in RANDOM_<hex-number> format.

⦁    Added support for using pre-backup commands as conditions - that is, it's now possible to use a pre-backup command to quietly cancel a backup run if certain conditions aren't met. The app will execute the command, look at its return value and if it doesn't match specified value, it will abort the run without logging an error.

This is set up by setting the following two entries in settings.ini for a job:

        conf.command_post_crit    2
        conf.command_post_rc      <expected return value for the command>

The key here is the value "2" in the first line which stands for "advisory".

The other two possible values is "1" for "critical" (which abort the backup with an error if the return code doesn't check out) and "0" for "ignore" (which merely executes the command and doesn't do any return value checking at all).

Mar 07, 2017

Additional UI changes

⦁    Added new "Welcome" mini-guide for the first-time users


        Design notes on /wip -

⦁    Revised UI wording in several places for clarity

        Reworded description of the "Archive" option:

        Re-labled timestamp fields in the Filter Details window:

        In dialogs with "More..." button its label now changes to "Less..."
        when it is in depressed state.

Mar 07, 2017

Issues resolved

⦁    Resolved an issue with scanning empty locations at a device root - that is, the app would refuse to run a backup to the root of a drive, e.g. X:\, if the drive was completely empty. Typically, even freshly formatted drives have at least _something_ on them (System Volume Information folder, for example), so it took a while for this issue to surface.

⦁    Resolved an issue with timestamp and attribute matching filters - just what it says, in some cases exclusion/inclusion rules that were set to match on attributes/timestamps weren't triggering as they should.

Mar 14, 2017

Release 77.2 is out

⦁    Added support for using source scan filters for destination scan.

      This feature is enabled by setting

              conf.dst.filters.as_source   1

      in backup's settings.ini (see the FAQ on where to find and how
      to work with INI files).

      For the context see this thread -

⦁    Resolved an issue with log viewer not handling correctly log rotation.
⦁    Resolved an issue with upgrading from older licenses.

Apr 11, 2017

Release 77.3 is out

⦁    Speeded up the scanning of remote shares.

As you may or may not know Bvckup 2 implements a multi-threaded file tree scanner, whereby it can enumerate files in several directories in parallel. The thread count was set to the (number of CPU cores - 1), which is a reasonable default for scanning _local_ drives. However when scanning over-the-network locations the bottleneck is with the network, not CPU, so as of 77.3 a new default for scanning remote locations is to use 8 threads.

As per usual, both thread counts can be overriden in settings.ini for the job using "conf.scan_threads.remote" and "conf.scan_threads.local" variables.

⦁    Added new mode for email alerts - "on changes and errors"

That is, it's now possible to suppress email alerts for blank runs with no changes.

⦁    Added support for periodically sending "I am alive" alerts - this is a complimentary feature for the above change. It allows forcing an alert after a backup every N time units *regardless of the alert mode*.

This is OFF by default and it can be enabled by setting the following settings.ini variable to desired time interval:

        conf.alerts.post_backup.keepalive    24 h

⦁    Added support for loading, unloading and deleting backup
jobs from the command line. For example,

        bvckup2.exe --command delete "Backup of C"

will delete a backup job called "Backup of C" just as if it was right-clicked on in the UI and the Delete option was selected.

"Unload" is a non-destructive version of "delete" - the job is removed from the app's backup list, but all on-disk configuration is preserved. The job will also be picked up and loaded on the next app launch.

Finally, "load" tells the app to pick up and start servicing a new backup job from the Bvckup2\engine\ directory. is now updated to reflect these changes, see there for details.

⦁    Resolved an issue with move/rename detection - this has to do with the case when Bvckup 2 is used to take over an existing backup (for example, made by copy-pasting files with Windows Explorer). In this case, renaming a file that was a part of the original file set was not recognized by Bvckup 2 and it ended up recopying the file.

⦁    Fixed a log viewer issue triggered by deleting 2+ backups - that is, with the log panel closed, select 2 or more backups, delete them, open a log panel and the app would whoops. No more.

⦁    Fixed a log viewer issue with not showing on-hover tooltips
when a running backup generates a lot of activity.

May 03, 2017

Release 77.4 is out

⦁    Resolved an issue with MoveFileEx() sometimes failing with "Access denied" when processing files that have (or had) a read-only attribute.

⦁    For real-time jobs - expanded the list of errors that, when encountered during monitoring the source location, will cause the backup to go back into "Waiting for the source device" state. Previously, this list included:

        ERROR_INVALID_HANDLE                       (6)
        ERROR_UNEXP_NET_ERR                         (59)
        ERROR_NETNAME_DELETED                   (64)

and this release adds the following three:

        ERROR_BAD_NETPATH                             (53)
        ERROR_NETWORK_UNREACHABLE        (1231)
        ERROR_HOST_UNREACHABLE                 (1232)

⦁    For real-time jobs - added a fallback mode for all other types of errors.

These errors basically mean that the app cannot setup a real-time monitoring of the source, so the fallback is to try and simply run the job every 5 minutes (configurable). This will also cause the app to try and set up the monitoring again after each run.

There are two separate settings that control the fallback - one for network shares and another for local devices. These can be set up separately and the default is 300 seconds for former and [disabled] for the latter. These are INI-only options and they are controlled by  the following two entries in job's settings.ini:

* The reason for the [disabled] default is that if the app cannot set up the monitoring of a _local_ device, there's something fundamentally wrong with the machine and it's better be investigated rather than swept under the carpet with a workaround.

May 18, 2017

Release 77.5 is out

⦁    Added detection of drives getting reformatted.

This was long due and it has to do with the case when you'd stick in a new drive, launch Bvckup 2, _then reformat the drive_ and finally configure a backup job to use it.

What ended up happening was that the job got pinned to the original ID of the drive rather to its new one that it acquired after the reformat. The job will run just fine, but on the next app restart it will go into "expecting original device" state.

This is turn was because the app was tracking just the _device_ events, but not the _volume_ mounts/dismounts. So it was happily oblivious to the reformat changing drive's ID (or to be precise - its volume serial number).

So, no more. Got its device tracking brains augmented as required.

⦁    Added per-job override for email alert To address.

It's now possible to have job-specific email alerts to be sent to a job-specific email address. This is controlled by the following setting in job's settings.ini -

Before changing the INI please read respective FAQ entry.

⦁    Reworked how volume label changes are detected.

Previously, the app re-queried labels of all present drives every few seconds and that helped keeping its internal drive information list in sync with the reality.

Polling is not elegant in general. Crude even. So this got reworked to use the very same volume event tracking mechanism that is now used for detecting drive reformatting. It's slim, beautiful and it works.

Except for TrueCrypt volumes.

⦁    TrueCrypt workarounds are now extended to VeraCrypt.

There are now 2 workarounds for TC quirks and several TC-specific error messages (e.g. when trying to use shadow copying with TC volumes).

One workaround is for detecting TC volume mounting/dismounting when in service mode -

Second workaround is for detecting TC volume label changes. It involves periodically re-querying TV volume labels, which is not elegant, crude even. But there's no other way.

So, long story short, Bvckup 2 now treats TrueCrypt and VeraCrypt as synonyms, so all the quirks that VC inherited from TC should now be handled just as their originals.

May 26, 2017

Release 77.6 is out

⦁    Added support for job queues - backup jobs can now be sorted into arbitrary number of scheduling queues. All jobs in the same queue are executed in sequence, back to back, but all _queues_ are processed in parallel.

I will make a separate post on how to configure this and will splice the link to it here.

⦁    Added support for sync'ing top folder attributes - it's now possible to tell bvckup2 to clone attributes, timestamps and/or security information from the source (top-level) folder to its backup counterpart.

See here for details -

⦁    Resolved an issue with sync'ing folder security info - previously, changes to folders' owner/group/DACL/SACL attributes won't be propagated by the app unless there were some other changes to any other items in the backup.

This had to do with the fact that all folder updates are delayed until the very end of a backup run, but bvckup2 would complete the run prematurely with ("no changes found") if folder updates were the only changes in the backup plan.

⦁    Tweaked UI messaging in a couple of places - clarified a couple of informational messages, including a hint shown when CreateDirectory() fails with "File not found".

May 27, 2017

Release 77.7 is out

A.k.a. the Saturday Morning Special

⦁    Resolved an issue with "FindFirstFile() failed with 161" during the scan phase that would surface when using a remote share that fronts the root of the drive.

⦁    Resolved an issue when a backup runs into errors archiving folders.

Froggie :

May 27, 2017

Following the 77.7 update, backup job no longer respecting the INCLUDE specification.  Specification is ROOT level of the drive with an inclusion of only 2-folders (checked the job spec and it hasn't changed)... when run, it ignores the inclusiontries to backup the whole drive.

Backed up to 77.5 and all is fine...

Froggie :

May 27, 2017

...(above) of course there's no word as "inclusiontries," its "inclusion entries."

Alex Pankratov :

May 27, 2017

Sent you an email, please have a look.

twaindev :

May 27, 2017

Alex, I'm experiencing the same issue with 77.7. Instead of only the selected folders the whole drive is backed up.

Alex Pankratov :

May 27, 2017

I can confirm the issue. Please stand by for the fix.

May 28, 2017

Release 77.8 is out

A.k.a an Exciting Weekend

⦁    Resolved an issue with root-level include scanning rules - as per Froggie, twaindev and other people's reports. This had to do with both scanning and planning modules gratuitously using high bits in folder's attribute field for their internal housekeeping needs.

⦁    Resolved an issue with cancelling jobs in Planning phase - this was due to a misplaced self-consistency check (an "assert"). By far the most ironic type of bug - an error in the error checking code.

⦁    Resolved an issue with planning progress display in the UI - a minor cosmetic fix.

⦁    Resolved an issue w/ toggling "Concurrent backups" option - enabling "Concurrent backups" options while some backups are queued would schedule them for immediate execution (as expected), but would also cause a self-consistency check failure once all of them complete. For a change this check actually worked as designed and helped catching an issue in another part of the code.

Jun 01, 2017

Release 77.9 is out

⦁    Fixed an issue with force-starting already running backups - this was introduced in 77.6 and it caused the app to attempt and start a running job again (instead of simply ignoring the request). This in turn tripped a self-consistency check in scheduling logic.

⦁    Fixed an issue of Start minimized getting reset after updates - this is tentative as we couldn't reproduce it locally, so it was a blind fix based on the best (but still relatively intelligent) guess.

⦁    Reworked how the top-level folder attributes sync works - see for details.

Jul 03, 2017

Release 77.10 is out

⦁    Fixed an issue with certain INI-level settings not being propagated between the engine and the UI correctly. For the context see this thread -

BITespresso :

Jul 13, 2017

I am running Release 77.9 and it does not show Release 77.10 as an available update. Shouldn't it?

Alex Pankratov :

Jul 14, 2017

77.10 wasn't announced to the public update channel, because the only change in it is for handling of an advanced override setting.

77.11 is going out today with two more fixes and it *will* be announced through the in-app updates. Stay tuned.

Jul 14, 2017

Release 77.11 is out

⦁    Changed how drive information is refreshed and cached.

In particular, when a backup job is running, its copy of the list of local drives is now refreshed after the pre-backup command is executed. This is to accommodate a case when a pre-backup command mounts a volume and the job is set to use device tracking. Previously, without this change the job would fail with "no matching device found," because it was stuck with a stale version of the drive list.

⦁    Fixed an issue with tracking status of BitLocker drives.

This is something that got broken with 77.5 release and its rework of how bvckup's internal drive list is updated. As of this release unlocking a BitLocker-protected drive is correctly recognized and its information is re-queried.

⦁    Fixed an issue with log viewer in low disk-space conditions or, more generally, in cases when the log was not viewable.

In this state clicking on the error count in backup's entry would try to scroll the log to the last error entry, realize that the log is broken, try to reindex it, fail and then self-destruct because of an invalid self-consistency check. No more now.

Jul 14, 2017

Revised version of 77.11 is out

⦁    Resolved an issue with the log viewer panicking right after a new backup job is added to the list. This is related to the last item on the 77.11 change list and it was due to an overly strict safety check in the code.

Aug 02, 2017

Release 77.12 is out

⦁    Added support for passing a system tag to "activate" command - that is, it's now possible to issue

        bvckup2.exe --command activate <code> <tag>

This will first set "inventory tag" to <tag> and include it with the activation request. The tag then gets recorded on the licensing server and becomes visible on console.

⦁    Fixed an issue with activate command handling - issuing two "activate" commands back-to-back, rapidly caused the app to panic as the second command cancelled the first activation, but forgot to reset certain part of the internal state.

⦁    Fixed an issue with log viewer not rendering & characters - the log viewer was treating & as a decorative instruction causing the next character to get underlined and the & itself not showing up at all.

Aug 08, 2017

Release 77.13 is out

⦁    Tweaked networking share monitoring logic - this is a per [1] exchange and it has to do with the case when there are several jobs that use the same network share, but some have share credentials configured and some - don't.

Prior to this release the network monitoring module would always try and access the share using the setup of the first job to request the monitoring. Meaning that if it happens to be the one without share credentials, the app would just try and try accessing it that way even though it actually has username/password available from other jobs.

As of this release the monitoring module will favor the first set of credentials if there's one available. Otherwise it'll try and check the share using anonymous access.


⦁    Added support for binding licenses to a network address - this has to do with mass-deployment of Bvckup2 onto machines that have identical *everything*, down to Computer SID, motherboard numbers, etc.

You'd be amazed to know that this actually happens with _physical_ machines, courtesy of a large and well-known vendor. The only thing that is different between the clones is the MAC address of a network adapter.

This leads to a problem that this clone army would end sharing the same license, which in turn will complicate matters when deactivating licenses for some of the machines.

As of this release it's now possible to tell Bvckup 2 to mix the MAC address of a network adapter into the system ID to which a license is bound.

Details are available strictly upon request, since if you ever find yourself needing this, the first thing to do is to look at other (better) option, including, for example, re-generating Computer SID (as per MS own advice).

⦁    Reduced logging verbosity of real-time backup jobs - they used to spam central application log under certain conditions. No more.

New topic

Made by IO Bureau in Switzerland

Updates Newsletter
Blog & RSS
Follow Twitter
Miscellanea Press kit
Company Imprint

Legal Terms