Document Reader SDK 7.3 — July 18, 2024
IMPORTANT changes
- Improvements in portrait photo manipulation detection.
- New redesigned demo site with lots of new functionality for providing inputs and exploring the results.
- JURA eIPI element check support implemented. Currently works with document reader devices only.
Info
To properly upgrade to version 7.3, follow the Migration Guide.
Notice
In the next version, the /webapi
deprecated endpoint will be removed from the Web Service API.
Core SDK
OCR
- Improved OCR accuracy for Western European, Khmer, and Hebrew languages.
- Improved behavior of
processParam.lcidFilter
parameter. If set, only fields withlcid
listed in the filter plusLatin
will be provided in the output. - Fixed issue with perforation OCR in some documents.
- Fixed issue with mask-based validity calculation of the fields with multiple spaces in value.
- Fixed issue with incorrect handling of RTL date values in masks when converting to Arabic numbers.
MRZ
-
Added new parsers:
- Andorra Passport
- CAR ID Card
- Cuba Passport
- Kyrgyzstan ID Card
- Malta ID Card
- Uganda ID Card
- Ukraine ID Card
- Ukraine Passport
- South Sudan Passport
- Swaziland Passport
- Sweden Passport
-
Updated parsers:
- Multiple documents from multiple countries and territories on possible document codes and optional data meaning.
Barcode
-
Added new parsers:
- Central African Republic ID Card
- Guinea-Bissau Voter Card
- Libya Visa
- Saudi Arabia Digital Resident Card
- US Geneva Conventions Forces ID
- Zimbabwe DL
-
Updated parsers:
- Albania DL
- Guatemala Passport
- Honduras DL
- Paraguay ID Card
-
Fixed issue with barcode position in results in case if the output image was rotated to angle specified in the template.
Text Data Parsing and Validation
- Added generation of
ft_Issuing_State_Code_Numeric
andft_Nationality_Code_Numeric
numeric fields according to ISO 3166 based onft_Issuing_State_Code
andft_Nationality_Code
accordingly. These fields will be generated in caseprocessParam.generateNumericCodes
is set totrue
. - Added Ö and Ü transliteration for Romanian documents in VIZ.
- Added possibility to generate assembled fields based on rules set in document template. For example, full address might be generated from several separate fields. Document-specific.
- Added capability to verify deprecated country codes in
Place of birth
fields. This means that some country codes are not valid anymore, as such country no longer exists, but can be present in the place of birth field. At the same time, such codes are not allowed inIssuing state
orNationality codes
. - Added exception handling for dates in Romania ID cards, based on MOI clarifications.
- Added extra code for Central African Republic. Now it has CAF and CAR codes.
- Fixed issue with negative
shiftExpiryDate
parameter values led to incorrect results. - Fixed issue with comparison of restriction codes between barcode and VIZ in US DL (some states).
- Fixed issue with incorrect Chinese transliteration into Latin in some cases.
- Fixed issue with generating
Issuing state code
for countries with multiple codes leading to incorrect cross comparison. - Fixed issue when verifying
Date of issue
is in the range of DS certificate validity instead of DS Private Key usage range. - Updated parsing of DG11/DG12 field values into correct field types and LCID for documents from multiple countries.
- Updated list of specimen documents.
Authenticity
- Greatly improved document portrait manipulation detection by implementing new approaches for
PhotoEmbeddingType
security check. - Added JURA Encrypted IPI security check support. The idea behind the check is that personal data is encoded in the portrait image not visually, as in IPI, but digitally, in the form of the code. When decoded, it should contain specific text value constructed from document data and the check validates that they do match.
- Implemented
processParam.authOneThreadProcessing
option to improve processing speed on low performance computing devices. - Improved image pattern check for OVI elements—now check is performed on a single visible image as well to check at least the shape and color of the element.
- Fixed issue with portrait comparison check results in case of any errors on the server response.
- Fixed performance issue with IR B900 security check.
- Fixed issue with reference image displayed in a security check result even in case the check failed to finish but was started.
Image QA
- Fixed issue with glare check affecting OCR validity incorrectly when a document was scanned rotated 180 degrees.
Enums
-
Added new
eVisualFieldType
enum members:ft_UniqueCertificateIdentifier
ft_Email
ft_Date_of_SpecimenCollection
ft_TypeOfTesting
ft_ResultOfTesting
ft_MethodOfTesting
ft_Digital_Travel_Authorization_Number
ft_Date_of_First_Positive_Test_Result
-
Added new
eCheckDiagnose
enum members:chd_EncryptedIPI_NotFound
chd_EncryptedIPI_DataDontMatch
chd_IncorrectObjectColor
-
Added new
eRPRM_DeviceType
enum member:RPRM_DeviceType_M600
-
Added new eRPRM_Authenticity enum member:
RPRM_Authenticity_EncryptedIPI
-
Renamed
eRPRM_DeviceAdditionalFeatures
enum member fromRPRM_DeviceAdditionalFeature_RESERVED
toRPRM_DeviceAdditionalFeature_FactoryCalibrated
. -
Added new
eRPRM_ResultType
enum member:RPRM_ResultType_BarcodePosition
Other
- Implemented capability to add result containers to the package for reprocessing on the client not only by scanning, but manually as well.
- Implemented capability to provide capture frame coordinates for each page when forming a package for server reprocessing on mobile.
- Implemented the correct order of portraits in comparison results according to element naming.
- Implemented correct probability for RFID and barcode fields, correct page index for RFID fields, correct position for barcode fields in Text results.
- Fixed issue with security status when the document type is not recognized but face matching was performed.
- Fixed issue with
faceApi
parameter defaults whenprocessParam.useFaceApi
is enabled that leads to incorrect behavior if not all of them set together. - Fixed issue with missing the initial
transactionID
when reprocessing the client collected transaction package for reprocessing on the server, which led to extra counted transactions. - Fixed issue with incorrect licensing behavior when including different license in the request to the service which already has initialized license with different capabilities.
- Fixed issue with inability to send a transaction package to the server for reprocessing more than once (optical, and then RFID data accumulated).
- Fixed issue when working with JPEG images in
JCS_YCbCr
color space. - Fixed issue with contact chip graphic field name in output Images container result.
- Fixed pages position in output Images container result. Now white (visible) image always comes first, then IR, then UV.
- Fixed issue with
processParam.authParams.checkLiveness
andprocessParam.authParams.livenessParams
values correlation. IflivenessParams
are all disabled, thencheckLiveness
will be disabled as well. - Fixed issue with incorrect animation provided when scanning ID back side in
BarcodeAndLocate
scenario. - Fixed issue with rotation of the result image logic with multiple signals: by portrait, by MRZ, by document type template data.
- Fixed memory leak on iOS platform.
- Fixed issue with saving logs on POSIX platforms.
- Fixed issue with exporting TinyXML2 symbols on POSIX platforms.
- Fixed issue with exporting empty results to XML format.
- Fixed miscellaneous issues in logging.
Desktop API
- Implemented the ability to use video detection when 70xx devices are connected simultaneously with another 72xx device.
- Improved scanning time for 70xx devices when video detection is enabled.
- Fixed issue with unplugging device from USB and then plugging again without reloading the library led to lack of notifications after reconnecting.
- Fixed issue with parameters' values provided via
RegulaReader.json
file in SDK folder and viaRPRM_Command_Set_ProcessParametersJson
command call. If set in the file, they will be applied even if they are missing in the command call. - Fixed issue with rotation of the result image by portrait.
- Fixed issue with not providing MRZ results during the scan by notification when they are already available in some cases.
- Fixed issue with not cropping the stamps in some documents in corresponding mode.
- Fixed behavior on
RPRM_Command_Process_Cancel
command call, where incorrect results returned afterward.
Hardware Support
- Improved calibration process to obtain images of greater quality.
- Updated adapter library for eSeek M600 device.
- Updated adapter library for Desko devices. Now native barcode reading results are available in video detection mode without scanning.
Mobile API
- Added
mrzDetectMode
property that improves the MRZ detection on complex noisy backgrounds, like black and white photocopy of some documents. Works only in the single-frame processing mode. - Added
logLevel
property that allows to configure the logging level. - Added
timeoutLiveness
property toProcessParams
that allows to configure a time limit for the document liveness authenticity check. - Added possibility to start backend session when the RFID chip processing begins
- Added possibility to pass tenant and environment properties for licensing purposes.
- Camera frame remains active/green at the end of the document processing. Previously, it was inactive/white before closing the camera view.
- Updated images in the help animation for MRZ and barcode reading scenarios.
- Fixed issue with downloading the database after closing an application.
- Other bug fixes and improvements.
Android
- Added support for 16 KB memory page sizes.
- The specified preview size is now applied to the Capture mode.
- Fixed issue with color customization in the RFID chip processing.
- Fixed camera frame corner radius gap.
iOS
- Improved speed of document capture when the
liveness
property is enabled. - Improved stability of the RFID chip reading completion.
RGLBluetooth
instantiated only whenBTDevice
is used.- Fixed issue with database downloading when an application terminated forcibly.
- Fixed issue of switching cameras when the zoom factor is set.
- Fixed memory leaks.
Hybrid
INTERNET
andNFC
permissions must be set explicitly inAndroidManifest
if you download a database from the server or using RFID chip processing respectively.- Fixed compatibility issue between Face SDK and Document Reader SDK in .NET MAUI.
- Fixed issue with invalid
CFBundleSupportedPlatforms
value in the .NET MAUIDocumentReaderCore.framework
. - Fixed issue of working
uiCustomizationLayer
on Android in ReactNative.
Document Reader Application
- Added display of new eIPI security check results.
- Implemented saving of all results instead of only images when Save results to folder button pressed.
- Implemented stricter approach to Live portrait comparison result generation. In case live capture is enabled, a result will be either positive or negative, not
null
. - Fixed issue with displaying IR visibility results for the elements, where not only visibility, but also the color presence is checked.
- Updated list of notifications in
PASensitiveNotifications
section inRegulaReader.ini
to match the SDK defaults.
COM API
- Added the property
LiveCaptureExternalMode
for enabling/disabling external capture of the live portrait when no internal capture interface starts (read/write, boolean). Disabled by default. - Added the event
OnLiveCaptureStarted
that is raised when external live portrait capture should start. Only raised whenLiveCaptureExternalMode
is enabled, and Live capture was initiated.
Web Component
- Added new separate UI component that displays processing results. It is used in the new demo site UI, and can be used publicly as the independent component.
- Updated images in the multipage processing animation.
- Added support for backend reprocessing feature.
- Added new error
MISSING_SCENARIO
. - Other bug fixes and improvements.
Web Service API
- Added Ed25519 public-key cryptographic algorithm support for connections to MariaDB.
- Added type of license to
/api/ping
that is returned to the license-type field. - Added metadata, such as user IP and server time, to
/api/ping
that is returned to the metadata field. - Added possibility to customize the access log format.
- Added possibility to get a list of transactions by tag.
- Added passwordless authentication possibility to Azure SQL Database.
- Added audit property. It allows replicating the transactions' data to the separate database table. If the
saveResult
property is enabled, both requests and results are saved, otherwise only requests are logged. - Added possibility to pass tenant and environment properties for licensing purposes.
-
Added possibility to specify one or more names (service names) by which to connect to the Oracle database.
-
Demo site
- Completely redesigned the website.
- Added possibility to take a selfie and compare it with the document portrait and other photos.
- Added portrait comparison results.
- Added visualization of chip verification results for provided RFID reading session.
- Added visualization of all available document authenticity checks results.
- Updated the path where to copy the license file to run Web Components
-
Updated package dependencies to the latest version to fix security breaches.
- Open API specification is updated on GitHub.
- Clients and packages are updated.
- Other bug fixes and improvements.
Licensing
- Added support for passing
tenant
andenv
values for each transaction. These values can be set when initializing an instance and they will be passed for every transaction automatically if this is dedicated instance for specific customer or environment or set separately for every transaction if one instance is running transactions from multiple customers. This data helps to get insights on the usage by specific tenants and environments when running all of them under one license. - Fixed issue with displaying online license details in Regula Licensing application on Windows.
- Fixed issue with license check taking too long when using Regula HW devices as license container on POSIX.
- Fixed issue with licensing SDK on 7310 and 1120 devices.
Installation Packages
- Windows
- Database update package now will update both desktop API and service API installation with new database when installed if any or both installed. This solves issue with inability to update service API installation when only new database is available, but the service API package update is not (weekly updates of DB vs quarterly updates of SDK).
- Linux
- Added ARM packages for drivers, Desktop SDK.
- Docker
- Added AWS EKS Pod Identity support. Simplifies signing API requests to AWS services (e.g. Amazon S3 buckets for Logs storage or Server-Side Verification functionality).Instead of creating and distributing your AWS credentials to the containers or using the Amazon EC2 instance's role, you associate an IAM role with a Kubernetes service account and configure your Pods to use the service account.
- Updated the base image to the latest version.
PKD
- ICAO PKD master list version 270 included.
- ICAO Health master list version 9 included.
Database
- Updated multiple document templates to include OVI, MLI, Contact chip, Holograms, Extended MRZ, Extended OCR, Photo embedding type, Patterns checks where appropriate.
- Includes 251 countries and territories, 14192 documents.
- Added 292 new documents.
For details, see the Supported documents list.