uqudosdk-react-native 2.7.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ ## 3.0.0
2
+
3
+ * Introduced a new verification object result within the SDK, including all details pertinent to the verification process. This feature supports your business logic by easily identifying potential issues. Refer to https://docs.uqudo.com/docs/kyc/uqudo-sdk/sdk-result/data-structure/verification-object for comprehensive information.
4
+ * Added Data Consistency Check within the verification object, supporting your business logic by highlighting inconsistencies throughout the entire KYC journey, including optical scanning, NFC, and lookup stages.
5
+ * Added source detection during document scanning to ensure that users display physical documents, eliminating screens and printed copies. In this release, the SDK will not reject scans of printed documents but will provide a score indicating the likelihood of a printed copy under the verification object in the SDK result. Please note that low-light conditions may affect the result, potentially increasing the score for printed copies and leading to false positives. We are committed to improving this aspect in future releases, refining quality check procedures to ensure optimal image quality. Eventually, printed documents above a certain score will be rejected directly from the SDK, similar to how screens are handled.
6
+ * Added an option to permit scanning of non-physical documents (where the SDK won't reject scans upon detecting a screen). The SDK result includes a score indicating whether the document was scanned from a screen, as described in the verification object above.
7
+ * Added ID photo tampering detection during document scanning to identify any alterations to the ID photo. The SDK will reject scans above a certain score and provide an appropriate message. Score information is returned in the SDK result within the verification object.
8
+ * Enhanced identification of low-light conditions during document scanning by introducing stricter criteria. Suboptimal lighting can affect document recognition, particularly for non-physical documents.
9
+ * Improved scanning capabilities for Turkish IDs.
10
+ * Added NFC support for the latest version of the QAT ID for residents.
11
+ * Added NFC support for IRQ ID.
12
+ * Added support for passport chip authentication during NFC reading.
13
+ * Implemented countermeasures for NFC replay attacks on documents lacking authentication mechanisms.
14
+ * Addressed an issue on iPhone 14 Pro/Pro Max and iPhone 15 Pro/Pro Max where the camera failed to focus when documents were in close proximity.
15
+ * Resolved an issue where a specific version of the QAT ID's back side for citizens was not being recognized.
16
+ * In the Lookup Flow, removed NGA virtual NIN in favor of the actual NIN (National Identification Number) written on the document, as the virtual NIN service has been suspended by the Nigerian government.
17
+ * Overall enhancements to the scanning process to improve scan quality.
18
+ * Backported the latest changes from SDK version 2.7.4.
19
+ * For Android application development, targeting SDK 34 is now mandatory.
20
+ * Deprecated the enableUpload feature in the SDK, planned for removal in a future release.
21
+ * Deprecated the forceReadingIfSupported function in the ReadingConfiguration builder and made it the default behavior, eliminating the option to skip the reading step (NFC) unless the device lacks NFC support. The forceReading option remains available for those wishing to restrict usage to devices with NFC support only.
22
+ * Deprecated the forceReadingTimeout function in the ReadingConfiguration, making it a no-op operation.
23
+ * Deprecated the Account Recovery Flow feature in the SDK, planned for removal in a future release. Use Face Session Flow instead.
24
+ * Various minor bug fixes and improvements.
25
+
1
26
  ## 2.7.4
2
27
 
3
28
  * Added compatibility for applications designed to target targetSdk version 34 on the Android platform
@@ -1,7 +1,7 @@
1
- def DEFAULT_COMPILE_SDK_VERSION = 33
1
+ def DEFAULT_COMPILE_SDK_VERSION = 34
2
2
  def DEFAULT_BUILD_TOOLS_VERSION = '30.0.3'
3
3
  def DEFAULT_MIN_SDK_VERSION = 21
4
- def DEFAULT_TARGET_SDK_VERSION = 33
4
+ def DEFAULT_TARGET_SDK_VERSION = 34
5
5
 
6
6
  def safeExtGet(prop, fallback) {
7
7
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
@@ -33,5 +33,5 @@ android {
33
33
 
34
34
  dependencies {
35
35
  implementation 'com.facebook.react:react-native:+'
36
- implementation 'io.uqudo.sdk:Uqudo:2.7.4'
36
+ implementation 'io.uqudo.sdk:Uqudo:3.0.0'
37
37
  }
@@ -126,6 +126,9 @@ public class UqudoIdModule extends ReactContextBaseJavaModule implements Activit
126
126
  if (json.has("sessionId")) {
127
127
  enrollment.setSessionId(json.getString("sessionId"));
128
128
  }
129
+ if(json.has("isAllowNonPhysicalDocuments"){
130
+ enrollment.allowNonPhysicalDocuments()
131
+ }
129
132
  if (json.has("userIdentifier")) {
130
133
  enrollment.setUserIdentifier(UUID.fromString(json.getString("userIdentifier")));
131
134
  }
package/ios/UqudoId.m CHANGED
@@ -55,6 +55,9 @@ RCT_EXPORT_METHOD(enroll:(NSString *)enrollObj resolver:(RCTPromiseResolveBlock)
55
55
  [enrollmentBuilder setUserIdentifier:userID];
56
56
  }
57
57
  }
58
+ if(json[@"isAllowNonPhysicalDocuments"]){
59
+ enrollmentBuilder.allowNonPhysicalDocuments = [[json valueForKey:@"isAllowNonPhysicalDocuments"] boolValue];
60
+ }
58
61
  if (json[@"isReturnDataForIncompleteSession"]) {
59
62
  enrollmentBuilder.returnDataForIncompleteSession = [[json valueForKey:@"isReturnDataForIncompleteSession"] boolValue];
60
63
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "uqudosdk-react-native",
3
3
  "title": "React Native UqudoId",
4
- "version": "2.7.4",
4
+ "version": "3.0.0",
5
5
  "description": "Uqudo SDK react native module",
6
6
  "main": "index.js",
7
7
  "author": {
@@ -134,7 +134,7 @@ export const AppearanceMode = Object.freeze(
134
134
  export class Enrollment {
135
135
  constructor(documentList, authorizationToken, nonce,
136
136
  isRootedDeviceAllowed, isSecuredWindowsDisabled, facialRecognitionSpecification,
137
- backgroundCheckConfiguration, lookupConfiguration, sessionId, userIdentifier, isReturnDataForIncompleteSession, appearanceMode) {
137
+ backgroundCheckConfiguration, lookupConfiguration, sessionId, userIdentifier, isReturnDataForIncompleteSession, appearanceMode,isAllowNonPhysicalDocuments) {
138
138
  this.documentList = documentList;
139
139
  this.authorizationToken = authorizationToken;
140
140
  this.nonce = nonce;
@@ -147,6 +147,7 @@ export class Enrollment {
147
147
  this.userIdentifier = userIdentifier;
148
148
  this.isReturnDataForIncompleteSession = isReturnDataForIncompleteSession;
149
149
  this.appearanceMode = appearanceMode;
150
+ this.isAllowNonPhysicalDocuments = isAllowNonPhysicalDocuments;
150
151
  }
151
152
  }
152
153
 
@@ -160,6 +161,9 @@ export class EnrollmentBuilder {
160
161
  this.nonce = nonce;
161
162
  return this;
162
163
  }
164
+ allowNonPhysicalDocuments() {
165
+ this.isAllowNonPhysicalDocuments = true;
166
+ }
163
167
 
164
168
  setSessionId(sessionId) {
165
169
  this.sessionId = sessionId;
@@ -230,7 +234,7 @@ export class EnrollmentBuilder {
230
234
  return new Enrollment(this.documentList, this.authorizationToken, this.nonce,
231
235
  this.isRootedDeviceAllowed, this.isSecuredWindowsDisabled, this.facialRecognitionSpecification,
232
236
  this.backgroundCheckConfiguration, this.lookupConfiguration, this.sessionId, this.userIdentifier, this.isReturnDataForIncompleteSession,
233
- this.appearanceMode);
237
+ this.appearanceMode,this.isAllowNonPhysicalDocuments);
234
238
  }
235
239
  }
236
240
 
@@ -13,5 +13,5 @@ Pod::Spec.new do |s|
13
13
  s.source = { :http => 'https://uqudo.com' }
14
14
  s.header_dir = 'UqudoSDK'
15
15
  s.dependency 'React'
16
- s.dependency 'UqudoSDK', '2.7.4'
16
+ s.dependency 'UqudoSDK', '3.0.0'
17
17
  end