upgrade openpnp-capture to iterate over continuity camera devices on mac
What changed, and why it matters
This commit updates a camera-access library and adds a macOS setting so Sparrow Wallet can discover and use Apple's Continuity Camera feature (for example, using an iPhone as a webcam) when scanning QR codes. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a feature/compatibility update for camera device enumeration on Mac.
No immediate security action required. Review the openpnp-capture 0.0.28-7 release notes for any security fixes, and verify the new entitlement is necessary and minimally scoped. If the library bump includes native code changes, confirm binary provenance.
Security signals we found
Dependency version bump (openpnp-capture-java 0.0.28-6 → 0.0.28-7)
macOS entitlement added: NSCameraUseContinuityCameraDeviceType
No changes to input validation, crypto, network, or privilege logic visible in diff
Evidence from the diff
The change bumps the openpnp-capture-java dependency from 0.0.28-6 to 0.0.28-7 and adds the NSCameraUseContinuityCameraDeviceType entitlement/key to the macOS Info.plist. The commit message states this is to ‘iterate over continuity camera devices on mac’. The diff itself does not show any code changes related to memory safety, input validation, cryptography, or privilege handling. It is consistent with a routine dependency and entitlement update to support Continuity Camera discovery.
Changed components
build.gradle dependency declarationsrc/main/deploy/package/osx/Info.plist macOS app metadataInspect captured patch +5 / −3
diff --git a/build.gradle b/build.gradle
index 7c21d22..5244bb3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -74,7 +74,7 @@ dependencies {
implementation('com.fasterxml.jackson.core:jackson-databind:2.17.2')
implementation('com.sparrowwallet:hummingbird:1.7.4')
implementation('co.nstant.in:cbor:0.9')
- implementation('org.openpnp:openpnp-capture-java:0.0.28-6')
+ implementation('org.openpnp:openpnp-capture-java:0.0.28-7')
implementation("io.matthewnelson.kmp-tor:runtime:2.2.1")
implementation("io.matthewnelson.kmp-tor:resource-exec-tor-gpl:408.16.3")
implementation('org.jetbrains.kotlinx:kotlinx-coroutines-javafx:1.10.1') {
diff --git a/src/main/deploy/package/osx/Info.plist b/src/main/deploy/package/osx/Info.plist
index 54cb165..18addda 100644
--- a/src/main/deploy/package/osx/Info.plist
+++ b/src/main/deploy/package/osx/Info.plist
@@ -33,6 +33,8 @@
<string>Copyright (C) 2021</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
+ <key>NSCameraUseContinuityCameraDeviceType</key>
+ <true/>
<key>NSCameraUsageDescription</key>
<string>Sparrow requires access to the camera in order to scan QR codes</string>
<key>NSLocalNetworkUsageDescription</key>
Why this scored 19/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.