A system, method and computer program product for software updates
includes (a) generating a set of differences between a latest version of
a file and a plurality of prior versions of the file, wherein the
differences convert any of the plurality of prior versions into the
latest version, but not to any other version; (b) publishing the set of
differences; and (c) providing, to the client, in response to a client
requesting an update to a client's version of the file and the client
providing an identifier corresponding to the client's version of the
file, a difference between the client's version of the file and one of
(i) the latest version of the file, and (ii) a version of the file prior
to the latest version.