Delta updates explained: download only what changed
For asset-heavy apps, full-bundle updates waste bandwidth on files that never changed. How delta updates work, when they matter, and how to enable them in OtaKit with one flag.
Here's a scenario that bites asset-heavy apps: you fix one line of JavaScript and ship an update — and every device re-downloads 40 MB of images that didn't change. On a good connection it's wasteful; on a flaky mobile network it means failed and slow updates. Delta updates solve this by shipping only what actually changed. This guide explains how they work and when to turn them on in OtaKit.
Mental model: a full update ships the whole bundle every time. A delta update ships only the files that differ from what the device already has.
How a normal update ships
By default, a release is a single zip of your entire web build. The device downloads it, verifies it against the SHA-256 hash in the signed manifest, and activates it. Simple and robust — but the download size is your whole bundle every time, regardless of how little changed.
How delta updates ship
With the deltas strategy, OtaKit uploads your build as per-file, content-addressed objects instead of one archive. Each device already has the files from its current bundle, so it downloads only the objects whose content changed between releases — typically your changed JavaScript and CSS, not the unchanged media.
otakit upload --release --strategy deltas
For an app carrying tens of megabytes of assets, that can turn a full-bundle download into a few hundred kilobytes — the difference between an update that reliably completes on a subway and one that doesn't.
Integrity is preserved
Deltas don't weaken security. Each object is content-addressed by its hash, and the assembled bundle is still verified against the signed manifest before it activates. A device can't assemble a bundle that doesn't match what your signing key vouched for. See OTA update security for the full model.
When to use deltas
- Use them if your bundle is large or asset-heavy, or your users are on constrained networks — the win scales with how much stays the same between releases.
- Less critical for tiny bundles where the whole thing is already a small download; the full-zip path is perfectly fine there.
A related lever: make the bundle smaller in the first place. Deltas and bundle-size reduction compound — smaller builds plus shipping only diffs.
Where to go next
See update strategies for the flag details, and how OTA works for where delta assembly fits in the delivery flow.