Delta updates code uses libxar, which is only available in 10.5+, and Sparkle framework fails to load on 10.4 because of it. Instead of having hard dependency on libxar, Sparkle now links with it weakly and checks for its availability at runtime. This required bumping Xcode project compatibility to 3.2 to get weak linking support. With this change, delta updates are still not supported on 10.4, but Sparkle runs there again and just ignores the deltas. This should be good enough given 10.4's age and shrinking user base.
…tween two versions of an application. The delta file is a custom format created from the xar container format. It describes the necessary modifications to transform the contents of the old directory in to the contents of the new. Binary diffs are used to compress the differences between large files such as Mach-O binaries. The binary diffs are generated by bsdiff and applied via bspatch, both from bsdiff 4.3, the source of which is included and used under a BSD-style license.