Releases: mrousavy/react-native-vision-camera
Release 4.0.0-beta.4
4.0.0-beta.4 (2024-03-01)
✨ Features
- Add
androidPreviewViewType
prop (dd56925) - Add
cancelRecording
(f51921b) - Add
onShutter
event (dd49365) - Add
takeSnapshot()
toPreviewView
(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 indispatchAsync
(#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
andlayout
manually in PreviewView (#2588) (7ac6f4d) - Use
0x0
as a fallback Size ifSENSOR_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
Release 4.0.0-beta.3
4.0.0-beta.3 (2024-02-29)
✨ Features
- Add
cancelRecording
(677c01b)
🐛 Bug Fixes
- Fix optional delegate (4cf4c9b)
Release 4.0.0-beta.2
4.0.0-beta.2 (2024-02-29)
✨ Features
- Add
onShutter
event (edc001a)
🐛 Bug Fixes
- Rename to
qualityBalance
(0b11ab2)
Release 4.0.0-beta.1
4.0.0-beta.1 (2024-02-29)
Release 4.0.0-beta.0
4.0.0-beta.0 (2024-02-29)
✨ Features
- Add
takeSnapshot()
toPreviewView
(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 indispatchAsync
(#2591) (55992bb) - Implement
takeSnaphot
on iOS (282f105) - Trigger
measure
andlayout
manually in PreviewView (#2588) (7ac6f4d) - Use runOnUiThread only if needed (d7b3e0a)
📚 Documentation
Release 3.9.0
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
toVisionCameraProxy
(#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 nopixelFormat
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
ImageReader
s 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 fixrunAsync
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
ininitFrameProcessorPlugin
if plugin is not found (#2454) (02bc8a9) - Fix
NullPointerException
inVideoPipeline.removeRecordingSessionOutputSurface
(#2453) (bdbcf05) - Fix
pixelFormat
beingnative
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 usingjni::ThreadScope
(#2457) (33e2adc) - Fix Android C++ SharedArray logs (bc6f954)
- Fix crash in
toArrayBuffer()
by properly acquiring a reference onAHardwareBuffer*
(#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](https://github.com/mrousavy/react-...
Release 3.9.0-beta.6
Release 3.9.0-beta.5
3.9.0-beta.5 (2024-02-15)
🐛 Bug Fixes
Release 3.9.0-beta.4
3.9.0-beta.4 (2024-02-14)
✨ Features
- Add
context
toVisionCameraProxy
(#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
inFrameProcessor
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 ofacquireNextImage
for CodeScanner (#2549) (ec7ce36)