Software Update:updates.xml Format
Background
The updates.xml format is the format used by the AUS server to advertise updates that are available to clients.
Format
A typical updates.xml file looks like this:
<?xml version="1.0"?>
<updates>
<update type="minor" version="1.0.4" extensionversion="1.0"
detailsURL="http://www.foo.com/1.0.4/whatsnew.html">
<patch type="partial" url="http://www.foo.com/1.0.4-partial.xpi"
hashfunction="" hashvalue="" size=""/>
<patch type="complete" url="http://www.foo.com/1.0.4-complete.xpi"
hashfunction="" hashvalue="" size=""/>
</update>
..
<update type="major" version="1.1.2" extensionversion="1.1"
detailsURL="http://www.foo.com/1.1.2/whatsnew.html">
<patch type="complete" url="http://www.foo.com/1.1.2-complete.xpi"
hashfunction="" hashvalue="" size=""/>
</update>
</updates>
Elements & Attributes
Every updates.xml contains a updates element as its root. This element has no attributes.
Beneath updates lives a sequence of update elements, each describing an update to an individual application version.
The attributes for update are as follows:
| type | major or minor. Major updates are for major application number revs, minor for security releases or incremental updates. |
Within an update element there must be at least one and no more than two patch elements. The patch element describes a patch file that lives on a remote server that must be downloaded and applied to the application to update it to that version. The attributes for patch are as follows:
Additional Client Metadata
The client uses this same format to collect a history of installed updates. In the process, it caches the update file locally in two places:
bin/active-update.xml (the update in progress, persisted across sessions) bin/updates.xml (updates performed in the past)
These files may contain additional attributes representing update state stored by the client.