Skip to content

v2.0.0

Choose a tag to compare

@pedrol2b pedrol2b released this 02 Aug 22:40
· 9 commits to main since this release
433997d

react-native-vision-camera-mlkit v2.0.0

This is a major, breaking release. It moves the library off the legacy TurboModule bridge onto VisionCamera v5 + Nitro Modules. If you're on v1, read docs/migration-v1-to-v2.md before upgrading — VisionCamera v4 users should stay on a v1 tag until they can move their camera integration to v5.

Core rewrite

  • Migrated to VisionCamera v5's useFrameOutput + Nitro Modules, replacing the old useFrameProcessor/TurboModule integration.
  • React Native bumped to 0.86.

Features

  • Live-frame ML Kit recognition wired for both platforms (text recognition and barcode scanning).
  • Barcode scanning added as a full feature family (previously text-recognition-only).
  • Shared Region-of-Interest (ROI) cropping for both text recognition and barcode scanning — crop processing to a rectangle of the frame/image before running ML Kit, with results always mapped back to full source coordinates.
  • Static-image processing (processImageTextRecognition/processImageBarcodeScanning) with EXIF-aware orientation handling and full-resolution downsampling.

Selective, compile-time-optional installs

  • Text recognition and barcode scanning are each independently installable on both platforms — disabling one genuinely removes its native SDK from the build (not just at runtime), keeping binary size down for consumers who only need one feature.
  • New Expo config plugin mirrors the same selective configuration into the generated android/build.gradle/ios/Podfile during expo prebuild, so Expo users don't have to hand-edit native config.
  • See docs/selective-mlkit-install.md and docs/expo-plugin.md.

Fixes

  • iOS image-orientation correctness for static images.
  • Android: full BoundingBox field population in Nitro conversions, bitmap-recycling and ML Kit detector concurrency fixes, a redundant iOS render-pass removal.
  • A cross-Worklet-Runtime closure bug affecting frame processing.
  • CocoaPods/Bottom Sheet dependency swap in the example app.

CI/build hardening

Fixed a number of build failures uncovered while auditing this branch for release-readiness: iOS Xcode version pinning, Bundler/Ruby compatibility, Turborepo environment-variable passthrough, an xcodebuild destination-string bug, an Android codegen duplicate-class bug, and a missing Android CMake dependency.

Docs & metadata

Refreshed README/package.json/GitHub repository description and topics to reflect the Nitro architecture, selective install, and the new Expo plugin.


Full diff: v1.0.0...v2.0.0