Verified today: deterministic patch reconstruction
The repository contains a checked-in old bundle, new bundle, binary patch, wrong-base bundle, and SHA-256 manifest. Native iOS and Android golden tests apply the patch, verify that the reconstructed bytes equal the expected new bundle, and reject an incompatible base.
| Fixture | Checked-in size | Purpose |
|---|---|---|
old.bundle | 463 bytes | Known compatible base |
new.bundle | 519 bytes | Expected reconstructed output |
old-to-new.bsdiff | 276 bytes | Deterministic golden patch |
wrong-base.bundle | 441 bytes | Negative compatibility test |
shasum -a 256 -c packages/react-native/test/delta-fixtures/SHA256SUMS
yarn workspace @nitropush/react-native test:delta:goldenThese fixtures verify correctness and cross-platform compatibility. They are intentionally too small to support a credible production bandwidth claim.
How production delivery works
- The CLI keeps the full new bundle and may generate a
bsdiffpatch against the previous compatible release. - A patch is retained only when it is meaningfully smaller than the complete payload.
- The device includes the hash of its current bundle during its update check.
- NitroPush returns a patch only for an exact compatible base.
- The SDK reconstructs the new bundle, verifies SHA-256, then verifies the release signature when signing is enabled.
- A full bundle remains available when no compatible patch exists or verification fails.
The production benchmark we will consider publishable
A credible benchmark should use several real React Native applications and publish the source revision, React Native version, Hermes version, platform, minification settings, bundle command, compression state, full-bundle size, patch size, patch-generation time, apply time, device model, and verification time.
Change sets
Copy-only edit, component edit, dependency change, large refactor, and asset change.
Baselines
Embedded native bundle, previous OTA bundle, and devices that skipped intermediate releases.
Report both wins and losses
Show when a patch is smaller, when it is rejected, and when a full bundle is the correct response.
What we do not claim from the synthetic fixture
- It does not prove a universal percentage reduction.
- It does not measure CDN compression or real mobile-network transfer.
- It does not represent every Hermes bytecode layout or application architecture.
- It does not eliminate the need for a complete verified fallback bundle.
This disclosure is intentional. Teams should evaluate delta performance using their own production bundle history before forecasting bandwidth savings.