Skip to content

Releases: mrousavy/react-native-vision-camera

Release 5.1.1

Choose a tag to compare

@mrousavy mrousavy released this 17 Jul 13:33

5.1.1 (2026-07-17)

✨ Features

  • Implement focus(…, { adaptiveness: 'locked' }) on Android (7e7ae70)
  • Upgrade CameraX to 1.7.0-alpha02 (#4068) (3b46a05)

💨 Performance Improvements

  • Use official CameraX PRIVATE ImageReader implementation (59e1d41)

🐛 Bug Fixes

  • Fix getSupportedResolutions('photo') throwing on some Androids (#4077) (391d765)
  • Remove ListenableFuture workaround (dd68d69)
  • Use official HardwareBuffer CameraX APIs (3c6a364)

Release 5.1.0

Choose a tag to compare

@mrousavy mrousavy released this 01 Jul 15:54

5.1.0 (2026-07-01)

✨ Features

  • Add scanCodesInImage(...) to scan static Images via Barcode Scanner (#3995) (3106137)
  • Add support for passing declarative position to Camera Device configuration (#4057) (be75cce), closes #4059
  • Better useCameraDevice(...) including default Cameras (#4053) (38140ce)
  • Properly report YUV range (-full or -video) on Android (#4034) (fd23573)
  • Support getDefaultCamera('external') on Android too (#4056) (e26489f)

🐛 Bug Fixes

  • Add timeout for metering tasks (#3972) (dbe1c23)
  • Check white balance mode support before metering (#3976) (da5cc3b)
  • Don't start zoom animation if we are already on that exact zoom value (#3988) (e226a61)
  • Fix getDefaultCamera('external') not returning external Cameras (#4040) (98bcf42)
  • Fix saveToFileAsync(...) accidentally applying orientation twice (#4043) (f6f21c5)
  • Fix connections not being removed (#4065) (faefaa8)
  • Fix react-native patch for IPv6 Harness that crashed since RN upgrade (#3970) (31e2927)
  • Fix unknown Pixel Formats (specifically rgb) (#4064) (db81a6c)
  • Improve hasPixelBuffer correctness (#3930) (cf1a2f5)
  • Make continuity Camera Devices external too (#4039) (081aabc)
  • Observe metering state before requesting changes (#3974) (a6b909c)
  • Observe zoom ramp before starting animation (#3975) (5cd7a36)
  • Serialize metering KVO updates on queue (#3977) (e8eda52)
  • Treat ERROR_SOURCE_INACTIVE as a successful recording finish (don't discard a valid file) (#4042) (7870330)

📚 Documentation

Release 5.0.11

Choose a tag to compare

@mrousavy mrousavy released this 27 May 15:46

5.0.11 (2026-05-27)

✨ Features

  • Add Frame.hasPixelBuffer and Frame.hasNativeBuffer (#3928) (efdc142)

🐛 Bug Fixes

  • Allow single cameras in supportedMultiCamDeviceCombinations (#3927) (bacb7a1)
  • Bump CI timeout (eb98a32)
  • Close HardwareBuffer Java ref (#3904) (f658097)
  • Fix ByteBuffer reading from stale offset by rewinding it before reading (#3921) (f160f0a)
  • Fix start()/stop() not being awaitable on Android (#3901) (c4f9dba)
  • Fix video not having .mp4 file extension (#3914) (f870e6f)
  • Make Future.await() truly async via listeners instead of a blocked parked Dispatcher (#3911) (5a07d7a)

Release 5.0.10

Choose a tag to compare

@mrousavy mrousavy released this 19 May 16:58

5.0.10 (2026-05-19)

✨ Features

  • Add CameraPhotoOutput.prepareSettings(...) (#3877) (26b15f7)
  • Add currentResolution to CameraOutput (#3865) (400d714)
  • Add supportsTorchStrength, minTorchStrength, maxTorchStrength and enableTorchWithStrength(...) (#3854) (5413634)
  • Add support for specifying a custom video path (#3844) (f86399e)

💨 Performance Improvements

🐛 Bug Fixes

  • Add missing super.dispose() call to dispose() implementations (#3884) (0361057)
  • Allow memoized arrays at max length (#3889) (b391840)
  • Dispose LocationManager (#3893) (6cbe3c7)
  • Dispose Recorder (#3892) (9bb71e3)
  • Fix ByteBuffer not being rewinded for ExifInterface save (#3846) (628f111)
  • Fix InterfaceOrientationManager not properly unsubscribing on Android (#3882) (60544d1)
  • Fix onDepthFrame callback not being registered on Android (#3883) (7b1c66d)
  • Fix VideoOutput size selection being too strict about aspect ratio (#3873) (caa4b04)
  • Fix coordinate system converters (convertCameraPointToViewPoint(...)) (#3874) (12bad17)
  • import resolved Promise extension on Android (132b8c4)
  • Make useCamera(...) reactive to device changes (#3890) (3980a0e)
  • Report unsupported photo delegate callbacks instead of fatalError(...) (#3891) (cf2070f)
  • Return file paths from recorders instead of URL (#3894) (46240f1)
  • Safely quit threads and make nullable in PRIVATE + DEPTH ImageReaderProxy (a833a25)
  • Torch strength does not return 0 (ed00b3d)
  • Treat RECOVERABLE Errors as interruptions only (#3866) (78839e7)
  • Use quality prioritization quality for max res test (1d23294)

📚 Documentation

Release 5.0.9

Choose a tag to compare

@mrousavy mrousavy released this 05 May 09:04

5.0.9 (2026-05-05)

🐛 Bug Fixes

  • Fix app crashing when proguard is enabled (#3835) (ef09ba9)
  • Fix iOS <15 crash in photo capture (isHighResolutionPhotoEnabled) (#3836) (174d2ed)
  • Fix Swift 6 compiler crash in HybridBarcodeScannerOutput.swift (#3832) (6f2374f)

📚 Documentation

  • Refine docs for multi-cam a bit (25eb7cb)

Release 5.0.8

Choose a tag to compare

@mrousavy mrousavy released this 28 Apr 16:41

5.0.8 (2026-04-28)

✨ Features

  • Add supportedMultiCamDeviceCombinations (#3817) (2179030)
  • Add supportedMultiCamDeviceCombinations (with fixed nitrogen __element) (#3821) (8da5b00), closes #3820

🐛 Bug Fixes

  • Fix NullPointerException in acquireLatestImage() for PRIVATE ImageReaderProxy (#3811) (2986ad2)
  • Fix Barcode Formats being ignored by wrong union(..) Swift usage (#3808) (e68ad3a)

📚 Documentation

Release 5.0.7

Choose a tag to compare

@mrousavy mrousavy released this 27 Apr 11:26

5.0.7 (2026-04-27)

✨ Features

💨 Performance Improvements

🐛 Bug Fixes

  • Better typed CommonResolutions + CommonDynamicRanges (#3792) (350cfb4)
  • Fix invalidAVFileType error by not using MIME type (#3783) (4a203b9)
  • Make BarcodeScannerOutput final & remove nested class (#3789) (12d77d1), closes #3785
  • Run Android Harness tests on a physical AWS Device Farm Phone (#3790) (c2dde33)
  • Set sessionPreset to .inputPriority as we always manage formats (#3798) (14e1874)

📚 Documentation

  • Add backlinks for hasFlash and hasTorch (3d88366)
  • Add more API documentation (#3780) (c5a7d54)
  • Add note about persistent video outputs in recorder interruptions (cba8d5d)
  • Add proper docs for recorder max file size / duration (#3788) (e9e6763)
  • Codeblock for cancelRecording (6035046)

Release 5.0.6

Choose a tag to compare

@mrousavy mrousavy released this 23 Apr 16:41

5.0.6 (2026-04-23)

🐛 Bug Fixes

  • Fix ListenerSubscription import on Android (d60b2a6)

Release 5.0.5

Choose a tag to compare

@mrousavy mrousavy released this 23 Apr 16:34

5.0.5 (2026-04-23)

✨ Features

🐛 Bug Fixes

  • Fix Array.reduce not having an initial value and throwing (#3769) (d53a93a)
  • Fix isActive not pausing after Host RESUME on Android (#3761) (3304687)
  • Fix wrong name .quickTimeMovie (252cf6b)
  • remove postinstall tsc hook (#3764) (677aaec), closes #3275
  • Throw error if output/preview is connected to a different Camera Session (#3775) (3bfff14)

📚 Documentation

Release 5.0.4

Choose a tag to compare

@mrousavy mrousavy released this 21 Apr 13:49

5.0.4 (2026-04-21)

🐛 Bug Fixes

  • Fix iOS build by restoring UIImage.Orientation references after rename (#3757) (f24c79a), closes #3754