You know that thing where you put out a release, that fixes two minor crashes, but then a typo causes a different failure?

Well, welcome to SuperDuper! v3.7.3/v3.7.4, the "Can I Have a Do-Over" release.

v3.7.3 was released to correct two rare problems: both of which had to do with launching scheduled copies.

The first was a weird race condition that caused occasional crashes right at launch, but only with scheduled/scripted copies launched without loading settings. It was strange, we couldn't reproduce it internally, but it happened to a few users and we think we've run it down.

The second caused copies to terminate successfully, typically after copying all the data, before running the cleanup phase of the copy operation. This was another one we couldn't reproduce internally, but seems to be related to a singleton that was getting re-initialized in some situations. And if that doesn't mean anything to you, don't worry about it, beacuse it's fixed and all is right with the world.

Of course, all was right with the world, until we released v3.7.3 this morning, and within an hour a user got an error.

Really? Oh, Man...

We thought we were in pretty ideal shape. v3.7.3 had been given to quite a few people over the last month or two, and it was working great both internally and in external testing. But, right after release, a user had a copy error on Catalina, and it was quite weird so we ran it down.

During development, we were doing some investigation into copying of some uncopyable attributes, and at one point we found an optimization that allowed us to skip a read operation, since we already had the data.

But, when implmented, there was an expansion-related mistake in one access to the variable, which caused an error in some rare circumstances.

Although, again, we couldn't reproduce the problem internally (I hate that, since it makes it hard to generate a test case to guard against this kind of thing in the future), we nevertheless ran that to ground quickly after v3.7.3's release (ah, v3.7.3, we never really knew ya), and out the door went v3.7.4.

So there you go! Two quick releases, two small fixes, one panicked change of underwear, and one other fix. A good way to spend a Thursday.

Enjoy!