v13.1.0
This release introduces Diff Updates to reduce CodePush update download sizes.
Diff Update Support
- Asset Diff downloads only the JS bytecode diff and newly added assets based on the currently running CodePush update.
- Binary Patch distributes only the difference between the JS bytecode embedded in the app binary and the new bundle.
- Updates automatically fall back through Asset Diff → Binary Patch → Full Update when a preferred method is unavailable or fails to apply.
Monitoring Improvements
- Callback metadata has been extended to indicate which update method was actually downloaded and applied.
- Errors thrown from telemetry callbacks are now isolated from the update process.
What's Changed
- test: validate binary patch codec contract by @floyd-soomgo in #149
- feat(cli): generate platform binary patch artifacts by @floyd-soomgo in #150
- feat: add optional binary patch metadata by @floyd-soomgo in #153
- feat(android): apply binary patch updates by @floyd-soomgo in #154
- feat(ios): apply binary patch updates by @floyd-soomgo in #155
- test(e2e): cover platform binary patch updates by @floyd-soomgo in #156
- feat: export embedded bundle from native builds by @floyd-soomgo in #157
- feat: expose binary patch result callback by @floyd-soomgo in #158
- chore: pin example apps to Ruby 3.1.6 by @floyd-soomgo in #159
- chore: refresh example app Podfile.locks by @floyd-soomgo in #160
- Release v13.1.0-beta.0 by @github-actions[bot] in #163
- fix: restart the download progress stream on binary patch fallback by @floyd-soomgo in #161
- Release v13.1.0-beta.1 by @github-actions[bot] in #164
- fix: bundle updates unminified to match the binary by @floyd-soomgo in #165
- Release v13.1.0-beta.2 by @github-actions[bot] in #166
- feat: build and publish per-base asset diff archives by @floyd-soomgo in #167
- feat: pick the asset diff archive matching the installed update by @floyd-soomgo in #168
- feat: let the native client install asset diff archives by @floyd-soomgo in #169
- docs: describe asset diff archives by @floyd-soomgo in #170
- Release v13.1.0-beta.3 by @github-actions[bot] in #172
- feat: pass artifact metadata to bundle callbacks by @floyd-soomgo in #173
- Release v13.1.0-beta.4 by @github-actions[bot] in #174
- test: add an iOS unit test suite for the binary patch and asset diff paths by @floyd-soomgo in #175
- test: cover asset diff installs in the E2E suite by @floydkim in #176
- feat: route asset diff failures through the patch archive before full by @floyd-soomgo in #177
- docs: cover the options and functions the JS API reference was missing by @floyd-soomgo in #178
- docs: move the telemetry callback reference out of the README by @floyd-soomgo in #179
- docs: pull the diff update guide out of the README by @floyd-soomgo in #180
- test: run the E2E suite for both platforms at once by @floyd-soomgo in #182
- fix: say why a download failed, and what that means for the other archives by @floyd-soomgo in #184
- Release v13.1.0-beta.5 by @github-actions[bot] in #185
- feat(cli): build the patch tools with a command instead of a script path by @floyd-soomgo in #186
- Release v13.1.0-beta.6 by @github-actions[bot] in #187
- docs: clarify diff updates and telemetry callbacks by @floydkim in #188
- fix: isolate telemetry callback failures by @floydkim in #189
- docs: explain Hermes bytecode alignment benefits by @floydkim in #190
- docs: remove obsolete multi-deployment testing guides by @floydkim in #191
- Release v13.1.0 by @github-actions[bot] in #192
New Contributors
- @floyd-soomgo made their first contribution in #149
- @github-actions[bot] made their first contribution in #163
Full Changelog: v13.0.0...v13.1.0