Reader SDK Documents
Breadcrumbs

IFU041(01) v3.0.2

Novarum DX Ltd
Instructions for Use / Guides

Document ID: IFU041 
Revision: 01 
Released: May 14, 2026 

1. Overview

v3.0.2 is a targeted stability update for Android Core and Expo Core. It addresses an image decoding defect impacting a small number of devices and also incorporates the v3.0.1 Android Core fixes that were previously unreleased (v3.0.1 Android was an internal development version only). iOS has no functional changes compared to v3.0.1.

  • Fix (decoding): Correct handling in decodeYUV2 for edge-case devices with non-standard YUV buffer characteristics.

  • Fix (from v3.0.1 internal): Resolves an issue where the scan wireframe overlay disappeared after the app was backgrounded and resumed, which could lead to invalid test results (NDXC401-689, NDXC401-690). These fixes were not previously released externally as v3.0.1 Android was an internal development version only.

  • Impact: Improved reliability of frame decoding prior to analysis; reduces risk of intermittent black/green frames, skewed luminance, or crash in camera preview on affected models. Wireframe overlay now reliably persists through app lifecycle transitions.

  • Scope: Runtime behavior only; public APIs remain unchanged.

2. What’s New

2.1 Android Core

  • Fix (decoding): Robustness improvements in YUV-to-RGB conversion to handle device-specific buffer stride and pixel format anomalies.

  • Result: Stable frame acquisition across a wider range of OEM camera pipelines.

  • Fix (from v3.0.1 internal): Scan wireframe overlay now correctly persists through app backgrounding and resumption. Previously, the wireframe could disappear after the app was sent to the background and brought back, potentially allowing scans to proceed without the overlay and produce invalid results (NDXC401-689, NDXC401-690).

  • Result: Wireframe overlay reliably displays throughout the scan lifecycle regardless of app state transitions.

2.2 Expo Core

  • Fix: Aligns the Expo native bridge with the updated Android decoding path, ensuring consistent frame data delivered to JavaScript callbacks.

  • Fix: Strip status list now included in the onFrameCaptured callback payload, aligning with the specification requirement (NDXC401-701). Previously the strip status data was missing from callback output.

  • Result: Reduced incidence of malformed frame payloads, improved consistency of onFrameCaptured data on affected devices, and complete strip status telemetry now available via onFrameCaptured.

2.3 iOS

  • No change. iOS remains on 3.0.1; the decoding issue was Android-specific.

3. Breaking vs. Non-breaking Summary

Change

Type

Platforms

decodeYUV2 robustness fix

Non-breaking (internal behavior improvement)

Android Core, Expo Core

Strip status list added to onFrameCaptured

Non-breaking (additive — new data in existing callback)

Expo Core

Wireframe overlay persistence fix (from v3.0.1 internal)

Non-breaking (bug fix)

Android Core

Public API surface

No changes

All

iOS version alignment

No action required

iOS (remains 3.0.1)

4. When to Upgrade

Not strictly required for

  • Install bases that have not observed any decode or preview anomalies on Android.

  • iOS-only integrations (no change from 3.0.1).

5. Compatibility Notes

  • Android Core: No Gradle/NDK changes from v3.0.1 to v3.0.2; projects already compatible with v3.0.1 are compatible with v3.0.2.

  • Expo Core: The onFrameCaptured callback now includes strip status list data (NDXC401-701). This is an additive change; existing callback consumers are unaffected but can now access strip status telemetry.

  • iOS: No updates; remains aligned with 3.0.1 from the 3.0.0 line.

6. Summary of Developer Actions

Platform

Area

Action Required

Android

Imaging pipeline / Wireframe

Update dependency to Reader SDK 3.0.2. Validate camera preview and scanning flow on previously problematic devices. No additional action required for the wireframe fix — it is applied automatically.

Expo

Native bridge

Update ndx-imaging-expo package to 3.0.2. Verify onFrameCaptured and onComplete behavior on a representative Android device set. Confirm strip status list is present in onFrameCaptured callback payload.

iOS

All

No action. Remain on 3.0.1.

7. Platform-Specific Notes

7.1 Android

  • No API or configuration changes. This patch adjusts internal YUV decode handling to better respect device-specific row stride and chroma plane alignment.

  • Testing guidance (decoding): Confirm normal operation on devices previously exhibiting decode artifacts, including low-end and OEM-customized camera stacks.

  • This release also includes the v3.0.1 Android Core fixes that were previously internal-only. The wireframe overlay that guides users during scanning now correctly survives app backgrounding and resumption (NDXC401-689, NDXC401-690). No API or configuration changes are needed — the fix is applied at the native rendering layer.

  • Testing guidance (wireframe): Verify that the scan wireframe remains visible after sending the app to the background and returning during an active scan session.

7.2 Expo

  • The onFrameCaptured callback now surfaces strip status list data per the original specification (NDXC401-701). This is an additive, non-breaking change.

  • Testing guidance: Exercise scanning flows and confirm frame telemetry (progress, lux, orientation, strip statuses) updates without anomalies. Verify that the onFrameCaptured callback payload includes the strip status list.

7.3 iOS

  • No changes relative to 3.0.1; no new testing required.

Versioning Summary

Component

Version

Notes

Android Core

3.0.2

decodeYUV2 fix for edge-case devices; includes v3.0.1 wireframe overlay fix (internal-only, now released)

Expo Core

3.0.2

Adopts Android decode fix in native bridge

iOS Core

3.0.1

No change required

Upgrade confidence

This is a low-risk patch focused on Android decoding stability and an additive Expo callback fix (NDXC401-701). No breaking API changes and no iOS updates are included.