React Native Vision Camera Versions Save

๐Ÿ“ธ A powerful, high-performance React Native Camera library.

v4.0.0-beta.4

3 months ago

4.0.0-beta.4 (2024-03-01)

โœจ Features

  • Add androidPreviewViewType prop (dd56925)
  • Add cancelRecording (f51921b)
  • Add onShutter event (dd49365)
  • Add takeSnapshot() to PreviewView (e17eb50)
  • Add CodeScanner pipeline (ImageAnalysis) (08d86d4)
  • Allow setting custom format in ImageWriter (d0eb702)
  • Give V4 ๐Ÿซด (dd4c8fb)
  • Implement native HardwareBuffer rendering for VideoPipeline (00155c9)
  • Properly get orientation and isMirrored in FP (a4a78e9)
  • Shutter sound and stabilization (7b46390)
  • Upload .apk as a GitHub artifact (#2575) (2c976d8)
  • Use CameraX for device details (#2624) (54997a2)
  • Use HDR or NIGHT extensions if available (b9a0434)

๐Ÿ› Bug Fixes

  • Cancel focus on session close (#2578) (9af6e61)
  • Capture directly in lambda (c741c90)
  • Check for ImageAnalysis support (cb2f1c3)
  • Fix "Unknown AF/AE/AWB State" error (#2592) (fabf019)
  • Fix Precapture timed out after 5 seconds error (#2586) (369cb4a)
  • Fix Boolean.parse string values from gradle properties (#2599) (bca9472)
  • Fix focus not running on UI Thread (e4a5fe3)
  • Fix Frame Processor SIGSEV crash in VisionCameraScheduler::trigger by locking mutex in dispatchAsync (#2591) (55992bb)
  • Fix optional delegate (c6e55ac)
  • Fix transform matrix (fd1b118)
  • Implement takeSnaphot on iOS (a638b66)
  • Properly close ImageWriter (f36d304)
  • Rename to qualityBalance (e135b3b)
  • Trigger measure and layout manually in PreviewView (#2588) (7ac6f4d)
  • Use 0x0 as a fallback Size if SENSOR_INFO_PHYSICAL_SIZE is null (e.g. on USB cameras) (#2608) (e8dd1e0)
  • Use image transformation info from input surface (0a415f3)
  • Use runOnUiThread only if needed (d8dbd53)

๐Ÿ“š Documentation

  • Add vision-camera-cropper to the plugins list (#2600) (79ebae5)
  • Fix toArrayBuffer example in Frame Processor Guide (#2595) (4c159af)
  • Update docs for qualityBalance (158de70)

v4.0.0-beta.3

3 months ago

4.0.0-beta.3 (2024-02-29)

โœจ Features

๐Ÿ› Bug Fixes

v4.0.0-beta.2

3 months ago

4.0.0-beta.2 (2024-02-29)

โœจ Features

๐Ÿ› Bug Fixes

  • Rename to qualityBalance (0b11ab2)

v4.0.0-beta.1

3 months ago

4.0.0-beta.1 (2024-02-29)

v4.0.0-beta.0

3 months ago

4.0.0-beta.0 (2024-02-29)

โœจ Features

  • Add takeSnapshot() to PreviewView (da6a818)
  • Add CodeScanner pipeline (ImageAnalysis) (416f00f)
  • Allow setting custom format in ImageWriter (46a1568)
  • Give V4 ๐Ÿซด (e53af0b)
  • Implement native HardwareBuffer rendering for VideoPipeline (10e7708)
  • Shutter sound and stabilization (66b4c84)
  • Upload .apk as a GitHub artifact (#2575) (2c976d8)
  • Use HDR or NIGHT extensions if available (34f62ec)

๐Ÿ› Bug Fixes

  • Cancel focus on session close (#2578) (9af6e61)
  • Check for ImageAnalysis support (774148a)
  • Fix "Unknown AF/AE/AWB State" error (#2592) (fabf019)
  • Fix Precapture timed out after 5 seconds error (#2586) (369cb4a)
  • Fix SENSOR_INFO_PHYSICAL_SIZE possibly being null on usb devices (d890230)
  • Fix Frame Processor SIGSEV crash in VisionCameraScheduler::trigger by locking mutex in dispatchAsync (#2591) (55992bb)
  • Implement takeSnaphot on iOS (282f105)
  • Trigger measure and layout manually in PreviewView (#2588) (7ac6f4d)
  • Use runOnUiThread only if needed (d7b3e0a)

๐Ÿ“š Documentation

  • Fix toArrayBuffer example in Frame Processor Guide (#2595) (4c159af)
  • Update docs for qualityBalance (cbe76b6)

v3.9.0

3 months ago

3.9.0 (2024-02-16)

'tis a big one ๐Ÿ˜ณ - VisionCamera 3.9.0 brings A TON of exciting new features :

๐Ÿ‘‰ focus(...) for Android ๐Ÿ‘† ๐Ÿ‘‰ flash for Android ๐Ÿ“ธ ๐Ÿ‘‰ enableFpsGraph for Android ๐Ÿ“ˆ ๐Ÿ‘‰ enableGpuBuffers for Android ๐Ÿ”ฅ ๐Ÿ‘‰ A fully rewritten CameraCaptureSession to fix various blackscreen issues on Android ๐Ÿš€ ๐Ÿ‘‰ A fully rewritten PreviewView to fix stretching issues on Android ๐Ÿ–ผ๏ธ ๐Ÿ‘‰ AE/AF/AWB pre-capture focus for better quality photos on Android ๐Ÿ“ท ๐Ÿ‘‰ Faster photo capture with qualityPrioritization options (speed, balanced, quality) ๐Ÿƒ ๐Ÿ‘‰ Threading and Concurrency optimizations for faster Camera startup and switching speed ๐Ÿงต ๐Ÿ‘‰ Various issues fixed (maxImages have already been acquired, NullPointerException, Invalid PixelFormat, CameraDevice was already closed, ...) ๐Ÿ’ช

Full changelog:

โœจ Features

  • Flash for Android ๐Ÿฅณ๐Ÿ“ธ (#2558) (37398cc)
  • Implement focus() on Android (#2523) (fb1d82a)
  • Create persistent CaptureSession to avoid any blackscreen issues or errors (#2494) (5acc64e)
  • Add FPS Counter to Android (enableFpsGraph) (#2460) (9089014)
  • Configures capture options with qualityPrioritization flags to shoot photos faster (*_MODE_FAST) (#2558) (37398cc)
  • Add enableGpuBuffers property (#2557) (1a0bd8f), closes #2555
  • Synchronize Frame properly (#2501) (d8c95c9)
  • Add context to VisionCameraProxy (#2545) (24f43ef)
  • Allow focus calls to be cancelable (#2567) (4168d8f)
  • Bump org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.5.2 to 1.7.3 (#2467) (fb96d00)
  • Use yuv by default if no pixelFormat is set (#2441) (11eb1f6)

๐Ÿ’จ Performance Improvements

  • Use existing cameraQueue instead of yet another Thread (#2459) (8c5b603)
  • Allow skipping pre-capture sequence if already focused (#2561) (a7701c8)
  • Use GPU/CPU optimized ImageReaders when possible (#2488) (f896831)
  • Fix double configuration flicker on fast device change (#2537) (b3a8827)

๐Ÿ› Bug Fixes

  • Fix PreviewView being stretched (#2519) (3192f5e) <-- this is a big one! ๐Ÿฅณ
  • Fix zoom not resetting in example app (395ee7a)
  • Fix photo not saving in example app on Android 13+ (#2522) (a4e241a)
  • Catch insufficient-storage errors (#2422) (b1fa065)
  • Enable processNestedWorklets to fix runAsync in example (#2449) (587f2b1)
  • Expose auto-focus system for Android (#2455) (b5eb01b)
  • Fix maxImages have been acquired error in Frame Processor (#2430) (7e2889c)
  • Fix NullPointerException in initFrameProcessorPlugin if plugin is not found (#2454) (02bc8a9)
  • Fix NullPointerException in VideoPipeline.removeRecordingSessionOutputSurface (#2453) (bdbcf05)
  • Fix pixelFormat being native when FP is set (#2450) (d64fc08)
  • Fix priority being ignored in some Format filters (#2456) (d9a3011)
  • Fix SharedArray JSI constructor allocating a new array instead of wrapping (#2444) (c911d25)
  • Fix Unable to retrieve jni environment. Is the thread attached? errors by using jni::ThreadScope (#2457) (33e2adc)
  • Fix Android C++ SharedArray logs (bc6f954)
  • Fix crash in toArrayBuffer() by properly acquiring a reference on AHardwareBuffer* (#2490) (ae75e22)
  • Fix HostObject destructors to make sure a JNI Environment is set up (#2462) (5f75b9e)
  • Prevent phone from going to sleep if Camera is active (#2421) (a739ca1)
  • Properly check HardwareBuffer usage flags before setting them (#2488) (f896831)
  • Refresh Permissions on AppState change (#2420) (97684af)
  • Remove unneeded synchronized keyword (f400487)
  • remove yarn in gitignore (5c5d629)
  • Use ThreadScope::WithClassLoader to also load custom JNI Types (#2461) (9e12975)
  • Add extra sanity-checks for CaptureRequest (#2571) (b105de0)
  • Fix nullable props (#2573) (bda43d3)
  • Replace deprecated RCTEventEmitter with UIManager (#2569) (57c6431)
  • Fix minFocusDistance being NaN on some emulators (e95264f)
  • Properly type Format Templates (#2499) (cd5fdd4)
  • Check if session is still valid before resetting AF after focus (#2550) (b7e24c4)
  • Fix "Invalid pixel format 35" HardwareBuffer crash (#2547) (a2a2e94)
  • Fix java.lang.NoSuchMethodError in FrameProcessor initializer (#2546) (1011c3f)
  • Fix 60 FPS crashing on some Samsungs (#2556) (4786885)
  • Fix VideoPipeline crash on Samsung (Disable USAGE_GPU_SAMPLED_IMAGE ImageReader) (#2555) (ad33dd9)
  • Return after configure error (14daaaa)
  • Use acquireLatestImage instead of acquireNextImage for CodeScanner (#2549) (ec7ce36)
  • Fix PreviewView stretching on Android (now finally a real fix) (#2564) (5df5ca9)
  • Take Orientation into account for PreviewView (#2565) (83c0184)
  • Fix Session has been closed; further changes are illegal error by using tryStopRepeating() (#2568) (129e21f)
  • Move PreviewView into SurfaceView to make it simpler (#2566) (bcd1264)

๐Ÿ“š Documentation

  • New Frame Processor Plugins docs (#2434) (4041ee8)
  • Use SVG PlayStore Button (aad7d2b)
  • Be more explicit about videoHeight/videoWidth (97168c6)
  • Be more explicit about video + preview link and add aspect ratio (14554fa)
  • Add react-native-vision-camera-face-detector to the FP plugin list (#2534) (0ed3aed)

v3.9.0-beta.6

3 months ago

3.9.0-beta.6 (2024-02-15)

โœจ Features

๐Ÿ› Bug Fixes

  • Fix Session has been closed; further changes are illegal error by using tryStopRepeating() (#2568) (129e21f)
  • Move PreviewView into SurfaceView to make it simpler (#2566) (bcd1264)

v3.9.0-beta.5

3 months ago

3.9.0-beta.5 (2024-02-15)

๐Ÿ› Bug Fixes

  • Fix PreviewView stretching on Android (now finally a real fix) (#2564) (5df5ca9)
  • Take Orientation into account for PreviewView (#2565) (83c0184)

v3.9.0-beta.4

3 months ago

3.9.0-beta.4 (2024-02-14)

โœจ Features

  • Add context to VisionCameraProxy (#2545) (24f43ef)
  • Add enableGpuBuffers property (#2557) (1a0bd8f), closes #2555
  • Flash for Android ๐Ÿฅณ๐Ÿ“ธ (#2558) (37398cc)
  • Configures capture options with qualityPrioritization flags to shoot photos faster (*_MODE_FAST) (#2558) (37398cc)

๐Ÿ’จ Performance Improvements

  • Allow skipping pre-capture sequence if already focused (#2561) (a7701c8)
  • Fix double configuration flicker on fast device change (#2537) (b3a8827)

๐Ÿ› Bug Fixes

  • Check if session is still valid before resetting AF after focus (#2550) (b7e24c4)
  • Fix "Invalid pixel format 35" HardwareBuffer crash (#2547) (a2a2e94)
  • Fix java.lang.NoSuchMethodError in FrameProcessor initializer (#2546) (1011c3f)
  • Fix 60 FPS crashing on some Samsungs (#2556) (4786885)
  • Fix VideoPipeline crash on Samsung (Disable USAGE_GPU_SAMPLED_IMAGE ImageReader) (#2555) (ad33dd9)
  • Return after configure error (14daaaa)
  • Use acquireLatestImage instead of acquireNextImage for CodeScanner (#2549) (ec7ce36)

๐Ÿ“š Documentation

  • Add react-native-vision-camera-face-detector to the FP plugin list (#2534) (0ed3aed)

v2.16.8

3 months ago

2.16.8 (2024-02-08)

๐Ÿ› Bug Fixes

  • Fix capture/no-valid-data thrown when calling stopRecording() on some Android devices (#2466) (377264d)
  • Revert: #1955 unbinding camera (#2528) (5651905)