Changelog
v1.5.0 — May 2026
Cross-platform release line
All five SDKs (iOS, Android, Flutter, React Native, Web) are now unified at v1.5.0. Previously the platforms had drifted (iOS at 1.4.2, Android at 1.3.0, Flutter/RN/Web at 1.4.1) — there was no actual feature drift, just inconsistent version labels. From v1.5.0 onward all five platforms ship together.
npm publishing
@koraidv/core, @koraidv/react, and @koraidv/react-native are now published to the public npm registry under the @koraidv scope. Previous versions were github-installed only. Migrate your install:
# Before
npm i github:badedokun/koraidv-react-native#v1.4.1
# Now
npm i @koraidv/react-native
Bug fixes
KoraWallet(Web + RN) — fixed a TypeScript duplicate-identifier error that silently broke.d.tsgeneration in v1.4.x. The wallet now ships full type declarations on npm. Public API is unchanged; only an internal property was renamed.- Web
DocumentSelectionScreen— removed stale references toDocumentType.US_PASSPORTandUK_PASSPORTenum values that were dropped in v1.2.3 in favour ofINTERNATIONAL_PASSPORT. - Flutter
selective_disclosure.dart(post-release patch, applied in place on v1.5.0) —Set.of(...DisclosureClaim.values)used JavaScript spread syntax which is invalid Dart and broke compilation. Fixed in place toSet.of(DisclosureClaim.values). Other SDKs were unaffected. Thev1.5.0git tag onkoraidv-flutterwas force-updated to point at the patched commit; if yourpubspec.lockis pinned to the original SHA, runflutter pub upgrade koraidv_flutter. - Android
DocumentDewarper(post-release patch, applied in place on v1.5.0) —org.opencv.*imports broke consumer R8 release minification because the SDK declares OpenCV asimplementation(notapi), so consumers' R8 saw unresolved classes and stopped the build. The SDK's bundledconsumer-rules.pronow includes-dontwarn org.opencv.**, which is auto-applied to consumer builds — no action required for new integrators. Runtime safety was already correct:OpenCVLoader.initLocal()is wrapped in try/catch anddewarp()returns null when OpenCV isn't on the classpath. The README documents OpenCV as an optional dependency (addimplementation("org.opencv:opencv:4.10.0")to enable dewarping; otherwise the SDK falls back to the original capture). Thev1.5.0git tag was force-updated onkoraidv-koraidv-android,koraidv-flutter, andkoraidv-react-nativemirrors. If you're locked to the original tag SHA, re-resolve via JitPack /pub upgrade/npm installto pick up the patch.
v1.4.0–1.4.2 — April 2026
On-device PDF417 barcode decoding
iOS, Android, Flutter, RN, and Web SDKs gained on-device PDF417 barcode reading for US/Canadian driver's licenses. Decode happens locally via ML Kit (Android), Vision (iOS), or ZXing-WASM (Web) — no server round-trip. License scans are now noticeably faster and work offline.
Sandbox URL fix (iOS, Web)
APIEnvironment.sandbox on iOS and Web SDKs was incorrectly returning the production URL — sandbox API keys were getting HTTP 400 responses. Fixed in v1.4.1 (Web/RN/Flutter) and v1.4.2 (iOS, plus a JSON-casing fix that was iOS-only).
v1.3.0 — March 2026
Wallet (W3C Verifiable Credentials)
All SDKs gained a KoraWallet module for storing and presenting credentials with selective disclosure. Use it to issue a verifiable credential after successful verification, then have the user present specific claims (e.g. age over 18) without revealing the full document.
QR handoff (REQ-006)
The Web SDK now supports desktop → mobile QR handoff: start verification on a desktop browser, scan a QR code with the user's phone to finish capture there, then return to desktop with the completed verification.
Document type sync
Document type catalogue extended with Canadian PR Card, Canadian National ID Card, and additional EU residence permits.
v1.2.0–1.2.3 — February 2026
Dynamic country/document fetching
SDKs now fetch the supported country and document type list dynamically from the API instead of bundling a static list. New countries and document types added on the backend become available immediately without an SDK upgrade.
Document type expansion
- 44 uniform document types across all 5 SDKs
- Driver's licenses for Africa (Nigeria, Ghana, Kenya, South Africa, Liberia, Sierra Leone, Gambia), UK, Canada, India
- Removed country-specific passport types in favour of a single
INTERNATIONAL_PASSPORT(covers all 197 ICAO-compliant countries)
NFC passport reading
iOS and Android SDKs gained ICAO 9303 NFC chip reading for biometric passports. Validates the chip's signed data structures and matches them against the OCR'd MRZ.
Network timeout fix
Default request timeout raised from 30s to 120s — covers slower mobile networks where document upload was timing out before completion.
v1.1.0 — February 2025
Image Persistence & Compliance API
- Image persistence: Verification images (document front, document back, selfie, liveness frames) are now automatically persisted to Google Cloud Storage for compliance and audit purposes
- Image retrieval API: New endpoints to list and retrieve verification images with signed URLs
GET /verifications/{id}/images— list available imagesGET /verifications/{id}/images/{imageType}— get a 15-minute signed URL
- SDK updates: Both iOS (v1.1.0) and Android (v1.1.0) SDKs now report
imagePersistedstatus in verification results - Async processing: Image uploads are processed asynchronously — the
imagePersistedfield on the verification object confirms when persistence is complete
SDK Changes
- Android SDK v1.1.0: Added
imagePersistedfield toVerificationResult, automatic image persistence support - iOS SDK v1.1.0: Added
imagePersistedproperty toKoraVerificationResult, automatic image persistence support
v1.0.0 — January 2025
Initial Release
- Document verification: Support for 18+ document types across US, EU, and Africa
- 5-layer document authenticity (template matching, font consistency, photo integrity, compression analysis, edge consistency)
- MRZ parsing and validation for ICAO 9303 documents
- Face matching: FaceNet 512-dimensional embedding comparison with >99% accuracy
- Liveness detection: Active liveness with 6 challenge types (blink, smile, turn left/right, nod up/down)
- Anti-spoofing: 5-layer analysis (texture, frequency, challenge, temporal, quality)
- Compliance screening: CEngine integration for sanctions, PEP, and adverse media screening
- Scoring engine: Composite scoring with configurable thresholds for auto-approve, manual review, and auto-reject
- Webhooks: 9 event types with HMAC-SHA256 signature verification and exponential backoff retry
- Fraud detection: Duplicate document, duplicate face, spoof detection, and document tampering alerts
- Mobile SDKs: iOS (v1.0.0) and Android (v1.0.0) with full verification UI, camera capture, and theme customization
- Sandbox: Full sandbox environment with test fixtures for deterministic results