Changelog
All notable changes to the VECU React Native SDK.
What This Section Covers
Version history, release notes, breaking changes, and migration guides. Check here before upgrading to understand what's new and what might affect your integration.
Versioning
This SDK follows Semantic Versioning. Breaking changes are indicated with BREAKING.
v1.1.1
Features
- Verified compatibility with React Native 0.84.
Fixes
- The wallet action bar now correctly lifts above the device's safe area on Android edge-to-edge devices, eliminating the gap that previously appeared between the action bar and the system navigation bar. iOS positioning is also tightened to use the actual home-indicator inset.
- Re-scanning the same QR code after canceling the credential-selection screen now correctly reopens the selection. Previously the second scan was silently dropped, requiring the user to navigate away and back to recover.
UX
- The presentation loading state now shows an active spinner with clearer copy ("Loading credentials") during the preview API call. The previous static illustration looked frozen during the brief wait.
Peer Dependencies
- NEW REQUIRED:
react-native-safe-area-context>= 5.0.0. Typically already installed via@react-navigation/*— most consumers won't need to add it explicitly.
Requirements
- Node.js >= 22.11 (raised from >= 18; matches React Native 0.84's minimum).
Notes for Android Consumers
For the action bar to lift cleanly above the system navigation bar with full edge-to-edge styling, the consumer app must be configured for Android edge-to-edge mode:
- Set
edgeToEdgeEnabled=trueinandroid/gradle.properties. - Replace the manual
SoLoader.init+DefaultNewArchitectureEntryPoint.load()pattern inMainApplication.ktwithReactNativeApplicationEntryPoint.loadReactNative(this). - Remove legacy
window.navigationBarColor,SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, and similar decor-fit window manipulations fromMainActivity.kt. UseWindowInsetsControllerCompatto control system bar appearance instead.
Without these changes the action bar still renders correctly (graceful fallback) — it just won't extend through the system navigation bar in modern edge-to-edge style.
v1.0.7
Fixes
- Fixed an issue where the wallet could briefly go blank when the host app's authentication token was refreshed.
v1.0.6
Fixes
- Fixed an installation issue that prevented consumers using yarn or npm from installing the SDK.
v1.0.5
Fixes
- Updated releasability status labels: "Ready for pickup" and "Not ready for pickup" for consistency.
- Minor visual spacing fix on
CredentialCardwhen a status badge is present.
v1.0.4
Features
- New
Releasabilitytype — tracks whether a credential is ready, not ready, or expired for release. CredentialCardnow displays a colour-coded status badge and left rail based on releasability state.- Expired credentials are visually indicated with red expiry date text.
Security
- Updated transitive dependencies to address known vulnerabilities.
v1.0.3
Features
- New
NfcVerifierViewcomponent — manages the full NFC verification flow end-to-end, including consent, credential selection, and submission. - Redesigned QR scanner with full-bleed camera view and updated header.
- Redesigned credential detail screen with a hero-card layout, status indicators, and organized detail sections.
- New
WalletActionBarcomponent combining scan and NFC tap actions in a single bar. - Presentation URLs are now validated against a trusted host allowlist before any verification request is processed.
Theme
- NFC and BLE components now accept a
themeprop for component-level overrides. - New theme color tokens for finer-grained control:
navBackground,screenBackground,heroCard,textOnDark,textSubtle,textTertiary,vinLabel,statusUnknown,shadow,placeholder.
Fixes
- Improved iOS NFC cancellation detection — the SDK now correctly distinguishes between user-initiated cancellations and connection interruptions.
- Modal screens (QR scanner, credential presentation) now properly respect safe area insets across all device sizes.
- Credential detail screen now shows a clear "Credential Not Found" message when a credential is unavailable, instead of rendering empty placeholders.
- Authorization errors now display user-friendly messages instead of raw error text.
Security
- Updated transitive dependencies to address known vulnerabilities.
v1.0.2
Fixes
- Fixed an issue where NFC reads could fail on iOS devices due to unnecessary connection setup steps.
- Resolved a build issue that could affect SDK version reporting.
v1.0.1
Features
- Upgraded NFC communication for faster and more reliable tag reads.
Fixes
- Fixed an issue where NFC reads could stall when receiving unexpected data from a tag.
- Fixed NFC session cleanup to prevent resource leaks when stopping a read.
- The cancel button is now disabled while an offer is being accepted, preventing accidental double-taps.
v1.0.0
Stable release
Highlights
- Stable React Native Wallet SDK release for external client integrations
- External-facing wallet documentation aligned around
VECUProviderandWalletHub - High-level guidance for:
- installation
- permissions
- quick start
- configuration
- integration approaches
- theming
- credential presentation
- credential sharing
Client-Facing Guidance
- Host applications are expected to:
- provide authentication tokens from their own login or authorization flow
- configure required native permissions in
AndroidManifest.xmlandInfo.plist - mount the SDK through
VECUProvider - render the wallet experience through
WalletHub
Notes
- Camera permission is required for QR-based credential presentation flows
- Bluetooth-related platform setup is required for proximity-based sharing flows
- NFC setup may also be required for enabled NFC-based sharing scenarios
v0.1.1-beta.3
Features
- Credential presentation support, including QR-based verification flows.
- Improved error messages for authorization and presentation failures.
- Verification failure messages are now customizable.
Changes
- Success screen title changed from "Verified" to "Submitted" for clarity.
- Improved QR scanner button visibility and theming consistency.
Security
- Presentation URLs now enforce HTTPS and block private network addresses.
- Duplicate deep link handling prevented.
Optional Dependencies
react-native-vision-camera>= 4.0.0 — required for QR scanning (the SDK gracefully degrades if not installed).
v0.1.1-beta.2
Features
- Credential verification support and decoded credential previews.
- Configurable tab labels and pagination for the wallet experience.
Fixes
- Fixed a rendering loop in barcode display.
- Fixed credential and offer search filters when optional fields are missing.
- Prevented duplicate verification calls.
v0.1.1-beta.1
Initial beta release
Features
- Provider-based SDK integration via
VECUProvider. - Credential and offer management.
- Wallet UI components including
WalletHub. - Theming and logging support.
Supported Barcode Formats
- CODE128 (default), CODE39, QR Code, PDF417, EAN-13, EAN-8, UPC-A, UPC-E
Requirements
- React Native >= 0.81.0
- React >= 19.0.0
react-native-svg(peer dependency)
Optional Dependencies
@react-native-community/netinfo— network status detection