Petnow LogoPetnow

Latest Version

Latest version changes for the SDK

The iOS and Android SDKs are currently versioned separately (the React Native package is aligned with the native UI module version). They will move to a unified version in the future.

Latest release: v1.5.1

๐Ÿ“ฆ Version Info

ModuleiOSAndroid
UI Modulev1.5.1v1.5.1

React Native (@petify/react-native-camera-ui): v1.5.1

Release date: 2026-10-15


Highlights (v1.5.1)

A patch release over 1.5.0. No public API changed โ€” swap the artifact and rebuild.

๐Ÿ› Fixed

  • A failed capture reports the reason again. A frame reports every reason it failed, and the share each reason held was computed against the number of reasons rather than the number of frames โ€” so a session failing for two reasons at once capped each below the threshold and the host received a generic error.
  • Memory could accumulate across repeated registrations. Images collected during a capture were not released when the capture screen was left. Measured on Android at roughly 52 MB per camera open/close cycle, now 0.3 MB.

Highlights (v1.5.0)

Android: rebuild the app, do not swap the AAR

1.5 is not binary-compatible on Android. An app compiled against 1.4.5 whose AAR is replaced with 1.5, without being rebuilt, starts normally and then throws NoSuchMethodError the first time it constructs a configuration. Rebuild against 1.5 โ€” there is nothing to change in the source. โ†’ v1.4 โ†’ v1.5 Migration

โœจ Common

  • enableFakeDetection now defaults to true. Spoof (photo, screen, print) detection is on unless you pass false, which was the 1.4.5 behavior in reverse. Review your call sites: a flow tested against photographs of pets will start failing.
  • LicenseInfo.environment picks the backend. production (default) or staging, so a staging-console key can be used against staging. Restores what v1.3.x had as isDebugMode.
  • One API key per process. A second, different key is refused instead of silently replacing the first (PetnowUIError.MultipleApiKeys / .multipleApiKeys).
  • difficultyMode is deprecated and ignored (iOS/Android DetectionConfiguration, React Native <CameraView>). Existing code still compiles; it goes in the next major release.
  • Performance figures for diagnostics. CameraController exposes performanceStats (camera init time, first-frame time, processed-frame fps, detector ms) โ€” a StateFlow<CameraPerformanceStats> on Android and a @Published property on iOS.

๐Ÿค– Android

  • DetectionConfiguration.inferenceTier (AUTO / CPU / GPU, default AUTO) selects the detector path. AUTO picks the path that suits the device and falls back if that path is unavailable. It is read once, when the process creates its first detector engine, and fixed from then on. The chosen tier is reported in CameraPerformanceStats.inferenceTier.
  • LicenseInfo(apiKey, environment) โ€” PetnowEnvironment.PRODUCTION / .STAGING.
  • io.petnow.ui.sound.SoundPlayer plays the guidance sounds without a camera controller. CameraController.playSound() / stopSound() are deprecated. โ†’ Sound Guide

๐ŸŽ iOS

  • CameraController.performanceStats (CameraPerformanceStats, @Published).
  • LicenseInfo(apiKey:environment:) โ€” .production / .staging.
  • CameraOpticsPolicy and the adaptive rear-camera mode are removed. Rear lens selection behaves as in 1.4.3.

โš›๏ธ React Native

  • The onRealtimeServerIqaDiagnostic prop and the RealtimeServerIqa* types are removed. Nothing replaces them.
  • usePetnowCamera({ apiKey, environment }) โ€” 'production' (default) or 'staging'.
  • difficultyMode prop is deprecated and never reaches native.

Highlights (v1.4.5)

The first release that ships the iOS/Android UI modules and the React Native package together since v1.4.0.

โš›๏ธ React Native

  • Fixes the Android app build on RN 0.82+, keeping the full 0.75 โ€“ 0.86.x range buildable.
  • Carries React Native 0.86 / React 19 support (shipped as 1.4.4).
  • Also includes the showDetectionMarker prop (1.4.3).

Highlights (v1.4.0)

A release focused on internal structure improvements and stabilization.

โœจ Common

  • Detection behaviors such as pause/resume, session handling, and difficulty mode now work identically on iOS and Android.
  • License validation and initialization error handling are now aligned across platforms โ€” Android also validates the API key server-side in initializeCamera(), and throws initialization failures as a PetnowUIError, matching the iOS error model. โ†’ Android Changelog

โš›๏ธ React Native

  • First release of @petify/react-native-camera-ui v1.4.0 โ€” a camera UI package built on the New Architecture (Fabric/TurboModules). It wraps the iOS/Android UI modules v1.4.0.

Highlights (v1.3.2)

๐Ÿ› Android Bug Fixes

  • Fixed camera teardown crash: Resolved an issue where the app intermittently crashed when closing the camera
  • Stability improvements

๐ŸŽ iOS

  • No code changes (version sync)

Highlights (v1.3.1)

๐Ÿ› Android Bug Fixes

  • Fixed camera preview display error: Resolved an issue where the preview was not displayed at the correct aspect ratio when entering the camera

๐ŸŽ iOS

  • No code changes (version sync)

Highlights

โœจ Common Improvements

V2 API Integration

  • Both iOS and Android updated to the server API V2 spec
  • Switched to a session-based workflow

UI/UX Improvements

  • Enhanced customization capabilities
  • Added sound playback feature

๐ŸŽ iOS Highlights

UI Module v1.3.0 (v1.2.2 โ†’ v1.3.0)

โœจ Added
  • Overlay customization: Place custom UI on top of the detection area
  • Sound control: playSound, stopSound API
  • Detection state tracking: Provides progress (currentCount) and detection area coordinates (detectedObjectNormalizedRect)
๐Ÿ”ง Changed
  • Improved initialization flow: Added the isInitialized property and guaranteed waiting for initializeCamera() to complete (the completion of initializeCamera() now marks the completion of initialization.)
  • AVCaptureSession external injection support: In cross-platform environments, you can configure the Preview first and then inject the Session
  • Reduced fake detection false positives: Relaxed thresholds
  • Added failure reasons: Added new status values to the DetectionFailureReason enum
๐Ÿงน Cleanup
  • Removed unused properties

For details, see the iOS Changelog.


๐Ÿค– Android Highlights

UI Module v1.3.0 (v1.2.4 โ†’ v1.3.0)

โœจ Added
  • Overlay customization: Place custom UI on top of the detection area with provideFloatingGuideLayout()
  • Sound control: playSound, stopSound API
  • Detection state tracking: Provides real-time detection state and detection area coordinates
๐Ÿ› Fixed
  • Fixed an issue where settings were not preserved when switching cameras
  • Fixed an issue where the onDetectionFinished callback was called on a background thread
  • Fixed ObjectDetector errors
  • Added failure reasons: Added new status values to the DetectionStatus enum

For details, see the Android Changelog.


Migration Guide


Full History by Platform

For detailed per-version changes, see the pages below:

On this page