react-native-image-stitcher 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -16,6 +16,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
16
 
17
17
  ## [Unreleased]
18
18
 
19
+ ## [0.7.1] — 2026-05-26
20
+
21
+ ### Fixed — CI binary-packaging bloat
22
+
23
+ The v0.7.0 release (and likely v0.5.1 before it — both built by
24
+ CI) shipped uncompressed binary archives that consumers downloaded
25
+ on every `npm install`. Sizes vs. the manual recipe used for
26
+ v0.6.0:
27
+
28
+ | Platform | v0.7.0 (CI, unstripped) | v0.7.1 (CI, stripped) | Saving |
29
+ |---|---|---|---|
30
+ | iOS zip | 43 MB | ~26 MB | -17 MB |
31
+ | Android zip | 165 MB | ~42 MB | -123 MB |
32
+
33
+ The lib itself is unchanged; consumers on the `^0.7.0` semver range
34
+ automatically pick up v0.7.1 and start getting the smaller download.
35
+ No source-code changes; binary-only re-release.
36
+
37
+ #### Root cause
38
+
39
+ - **iOS**: `scripts/build-opencv-ios.sh` produced an xcframework
40
+ containing both the device slice (`ios-arm64`) and the simulator
41
+ slice (`ios-arm64_x86_64-simulator`). vision-camera + ARKit
42
+ don't work on the simulator and the example app targets devices
43
+ only, so the simulator slice was dead weight in every download.
44
+ - **Android**: `scripts/build-opencv-android.sh` ran OpenCV's
45
+ `build_sdk.py` for all four NDK ABIs (per the script's own
46
+ contract — produces a multi-arch fat SDK). The lib's
47
+ `android/build.gradle` sets `ndk.abiFilters arm64-v8a` so only
48
+ arm64-v8a binaries reach any consumer APK, but the zip carried
49
+ `armeabi-v7a` / `x86` / `x86_64` libs in three sibling dirs
50
+ (`sdk/native/libs/`, `staticlibs/`, `3rdparty/libs/`) plus
51
+ `samples/` (~10 MB) and `apk/` (~5 MB) — none of it ever loaded
52
+ at runtime.
53
+
54
+ #### Fix
55
+
56
+ Both build scripts now strip the dead-weight pieces immediately
57
+ after the OpenCV build completes, before zipping for upload.
58
+ Sentinel checks fail loudly if a strip removes the required
59
+ arm64-v8a artifacts (defends against a future refactor of the
60
+ strip block). Pattern matches the manual recipe in
61
+ `feedback_binary_release_packaging.md` (project memory).
62
+
63
+ The iOS strip auto-detects the simulator entry's index in the
64
+ xcframework's `Info.plist::AvailableLibraries` via a
65
+ `plutil -convert json | python3` one-liner — the index isn't fixed
66
+ across OpenCV builds and previous manual recipes that hardcoded
67
+ `AvailableLibraries.1` would have silently stripped the wrong
68
+ slice if the order changed.
69
+
70
+ #### Compatibility
71
+
72
+ Strict additive over v0.7.0. No code changes — the lib's runtime
73
+ and public API surface are byte-identical.
74
+
19
75
  ## [0.7.0] — 2026-05-26
20
76
 
21
77
  ### Added — Tier 1: `useKeyframeStream`
@@ -1248,7 +1304,8 @@ Native module names also changed:
1248
1304
  - iOS pod: `RetaiLensCaptureSDK` → `RNImageStitcher`
1249
1305
  - iOS xcframework: shipped as `opencv2.xcframework` (linked from `RNImageStitcher.podspec`)
1250
1306
 
1251
- [Unreleased]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.7.0...HEAD
1307
+ [Unreleased]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.7.1...HEAD
1308
+ [0.7.1]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.7.0...v0.7.1
1252
1309
  [0.7.0]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.6.0...v0.7.0
1253
1310
  [0.6.0]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.5.1...v0.6.0
1254
1311
  [0.5.1]: https://github.com/bhargavkanda/react-native-image-stitcher/compare/v0.5.0...v0.5.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-image-stitcher",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Pose-aware panorama capture + stitching for React Native. One <Camera> component, both tap-to-photo and hold-to-pan modes, both AR-backed and IMU-fallback capture paths.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",